rfc8834v5.txt   rfc8834.txt 
Internet Engineering Task Force (IETF) C. Perkins Internet Engineering Task Force (IETF) C. Perkins
Request for Comments: 8834 University of Glasgow Request for Comments: 8834 University of Glasgow
Category: Standards Track M. Westerlund Category: Standards Track M. Westerlund
ISSN: 2070-1721 Ericsson ISSN: 2070-1721 Ericsson
J. Ott J. Ott
Aalto University Technical University Munich
December 2020 January 2021
Media Transport and Use of RTP in WebRTC Media Transport and Use of RTP in WebRTC
Abstract Abstract
The framework for Web Real-Time Communication (WebRTC) provides The framework for Web Real-Time Communication (WebRTC) provides
support for direct interactive rich communication using audio, video, support for direct interactive rich communication using audio, video,
text, collaboration, games, etc. between two peers' web browsers. text, collaboration, games, etc. between two peers' web browsers.
This memo describes the media transport aspects of the WebRTC This memo describes the media transport aspects of the WebRTC
framework. It specifies how the Real-time Transport Protocol (RTP) framework. It specifies how the Real-time Transport Protocol (RTP)
skipping to change at line 38 skipping to change at line 38
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/rfc8834. https://www.rfc-editor.org/info/rfc8834.
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 187 skipping to change at line 187
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. Lower- or mixed-case uses of these key capitals, as shown here. Lower- or mixed-case uses of these key
words are not to be interpreted as carrying special significance in words are not to be interpreted as carrying special significance in
this memo. this memo.
We define the following additional terms: We define the following additional terms:
WebRTC MediaStream: The MediaStream concept defined by the W3C in WebRTC MediaStream: The MediaStream concept defined by the W3C in
the WebRTC API [W3C-MEDIA-CAPTURE]. A MediaStream consists of the WebRTC API [W3C.WD-mediacapture-streams]. A MediaStream
zero or more MediaStreamTracks. consists of zero or more MediaStreamTracks.
MediaStreamTrack: Part of the MediaStream concept defined by the W3C MediaStreamTrack: Part of the MediaStream concept defined by the W3C
in the WebRTC API [W3C-MEDIA-CAPTURE]. A MediaStreamTrack is an in the WebRTC API [W3C.WD-mediacapture-streams]. A
individual stream of media from any type of media source such as a MediaStreamTrack is an individual stream of media from any type of
microphone or a camera, but conceptual sources such as an audio media source such as a microphone or a camera, but conceptual
mix or a video composition are also possible. sources such as an audio mix or a video composition are also
possible.
Transport-layer flow: A unidirectional flow of transport packets Transport-layer flow: A unidirectional flow of transport packets
that are identified by a particular 5-tuple of source IP address, that are identified by a particular 5-tuple of source IP address,
source port, destination IP address, destination port, and source port, destination IP address, destination port, and
transport protocol. transport protocol.
Bidirectional transport-layer flow: A bidirectional transport-layer Bidirectional transport-layer flow: A bidirectional transport-layer
flow is a transport-layer flow that is symmetric. That is, the flow is a transport-layer flow that is symmetric. That is, the
transport-layer flow in the reverse direction has a 5-tuple where transport-layer flow in the reverse direction has a 5-tuple where
the source and destination address and ports are swapped compared the source and destination address and ports are swapped compared
skipping to change at line 264 skipping to change at line 265
of a single synchronization context, using a single RTCP CNAME for of a single synchronization context, using a single RTCP CNAME for
all streams and allowing receivers to play the streams out in a all streams and allowing receivers to play the streams out in a
synchronized manner. For compatibility with potential future synchronized manner. For compatibility with potential future
versions of this specification, or for interoperability with non- versions of this specification, or for interoperability with non-
WebRTC devices through a gateway, receivers MUST support multiple WebRTC devices through a gateway, receivers MUST support multiple
synchronization contexts, indicated by the use of multiple RTCP synchronization contexts, indicated by the use of multiple RTCP
CNAMEs in an RTP session. This specification mandates the usage CNAMEs in an RTP session. This specification mandates the usage
of a single CNAME when sending RTP streams in some circumstances; of a single CNAME when sending RTP streams in some circumstances;
see Section 4.9. see Section 4.9.
* Support for sending and receiving RTCP SR, RR, Source Description * Support for sending and receiving RTCP Sender Report (SR),
(SDES), and BYE packet types. Note that support for other RTCP Receiver Report (RR), Source Description (SDES), and BYE packet
packet types is OPTIONAL unless mandated by other parts of this types. Note that support for other RTCP packet types is OPTIONAL
specification. Note that additional RTCP packet types are used by unless mandated by other parts of this specification. Note that
the RTP/SAVPF profile (Section 4.2) and the other RTCP extensions additional RTCP packet types are used by the RTP/SAVPF profile
(Section 5). WebRTC endpoints that implement the Session (Section 4.2) and the other RTCP extensions (Section 5). WebRTC
Description Protocol (SDP) bundle negotiation extension will use endpoints that implement the Session Description Protocol (SDP)
the SDP Grouping Framework "mid" attribute to identify media bundle negotiation extension will use the SDP Grouping Framework
streams. Such endpoints MUST implement the RTCP SDES media "mid" attribute to identify media streams. Such endpoints MUST
identification (MID) item described in [RFC8843]. implement the RTCP SDES media identification (MID) item described
in [RFC8843].
* Support for multiple endpoints in a single RTP session, and for * Support for multiple endpoints in a single RTP session, and for
scaling the RTCP transmission interval according to the number of scaling the RTCP transmission interval according to the number of
participants in the session; support for randomized RTCP participants in the session; support for randomized RTCP
transmission intervals to avoid synchronization of RTCP reports; transmission intervals to avoid synchronization of RTCP reports;
support for RTCP timer reconsideration (Section 6.3.6 of support for RTCP timer reconsideration (Section 6.3.6 of
[RFC3550]) and reverse reconsideration (Section 6.3.4 of [RFC3550]) and reverse reconsideration (Section 6.3.4 of
[RFC3550]). [RFC3550]).
* Support for configuring the RTCP bandwidth as a fraction of the * Support for configuring the RTCP bandwidth as a fraction of the
skipping to change at line 357 skipping to change at line 359
| interworking with RTP/(S)AVP endpoints via a gateway is to set | interworking with RTP/(S)AVP endpoints via a gateway is to set
| the "trr-int" parameter to a value representing 4 seconds; see | the "trr-int" parameter to a value representing 4 seconds; see
| Section 7.1.3 of [RFC8108]. | Section 7.1.3 of [RFC8108].
The secure RTP (SRTP) profile extensions [RFC3711] are needed to The secure RTP (SRTP) profile extensions [RFC3711] are needed to
provide media encryption, integrity protection, replay protection, provide media encryption, integrity protection, replay protection,
and a limited form of source authentication. WebRTC endpoints MUST and a limited form of source authentication. WebRTC endpoints MUST
NOT send packets using the basic RTP/AVP profile or the RTP/AVPF NOT send packets using the basic RTP/AVP profile or the RTP/AVPF
profile; they MUST employ the full RTP/SAVPF profile to protect all profile; they MUST employ the full RTP/SAVPF profile to protect all
RTP and RTCP packets that are generated. In other words, RTP and RTCP packets that are generated. In other words,
implementations MUST use SRTP and SRTCP. The RTP/SAVPF profile MUST implementations MUST use SRTP and Secure RTCP (SRTCP). The RTP/SAVPF
be configured using the cipher suites, DTLS-SRTP protection profiles, profile MUST be configured using the cipher suites, DTLS-SRTP
keying mechanisms, and other parameters described in [RFC8827]. protection profiles, keying mechanisms, and other parameters
described in [RFC8827].
4.3. Choice of RTP Payload Formats 4.3. Choice of RTP Payload Formats
Mandatory-to-implement audio codecs and RTP payload formats for Mandatory-to-implement audio codecs and RTP payload formats for
WebRTC endpoints are defined in [RFC7874]. Mandatory-to-implement WebRTC endpoints are defined in [RFC7874]. Mandatory-to-implement
video codecs and RTP payload formats for WebRTC endpoints are defined video codecs and RTP payload formats for WebRTC endpoints are defined
in [RFC7742]. WebRTC endpoints MAY additionally implement any other in [RFC7742]. WebRTC endpoints MAY additionally implement any other
codec for which an RTP payload format and associated signaling has codec for which an RTP payload format and associated signaling has
been defined. been defined.
skipping to change at line 490 skipping to change at line 493
defined in [RFC8858]. defined in [RFC8858].
Note that the use of RTP and RTCP multiplexed onto a single Note that the use of RTP and RTCP multiplexed onto a single
transport-layer flow ensures that there is occasional traffic sent on transport-layer flow ensures that there is occasional traffic sent on
that port, even if there is no active media traffic. This can be that port, even if there is no active media traffic. This can be
useful to keep NAT bindings alive [RFC6263]. useful to keep NAT bindings alive [RFC6263].
4.6. Reduced Size RTCP 4.6. Reduced Size RTCP
RTCP packets are usually sent as compound RTCP packets, and [RFC3550] RTCP packets are usually sent as compound RTCP packets, and [RFC3550]
requires that those compound packets start with a Sender Report (SR) requires that those compound packets start with an SR or RR packet.
or Receiver Report (RR) packet. When using frequent RTCP feedback When using frequent RTCP feedback messages under the RTP/AVPF profile
messages under the RTP/AVPF profile [RFC4585], these statistics are [RFC4585], these statistics are not needed in every packet, and they
not needed in every packet, and they unnecessarily increase the mean unnecessarily increase the mean RTCP packet size. This can limit the
RTCP packet size. This can limit the frequency at which RTCP packets frequency at which RTCP packets can be sent within the RTCP bandwidth
can be sent within the RTCP bandwidth share. share.
To avoid this problem, [RFC5506] specifies how to reduce the mean To avoid this problem, [RFC5506] specifies how to reduce the mean
RTCP message size and allow for more frequent feedback. Frequent RTCP message size and allow for more frequent feedback. Frequent
feedback, in turn, is essential to make real-time applications feedback, in turn, is essential to make real-time applications
quickly aware of changing network conditions and to allow them to quickly aware of changing network conditions and to allow them to
adapt their transmission and encoding behavior. Implementations MUST adapt their transmission and encoding behavior. Implementations MUST
support sending and receiving noncompound RTCP feedback packets support sending and receiving noncompound RTCP feedback packets
[RFC5506]. Use of noncompound RTCP packets MUST be negotiated using [RFC5506]. Use of noncompound RTCP packets MUST be negotiated using
the signaling channel. If SDP is used for signaling, this the signaling channel. If SDP is used for signaling, this
negotiation MUST use the attributes defined in [RFC5506]. For negotiation MUST use the attributes defined in [RFC5506]. For
skipping to change at line 1042 skipping to change at line 1045
effective congestion control is negotiated for media flowing in both effective congestion control is negotiated for media flowing in both
directions. If the IETF were to standardize both sender- and directions. If the IETF were to standardize both sender- and
receiver-based congestion control algorithms for WebRTC traffic in receiver-based congestion control algorithms for WebRTC traffic in
the future, the issues of interoperability, control, and ensuring the future, the issues of interoperability, control, and ensuring
that both directions of media flow are congestion controlled would that both directions of media flow are congestion controlled would
also need to be considered. also need to be considered.
8. WebRTC Use of RTP: Performance Monitoring 8. WebRTC Use of RTP: Performance Monitoring
As described in Section 4.1, implementations are REQUIRED to generate As described in Section 4.1, implementations are REQUIRED to generate
RTCP Sender Report (SR) and Reception Report (RR) packets relating to RTCP Sender Report (SR) and Receiver Report (RR) packets relating to
the RTP packet streams they send and receive. These RTCP reports can the RTP packet streams they send and receive. These RTCP reports can
be used for performance monitoring purposes, since they include basic be used for performance monitoring purposes, since they include basic
packet-loss and jitter statistics. packet-loss and jitter statistics.
A large number of additional performance metrics are supported by the A large number of additional performance metrics are supported by the
RTCP Extended Reports (XR) framework; see [RFC3611] and [RFC6792]. RTCP Extended Reports (XR) framework; see [RFC3611] and [RFC6792].
At the time of this writing, it is not clear what extended metrics At the time of this writing, it is not clear what extended metrics
are suitable for use in WebRTC, so there is no requirement that are suitable for use in WebRTC, so there is no requirement that
implementations generate RTCP XR packets. However, implementations implementations generate RTCP XR packets. However, implementations
that can use detailed performance monitoring data MAY generate RTCP that can use detailed performance monitoring data MAY generate RTCP
skipping to change at line 1144 skipping to change at line 1147
an offer/answer exchange. RTP does not depend on SDP or the offer/ an offer/answer exchange. RTP does not depend on SDP or the offer/
answer model but does require all the necessary parameters to be answer model but does require all the necessary parameters to be
agreed upon and provided to the RTP implementation. Note that in agreed upon and provided to the RTP implementation. Note that in
WebRTC, it will depend on the signaling model and API how these WebRTC, it will depend on the signaling model and API how these
parameters need to be configured, but they will need to either be set parameters need to be configured, but they will need to either be set
in the API or explicitly signaled between the peers. in the API or explicitly signaled between the peers.
11. WebRTC API Considerations 11. WebRTC API Considerations
The WebRTC API [W3C.WebRTC] and the Media Capture and Streams API The WebRTC API [W3C.WebRTC] and the Media Capture and Streams API
[W3C-MEDIA-CAPTURE] define and use the concept of a MediaStream that [W3C.WD-mediacapture-streams] define and use the concept of a
consists of zero or more MediaStreamTracks. A MediaStreamTrack is an MediaStream that consists of zero or more MediaStreamTracks. A
individual stream of media from any type of media source, such as a MediaStreamTrack is an individual stream of media from any type of
microphone or a camera, but conceptual sources, like an audio mix or media source, such as a microphone or a camera, but conceptual
a video composition, are also possible. The MediaStreamTracks within sources, like an audio mix or a video composition, are also possible.
a MediaStream might need to be synchronized during playback. The MediaStreamTracks within a MediaStream might need to be
synchronized during playback.
A MediaStreamTrack's realization in RTP, in the context of an A MediaStreamTrack's realization in RTP, in the context of an
RTCPeerConnection, consists of a source packet stream, identified by RTCPeerConnection, consists of a source packet stream, identified by
an SSRC, sent within an RTP session that is part of the an SSRC, sent within an RTP session that is part of the
RTCPeerConnection. The MediaStreamTrack can also result in RTCPeerConnection. The MediaStreamTrack can also result in
additional packet streams, and thus SSRCs, in the same RTP session. additional packet streams, and thus SSRCs, in the same RTP session.
These can be dependent packet streams from scalable encoding of the These can be dependent packet streams from scalable encoding of the
source stream associated with the MediaStreamTrack, if such a media source stream associated with the MediaStreamTrack, if such a media
encoder is used. They can also be redundancy packet streams; these encoder is used. They can also be redundancy packet streams; these
are created when applying Forward Error Correction (Section 6.2) or are created when applying Forward Error Correction (Section 6.2) or
skipping to change at line 1179 skipping to change at line 1183
configuration will be identical between different MediaStreamTracks configuration will be identical between different MediaStreamTracks
sharing the same media source. If the encoding parameters and sharing the same media source. If the encoding parameters and
constraints are the same, an implementation could choose to use only constraints are the same, an implementation could choose to use only
one encoded stream to create the different RTP packet streams. Note one encoded stream to create the different RTP packet streams. Note
that such optimizations would need to take into account that the that such optimizations would need to take into account that the
constraints for one of the MediaStreamTracks can change at any constraints for one of the MediaStreamTracks can change at any
moment, meaning that the encoding configurations might no longer be moment, meaning that the encoding configurations might no longer be
identical, and two different encoder instances would then be needed. identical, and two different encoder instances would then be needed.
The same MediaStreamTrack can also be included in multiple The same MediaStreamTrack can also be included in multiple
MediaStreams, thus multiple sets of MediaStreams can implicitly need MediaStreams; thus, multiple sets of MediaStreams can implicitly need
to use the same synchronization base. To ensure that this works in to use the same synchronization base. To ensure that this works in
all cases and does not force an endpoint to disrupt the media by all cases and does not force an endpoint to disrupt the media by
changing synchronization base and CNAME during delivery of any changing synchronization base and CNAME during delivery of any
ongoing packet streams, all MediaStreamTracks and their associated ongoing packet streams, all MediaStreamTracks and their associated
SSRCs originating from the same endpoint need to be sent using the SSRCs originating from the same endpoint need to be sent using the
same CNAME within one RTCPeerConnection. This is motivating the use same CNAME within one RTCPeerConnection. This is motivating the use
of a single CNAME in Section 4.9. of a single CNAME in Section 4.9.
| The requirement to use the same CNAME for all SSRCs that | The requirement to use the same CNAME for all SSRCs that
| originate from the same endpoint does not require a middlebox | originate from the same endpoint does not require a middlebox
skipping to change at line 1316 skipping to change at line 1320
An endpoint might send an RTP packet stream that is somehow An endpoint might send an RTP packet stream that is somehow
associated with another stream. For example, it might send an RTP associated with another stream. For example, it might send an RTP
packet stream that contains FEC or retransmission data relating to packet stream that contains FEC or retransmission data relating to
another stream. Some RTP payload formats send this sort of another stream. Some RTP payload formats send this sort of
associated repair data as part of the source packet stream, while associated repair data as part of the source packet stream, while
others send it as a separate packet stream. others send it as a separate packet stream.
* Layered or multiple-description coding: * Layered or multiple-description coding:
Within a single RTP session, an endpoint can use a layered media Within a single RTP session, an endpoint can use a layered media
codec -- for example, H.264 SVC -- or a multiple-description codec codec -- for example, H.264 Scalable Video Coding (SVC) -- or a
that generates multiple RTP packet streams, each with a distinct multiple-description codec that generates multiple RTP packet
RTP SSRC. streams, each with a distinct RTP SSRC.
* RTP mixers, translators, and other middleboxes: * RTP mixers, translators, and other middleboxes:
An RTP session, in the WebRTC context, is a point-to-point An RTP session, in the WebRTC context, is a point-to-point
association between an endpoint and some other peer device, where association between an endpoint and some other peer device, where
those devices share a common SSRC space. The peer device might be those devices share a common SSRC space. The peer device might be
another WebRTC endpoint, or it might be an RTP mixer, translator, another WebRTC endpoint, or it might be an RTP mixer, translator,
or some other form of media-processing middlebox. In the latter or some other form of media-processing middlebox. In the latter
cases, the middlebox might send mixed or relayed RTP streams from cases, the middlebox might send mixed or relayed RTP streams from
several participants, which the WebRTC endpoint will need to several participants, which the WebRTC endpoint will need to
skipping to change at line 2011 skipping to change at line 2015
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>.
[RFC8285] Singer, D., Desineni, H., and R. Even, Ed., "A General [RFC8285] Singer, D., Desineni, H., and R. Even, Ed., "A General
Mechanism for RTP Header Extensions", RFC 8285, Mechanism for RTP Header Extensions", RFC 8285,
DOI 10.17487/RFC8285, October 2017, DOI 10.17487/RFC8285, October 2017,
<https://www.rfc-editor.org/info/rfc8285>. <https://www.rfc-editor.org/info/rfc8285>.
[RFC8825] Alvestrand, H., "Overview: Real-Time Protocols for [RFC8825] Alvestrand, H., "Overview: Real-Time Protocols for
Browser-Based Applications", RFC 8825, Browser-Based Applications", RFC 8825,
DOI 10.17487/RFC8825, December 2020, DOI 10.17487/RFC8825, January 2021,
<https://www.rfc-editor.org/info/rfc8825>. <https://www.rfc-editor.org/info/rfc8825>.
[RFC8826] Rescorla, E., "Security Considerations for WebRTC", [RFC8826] Rescorla, E., "Security Considerations for WebRTC",
RFC 8826, DOI 10.17487/RFC8826, December 2020, RFC 8826, DOI 10.17487/RFC8826, January 2021,
<https://www.rfc-editor.org/info/rfc8826>. <https://www.rfc-editor.org/info/rfc8826>.
[RFC8827] Rescorla, E., "WebRTC Security Architecture", RFC 8827, [RFC8827] Rescorla, E., "WebRTC Security Architecture", RFC 8827,
DOI 10.17487/RFC8827, December 2020, DOI 10.17487/RFC8827, January 2021,
<https://www.rfc-editor.org/info/rfc8827>. <https://www.rfc-editor.org/info/rfc8827>.
[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, December 2020, DOI 10.17487/RFC8843, January 2021,
<https://www.rfc-editor.org/info/rfc8843>. <https://www.rfc-editor.org/info/rfc8843>.
[RFC8854] Uberti, J., "WebRTC Forward Error Correction [RFC8854] Uberti, J., "WebRTC Forward Error Correction
Requirements", RFC 8854, DOI 10.17487/RFC8854, December Requirements", RFC 8854, DOI 10.17487/RFC8854, January
2020, <https://www.rfc-editor.org/info/rfc8854>. 2021, <https://www.rfc-editor.org/info/rfc8854>.
[RFC8858] Holmberg, C., "Indicating Exclusive Support of RTP and RTP [RFC8858] Holmberg, C., "Indicating Exclusive Support of RTP and RTP
Control Protocol (RTCP) Multiplexing Using the Session Control Protocol (RTCP) Multiplexing Using the Session
Description Protocol (SDP)", RFC 8858, Description Protocol (SDP)", RFC 8858,
DOI 10.17487/RFC8858, December 2020, DOI 10.17487/RFC8858, January 2021,
<https://www.rfc-editor.org/info/rfc8858>. <https://www.rfc-editor.org/info/rfc8858>.
[RFC8860] Westerlund, M., Perkins, C., and J. Lennox, "Sending [RFC8860] Westerlund, M., Perkins, C., and J. Lennox, "Sending
Multiple Types of Media in a Single RTP Session", Multiple Types of Media in a Single RTP Session",
RFC 8860, DOI 10.17487/RFC8860, December 2020, RFC 8860, DOI 10.17487/RFC8860, January 2021,
<https://www.rfc-editor.org/info/rfc8860>. <https://www.rfc-editor.org/info/rfc8860>.
[RFC8861] Lennox, J., Westerlund, M., Wu, Q., and C. Perkins, [RFC8861] 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:
Grouping RTP Control Protocol (RTCP) Reception Statistics Grouping RTP Control Protocol (RTCP) Reception Statistics
and Other Feedback", RFC 8861, DOI 10.17487/RFC8861, and Other Feedback", RFC 8861, DOI 10.17487/RFC8861,
December 2020, <https://www.rfc-editor.org/info/rfc8861>. January 2021, <https://www.rfc-editor.org/info/rfc8861>.
[W3C-MEDIA-CAPTURE] [W3C.WD-mediacapture-streams]
Burnett, D., Bergkvist, A., Jennings, C., Narayanan, A., Jennings, C., Aboba, B., Bruaroey, J-I., and H. Boström,
Aboba, B., Bruaroey, J-I., and H. Boström, "Media Capture "Media Capture and Streams", W3C Candidate Recommendation,
and Streams", W3C Candidate Recommendation, 2 July 2019, <https://www.w3.org/TR/mediacapture-streams/>.
<https://www.w3.org/TR/2019/CR-mediacapture-streams-
20190702/>.
[W3C.WebRTC] [W3C.WebRTC]
Jennings, C., Boström, H., and J-I. Bruaroey, "WebRTC 1.0: Jennings, C., Boström, H., and J-I. Bruaroey, "WebRTC 1.0:
Real-time Communication Between Browsers", W3C Candidate Real-time Communication Between Browsers", W3C Proposed
Recommendation, <https://www.w3.org/TR/webrtc/>. Recommendation, <https://www.w3.org/TR/webrtc/>.
15.2. Informative References 15.2. Informative References
[RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed., [RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed.,
"RTP Control Protocol Extended Reports (RTCP XR)", "RTP Control Protocol Extended Reports (RTCP XR)",
RFC 3611, DOI 10.17487/RFC3611, November 2003, RFC 3611, DOI 10.17487/RFC3611, November 2003,
<https://www.rfc-editor.org/info/rfc3611>. <https://www.rfc-editor.org/info/rfc3611>.
[RFC4383] Baugher, M. and E. Carrara, "The Use of Timed Efficient [RFC4383] Baugher, M. and E. Carrara, "The Use of Timed Efficient
skipping to change at line 2126 skipping to change at line 2128
<https://www.rfc-editor.org/info/rfc8088>. <https://www.rfc-editor.org/info/rfc8088>.
[RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive [RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive
Connectivity Establishment (ICE): A Protocol for Network Connectivity Establishment (ICE): A Protocol for Network
Address Translator (NAT) Traversal", RFC 8445, Address Translator (NAT) Traversal", RFC 8445,
DOI 10.17487/RFC8445, July 2018, DOI 10.17487/RFC8445, July 2018,
<https://www.rfc-editor.org/info/rfc8445>. <https://www.rfc-editor.org/info/rfc8445>.
[RFC8829] Uberti, J., Jennings, C., and E. Rescorla, Ed., [RFC8829] Uberti, J., Jennings, C., and E. Rescorla, Ed.,
"JavaScript Session Establishment Protocol (JSEP)", "JavaScript Session Establishment Protocol (JSEP)",
RFC 8829, DOI 10.17487/RFC8829, December 2020, RFC 8829, DOI 10.17487/RFC8829, January 2021,
<https://www.rfc-editor.org/info/rfc8829>. <https://www.rfc-editor.org/info/rfc8829>.
[RFC8830] Alvestrand, H., "WebRTC MediaStream Identification in the [RFC8830] Alvestrand, H., "WebRTC MediaStream Identification in the
Session Description Protocol", RFC 8830, Session Description Protocol", RFC 8830,
DOI 10.17487/RFC8830, December 2020, DOI 10.17487/RFC8830, January 2021,
<https://www.rfc-editor.org/info/rfc8830>. <https://www.rfc-editor.org/info/rfc8830>.
[RFC8836] Jesup, R. and Z. Sarker, Ed., "Congestion Control [RFC8836] Jesup, R. and Z. Sarker, Ed., "Congestion Control
Requirements for Interactive Real-Time Media", RFC 8836, Requirements for Interactive Real-Time Media", RFC 8836,
DOI 10.17487/RFC8836, December 2020, DOI 10.17487/RFC8836, January 2021,
<https://www.rfc-editor.org/info/rfc8836>. <https://www.rfc-editor.org/info/rfc8836>.
[RFC8837] Jones, P., Dhesikan, S., Jennings, C., and D. Druta, [RFC8837] Jones, P., Dhesikan, S., Jennings, C., and D. Druta,
"Differentiated Services Code Point (DSCP) Packet Markings "Differentiated Services Code Point (DSCP) Packet Markings
for WebRTC QoS", RFC 8837, DOI 10.17487/RFC8837, December for WebRTC QoS", RFC 8837, DOI 10.17487/RFC8837, January
2020, <https://www.rfc-editor.org/info/rfc8837>. 2021, <https://www.rfc-editor.org/info/rfc8837>.
[RFC8872] Westerlund, M., Burman, B., Perkins, C., Alvestrand, H., [RFC8872] Westerlund, M., Burman, B., Perkins, C., Alvestrand, H.,
and R. Even, "Guidelines for Using the Multiplexing and R. Even, "Guidelines for Using the Multiplexing
Features of RTP to Support Multiple Media Streams", Features of RTP to Support Multiple Media Streams",
RFC 8872, DOI 10.17487/RFC8872, December 2020, RFC 8872, DOI 10.17487/RFC8872, January 2021,
<https://www.rfc-editor.org/info/rfc8872>. <https://www.rfc-editor.org/info/rfc8872>.
Acknowledgements Acknowledgements
The authors would like to thank Bernard Aboba, Harald Alvestrand, The authors would like to thank Bernard Aboba, Harald Alvestrand,
Cary Bran, Ben Campbell, Alissa Cooper, Spencer Dawkins, Charles Cary Bran, Ben Campbell, Alissa Cooper, Spencer Dawkins, Charles
Eckel, Alex Eleftheriadis, Christian Groves, Chris Inacio, Cullen Eckel, Alex Eleftheriadis, Christian Groves, Chris Inacio, Cullen
Jennings, Olle Johansson, Suhas Nandakumar, Dan Romascanu, Jim Jennings, Olle Johansson, Suhas Nandakumar, Dan Romascanu, Jim
Spring, Martin Thomson, and the other members of the IETF RTCWEB Spring, Martin Thomson, and the other members of the IETF RTCWEB
working group for their valuable feedback. working group for their valuable feedback.
skipping to change at line 2173 skipping to change at line 2175
School of Computing Science School of Computing Science
Glasgow Glasgow
G12 8QQ G12 8QQ
United Kingdom United Kingdom
Email: csp@csperkins.org Email: csp@csperkins.org
URI: https://csperkins.org/ URI: https://csperkins.org/
Magnus Westerlund Magnus Westerlund
Ericsson Ericsson
Torshamsgatan 23 Torshamnsgatan 23
SE-164 80 Kista SE-164 80 Kista
Sweden Sweden
Email: magnus.westerlund@ericsson.com Email: magnus.westerlund@ericsson.com
Jörg Ott Jörg Ott
Aalto University Technical University Munich
School of Electrical Engineering Department of Informatics
FI-02150 Espoo Chair of Connected Mobility
Finland Boltzmannstrasse 3
85748 Garching
Germany
Email: jorg.ott@aalto.fi Email: ott@in.tum.de
 End of changes. 29 change blocks. 
66 lines changed or deleted 70 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/