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