RFC 8035
Session Description Protocol (SDP) Offer/Answer Clarifications for RTP/RTCP Multiplexing
RFC 8035 π Session Description Protocol (SDP) Offer/Answer Clarifications for RTP/RTCP Multiplexing
- Number: RFC 8035 π
- Author: Christer Holmberg of Ericsson β¨
- Category: Standards Track π₯
- Date: November 2016 πΈ
- Updates: RFC 5761 π¦
- ISSN: 2070-1721 π§
Abstract β¨
okay bestie, this doc updates RFC 5761 by making the SDP offer/answer negotiation for RTP and RTP Control Protocol (RTCP) multiplexing super clear π . The big point is that an answerer can only put an "a=rtcp-mux" attribute in a Session Description Protocol (SDP) answer if the associated SDP offer had that attribute too π.
Status of This Memo
This is an Internet Standards Track document π₯.
This document is a product of the Internet Engineering Task Force (IETF) π. It represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication β¨. You can find more about Internet Standards in Section 2 of RFC 7841 π.
For info on the current status of this document, any errata, and how to send feedback, check http://www.rfc-editor.org/info/rfc8035 π«Ά.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. π
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the date this document was published π. Please read these carefully, because they spell out your rights and restrictions for this document. Code Components pulled out of this document must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes π
.
This document may contain material from IETF Documents or IETF Contributions that were published or made publicly available before November 10, 2008 π. The people who control the copyright in some of that material may not have given the IETF Trust permission to allow modifications outside the IETF Standards Process π. Unless you get an adequate license from those copyright holders, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process. The only exceptions are formatting it for publication as an RFC or translating it into languages other than English πΈ.
Table of Contents ποΈ
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Update to RFC 5761 . . . . . . . . . . . . . . . . . . . . . 3
3.1. Update to Section 5.1.1 . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . 6
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
6. Normative References . . . . . . . . . . . . . . . . . . . . 6
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction β¨
okay so RFC 5761 [RFC5761] is the one that explains how to multiplex RTP data packets and RTP Control Protocol (RTCP) packets on a single UDP port π¦. It also covers how to negotiate that multiplexing with the SDP offer/answer mechanism [RFC3264] using an "a=rtcp-mux" attribute π. The problem is that the text wasn't clear on whether an answerer is allowed to include the attribute in an answer when the associated offer didn't have it π.
This document updates RFC 5761 [RFC5761] by clarifying that an answerer can only include an "a=rtcp-mux" attribute in an answer if the associated offer contained the attribute π . It also clarifies that RTP and RTCP multiplexing is negotiated for usage in both directions π₯.
2. Conventions π
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] π.
3. Update to RFC 5761 π¦
This section updates Section 5.1.1 of RFC 5761 πΈ. It clarifies that an answerer can only include an "a=rtcp-mux" attribute in an answer if the associated offer contained the attribute, and it clarifies that RTP and RTCP multiplexing negotiation is for usage in both directions π.
3.1. Update to Section 5.1.1 π
In this section, any references to Sections 4 and 8 point to those sections in [RFC5761] π«Ά.
OLD TEXT:
When the Session Description Protocol (SDP) [8] is used to negotiate RTP sessions following the offer/answer model [9], the "a=rtcp-mux" attribute (see Section 8) indicates the desire to multiplex RTP and RTCP onto a single port. The initial SDP offer MUST include this attribute at the media level to request multiplexing of RTP and RTCP on a single port. For example:
v=0
o=csp 1153134164 1153134164 IN IP6 2001:DB8::211:24ff:fea3:7a2e
s=-
c=IN IP6 2001:DB8::211:24ff:fea3:7a2e
t=1153134164 1153137764
m=audio 49170 RTP/AVP 97
a=rtpmap:97 iLBC/8000
a=rtcp-mux
This offer is a unicast voice-over-IP session using the RTP/AVP profile with iLBC coding π§. The answerer is asked to send both RTP and RTCP to port 49170 on IPv6 address 2001:DB8::211:24ff:fea3:7a2e π.
If the answerer wants to multiplex RTP and RTCP onto a single port, it MUST include a media-level "a=rtcp-mux" attribute in the answer. The RTP payload types used in the answer MUST conform to the rules in Section 4 π₯.
If the answer does not contain an "a=rtcp-mux" attribute, the offerer MUST NOT multiplex RTP and RTCP packets on a single port. Instead, it should send and receive RTCP on a port allocated according to the usual port-selection rules (either the port pair, or a signalled port if the "a=rtcp:" attribute [10] is also included). This will happen when talking to a peer that doesn't understand the "a=rtcp-mux" attribute π.
When SDP is used in a declarative manner, the presence of an "a=rtcp-mux" attribute signals that the sender will multiplex RTP and RTCP on the same port π. The receiver MUST be prepared to receive RTCP packets on the RTP port, and any resource reservation needs to be made including the RTCP bandwidth π§.
NEW TEXT:
When the Session Description Protocol (SDP) [8] is used to negotiate RTP sessions following the offer/answer model [9], the "a=rtcp-mux" attribute (see Section 8) indicates the desire to multiplex RTP and RTCP onto a single port, and the usage is always negotiated for both directions π¦.
If the offerer wants to multiplex RTP and RTCP onto a single port, the initial SDP offer MUST include the attribute at the media level to request multiplexing of RTP and RTCP on a single port. For example:
v=0
o=csp 1153134164 1153134164 IN IP6 2001:DB8::211:24ff:fea3:7a2e
s=-
c=IN IP6 2001:DB8::211:24ff:fea3:7a2e
t=1153134164 1153137764
m=audio 49170 RTP/AVP 97
a=rtpmap:97 iLBC/8000
a=rtcp-mux
This offer is a unicast voice-over-IP session using the RTP/AVP profile with Internet Low Bit Rate Codec (iLBC) coding π§. The answerer is asked to send both RTP and RTCP to port 49170 on IPv6 address 2001:DB8::211:24ff:fea3:7a2e π.
If the offer contains the "a=rtcp-mux" attribute, and the answerer wants to multiplex RTP and RTCP onto a single port, it MUST include a media-level "a=rtcp-mux" attribute in the answer. The RTP payload types used in the answer MUST conform to the rules in Section 4. If the offer does not contain the "a=rtcp-mux" attribute, the answerer MUST NOT include an "a=rtcp-mux" attribute in the answer, and the answerer MUST NOT multiplex RTP and RTCP packets on a single port π ββοΈ.
If the answer contains an "a=rtcp-mux" attribute, the offerer and answerer MUST multiplex RTP and RTCP packets on a single port β¨.
If the answer does not contain an "a=rtcp-mux" attribute, the offerer and answerer MUST NOT multiplex RTP and RTCP packets on a single port. Instead, they should send and receive RTCP on a port allocated according to the usual port-selection rules (either the port pair, or a signalled port if the "a=rtcp:" attribute [10] is also included). This will happen when talking to a peer that doesn't understand the "a=rtcp-mux" attribute πΈ.
When SDP is used in a declarative manner, the presence of an "a=rtcp-mux" attribute signals that the sender will multiplex RTP and RTCP on the same port π. The receiver MUST be prepared to receive RTCP packets on the RTP port, and any resource reservation needs to be made including the RTCP bandwidth π.
4. Security Considerations π
The security considerations for RTP and RTCP multiplexing are described in RFC 5761 π€. This specification does not change any of those security considerations, so they stay exactly as RFC 5761 lays them out π.
5. IANA Considerations π§Ύ
IANA has added a reference to this document for the att-field (media level only) registration "rtcp-mux" in the "Session Description Protocol (SDP) Parameters" registry π.
6. Normative References π
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
DOI 10.17487/RFC3264, June 2002,
<http://www.rfc-editor.org/info/rfc3264>.
[RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and
Control Packets on a Single Port", RFC 5761,
DOI 10.17487/RFC5761, April 2010,
<http://www.rfc-editor.org/info/rfc5761>.
Acknowledgements π«Ά
Huge thanks to Colin Perkins, Magnus Westerlund, Paul Kyzivat, and Roni Even for reading the document and leaving comments π. Thomas Belling gave useful input in the discussions that happened in 3GPP and led to this document being submitted π. Elwyn Davies did the Gen-ART review π, Rick Casarez did the Ops-Dir review π, and Alissa Cooper and Spencer Dawkins gave IESG review comments π. They're all iconic π .
Author's Address π§
Christer Holmberg
Ericsson
Hirsalantie 11
Jorvas 02420
Finland
Email: christer.holmberg@ericsson.com
π¦ where this page comes from
- ietf: rfc8035 2016-11
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms