draft-ietf-rtcweb-rtp-usage-22.txt   draft-ietf-rtcweb-rtp-usage-23.txt 
RTCWEB Working Group C. S. Perkins RTCWEB Working Group C. S. Perkins
Internet-Draft University of Glasgow Internet-Draft University of Glasgow
Intended status: Standards Track M. Westerlund Intended status: Standards Track M. Westerlund
Expires: August 13, 2015 Ericsson Expires: October 01, 2015 Ericsson
J. Ott J. Ott
Aalto University Aalto University
February 09, 2015 March 30, 2015
Web Real-Time Communication (WebRTC): Media Transport and Use of RTP Web Real-Time Communication (WebRTC): Media Transport and Use of RTP
draft-ietf-rtcweb-rtp-usage-22 draft-ietf-rtcweb-rtp-usage-23
Abstract Abstract
The Web Real-Time Communication (WebRTC) framework provides support The Web Real-Time Communication (WebRTC) framework provides support
for direct interactive rich communication using audio, video, text, for direct interactive rich communication using audio, video, text,
collaboration, games, etc. between two peers' web-browsers. This collaboration, games, etc. between two peers' web-browsers. This
memo describes the media transport aspects of the WebRTC framework. memo describes the media transport aspects of the WebRTC framework.
It specifies how the Real-time Transport Protocol (RTP) is used in It specifies how the Real-time Transport Protocol (RTP) is used in
the WebRTC context, and gives requirements for which RTP features, the WebRTC context, and gives requirements for which RTP features,
profiles, and extensions need to be supported. profiles, and extensions need to be supported.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 13, 2015. This Internet-Draft will expire on October 01, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
skipping to change at page 2, line 49 skipping to change at page 2, line 49
5.2.4. Media Stream Identification . . . . . . . . . . . . . 18 5.2.4. Media Stream Identification . . . . . . . . . . . . . 18
5.2.5. Coordination of Video Orientation . . . . . . . . . . 18 5.2.5. Coordination of Video Orientation . . . . . . . . . . 18
6. WebRTC Use of RTP: Improving Transport Robustness . . . . . . 19 6. WebRTC Use of RTP: Improving Transport Robustness . . . . . . 19
6.1. Negative Acknowledgements and RTP Retransmission . . . . 19 6.1. Negative Acknowledgements and RTP Retransmission . . . . 19
6.2. Forward Error Correction (FEC) . . . . . . . . . . . . . 20 6.2. Forward Error Correction (FEC) . . . . . . . . . . . . . 20
7. WebRTC Use of RTP: Rate Control and Media Adaptation . . . . 20 7. WebRTC Use of RTP: Rate Control and Media Adaptation . . . . 20
7.1. Boundary Conditions and Circuit Breakers . . . . . . . . 21 7.1. Boundary Conditions and Circuit Breakers . . . . . . . . 21
7.2. Congestion Control Interoperability and Legacy Systems . 22 7.2. Congestion Control Interoperability and Legacy Systems . 22
8. WebRTC Use of RTP: Performance Monitoring . . . . . . . . . . 23 8. WebRTC Use of RTP: Performance Monitoring . . . . . . . . . . 23
9. WebRTC Use of RTP: Future Extensions . . . . . . . . . . . . 23 9. WebRTC Use of RTP: Future Extensions . . . . . . . . . . . . 23
10. Signalling Considerations . . . . . . . . . . . . . . . . . . 23 10. Signalling Considerations . . . . . . . . . . . . . . . . . . 24
11. WebRTC API Considerations . . . . . . . . . . . . . . . . . . 25 11. WebRTC API Considerations . . . . . . . . . . . . . . . . . . 25
12. RTP Implementation Considerations . . . . . . . . . . . . . . 27 12. RTP Implementation Considerations . . . . . . . . . . . . . . 27
12.1. Configuration and Use of RTP Sessions . . . . . . . . . 27 12.1. Configuration and Use of RTP Sessions . . . . . . . . . 28
12.1.1. Use of Multiple Media Sources Within an RTP Session 27 12.1.1. Use of Multiple Media Sources Within an RTP Session 28
12.1.2. Use of Multiple RTP Sessions . . . . . . . . . . . . 29 12.1.2. Use of Multiple RTP Sessions . . . . . . . . . . . . 29
12.1.3. Differentiated Treatment of RTP Packet Streams . . . 33 12.1.3. Differentiated Treatment of RTP Packet Streams . . . 33
12.2. Media Source, RTP Packet Streams, and Participant 12.2. Media Source, RTP Packet Streams, and Participant
Identification . . . . . . . . . . . . . . . . . . . . . 35 Identification . . . . . . . . . . . . . . . . . . . . . 35
12.2.1. Media Source Identification . . . . . . . . . . . . 35 12.2.1. Media Source Identification . . . . . . . . . . . . 35
12.2.2. SSRC Collision Detection . . . . . . . . . . . . . . 36 12.2.2. SSRC Collision Detection . . . . . . . . . . . . . . 36
12.2.3. Media Synchronisation Context . . . . . . . . . . . 37 12.2.3. Media Synchronisation Context . . . . . . . . . . . 37
13. Security Considerations . . . . . . . . . . . . . . . . . . . 37 13. Security Considerations . . . . . . . . . . . . . . . . . . . 38
14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39
15. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 39 15. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 39
16. References . . . . . . . . . . . . . . . . . . . . . . . . . 39 16. References . . . . . . . . . . . . . . . . . . . . . . . . . 40
16.1. Normative References . . . . . . . . . . . . . . . . . . 39 16.1. Normative References . . . . . . . . . . . . . . . . . . 40
16.2. Informative References . . . . . . . . . . . . . . . . . 42 16.2. Informative References . . . . . . . . . . . . . . . . . 43
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45
1. Introduction 1. Introduction
The Real-time Transport Protocol (RTP) [RFC3550] provides a framework The Real-time Transport Protocol (RTP) [RFC3550] provides a framework
for delivery of audio and video teleconferencing data and other real- for delivery of audio and video teleconferencing data and other real-
time media applications. Previous work has defined the RTP protocol, time media applications. Previous work has defined the RTP protocol,
along with numerous profiles, payload formats, and other extensions. along with numerous profiles, payload formats, and other extensions.
When combined with appropriate signalling, these form the basis for When combined with appropriate signalling, these form the basis for
many teleconferencing systems. many teleconferencing systems.
skipping to change at page 22, line 16 skipping to change at page 22, line 16
Maximum Media Stream Bit Rate (TMMBR) Requests (see Section 5.1.6 of Maximum Media Stream Bit Rate (TMMBR) Requests (see Section 5.1.6 of
this memo). Signalled bandwidth limitations, such as SDP "b=AS:" or this memo). Signalled bandwidth limitations, such as SDP "b=AS:" or
"b=CT:" lines received from the peer, MUST be followed when sending "b=CT:" lines received from the peer, MUST be followed when sending
RTP packet streams. A WebRTC Endpoint receiving media SHOULD signal RTP packet streams. A WebRTC Endpoint receiving media SHOULD signal
its bandwidth limitations, these limitations have to be based on its bandwidth limitations, these limitations have to be based on
known bandwidth limitations, for example the capacity of the edge known bandwidth limitations, for example the capacity of the edge
links. links.
7.2. Congestion Control Interoperability and Legacy Systems 7.2. Congestion Control Interoperability and Legacy Systems
There are legacy RTP implementations that do not implement RTCP, and All endpoints that wish to interwork with WebRTC MUST implement RTCP
hence do not provide any congestion feedback. Congestion control and provide congestion feedback via the defined RTCP reporting
cannot be performed with these end-points. WebRTC Endpoints that mechanisms.
need to interwork with such end-points MUST limit their transmission
to a low rate, equivalent to a VoIP call using a low bandwidth codec,
that is unlikely to cause any significant congestion.
When interworking with legacy implementations that support RTCP using When interworking with legacy implementations that support RTCP using
the RTP/AVP profile [RFC3551], congestion feedback is provided in the RTP/AVP profile [RFC3551], congestion feedback is provided in
RTCP RR packets every few seconds. Implementations that have to RTCP RR packets every few seconds. Implementations that have to
interwork with such end-points MUST ensure that they keep within the interwork with such end-points MUST ensure that they keep within the
RTP circuit breaker [I-D.ietf-avtcore-rtp-circuit-breakers] RTP circuit breaker [I-D.ietf-avtcore-rtp-circuit-breakers]
constraints to limit the congestion they can cause. constraints to limit the congestion they can cause.
If a legacy end-point supports RTP/AVPF, this enables negotiation of If a legacy end-point supports RTP/AVPF, this enables negotiation of
important parameters for frequent reporting, such as the "trr-int" important parameters for frequent reporting, such as the "trr-int"
skipping to change at page 39, line 47 skipping to change at page 40, line 12
Romascanu, Jim Spring, Martin Thomson, and the other members of the Romascanu, Jim Spring, Martin Thomson, and the other members of the
IETF RTCWEB working group for their valuable feedback. IETF RTCWEB working group for their valuable feedback.
16. References 16. References
16.1. Normative References 16.1. Normative References
[I-D.ietf-avtcore-multi-media-rtp-session] [I-D.ietf-avtcore-multi-media-rtp-session]
Westerlund, M., Perkins, C., and J. Lennox, "Sending Westerlund, M., Perkins, C., and J. Lennox, "Sending
Multiple Types of Media in a Single RTP Session", draft- Multiple Types of Media in a Single RTP Session", draft-
ietf-avtcore-multi-media-rtp-session-06 (work in ietf-avtcore-multi-media-rtp-session-07 (work in
progress), October 2014. progress), March 2015.
[I-D.ietf-avtcore-rtp-circuit-breakers] [I-D.ietf-avtcore-rtp-circuit-breakers]
Perkins, C. and V. Singh, "Multimedia Congestion Control: Perkins, C. and V. Singh, "Multimedia Congestion Control:
Circuit Breakers for Unicast RTP Sessions", draft-ietf- Circuit Breakers for Unicast RTP Sessions", draft-ietf-
avtcore-rtp-circuit-breakers-08 (work in progress), avtcore-rtp-circuit-breakers-10 (work in progress), March
December 2014. 2015.
[I-D.ietf-avtcore-rtp-multi-stream-optimisation] [I-D.ietf-avtcore-rtp-multi-stream-optimisation]
Lennox, J., Westerlund, M., Wu, Q., and C. Perkins, Lennox, J., Westerlund, M., Wu, Q., and C. Perkins,
"Sending Multiple Media Streams in a Single RTP Session: "Sending Multiple Media Streams in a Single RTP Session:
Grouping RTCP Reception Statistics and Other Feedback ", Grouping RTCP Reception Statistics and Other Feedback ",
draft-ietf-avtcore-rtp-multi-stream-optimisation-00 (work draft-ietf-avtcore-rtp-multi-stream-optimisation-00 (work
in progress), July 2013. in progress), July 2013.
[I-D.ietf-avtcore-rtp-multi-stream] [I-D.ietf-avtcore-rtp-multi-stream]
Lennox, J., Westerlund, M., Wu, W., and C. Perkins, Lennox, J., Westerlund, M., Wu, W., and C. Perkins,
"Sending Multiple Media Streams in a Single RTP Session", "Sending Multiple Media Streams in a Single RTP Session",
draft-ietf-avtcore-rtp-multi-stream-06 (work in progress), draft-ietf-avtcore-rtp-multi-stream-07 (work in progress),
October 2014. March 2015.
[I-D.ietf-mmusic-sdp-bundle-negotiation] [I-D.ietf-mmusic-sdp-bundle-negotiation]
Holmberg, C., Alvestrand, H., and C. Jennings, Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session "Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle- Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-
negotiation-16 (work in progress), January 2015. negotiation-19 (work in progress), March 2015.
[I-D.ietf-rtcweb-audio] [I-D.ietf-rtcweb-audio]
Valin, J. and C. Bran, "WebRTC Audio Codec and Processing Valin, J. and C. Bran, "WebRTC Audio Codec and Processing
Requirements", draft-ietf-rtcweb-audio-07 (work in Requirements", draft-ietf-rtcweb-audio-07 (work in
progress), October 2014. progress), October 2014.
[I-D.ietf-rtcweb-fec] [I-D.ietf-rtcweb-fec]
Uberti, J., "WebRTC Forward Error Correction Uberti, J., "WebRTC Forward Error Correction
Requirements", draft-ietf-rtcweb-fec-00 (work in Requirements", draft-ietf-rtcweb-fec-01 (work in
progress), February 2015. progress), March 2015.
[I-D.ietf-rtcweb-security-arch] [I-D.ietf-rtcweb-security-arch]
Rescorla, E., "WebRTC Security Architecture", draft-ietf- Rescorla, E., "WebRTC Security Architecture", draft-ietf-
rtcweb-security-arch-10 (work in progress), July 2014. rtcweb-security-arch-11 (work in progress), March 2015.
[I-D.ietf-rtcweb-security] [I-D.ietf-rtcweb-security]
Rescorla, E., "Security Considerations for WebRTC", draft- Rescorla, E., "Security Considerations for WebRTC", draft-
ietf-rtcweb-security-07 (work in progress), July 2014. ietf-rtcweb-security-08 (work in progress), February 2015.
[I-D.ietf-rtcweb-video] [I-D.ietf-rtcweb-video]
Roach, A., "WebRTC Video Processing and Codec Roach, A., "WebRTC Video Processing and Codec
Requirements", draft-ietf-rtcweb-video-03 (work in Requirements", draft-ietf-rtcweb-video-05 (work in
progress), November 2014. progress), March 2015.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2736] Handley, M. and C. Perkins, "Guidelines for Writers of RTP [RFC2736] Handley, M. and C. Perkins, "Guidelines for Writers of RTP
Payload Format Specifications", BCP 36, RFC 2736, December Payload Format Specifications", BCP 36, RFC 2736, December
1999. 1999.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
skipping to change at page 43, line 11 skipping to change at page 43, line 25
16.2. Informative References 16.2. Informative References
[I-D.ietf-avtcore-multiplex-guidelines] [I-D.ietf-avtcore-multiplex-guidelines]
Westerlund, M., Perkins, C., and H. Alvestrand, Westerlund, M., Perkins, C., and H. Alvestrand,
"Guidelines for using the Multiplexing Features of RTP to "Guidelines for using the Multiplexing Features of RTP to
Support Multiple Media Streams", draft-ietf-avtcore- Support Multiple Media Streams", draft-ietf-avtcore-
multiplex-guidelines-03 (work in progress), October 2014. multiplex-guidelines-03 (work in progress), October 2014.
[I-D.ietf-avtcore-rtp-topologies-update] [I-D.ietf-avtcore-rtp-topologies-update]
Westerlund, M. and S. Wenger, "RTP Topologies", draft- Westerlund, M. and S. Wenger, "RTP Topologies", draft-
ietf-avtcore-rtp-topologies-update-05 (work in progress), ietf-avtcore-rtp-topologies-update-06 (work in progress),
November 2014. March 2015.
[I-D.ietf-avtext-rtp-grouping-taxonomy] [I-D.ietf-avtext-rtp-grouping-taxonomy]
Lennox, J., Gross, K., Nandakumar, S., and G. Salgueiro, Lennox, J., Gross, K., Nandakumar, S., and G. Salgueiro,
"A Taxonomy of Grouping Semantics and Mechanisms for Real- "A Taxonomy of Grouping Semantics and Mechanisms for Real-
Time Transport Protocol (RTP) Sources", draft-ietf-avtext- Time Transport Protocol (RTP) Sources", draft-ietf-avtext-
rtp-grouping-taxonomy-05 (work in progress), January 2015. rtp-grouping-taxonomy-06 (work in progress), March 2015.
[I-D.ietf-mmusic-msid] [I-D.ietf-mmusic-msid]
Alvestrand, H., "WebRTC MediaStream Identification in the Alvestrand, H., "WebRTC MediaStream Identification in the
Session Description Protocol", draft-ietf-mmusic-msid-07 Session Description Protocol", draft-ietf-mmusic-msid-08
(work in progress), October 2014. (work in progress), February 2015.
[I-D.ietf-mmusic-sdp-bundle-negotiation] [I-D.ietf-mmusic-sdp-bundle-negotiation]
Holmberg, C., Alvestrand, H., and C. Jennings, Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session "Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle- Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-
negotiation-16 (work in progress), January 2015. negotiation-19 (work in progress), March 2015.
[I-D.ietf-payload-rtp-howto] [I-D.ietf-payload-rtp-howto]
Westerlund, M., "How to Write an RTP Payload Format", Westerlund, M., "How to Write an RTP Payload Format",
draft-ietf-payload-rtp-howto-13 (work in progress), draft-ietf-payload-rtp-howto-13 (work in progress),
January 2014. January 2014.
[I-D.ietf-rmcat-cc-requirements] [I-D.ietf-rmcat-cc-requirements]
Jesup, R. and Z. Sarker, "Congestion Control Requirements Jesup, R. and Z. Sarker, "Congestion Control Requirements
for Interactive Real-Time Media", draft-ietf-rmcat-cc- for Interactive Real-Time Media", draft-ietf-rmcat-cc-
requirements-09 (work in progress), December 2014. requirements-09 (work in progress), December 2014.
 End of changes. 21 change blocks. 
36 lines changed or deleted 33 lines changed or added

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