Indicating Exclusive Support of RTP/RTCP Multiplexing using SDP
EricssonHirsalantie 11Jorvas02420Finlandchrister.holmberg@ericsson.com
Transport
RTPRTCPSDPOFFERANSWERMUXMULTIPLEXRTCWEBWEBRTCJSEP
This document defines a new SDP media-level attribute, 'rtcp-mux-only', that can
be used by an endpoint to indicate exclusive support of RTP/RTCP multiplexing. The
document also updates RFC 5761, by clarifying that an offerer can use a mechanism
to indicate that it is not able to send and receive RTCP on separate ports.
defines how to
multiplex RTP and RTCP on a single IP address and port, referred to as RTP/RTCP multiplexing.
also defines an
Session Description Protocol (SDP) attribute, 'rtcp-mux' that can be used by entities
to indicate support, and negotiate usage of, RTP/RTCP multiplexing.
As defined in , if
the peer endpoint does not support RTP/RTCP multiplexing, both endpoints should
use separate ports for sending and receiving of RTCP (referred to as fallback
to usage of separate ports for RTP and RTCP).
Some newer applications that do not require backward compatibility with peers
that cannot multiplex RTCP might choose to not implement separation of
RTP and RTCP. Examples of such applications are W3C WEBRTC
applications, that are not required
to interoperate with non-WEBRTC clients. For such applications, this document
defines an SDP attribute to signal intent to require multiplexing.
The use of this attribute in SDP offers by entities that ever need to interoperate with peers
that do not support RTC/RTCP multiplexing may harm interoperability.
Also, while the SDP answerer might support, and prefer usage of, fallback to
non-multiplex, the attribute indicates that fallback to non-multiplex
cannot be enabled. One example of where non-multiplex is preferred
is where an endpoint is connected to a radio interface, and wants to use
different bearers (possibly with different quality characteristics) for
RTP and RTCP. Another example is where the one endpoint is acting as
a gateway to a network where RTP/RTCP multiplexing cannot be used.
In such case there endpoint may prefer non-multiplexing also towards the
other network. Otherwise the endpoint would have to perform de-multiplexing
of RTP and RTCP.
This document defines a new SDP media-level attribute, 'rtcp-mux-only', that can
be used by an endpoint to indicate exclusive support of RTP/RTCP multiplexing. The
document also updates RFC 5761, by clarifying that an offerer can use a mechanism
to indicate that it is not able to send and receive RTCP on separate ports.
The document also describes the Interactive Connectivity Establishment (ICE)
considerations when indicating exclusive
support of RTP/RTCP multiplexing.
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 .
This section defines a new SDP media-level attribute, 'rtcp-mux-only'.
In an SDP offer, the offerer uses the SDP 'rtcp-mux-only' attribute to
indicate exclusive support of RTP/RTCP multiplexing for the RTP-based
media associated with the SDP media description ("m=" line).
In an SDP answer, the 'rtcp-mux-only' attribute indicates that the answerer
supports, and accepts usage of, RTP/RTCP multiplexing for the RTP-based media
associated with the SDP media description ("m=" line).
The usage of the SDP 'rtcp-mux-only' attribute is only defined for RTP-based
media.
The mux category
for the 'rtcp-mux-only' attribute is 'IDENTICAL', which means that the
attribute, if used within a BUNDLE group ,
must be associated with all multiplexed RTP-based media descriptions
within the BUNDLE group.
The 'rtcp-mux-only' attribute applies to the whole associated
media description. The attribute MUST NOT be defined per source (using the
SDP 'ssrc' attribute ).
The SDP offer/answer
procedures associated with the attribute are defined in
This section defines the SDP offer/answer
procedures for indicating exclusive support of, and negotiating usage of,
RTP/RTCP multiplexing.
The procedures in this section apply to individual RTP-based
SDP media descriptions ("m=" lines).
When an offerer sends the initial offer, if the offerer wants to indicate
exclusive RTP/RTCP multiplexing for RTP-based media, the offerer MUST associate
an SDP 'rtcp-mux-only' attribute with the associated SDP media description
("m=" line).
In addition, if the offerer associates an SDP 'rtcp-mux-only' attribute with
an SDP media description ("m=" line), the offerer MAY also associate an
SDP 'rtcp-mux' attribute with the same SDP media description ("m=" line), following
the procedures in .
If the offerer associates an SDP 'rtcp' attribute
with an SDP media description ("m=" line), and if the offerer also associates an
SDP 'rtcp-mux-only' attribute with the same SDP media description ("m=" line), the address and port
values of the SDP 'rtcp' attribute MUST match the corresponding values for RTP.
NOTE: This specification does not mandate the usage of the SDP 'rtcp' attribute for RTP/RTCP multiplexing.
When an answerer receives an offer that contains an SDP 'rtcp-mux-only' attribute, associated with
an RTP-based SDP media description ("m=" line), if the answerer accepts the usage of
RTP/RTCP multiplexing, the answerer MUST associate an SDP 'rtcp-mux-only' attribute with
the corresponding SDP media description ("m=") in the associated answer. If the answerer does not
accept the usage of RTP/RTCP multiplexing, the answerer MUST either reject the SDP media description ("m=")
by setting the port value to zero in the associated answer, or reject the whole offer,
following the procedures in .
In addition, if the answerer associates an SDP 'rtcp-mux-only' attribute with
an SDP media description ("m=" line) in the answer, and if the corresponding "m=" line
in the associated offer contained an SDP 'rtcp-mux' attribute, the answerer MUST in addition associate
an SDP 'rtcp-mux' attribute with the same "m=" line, following the procedures in
.
If an offerer associated an SDP 'rtcp-mux-only' attribute with an RTP-based SDP media description ("m=" line)
in an offer, and if the corresponding SDP media description ("m=" line) in the associated answer contains
an SDP 'rtcp-mux-only' attribute, and/or an SDP 'rtcp-mux' attribute, the offerer MUST apply the
RTP/RTCP multiplexing procedures
to the associated RTP-based media. If the corresponding SDP media description ("m=" line) in the associated
answer does not contain an SDP 'rtcp-mux-only' attribute, nor an SDP 'rtcp-mux' attribute,
the offerer MUST either take appropriate actions in order to disable the associated RTP-based media,
or send a new offer without associating an SDP 'rtcp-mux-only' attribute with the
SDP media description ("m=" line).
NOTE: This document does not mandate specific actions on how to terminate the RTP media.
The offerer might e.g. send a new offer where the port value of the SDP
media description is set to zero in order to terminate the RTP media.
When an offerer sends a subsequent offer, if the offerer and answerer have previously
negotiated usage of exclusive RTP/RTCP multiplexing for the media associated with an
RTP-based SDP media description ("m=" line), the offerer SHOULD associate an SDP 'rtcp-mux-only'
with the corresponding SDP media description ("m=" line).
In addition, if the offerer associates an SDP 'rtcp-mux-only' attribute with
an SDP media description ("m=" line), the offerer MAY also associate an
SDP 'rtcp-mux' attribute with the same SDP media description ("m=" line), following
the procedures in .
If the offerer does not associate the attributes with the corresponding SDP media description ("m=" line)
it is an indication that the offerer no longer wants to use RTP/RTCP multiplexing, and instead
MUST fallback to usage of separate ports for RTP and RTCP once the offer has been accepted
by the answerer.
When an offerer sends a subsequent offer, if the offerer and answerer have not previously
negotiated usage of RTP/RTCP multiplexing for the media associated with an
RTP-based SDP media description ("m=" line), the offerer MAY indicate exclusive
support of RTP/RTCP multiplexing, following the procedures in .
The offerer MUST process the associated answer following the procedures in
.
It is RECOMMENDED to not switch between usage of RTP/RTCP multiplexing and usage of
separate ports for RTP and RTCP in a subsequent offer, unless there is a use-case that mandates
it.
This section updates sections 5.1.1 and 5.1.3 of RFC 5761, by clarifying
that an offerer can use a mechanism to indicate that it is not able to send and receive RTCP
on separate ports, and that the offerer shall terminate the affected streams if the answerer
does not indicate support of RTP/RTCP multiplexing. It also clarifies that, when the
offerer is not able to send and receive RTCP on separate ports, the offerer will not provide
an SDP 'candidate' attribute for RTCP, nor will the offerer provide a fallback port for RTCP
(using the SDP 'rtcp' attribute).
As defined in , if an entity is aware that the
remote peer supports, and is willing to use, RTP/RTCP multiplexing,
the entity will only provide RTP candidates (component ID 1).
However, only providing RTP candidates does not as such imply
exclusive support of RTP/RTCP multiplexing. RTCP candidates
would not be provided also in cases where RTCP is not supported
at all. Therefore, additional information is needed in order
to indicate support of exclusive RTP/RTCP multiplexing. This
document defines such mechanism using the SDP 'rtcp-mux-only'
attributes.
This document does not introduce new security considerations
in additions to those specified in and .
This document updates the "Session Description Protocol Parameters" registry
as specified in Section 8.2.2 of .
Specifically, it adds the SDP 'rtcp-mux-only' attribute to the table for SDP
media level attributes.
Thanks to Roman Shpount, Paul Kyzivat, Ari Keranen, Bo Burman,
Tomas Frankkila and Martin Thomson for their comments and input
on the document. Thanks to Francis Dupont for the genart review.
[RFC EDITOR NOTE: Please remove this section when publishing]
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-09
Changes based on IESG review comments from Alexey Melnikov
and Mirja Kuhlewind:
- References to draft-mux-attributes and draft-sdp-bundle
made normative.
- Text added regarding cases where entities might want to
use non-multiplexed RTP and RTCP.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-08
Editorial changes based on genart comments from Francis Dupont.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-07
Comments from Ben Campbell.
- Additional text regarding applications for which the mechanism is suitable.
- Removal of pre-RFC5378 disclaimer.
- Editorial fixes.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-06
- Editorial fix.
- Addition of pre-RFC5378 disclaimer.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-05
Editorial fix.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-04
Changes based on comments from Flemming Andreasen.
- Attribute mux category changed to IDENTICAL.
- Reference to draft-5245bis changed to RFC 5245.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-03
Editorial changes based on comments from Martin Thomson.
Change of attribute name.
RFC 5761 updates added.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-02
Minor editorial fix.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-01
Mux category and source-specific applicability added.
Changes from draft-ietf-mmusic-rtcp-mux-exclusive-00
Defined new SDP attribute for indicating rtcp-mux-exclusive.
Updates to RFC 5761 removed.
IANA considerations added.
Changes from draft-holmberg-mmusic-rtcp-mux-exclusive-03
Submitted as draft-ietf-mmusic-rtcp-mux-exclusive-00.
Changes from draft-holmberg-mmusic-rtcp-mux-exclusive-02
Intended status changed to "Standards track".
Changes from draft-holmberg-mmusic-rtcp-mux-exclusive-01
Clarified that the SDP rtcp attribute may contain the
optional IP address part.
Changes from draft-holmberg-mmusic-rtcp-mux-exclusive-00
Additional updates to Section 5.1.1 of RFC 5761.
ICE considerations added.