--- 1/draft-ietf-rtcweb-sdp-00.txt 2016-03-18 13:40:35.997939963 -0700 +++ 2/draft-ietf-rtcweb-sdp-01.txt 2016-03-18 13:40:38.045990736 -0700 @@ -1,18 +1,18 @@ Network Working Group S. Nandakumar Internet-Draft C. Jennings Intended status: Informational Cisco -Expires: March 20, 2016 September 17, 2015 +Expires: September 18, 2016 March 17, 2016 SDP for the WebRTC - draft-ietf-rtcweb-sdp-00 + draft-ietf-rtcweb-sdp-01 Abstract The Web Real-Time Communication [WebRTC] working group is charged to provide protocol support for direct interactive rich communication using audio, video and data between two peers' web browsers. With in the WebRTC framework, Session Description protocol (SDP) [RFC4566] is used for negotiating session capabilities between the peers. Such a negotiation happens based on the SDP Offer/Answer exchange mechanism described in [RFC3264]. @@ -33,25 +33,25 @@ 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 March 20, 2016. + This Internet-Draft will expire on September 18, 2016. Copyright Notice - Copyright (c) 2015 IETF Trust and the persons identified as the + Copyright (c) 2016 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 carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as @@ -73,36 +73,36 @@ 5.2.5. Audio with DTMF Session . . . . . . . . . . . . . . . 23 5.2.6. One Way Audio/Video Session - Document Camera . . . . 27 5.2.7. Audio, Video Session with BUNDLE Support Unknown . . 31 5.2.8. Audio, Video and Data Session . . . . . . . . . . . . 38 5.2.9. Audio, Video Session with BUNDLE Unsupported . . . . 43 5.2.10. Audio, Video BUNDLED, but Data (Not BUNDLED) . . . . 47 5.2.11. Audio Only, Add Video to BUNDLE . . . . . . . . . . . 52 5.3. MultiResolution, RTX, FEC Examples . . . . . . . . . . . 59 5.3.1. Sendonly Simulcast Session with 2 cameras and 2 encodings per camera . . . . . . . . . . . . . . 59 - 5.3.2. Successful SVC Video Session . . . . . . . . . . . . 65 + 5.3.2. Successful SVC Video Session . . . . . . . . . . . . 66 5.3.3. Successful Simulcast Video Session with - Retransmission . . . . . . . . . . . . . . . . . . . 70 + Retransmission . . . . . . . . . . . . . . . . . . . 71 5.3.4. Successful 1-way Simulcast Session with 2 resolutions - and RTX - One resolution rejected . . . . . . 74 - 5.3.5. Simulcast Video Session with Forward Error Correction 79 - 5.4. Others . . . . . . . . . . . . . . . . . . . . . . . . . 83 - 5.4.1. Audio Session - Voice Activity Detection . . . . . . 83 - 5.4.2. Audio Conference - Voice Activity Detection . . . . . 86 - 5.4.3. Successful legacy Interop Fallback with bundle-only . 90 - 5.4.4. Legacy Interop with RTP/AVP profile . . . . . . . . . 94 - 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 99 - 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 99 - 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 99 - 9. Informative References . . . . . . . . . . . . . . . . . . . 101 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 104 + and RTX - One resolution rejected . . . . . . 76 + 5.3.5. Simulcast Video Session with Forward Error Correction 80 + 5.4. Others . . . . . . . . . . . . . . . . . . . . . . . . . 85 + 5.4.1. Audio Session - Voice Activity Detection . . . . . . 85 + 5.4.2. Audio Conference - Voice Activity Detection . . . . . 88 + 5.4.3. Successful legacy Interop Fallback with bundle-only . 92 + 5.4.4. Legacy Interop with RTP/AVP profile . . . . . . . . . 96 + 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 101 + 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 101 + 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 101 + 9. Informative References . . . . . . . . . . . . . . . . . . . 103 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 107 1. Introduction Javascript Session Exchange Protocol(JSEP) [I-D.ietf-rtcweb-jsep] specifies a generic protocol needed to generate [RFC3264] Offers and Answers negotiated between the WebRTC peers for setting up, updating and tearing down a WebRTC session. For this purpose, SDP is used to construct [RFC3264] Offers/Answers for describing (media and non- media) streams as appropriate for the recipients of the session description to participate in the session. @@ -2617,20 +2617,27 @@ 5.3.1. Sendonly Simulcast Session with 2 cameras and 2 encodings per camera The SDP below shows Offer/Answer exchange with one audio and two video sources. Each of the video source can be sent at two different resolutions. One video source corresponds to VP8 encoding, while the other corresponds to H.264 encoding. + [I-D.ietf-mmusic-rid] framework is used to further constrain the + media format encodings and map the payload types (PT) to the 'rid' + identifiers. + + [I-D.ietf-mmusic-sdp-simulcast] framework identifies the simulcast + streams via their 'rid' identifiers. + bundle-only framework is used along with BUNDLE grouping framework to enable multiplexing of all the 5 streams (1 audio stream + 4 video streams) over a single RTP Session. 1 Way Successful Simulcast w/BUNDLE Alice Bob | | | | | Alice offers 2 sendonly video sources | @@ -2702,75 +2709,93 @@ | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | bundle-only video line with | | | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tb) | | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:m1 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=imageattr:98 [x=1280,y=720] | [RFC6236]Camera-1,Encoding- | - | | 1 Resolution | | a=fmtp:98 max-fr=30 | [RFC4566] | - | a=imageattr:100 [x=640,y=480] | [RFC6236] | - | | Camera-1,Encoding-2 | - | | Resolution | + | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | | a=fmtp:100 max-fr=15 | [RFC4566] | - | a=simulcast: send 98;100 | [I-D.ietf-mmusic-sdp-simulc | + | a=rid:1 send pt=98;max-width=1280 | [I-D.ietf-mmusic-rid] 1:1 | + | ;max-height=720; | rid mapping to payload type | + | | and specify resolution | + | | constraints | + | a=rid:2 send pt=100;max-width=640 | [I-D.ietf-mmusic-rid] 1:1 | + | ;max-height=480; | rid mapping to payload type | + | | and specify resolution | + | | constraints | + | a=simulcast: send 1;~2 | [I-D.ietf-mmusic-sdp-simulc | | | ast] Alice can send 2 | - | | resolutions | + | | resolutions identified by | + | | the 'rid' identifiers Also, | + | | the second stream is | + | | initially paused. | | a=ssrc:12345 | [RFC5576] [RFC7022] | | cname:axzo1278npDlAzM73 | Camera-1,Encoding-1 SSRC | | | with Session CNAME | | a=ssrc:45678 | [RFC5576] [RFC7022] | | cname:axzo1278npDlAzM73 | Camera-1,Encoding-2 SSRC | | | with Session CNAME | | a=sendonly | [RFC3264] - Send only video | | | stream | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=rtcp-fb:98 nack | [RFC5104] | | a=rtcp-fb:98 nack pli | [RFC5104] | | a=rtcp-fb:98 ccm fir | [RFC5104] | | a=rtcp-fb:100 nack | [RFC5104] | | a=rtcp-fb:100 nack pli | [RFC5104] | | a=rtcp-fb:100 ccm fir | [RFC5104] | | a=rtcp-rsize | [RFC5506] | | m=video 0 UDP/TLS/RTP/SAVPF 101 102 | bundle-only video line with | | | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=msid:ma tc | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tc) | | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:m2 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=rtpmap:101 H264/90000 | [RFC3984] | | a=rtpmap:102 H264/90000 | [RFC3984] | - | a=fmtp:101 profile-level-id=4d0028 | [RFC3984]Camera-2,Encoding- | - | ;packetization-mode=1;max-fr=30 | 1 Resolution | - | a=fmtp:102 profile-level-id=4d0028 | [RFC3984]Camera-2,Encoding- | - | ;packetization-mode=1;max-fr=15 | 2 Resolution | - | a=simulcast: send 101;102 | [I-D.ietf-mmusic-sdp-simulc | - | | ast] | + | a=fmtp:101 profile-level-id=42401f | [RFC3984]Camera-2,Encoding- | + | ;packetization-mode=0;max-fr=30 | 1 | + | a=fmtp:102 profile-level-id=42401f | [RFC3984]Camera-2,Encoding- | + | ;packetization-mode=1;max-fr=15 | 2 | + | a=rid:3 send pt=101;max-width=1280 | [I-D.ietf-mmusic-rid] 1:1 | + | ;max-height=720; | rid mapping to payload type | + | | and specify resolution | + | | constraints | + | a=rid:4 send pt=102;max-width=640 | [I-D.ietf-mmusic-rid] 1:1 | + | ;max-height=360; | rid mapping to payload type | + | | and specify resolution | + | | constraints | + | a=simulcast: send 3;4 | [I-D.ietf-mmusic-sdp-simulc | + | | ast] Alice can send 2 | + | | resolutions identified by | + | | the 'rid' identifiers | | a=ssrc:67890 | [RFC5576] [RFC7022] | | cname:axzo1278npDlAzM73 | Camera-2,Encoding-1 SSRC | | | with Session CNAME | | a=ssrc:56789 | [RFC5576] [RFC7022] | | cname:axzo1278npDlAzM73 | Camera-2,Encoding-2 SSRC | | | with Session CNAME | | a=sendonly | [RFC3264] - Send only video | | | stream | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=rtcp-fb:101 nack | [RFC5104] | | a=rtcp-fb:101 nack pli | [RFC5104] | | a=rtcp-fb:101 ccm fir | [RFC5104] | | a=rtcp-fb:102 nack | [RFC5104] | | a=rtcp-fb:102 nack pli | [RFC5104] | | a=rtcp-fb:102 ccm fir | [RFC5104] | | a=rtcp-rsize | [RFC5506] | +-------------------------------------+-----------------------------+ Table 26: 5.3.1 SDP Offer @@ -2824,85 +2849,97 @@ | | port | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tb) | | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:m1 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=imageattr:98 [x=1280,y=720] | [RFC6236]Camera-1,Encoding- | - | | 1 Resolution | | a=fmtp:98 max-fr=30 | [RFC4566] | - | a=imageattr:100 [x=640,y=480] | [RFC6236] | - | | Camera-1,Encoding-2 | - | | Resolution | | a=fmtp:100 max-fr=15 | [RFC4566] | + | a=rid:1 recv pt=98;max-width=1280 | [I-D.ietf-mmusic-rid] Bob | + | ;max-height=720; | accepts the offered payload | + | | format constraints | + | a=rid:2 recv pt=100;max-width=640 | [I-D.ietf-mmusic-rid] Bob | + | ;max-height=480; | accepts the offered payload | + | | format constraints | + | a=simulcast: recv 1;2 | [I-D.ietf-mmusic-sdp-simulc | + | | ast] Bob accepts the | + | | offered simulcast streams | + | | and removes the paused | + | | state of stream with 'rid' | + | | value 2. | | a=recvonly | [RFC3264] - receive only | | | video stream | - | a=simulcast: recv 98;100 | [I-D.ietf-mmusic-sdp-simulc | - | | ast] | | a=ssrc:54321 | [RFC5576] | | cname:y8/C90alEocUG1f0fcg | | | a=ice-ufrag:c300d85b | [RFC5245] | | a=ice-pwd:de4e99bd291c325921d5d47ef | [RFC5245] | | babd9a2 | | | a=fingerprint:sha-1 99:41:49:83:4a: | [RFC5245] | | 97:0e:1f:ef:6d:f7:c9:c7:70:9d: | | | 1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.7 60065 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.77 60065 typ srflx raddr | | | 192.168.1.4 rport 60065 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5576] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=rtcp-rsize | [RFC5506] | - | m=video 54609 UDP/TLS/RTP/SAVPF 101 | BUNDLE accepted with port | + | m=video 49203 UDP/TLS/RTP/SAVPF 101 | BUNDLE accepted with port | | 102 | repeated from the audio | | | port | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=rtcp:56503 IN IP4 98.248.92.77 | [RFC3605] | | a=msid:ma tc | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tc) | | a=mid:m2 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=rtpmap:101 H264/90000 | [RFC3984] | | a=rtpmap:102 H264/90000 | [RFC3984] | | a=recvonly | [RFC3264] | - | a=fmtp:101 profile-level-id=4d0028 | [RFC3984] | + | a=fmtp:101 profile-level-id=42401f | [RFC3984] | | ;packetization-mode=1;max-fr=30 | | - | a=fmtp:102 profile-level-id=4d0028 | [RFC3984] | + | a=fmtp:102 profile-level-id=42401f | [RFC3984] | | ;packetization-mode=1;max-fr=15 | | - | a=simulcast: recv 101;102 | [I-D.ietf-mmusic-sdp-simulc | - | | ast] Bob accepts to | - | | receieve the offered | - | | simulcast streams | + | a=rid:3 recv pt=101;max-width=1280 | [I-D.ietf-mmusic-rid] Bob | + | ;max-height=720; | accepts the offered payload | + | | format constraints | + | a=rid:4 recv pt=102;max-width=640 | [I-D.ietf-mmusic-rid] Bob | + | ;max-height=360; | accepts the offered payload | + | | format constraints | + | a=simulcast: recv 3;4 | [I-D.ietf-mmusic-sdp-simulc | + | | ast] Bob accepts the | + | | offered simulcast streams. | | a=ssrc:90876 | [RFC5576] | | cname:axzo1278npDlAzM73 | | | a=ice-ufrag:ufrag:c300d85b | [RFC5245] | | a=ice-pwd:de4e99bd291c325921d5d47ef | [RFC5245] | | babd9a2 | | | a=fingerprint:sha-1 99:41:49:83:4a: | [RFC5245] | | 97:0e:1f:ef:6d:f7:c9:c7:70: | | | 9d:1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.7 60065 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.77 60065 typ srflx raddr | | | 192.168.1.7 rport 60065 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5576] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=rtcp-rsize | [RFC5506] | +-------------------------------------+-----------------------------+ Table 27: 5.3.1 SDP Answer 5.3.2. Successful SVC Video Session This section shows an SDP Offer/Answer for a session with an audio and a single video source. The video source is encoded as layered coding at 3 different resolutions based on [RFC5583]. The video @@ -3005,21 +3042,22 @@ | max-fr=15;max-fs=1200 | | | a=rtpmap:100 H264-SVC/90000 | [RFC3984] | | a=fmtp:100 profile-level- | [RFC3984] | | id=4d0028;packetization-mode=1; | | | max-fr=30;max-fs=8040 | | | a=depend:100 lay m1:96,97; | [RFC5583]Layer 3 dependent on | | | layers 1 and 2 | | a=sendonly | [RFC3264] - Send only video | | | stream | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=ssrc:1732846380 | [RFC5576] | | cname:axzo1278npDlAzM73 | | | a=ssrc:1732846381 | [RFC5576] | | cname:axzo1278npDlAzM73 | | | a=ssrc:1732846382 | [RFC5576] | | cname:axzo1278npDlAzM73 | | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | | a=rtcp-rsize | [RFC5506] | @@ -3059,21 +3097,21 @@ | 474af08a068 | | | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] | | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | | | 9d:1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.7 60065 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.77 60065 typ srflx | | | raddr 192.168.1.5 rport 60065 | | | a=rtcp-rsize | [RFC5506] | - | m=video 54609 UDP/TLS/RTP/SAVPF | BUNDLE accepted Bundle address | + | m=video 49203 UDP/TLS/RTP/SAVPF | BUNDLE accepted Bundle address | | 96 100 | same as audio m=line. | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | | a=rtcp:56503 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:m1 | [RFC5888] Video m=line part of | | | BUNDLE group | | a=rtpmap:96 H264/90000 | [RFC3984] | | a=fmtp:96 profile-level- | [RFC3984]H.264 Layer 1 | @@ -3093,56 +3131,62 @@ | 9d:1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.5 64678 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 24.23.204.142 64678 typ srflx | | | raddr 192.168.1.5 rport 64678 | | | a=recvonly | [RFC3264] - Receive only video | | | stream | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=ssrc:4638117328 | [RFC5576] | | cname:axzo1278npDlAzM73 | | | a=rtcp-rsize | [RFC5506] | +----------------------------------+--------------------------------+ Table 29: 5.3.2 SDP Answer with SVC 5.3.3. Successful Simulcast Video Session with Retransmission This section shows an SDP Offer/Answer exchange for a simulcast - scenario with 2 two resolutions and has [RFC4588] style re- - transmission flows. + scenario with 3 resolutions and has [RFC4588] style re-transmission + flows. + + [I-D.ietf-mmusic-rid] framework is used to specify all the (3) + resolution constraints mapped to a single Payload Type (98). + + [I-D.ietf-mmusic-sdp-simulcast] framework identifies the simulcast + streams via their 'rid' identifiers. Simulcast Streams with Retransmission Alice Bob | | | | |Alice offers single audio and simulcasted video streams | | | | | - | Offer(Audio:Opus Video:VP8 with 2 resolutions) | + | Offer(Audio:Opus Video:VP8 with 3 resolutions) | | & RTX stream | |-------------------------------------------------------->| | | | | | Answer (Bob accepts Alice's offer) | |<--------------------------------------------------------| | | | | - |One-Way 1 Opus, 2 VP8 and RTX video streams,all muxed | + |One-Way 1 Opus, 3 VP8 and RTX video streams,all muxed | |.........................................................| | | | | - +----------------------------------+--------------------------------+ | SDP Contents | RFC#/Notes | +----------------------------------+--------------------------------+ | v=0 | [RFC4566] | | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-ne | | | gotiation] Alice supports | @@ -3181,69 +3225,73 @@ | a=candidate:1 1 UDP 694302207 | [RFC5245] | | 24.23.204.141 54609 typ srflx | | | raddr 192.168.1.4 rport 54609 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.4 64678 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 24.23.204.141 64678 typ srflx | | | raddr 192.168.1.4 rport 64678 | | | a=rtcp-rsize | [RFC5506] | | m=video 0 UDP/TLS/RTP/SAVPF 98 | bundle-only video line with | - | 100 101 103 | port number set to zero | + | 103 | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | | a=rtcp:64678 IN IP4 | [RFC3605] | | 24.23.204.141 | | | a=mid:m1 | [RFC5888] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:101 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:103 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | - | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | - | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | - | a=fmtp:103 apt=100;rtx-time=3000 | [RFC4588] | - | a=simulast: send 98;100 | [I-D.ietf-mmusic-sdp-simulcast | - | | ] | + | a=fmtp:98 max-fr=30;max-fs=3600 | [RFC4566] | + | a=rtpmap:103 rtx/90000 | [RFC4588] | + | a=fmtp:103 apt=98;rtx-time=200 | [RFC4588] | + | a=rid:1 send pt=98;max-fs=921600 | [I-D.ietf-mmusic-rid] | + | ;max-fr=30; | | + | a=rid:2 send pt=98;max-fs=614400 | [I-D.ietf-mmusic-rid] | + | ;max-fr=15; | | + | a=rid:3 send pt=98;max-fs=230400 | [I-D.ietf-mmusic-rid] | + | ;max-fr=30; | | + | a=simulast: send 5;6;7 | [I-D.ietf-mmusic-sdp-simulcast | + | | ] Alice can send all the | + | | simulcast streams | | a=ssrc-group:FID 12345 34567 | [RFC5888] | | a=ssrc-group:FID 78990 90887 | [RFC5888] | | a=ssrc:12345 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:78990 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:34567 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:90887 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=sendonly | [RFC3264] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | | a=rtcp-rsize | [RFC5506] | +----------------------------------+--------------------------------+ Table 30: 5.3.3 SDP Offer w/Simulcast, RTX +----------------------------------+--------------------------------+ | SDP Contents | RFC#/Notes | +----------------------------------+--------------------------------+ | v=0 | [RFC4566] | | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Alice supports | + | | gotiation] Bob supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | @@ -3274,44 +3322,50 @@ | 98 100 101 103 | address identical to audio | | | m-line | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:m1 | [RFC5888] Video m=line part of | | | BUNDLE group | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:101 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:103 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | - | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | - | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | - | a=fmtp:103 apt=100;rtx-time=3000 | [RFC4588] | + | a=fmtp:98 max-fr=30;max-fs=3600 | [RFC4566] | + | a=rtpmap:103 rtx/90000 | [RFC4588] | + | a=fmtp:103 apt=98;rtx-time=200 | [RFC4588] | + | a=rid:1 recv pt=98;max-fs=921600 | [I-D.ietf-mmusic-rid] | + | ;max-fr=30; | | + | a=rid:2 recv pt=98;max-fs=614400 | [I-D.ietf-mmusic-rid] | + | ;max-fr=15; | | + | a=rid:3 recv pt=98;max-fs=230400 | [I-D.ietf-mmusic-rid] | + | ;max-fr=30; | | + | a=simulast: recv 5;6;7 | [I-D.ietf-mmusic-sdp-simulcast | + | | ] Bob accepts the offered | + | | simulcast streams | | a=ice-ufrag:074c6550 | [RFC5245] | | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] | | 474af08a068 | | | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] | | 4a:97:0e:1f:ef:6d:f7:c9:c7: | | | 70:9d:1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.7 60065 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.772 60065 typ srflx | | | raddr 192.168.1.7 rport 60065 | | | a=simulcast: recv 98;100 | [I-D.ietf-mmusic-sdp-simulcast | | | ] | | a=recvonly | [RFC3264] | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | | a=rtcp-rsize | [RFC5506] | +----------------------------------+--------------------------------+ Table 31: 5.3.3 SDP Answer w/Simulcast, RTX 5.3.4. Successful 1-way Simulcast Session with 2 resolutions and RTX - One resolution rejected @@ -3402,59 +3456,66 @@ | 100 101 103 | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | | a=rtcp:64678 IN IP4 | [RFC3605] | | 24.23.204.141 | | | a=mid:m1 | [RFC5888] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:101 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:103 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=rtpmap:101 rtx/90000 | [RFC4588] | + | a=rtpmap:103 rtx/90000 | [RFC4588] | | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | - | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | - | a=fmtp:103 apt=100;rtx-time=3000 | [RFC4588] | - | a=simulcast: send 98;100 | [I-D.ietf-mmusic-sdp-simulcast | + | a=fmtp:101 apt=98;rtx-time=200 | [RFC4588] | + | a=fmtp:103 apt=100;rtx-time=200 | [RFC4588] | + | a=rid:1 send pt=98; | [I-D.ietf-mmusic-rid] 1:1 | + | | mapping between the PT and the | + | | 'rid' identifier | + | a=rid:2 send pt=100; | [I-D.ietf-mmusic-rid] 1:1 | + | | mapping between the PT and the | + | | 'rid' identifier | + | a=simulcast: send 1;2 | [I-D.ietf-mmusic-sdp-simulcast | | | ] | | a=ssrc-group:FID 12345 34567 | [RFC5888] | | a=ssrc-group:FID 78990 90887 | [RFC5888] | | a=ssrc:12345 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:78990 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:34567 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:90887 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=sendonly | [RFC3264] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | | a=rtcp-rsize | [RFC5506] | +----------------------------------+--------------------------------+ Table 32: 5.3.4 SDP Offer w/Simulcast, RTX +----------------------------------+--------------------------------+ | SDP Contents | RFC#/Notes | +----------------------------------+--------------------------------+ | v=0 | [RFC4566] | | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Alice supports | + | | gotiation] Bob supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | @@ -3483,43 +3544,50 @@ | | m-line | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:m1 | [RFC5888] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:101 VP8/90000 | [I-D.ietf-payload-vp8] | | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | - | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | + | a=fmtp:101 apt=98;rtx-time=200 | [RFC4588] | + | a=rid:1 recv pt=98; | [I-D.ietf-mmusic-rid] | + | a=simulcast: recv 1 | [I-D.ietf-mmusic-sdp-simulcast | + | | ] Bob rejects the second | + | | simulcast stream and the | + | | associated rtx stream. | | a=ice-ufrag:074c6550 | [RFC5245] | | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] | | 474af08a068 | | | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] | | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | | | 9d:1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.7 60065 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.77 60065 typ srflx | | | raddr 192.168.1.5 rport 60065 | | | a=simulcast: recv 98 | [I-D.ietf-mmusic-sdp-simulcast | | | ] Bob accepts only one | | | simulcast resolution | | a=ssrc:54321 | [RFC5576] | | cname:NWs1ao1HmN4Xa5 | | | a=recvonly | [RFC3264] | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=rtcp-rsize | [RFC5506] | +----------------------------------+--------------------------------+ + Table 33: 5.3.4 SDP Answer no Simulcast 5.3.5. Simulcast Video Session with Forward Error Correction This section shows an SDP Offer/Answer exchange for Simulcast video stream at two resolutions and and has [RFC5956] style FEC flows. On completion of the Offer/Answer exchange mechanism we end up one audio stream, 2 simulcast video streams and 2 associated FEC streams are sent over a single 5-tuple. @@ -3605,47 +3673,50 @@ | c=IN IP4 24.23.204.141 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | | a=rtcp:64678 IN IP4 | [RFC3605] | | 24.23.204.141 | | | a=mid:m1 | [RFC5888] Video m=line part of | | | BUNDLE group | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:101 1d-interleaved- | [RFC5956] | - | parityfec/90000 | | - | a=rtpmap:103 1d-interleaved- | [RFC5956] | - | parityfec/90000 | | + | a=rtpmap:101 flexfec/90000 | [RFC5956] | + | a=rtpmap:103 flexfec/90000 | [RFC5956] | | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | - | a=fmtp:101 L=5; D=10; repair- | [RFC5956] | - | window=200000 | | - | a=fmtp:103 L=5; D=10; repair- | [RFC5956] | - | window=200000 | | - | a=simulcast: send 98;100 | [I-D.ietf-mmusic-sdp-simulcast | + | a=fmtp:101 L=5; D=10; ToP=2; | [RFC5956] | + | repair-window=200000 | | + | a=fmtp:103 L=5; D=10; ToP=2; | [RFC5956] | + | repair-window=200000 | | + | a=rid:1 send pt=98; | [I-D.ietf-mmusic-rid] 1:1 | + | | mapping between the PT and the | + | | 'rid' identifier | + | a=rid:2 send pt=100; | [I-D.ietf-mmusic-rid] 1:1 | + | | mapping between the PT and the | + | | 'rid' identifier | + | a=simulcast: send 1;2 | [I-D.ietf-mmusic-sdp-simulcast | | | ] | - | a=depend:98 fec m1:101 | TBD | - | a=depend:100 fec m1:103 | TBD | - | a=ssrc-group:FEC-FR 12345 34567 | [RFC5888] | - | a=ssrc-group:FEC-FR 78990 90887 | [RFC5888] | | a=ssrc:12345 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:78990 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:34567 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | | a=ssrc:90887 | [RFC5576] | | cname:Q/NWs1ao1HmN4Xa5 | | + | a=ssrc-group:FEC-FR 12345 34567 | [RFC5956] | + | a=ssrc-group:FEC-FR 78990 90887 | [RFC5956] | | a=sendonly | [RFC3264] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | | a=rtcp-rsize | [RFC5506] | +----------------------------------+--------------------------------+ Table 34: 5.3.5 SDP Offer +----------------------------------+--------------------------------+ | SDP Contents | RFC#/Notes | @@ -3669,22 +3740,20 @@ | | BUNDLE group with a unique | | | port number | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | | hdrext:ssrc-audio-level | | | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=rtcp-fb:109 nack | [RFC5104] | | a=recvonly | [RFC3264] | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=ssrc:33333 | [RFC5576] | - | cname:Y9/cZke09JAtpl98 | | | a=ice-ufrag:074c6550 | [RFC5245] | | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] | | 474af08a068 | | | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] | | 4a:97:0e:1f:ef:6d:f7:c9:c7:70:9d | | | : 1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.7 60065 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.77 60065 typ srflx | | @@ -3695,38 +3764,37 @@ | | m=line. | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:m1 | [RFC5888] Video m=line part of | | | BUNDLE group | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:101 1d-interleaved- | [RFC5956] | - | parityfec/90000 | | - | a=rtpmap:103 1d-interleaved- | [RFC5956] | - | parityfec/90000 | | + | a=rtpmap:101 flexfec/90000 | [RFC5956] | + | a=rtpmap:103 flexfec/90000 | [RFC5956] | | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | - | a=fmtp:101 L=5; D=10; repair- | [RFC5956] | - | window=200000 | | - | a=fmtp:103 L=5; D=10; repair- | [RFC5956] | - | window=200000 | | - | a=simulcast: recv 98;100 | [I-D.ietf-mmusic-sdp-simulcast | + | a=fmtp:101 L=5; D=10; ToP=2; | [RFC5956] | + | repair-window=200000 | | + | a=fmtp:103 L=5; D=10; ToP=2; | [RFC5956] | + | repair-window=200000 | | + | a=rid:1 recv pt=98; | [I-D.ietf-mmusic-rid] | + | a=rid:2 recv pt=100; | [I-D.ietf-mmusic-rid] | + | a=simulcast: recv 1;2 | [I-D.ietf-mmusic-sdp-simulcast | | | ] | - | a=depend:98 fec m1:101 | TBD | - | a=depend:100 fec m1:103 | TBD | | a=recvonly | [RFC3264] | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | + | | gotiation] | | a=ice-ufrag:074c6550 | [RFC5245] | | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] | | 474af08a068 | | | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] | | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | | | 9d:1f:66:79:a8:07 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | | 192.168.1.7 60065 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.77 60065 typ srflx | | @@ -4119,39 +4187,41 @@ | a=mid:m1 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=msid:ma tb | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tb) | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=imageattr:98 [x=1280,y=720] | [RFC6236] | | a=fmtp:98 max-fr=30 | [RFC4566] | | a=ssrc:12345 | [RFC5576] | | cname:axzo1278npDlAzM73 | | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=sendrecv | [RFC3264] | | a=rtcp-rsize | [RFC5506] | | m=video 0 UDP/TLS/RTP/SAVPF 101 103 | bundle-only video line with | | | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:m2 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=msid:ma tc | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tc) | | a=rtpmap:101 H264/90000 | [RFC3984] | | a=rtpmap:103 H264/90000 | [RFC3984] | | a=fmtp:101 profile-level-id=4d0028 | [RFC3984]Camera-2,Encoding- | | ;packetization-mode=1;max-fr=30 | 1 Resolution | | a=ssrc:67890 | [RFC5576] | | cname:axzo1278npDlAzM73 | | - | a=bundle-only | [UNIFIED-PLAN] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=sendrecv | [RFC3264] | | a=rtcp-rsize | [RFC5506] | +-------------------------------------+-----------------------------+ Table 40: 5.4.3 SDP Simulcast bundle-only +------------------------------------------+------------------------+ | SDP Contents | RFC#/Notes | +------------------------------------------+------------------------+ | v=0 | [RFC4566] | @@ -4427,20 +4498,26 @@ 7. Acknowledgments We would like to thank Justin Uberti, Chris Flo for their detailed review and inputs. 8. Change Log [RFC EDITOR NOTE: Please remove this section when publishing] + Changes from draft-ietf-rtcweb-sdp-00 + + o Updated Simulcast/FEC/RTX examples to use RID framework + + o Fixed BUNDLE references for a=bundle-only + Changes from draft-nandakumar-rtcweb-sdp-08 o Fixed typos o Moved to a WG version Changes from draft-nandakumar-rtcweb-sdp-06 and draft-nandakumar- rtcweb-sdp-07 o Added clarification on Call-Flow diagram usage @@ -4503,186 +4581,225 @@ o Fixed editorial comments on the mailing list. o Updated Data-channel SDP information based on draft-ietf-mmusic- sctp-sdp. o Updated BUNDLE examples based on draft-ietf-mmusic-sdp-bundle- negotiation. o Added examples for few more BUNDLE variants - o Added new examples for Simulcast and SVC 9. Informative References [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model - with Session Description Protocol (SDP)", RFC 3264, June - 2002. + with Session Description Protocol (SDP)", RFC 3264, DOI + 10.17487/RFC3264, June 2002, + . [RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in - the Session Description Protocol (SDP)", RFC 4145, - September 2005. + the Session Description Protocol (SDP)", RFC 4145, DOI + 10.17487/RFC4145, September 2005, + . [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session - Description Protocol", RFC 4566, July 2006. + Description Protocol", RFC 4566, DOI 10.17487/RFC4566, + July 2006, . [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, DOI 10.17487/ + RFC2119, March 1997, + . [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) - Traversal for Offer/Answer Protocols", RFC 5245, April - 2010. + Traversal for Offer/Answer Protocols", RFC 5245, DOI + 10.17487/RFC5245, April 2010, + . [RFC5506] Johansson, I. and M. Westerlund, "Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities - and Consequences", RFC 5506, April 2009. + and Consequences", RFC 5506, DOI 10.17487/RFC5506, April + 2009, . [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video Conferences with Minimal Control", STD 65, RFC 3551, - July 2003. + DOI 10.17487/RFC3551, July 2003, + . [RFC3952] Duric, A. and S. Andersen, "Real-time Transport Protocol (RTP) Payload Format for internet Low Bit Rate Codec - (iLBC) Speech", RFC 3952, December 2004. + (iLBC) Speech", RFC 3952, DOI 10.17487/RFC3952, December + 2004, . [RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description - Protocol (SDP) Content Attribute", RFC 4796, February - 2007. + Protocol (SDP) Content Attribute", RFC 4796, DOI 10.17487/ + RFC4796, February 2007, + . [RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and - Control Packets on a Single Port", RFC 5761, April 2010. + Control Packets on a Single Port", RFC 5761, DOI 10.17487/ + RFC5761, April 2010, + . [RFC3556] Casner, S., "Session Description Protocol (SDP) Bandwidth Modifiers for RTP Control Protocol (RTCP) Bandwidth", RFC - 3556, July 2003. + 3556, DOI 10.17487/RFC3556, July 2003, + . [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman, "Codec Control Messages in the RTP Audio-Visual Profile - with Feedback (AVPF)", RFC 5104, February 2008. + with Feedback (AVPF)", RFC 5104, DOI 10.17487/RFC5104, + February 2008, . [RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R. Hakenberg, "RTP Retransmission Payload Format", RFC 4588, - July 2006. + DOI 10.17487/RFC4588, July 2006, + . [RFC5956] Begen, A., "Forward Error Correction Grouping Semantics in - the Session Description Protocol", RFC 5956, September - 2010. + the Session Description Protocol", RFC 5956, DOI 10.17487/ + RFC5956, September 2010, + . [RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description - Protocol (SDP) Grouping Framework", RFC 5888, June 2010. + Protocol (SDP) Grouping Framework", RFC 5888, DOI + 10.17487/RFC5888, June 2010, + . [RFC6236] Johansson, I. and K. Jung, "Negotiation of Generic Image Attributes in the Session Description Protocol (SDP)", RFC - 6236, May 2011. + 6236, DOI 10.17487/RFC6236, May 2011, + . [RFC3984] Wenger, S., Hannuksela, M., Stockhammer, T., Westerlund, M., and D. Singer, "RTP Payload Format for H.264 Video", - RFC 3984, February 2005. + RFC 3984, DOI 10.17487/RFC3984, February 2005, + . [RFC5583] Schierl, T. and S. Wenger, "Signaling Media Decoding Dependency in the Session Description Protocol (SDP)", RFC - 5583, July 2009. + 5583, DOI 10.17487/RFC5583, July 2009, + . [RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific Media Attributes in the Session Description Protocol - (SDP)", RFC 5576, June 2009. + (SDP)", RFC 5576, DOI 10.17487/RFC5576, June 2009, + . [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time - Applications", STD 64, RFC 3550, July 2003. + Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, + July 2003, . [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, - June 2002. + DOI 10.17487/RFC3261, June 2002, + . [RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time - Streaming Protocol (RTSP)", RFC 2326, April 1998. + Streaming Protocol (RTSP)", RFC 2326, DOI 10.17487/ + RFC2326, April 1998, + . [RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute - in Session Description Protocol (SDP)", RFC 3605, October - 2003. + in Session Description Protocol (SDP)", RFC 3605, DOI + 10.17487/RFC3605, October 2003, + . [RFC2833] Schulzrinne, H. and S. Petrack, "RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals", RFC 2833, - May 2000. + DOI 10.17487/RFC2833, May 2000, + . - [RFC6464] Lennox, J., Ivov, E., and E. Marocco, "A Real-time + [RFC6464] Lennox, J., Ed., Ivov, E., and E. Marocco, "A Real-time Transport Protocol (RTP) Header Extension for Client-to- - Mixer Audio Level Indication", RFC 6464, December 2011. + Mixer Audio Level Indication", RFC 6464, DOI 10.17487/ + RFC6464, December 2011, + . - [RFC6465] Ivov, E., Marocco, E., and J. Lennox, "A Real-time - Transport Protocol (RTP) Header Extension for Mixer-to- - Client Audio Level Indication", RFC 6465, December 2011. + [RFC6465] Ivov, E., Ed., Marocco, E., Ed., and J. Lennox, "A Real- + time Transport Protocol (RTP) Header Extension for Mixer- + to-Client Audio Level Indication", RFC 6465, DOI 10.17487/ + RFC6465, December 2011, + . [RFC7022] Begen, A., Perkins, C., Wing, D., and E. Rescorla, "Guidelines for Choosing RTP Control Protocol (RTCP) - Canonical Names (CNAMEs)", RFC 7022, September 2013. + Canonical Names (CNAMEs)", RFC 7022, DOI 10.17487/RFC7022, + September 2013, . [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-12 (work in progress), October 2014. + negotiation-27 (work in progress), February 2016. [I-D.ietf-mmusic-sdp-simulcast] - Westerlund, M., Nandakumar, S., and M. Zanaty, "Using - Simulcast in SDP and RTP Sessions", draft-ietf-mmusic-sdp- - simulcast-00 (work in progress), January 2015. + Burman, B., Westerlund, M., Nandakumar, S., and M. Zanaty, + "Using Simulcast in SDP and RTP Sessions", draft-ietf- + mmusic-sdp-simulcast-04 (work in progress), February 2016. + + [I-D.ietf-mmusic-rid] + Thatcher, P., Zanaty, M., Nandakumar, S., Burman, B., + Roach, A., and B. Campen, "RTP Payload Format + Constraints", draft-ietf-mmusic-rid-04 (work in progress), + February 2016. [I-D.ietf-payload-rtp-opus] Spittka, J., Vos, K., and J. Valin, "RTP Payload Format - for Opus Speech and Audio Codec", draft-ietf-payload-rtp- - opus-07 (work in progress), January 2015. + for the Opus Speech and Audio Codec", draft-ietf-payload- + rtp-opus-11 (work in progress), April 2015. [I-D.ietf-payload-vp8] Westin, P., Lundin, H., Glover, M., Uberti, J., and F. Galligan, "RTP Payload Format for VP8 Video", draft-ietf- - payload-vp8-13 (work in progress), October 2014. + payload-vp8-17 (work in progress), September 2015. [I-D.ietf-rtcweb-jsep] Uberti, J., Jennings, C., and E. Rescorla, "Javascript - Session Establishment Protocol", draft-ietf-rtcweb-jsep-08 - (work in progress), October 2014. + Session Establishment Protocol", draft-ietf-rtcweb-jsep-13 + (work in progress), March 2016. [I-D.ietf-mmusic-trickle-ice] Ivov, E., Rescorla, E., and J. Uberti, "Trickle ICE: Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol", draft-ietf- mmusic-trickle-ice-02 (work in progress), January 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-12 + (work in progress), March 2016. [I-D.ietf-mmusic-sctp-sdp] Holmberg, C., Loreto, S., and G. Camarillo, "Stream Control Transmission Protocol (SCTP)-Based Media Transport in the Session Description Protocol (SDP)", draft-ietf- - mmusic-sctp-sdp-12 (work in progress), January 2015. + mmusic-sctp-sdp-16 (work in progress), February 2016. [I-D.ietf-rtcweb-data-channel] Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channels", draft-ietf-rtcweb-data-channel-13 (work in progress), January 2015. + [I-D.ietf-payload-flexible-fec-scheme] + Singh, V., Begen, A., Zanaty, M., and G. Mandyam, "RTP + Payload Format for Flexible Forward Error Correction + (FEC)", draft-ietf-payload-flexible-fec-scheme-01 (work in + progress), October 2015. + [WebRTC] W3C, "WebRTC 1.0: Real-time Communication Between Browsers", - , . - - [UNIFIED-PLAN] - Roach, A., Uberti, J., and M. Thomson, "A Unified Plan for - Using SDP with Large Numbers of Media Flows", draft-roach- - mmusic-unified-plan (work in progress), July 2013. + . Authors' Addresses Suhas Nandakumar Cisco 170 West Tasman Drive San Jose, CA 95134 USA Email: snandaku@cisco.com