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/ |