rfc8853v3.txt   rfc8853.txt 
Internet Engineering Task Force (IETF) B. Burman Internet Engineering Task Force (IETF) B. Burman
Request for Comments: 8853 M. Westerlund Request for Comments: 8853 M. Westerlund
Category: Standards Track Ericsson Category: Standards Track Ericsson
ISSN: 2070-1721 S. Nandakumar ISSN: 2070-1721 S. Nandakumar
M. Zanaty M. Zanaty
Cisco Cisco
May 2020 January 2021
Using Simulcast in Session Description Protocol (SDP) and RTP Sessions Using Simulcast in Session Description Protocol (SDP) and RTP Sessions
Abstract Abstract
In some application scenarios, it may be desirable to send multiple In some application scenarios, it may be desirable to send multiple
differently encoded versions of the same media source in different differently encoded versions of the same media source in different
RTP streams. This is called simulcast. This document describes how RTP streams. This is called simulcast. This document describes how
to accomplish simulcast in RTP and how to signal it in the Session to accomplish simulcast in RTP and how to signal it in the Session
Description Protocol (SDP). The described solution uses an RTP/RTCP Description Protocol (SDP). The described solution uses an RTP/RTCP
skipping to change at line 41 skipping to change at line 41
received public review and has been approved for publication by the received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841. Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata, Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8853. https://www.rfc-editor.org/info/rfc8853.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at line 1166 skipping to change at line 1166
those agreed between the SFM and the receiver, and no MID values from those agreed between the SFM and the receiver, and no MID values from
the originating side of the SFM are to be forwarded. the originating side of the SFM are to be forwarded.
An SFM could expose corresponding RTP streams for all the media An SFM could expose corresponding RTP streams for all the media
sources and their simulcast streams and then, for any media source sources and their simulcast streams and then, for any media source
that is to be provided, forward one selected simulcast stream. that is to be provided, forward one selected simulcast stream.
However, this is not recommended, as it would unnecessarily increase However, this is not recommended, as it would unnecessarily increase
the number of RTP streams and require the receiver to timely detect the number of RTP streams and require the receiver to timely detect
switching between simulcast streams. The above usage requires the switching between simulcast streams. The above usage requires the
same SFM functionality for switching, while avoiding the same SFM functionality for switching, while avoiding the
uncertainties of timely detecting that a RTP stream ends. The uncertainties of timely detecting that an RTP stream ends. The
benefit would be that the received simulcast stream would be benefit would be that the received simulcast stream would be
implicitly provided by which RTP stream would be active for a media implicitly provided by which RTP stream would be active for a media
source. However, using RtpStreamId to make this explicit also source. However, using RtpStreamId to make this explicit also
exposes which alternative format is used. The conclusion is that exposes which alternative format is used. The conclusion is that
using one RTP stream per simulcast stream is unnecessary. The issue using one RTP stream per simulcast stream is unnecessary. The issue
with timely detecting end of streams, independent of whether they are with timely detecting end of streams, independent of whether they are
stopped temporarily or long term, is that there is no explicit stopped temporarily or long term, is that there is no explicit
indication that the transmission has intentionally been stopped. The indication that the transmission has intentionally been stopped. The
RTCP-based pause and resume mechanism [RFC7728] includes a PAUSED RTCP-based pause and resume mechanism [RFC7728] includes a PAUSED
indication that provides the last RTP sequence number transmitted indication that provides the last RTP sequence number transmitted
skipping to change at line 1216 skipping to change at line 1216
they are. The RTP-stream-to-MID and -RtpStreamId associations should they are. The RTP-stream-to-MID and -RtpStreamId associations should
here be long-term stable. here be long-term stable.
7. Network Aspects 7. Network Aspects
Simulcast is in this memo defined as the act of sending multiple Simulcast is in this memo defined as the act of sending multiple
alternative encoded streams of the same underlying media source. alternative encoded streams of the same underlying media source.
Transmitting multiple independent streams that originate from the Transmitting multiple independent streams that originate from the
same source could potentially be done in several different ways using same source could potentially be done in several different ways using
RTP. A general discussion on considerations for use of the different RTP. A general discussion on considerations for use of the different
RTP multiplexing alternatives can be found in "Guidelines for using RTP multiplexing alternatives can be found in "Guidelines for Using
the Multiplexing Features of RTP to Support Multiple Media Streams" the Multiplexing Features of RTP to Support Multiple Media Streams"
[MULTIPLEX]. Discussion and clarification on how to handle multiple [RFC8872]. Discussion and clarification on how to handle multiple
streams in an RTP session can be found in [RFC8108]. streams in an RTP session can be found in [RFC8108].
The network aspects that are relevant for simulcast are: The network aspects that are relevant for simulcast are:
Quality of Service (QoS): When using simulcast, it might be of Quality of Service (QoS): When using simulcast, it might be of
interest to prioritize a particular simulcast stream, rather than interest to prioritize a particular simulcast stream, rather than
applying equal treatment to all streams. For example, lower- applying equal treatment to all streams. For example, lower-
bitrate streams may be prioritized over higher-bitrate streams to bitrate streams may be prioritized over higher-bitrate streams to
minimize congestion or packet losses in the low-bitrate streams. minimize congestion or packet losses in the low-bitrate streams.
Thus, there is a benefit to using a simulcast solution with good Thus, there is a benefit to using a simulcast solution with good
skipping to change at line 1371 skipping to change at line 1371
Stream Pause and Resume", RFC 7728, DOI 10.17487/RFC7728, Stream Pause and Resume", RFC 7728, DOI 10.17487/RFC7728,
February 2016, <https://www.rfc-editor.org/info/rfc7728>. February 2016, <https://www.rfc-editor.org/info/rfc7728>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8843] Holmberg, C., Alvestrand, H., and C. Jennings, [RFC8843] Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session "Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", RFC 8843, Description Protocol (SDP)", RFC 8843,
DOI 10.17487/RFC8843, April 2020, DOI 10.17487/RFC8843, January 2021,
<https://www.rfc-editor.org/info/rfc8843>. <https://www.rfc-editor.org/info/rfc8843>.
[RFC8851] Roach, A.B., Ed., "RTP Payload Format Restrictions", [RFC8851] Roach, A.B., Ed., "RTP Payload Format Restrictions",
DOI 10.17487/RFC8851, RFC 8851, April 2020, RFC 8851, DOI 10.17487/RFC8851, January 2021,
<https://www.rfc-editor.org/info/rfc8851>. <https://www.rfc-editor.org/info/rfc8851>.
[RFC8852] Roach, A.B., Nandakumar, S., and P. Thatcher, "RTP Stream [RFC8852] Roach, A.B., Nandakumar, S., and P. Thatcher, "RTP Stream
Identifier Source Description (SDES)", Identifier Source Description (SDES)", RFC 8852,
DOI 10.17487/RFC8852, RFC 8852, April 2020, DOI 10.17487/RFC8852, January 2021,
<https://www.rfc-editor.org/info/rfc8852>. <https://www.rfc-editor.org/info/rfc8852>.
[RFC8859] Nandakumar, S., "A Framework for SDP Attributes when [RFC8859] Nandakumar, S., "A Framework for Session Description
Multiplexing", RFC 8859, DOI 10.17487/RFC8859, April 2020, Protocol (SDP) Attributes When Multiplexing", RFC 8859,
DOI 10.17487/RFC8859, January 2021,
<https://www.rfc-editor.org/info/rfc8859>. <https://www.rfc-editor.org/info/rfc8859>.
11.2. Informative References 11.2. Informative References
[MULTIPLEX]
Westerlund, M., Burman, B., Perkins, C., Alvestrand, H.,
and R. Even, "Guidelines for using the Multiplexing
Features of RTP to Support Multiple Media Streams", Work
in Progress, Internet-Draft, draft-ietf-avtcore-multiplex-
guidelines-12, 16 June 2020, <https://tools.ietf.org/html/
draft-ietf-avtcore-multiplex-guidelines-12>.
[RFC2198] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V., [RFC2198] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V.,
Handley, M., Bolot, J.C., Vega-Garcia, A., and S. Fosse- Handley, M., Bolot, J.C., Vega-Garcia, A., and S. Fosse-
Parisis, "RTP Payload for Redundant Audio Data", RFC 2198, Parisis, "RTP Payload for Redundant Audio Data", RFC 2198,
DOI 10.17487/RFC2198, September 1997, DOI 10.17487/RFC2198, September 1997,
<https://www.rfc-editor.org/info/rfc2198>. <https://www.rfc-editor.org/info/rfc2198>.
[RFC3389] Zopf, R., "Real-time Transport Protocol (RTP) Payload for [RFC3389] Zopf, R., "Real-time Transport Protocol (RTP) Payload for
Comfort Noise (CN)", RFC 3389, DOI 10.17487/RFC3389, Comfort Noise (CN)", RFC 3389, DOI 10.17487/RFC3389,
September 2002, <https://www.rfc-editor.org/info/rfc3389>. September 2002, <https://www.rfc-editor.org/info/rfc3389>.
skipping to change at line 1487 skipping to change at line 1480
[RFC8108] Lennox, J., Westerlund, M., Wu, Q., and C. Perkins, [RFC8108] Lennox, J., Westerlund, M., Wu, Q., and C. Perkins,
"Sending Multiple RTP Streams in a Single RTP Session", "Sending Multiple RTP Streams in a Single RTP Session",
RFC 8108, DOI 10.17487/RFC8108, March 2017, RFC 8108, DOI 10.17487/RFC8108, March 2017,
<https://www.rfc-editor.org/info/rfc8108>. <https://www.rfc-editor.org/info/rfc8108>.
[RFC8627] Zanaty, M., Singh, V., Begen, A., and G. Mandyam, "RTP [RFC8627] Zanaty, M., Singh, V., Begen, A., and G. Mandyam, "RTP
Payload Format for Flexible Forward Error Correction Payload Format for Flexible Forward Error Correction
(FEC)", RFC 8627, DOI 10.17487/RFC8627, July 2019, (FEC)", RFC 8627, DOI 10.17487/RFC8627, July 2019,
<https://www.rfc-editor.org/info/rfc8627>. <https://www.rfc-editor.org/info/rfc8627>.
[RFC8872] Westerlund, M., Burman, B., Perkins, C., Alvestrand, H.,
and R. Even, "Guidelines for Using the Multiplexing
Features of RTP to Support Multiple Media Streams",
RFC 8872, DOI 10.17487/RFC8872, January 2021,
<https://www.rfc-editor.org/info/rfc8872>.
Appendix A. Requirements Appendix A. Requirements
The following requirements are met by the defined solution to support The following requirements are met by the defined solution to support
the use cases (Section 3): the use cases (Section 3):
REQ-1: Identification: REQ-1: Identification:
REQ-1.1: It must be possible to identify a set of simulcasted RTP REQ-1.1: It must be possible to identify a set of simulcasted RTP
streams as originating from the same media source in SDP streams as originating from the same media source in SDP
signaling. signaling.
 End of changes. 11 change blocks. 
19 lines changed or deleted 18 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/