--- 1/draft-ietf-rtcweb-sdp-01.txt 2016-07-07 19:16:17.577061658 -0700 +++ 2/draft-ietf-rtcweb-sdp-02.txt 2016-07-07 19:16:17.885069385 -0700 @@ -1,18 +1,18 @@ Network Working Group S. Nandakumar Internet-Draft C. Jennings Intended status: Informational Cisco -Expires: September 18, 2016 March 17, 2016 +Expires: January 8, 2017 July 7, 2016 SDP for the WebRTC - draft-ietf-rtcweb-sdp-01 + draft-ietf-rtcweb-sdp-02 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,21 +33,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 September 18, 2016. + This Internet-Draft will expire on January 8, 2017. Copyright Notice 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 @@ -58,50 +58,50 @@ described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. SDP and the WebRTC . . . . . . . . . . . . . . . . . . . . . 3 4. Offer/Answer and the WebRTC . . . . . . . . . . . . . . . . . 5 5. WebRTC Session Description Examples . . . . . . . . . . . . . 6 5.1. Some Conventions . . . . . . . . . . . . . . . . . . . . 7 - 5.2. Basic Examples . . . . . . . . . . . . . . . . . . . . . 8 - 5.2.1. Audio Only Session . . . . . . . . . . . . . . . . . 8 - 5.2.2. Audio/Video Session . . . . . . . . . . . . . . . . . 11 - 5.2.3. Data Only Session . . . . . . . . . . . . . . . . . . 16 + 5.2. Basic Examples . . . . . . . . . . . . . . . . . . . . . 9 + 5.2.1. Audio Only Session . . . . . . . . . . . . . . . . . 9 + 5.2.2. Audio/Video Session . . . . . . . . . . . . . . . . . 12 + 5.2.3. Data Only Session . . . . . . . . . . . . . . . . . . 17 5.2.4. Audio Call On Hold . . . . . . . . . . . . . . . . . 19 - 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.2.5. Audio with DTMF Session . . . . . . . . . . . . . . . 22 + 5.2.6. One Way Audio/Video Session - Document Camera . . . . 26 + 5.2.7. Audio, Video Session with BUNDLE Support Unknown . . 30 + 5.2.8. Audio, Video and Data Session . . . . . . . . . . . . 35 + 5.2.9. Audio, Video Session with BUNDLE Unsupported . . . . 40 + 5.2.10. Audio, Video BUNDLED, but Data (Not BUNDLED) . . . . 45 + 5.2.11. Audio Only, Add Video to BUNDLE . . . . . . . . . . . 50 + 5.3. MultiResolution, RTX, FEC Examples . . . . . . . . . . . 57 5.3.1. Sendonly Simulcast Session with 2 cameras and 2 - encodings per camera . . . . . . . . . . . . . . 59 - 5.3.2. Successful SVC Video Session . . . . . . . . . . . . 66 + encodings per camera . . . . . . . . . . . . . . 57 + 5.3.2. Successful SVC Video Session . . . . . . . . . . . . 64 5.3.3. Successful Simulcast Video Session with - Retransmission . . . . . . . . . . . . . . . . . . . 71 + Retransmission . . . . . . . . . . . . . . . . . . . 69 5.3.4. Successful 1-way Simulcast Session with 2 resolutions - 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 + and RTX - One resolution rejected . . . . . . 74 + 5.3.5. Simulcast Video Session with Forward Error Correction 79 + 5.4. Others . . . . . . . . . . . . . . . . . . . . . . . . . 84 + 5.4.1. Audio Session - Voice Activity Detection . . . . . . 84 + 5.4.2. Audio Conference - Voice Activity Detection . . . . . 87 + 5.4.3. Successful legacy Interop Fallback with bundle-only . 90 + 5.4.4. Legacy Interop with RTP/AVP profile . . . . . . . . . 95 + 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 100 + 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 100 + 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 100 + 9. Informative References . . . . . . . . . . . . . . . . . . . 102 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 @@ -277,48 +277,50 @@ clients. 5.1. Some Conventions The examples given in this document follow the conventions listed below: o In all the examples, Alice and Bob are assumed to be the WebRTC peers. - o [I-D.ietf-mmusic-sdp-bundle-negotiation] support for multiplexing - several media streams over a single underlying transport is - assumed by default unless explicitly specified otherwise. + o It is assumed that for most of the examples, the support for + [I-D.ietf-mmusic-sdp-bundle-negotiation] is established apriori + either out-of-band or as a consequence of successful Offer/Answer + negotiation between Alice and Bob, unless explicitly stated + otherwise. o Call-flow diagrams that accompany the use-cases capture only the prominent aspects of the system behavior and intentionally is not detailed to improve readability. o Eventhough the call-flow diagrams shows SDP being exchanged between the parties, it doesn't represent the only way an WebRTC setup is expected to work. Other approaches may involve WebRTC applications to exchange the media setup information via non-SDP mechanisms as long as they confirm to the [I-D.ietf-rtcweb-jsep] API specification. o The SDP examples deviate from actual on-the-wire SDP notation in several ways. This is done to facilitate readability and to conform to the restrictions imposed by the RFC formatting rules. + * Visual markers/Empty lines in any SDP example are inserted to + make functional divisions in the SDP clearer, and are not + actually part of the SDP syntax. + * Any SDP line that is indented (compared to the initial line in the SDP block) is a continuation of the preceding line. The line break and indent are to be interpreted as a single space character. - * Empty lines in any SDP example are inserted to make functional - divisions in the SDP clearer, and are not actually part of the - SDP syntax. - * Excepting the above two conventions, line endings are to be interpreted as pairs (that is, an ASCII 13 followed by an ASCII 10). o Against each SDP line, pointers to the appropriate RFCs are provided for further informational reference. Also an attempt has been made to provide explanatory notes to enable better understanding of the SDP usage, wherever appropriate. o Following SDP details are common across all the use-cases defined @@ -332,37 +334,48 @@ * Host and server-reflexive candidate lines (a=candidate) * SRTP Setup framework parameters (a=setup) * RTCP attribute (a=rtcp) * RTP header extension indicating audio-levels from client to the mixer - For more details, readers are recommended to refer to - [I-D.ietf-rtcweb-jsep] specification. + For specific details, readers must refer to [I-D.ietf-rtcweb-jsep] + specification. o The term "Session" is used rather loosely in this document to refer to either a "Communication Session" or a "RTP Session" or a "RTP Stream" depending on the context. o Payload type 109 is usually used for OPUS, 0 for PCMU, 8 for PCMA, 99 for H.264 and 120 for VP8 in most of the examples to maintain uniformity. + o The IP Address:Port combinations '192.168.1.4:61665' (host) and + '24.23.204.141:54609' (Server Reflexive) is typically used for + Alice. + + o The IP Address:Port combinations '192.168.1.7:51556' (host) and + '98.248.92.77:49203' (Server Reflexive) is typically used for Bob. + + o SSRC cname 'cname:EocUG1f0fcg/yvY7' applies to Alice and the cname + 'cname:Q/NWs1ao1HmN4Xa5' corresponds to Bob. + + o The SSRCs values '12345', '56789' and '11111' till '66666' usually + represent Alice's RTP Streams and the values '54321', '98765' and + '77777' till '99999' represent Bob's RTP Streams. + o In the actual use the values that represent SSRCs, ICE candidate foundations, WebRTC Mediastream and MediaStreamTrack Ids shall be - much larger and random than the ones shown in the examples. - - [OPEN ISSUE-1]: SDP Examples for Data Channel, Simulcast, SVC are - still being discussed and doesn't represent the final solution. + much larger and/or random than the ones shown in the examples. 5.2. Basic Examples 5.2.1. Audio Only Session This common scenario shows SDP for secure two-way audio session with Alice offering Opus, PCMU, PCMA and Bob accepting all the offered audio codecs. 2-Way Audio Only Session @@ -376,136 +389,142 @@ | | | Answer(Audio:Opus,PCMU,PCMA) | |<------------------------------------| | | | | |Two-way Opus Audio (preferred-codec) | |.....................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 8 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:60065 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp-mux | [RFC5761] - Alice can perform | - | | RTP/RTCP Muxing | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | + | a=sendrecv | [RFC3264] - Alice can send | + | | and recv audio | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | | | Opus Codec 48khz, 2 channels | - | a=ptime:60 | [I-D.ietf-payload-rtp-opus] - | - | | Opus packetization of 60ms | | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] - ICE password | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] - DTLS Fingerprint | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | for SRTP | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | + | a=setup:actpass | [RFC4145] - Alice can perform | + | | DTLS before Answer arrives | + | a=rtcp-mux | [RFC5761] - Alice can perform | + | | RTP/RTCP Muxing | + | a=rtcp-rsize | [RFC5506] - Alice intends to | + | | use reduced size RTCP for | + | | this session | + | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | + | | RTCP feedback support | | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] Alice supports RTP | | hdrext:ssrc-audio-level | header extension to indicate | | | audio levels | - | a=sendrecv | [RFC3264] - Alice can send and | - | | recv audio | - | a=setup:actpass | [RFC4145] - Alice can perform | - | | DTLS before Answer arrives | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70:9d | for SRTP | - | : 1f:66:79:a8:07 | | - | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | - | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] - ICE password | - | 474af08a068 | | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP Host Candidate | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] - RTCP Host | - | 192.168.1.4 54609 typ host | Candidate | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] - Alice's audio | + | cname:EocUG1f0fcg/yvY7 | stream SSRC. | + | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP Host | + | 192.168.1.4 61665 typ host | Candidate | | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP Server | - | 24.23.204.141 64678 typ srflx | Reflexive ICE Candidate | - | raddr 192.168.1.4 rport 54609 | | + | 24.23.204.141 54609 typ srflx | Reflexive ICE Candidate | + | raddr 192.168.1.4 rport 61665 | | + | a=candidate:0 2 UDP 2122194687 | [RFC5245] - RTCP Host | + | 192.168.1.4 61667 typ host | Candidate | | a=candidate:1 2 UDP 1685987071 | [RFC5245] - RTCP Server | - | 24.23.204.141 64678 typ srflx | Reflexive Candidate | - | raddr 192.168.1.4 rport 54609 | | - | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | - | | RTCP feedback support | - | a=ssrc:12345 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | - | a=rtcp-rsize | [RFC5506] - Alice intends to | - | | use reduced size RTCP for this | - | | session | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | 24.23.204.141 60065 typ srflx | Reflexive ICE Candidate | + | raddr 192.168.1.4 rport 61667 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ Table 1: 5.2.1 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 8 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | + | a=sendrecv | [RFC3264] - Bob can send and | + | | recv audio | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | | | Opus Codec | - | a=ptime:60 | [I-D.ietf-payload-rtp-opus] | - | | Packetization of 60ms | | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] Bob supports audio | - | hdrext:ssrc-audio-level | level RTP header extension as | - | | well | - | a=sendrecv | [RFC3264] - Bob can send and | - | | recv audio | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:05067423 | [RFC5245] - ICE user fragment | + | a=ice-pwd:1747d1ee3474a28a397a4c3 | [RFC5245] - ICE password | + | f3af08a068 | parameter | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] - DTLS Fingerprint | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | for SRTP | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | | a=rtcp-mux | [RFC5761] - Bob can perform | | | RTP/RTCP Muxing on port 49203 | - | a=fingerprint:sha-1 c9:c7:70:9d: | [RFC5245] - DTLS Fingerprint | - | 1f:66:79:a8:07:99:41:49:83:4a: | for SRTP | - | 97:0e:1f:ef:6d:f7 | | - | a=ice-ufrag:05067423 | [RFC5245] - ICE user fragment | - | a=ice-pwd:1747d1ee3474a28a397a4c | [RFC5245] - ICE password | - | 3f3af08a068 | parameter | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP/RTCP Host ICE | - | 192.168.1.7 49203 typ host | Candidate | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP/RTCP Server | - | 98.248.92.77 60654 typ srflx | Reflexive ICE Candidate | - | raddr 192.168.1.7 rport 49203 | | + | a=rtcp-rsize | [RFC5506] - Bob intends to | + | | use reduced size RTCP for | + | | this session | | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | | | RTCP feedback support | - | a=ssrc:54321 | [RFC5576] | - | cname:NWs1ao1HmN4Xa5/yvY7 | | - | a=rtcp-rsize | [RFC5506] - Bob intends to use | - | | reduced size RTCP for this | - | | session | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] Bob supports audio | + | hdrext:ssrc-audio-level | level RTP header extension as | + | | well | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] - Bob's audio | + | cname:Q/NWs1ao1HmN4Xa5 | stream SSRC. | + | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP/RTCP Host ICE | + | 192.168.1.7 51556 typ host | Candidate | + | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP/RTCP Server | + | 98.248.92.77 49203 typ srflx | Reflexive ICE Candidate | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ Table 2: 5.2.1 SDP Answer 5.2.2. Audio/Video Session Alice and Bob establish a two-way audio and video session with Opus as the audio codec and H.264 as the video codec. 2-Way Audio,Video Session @@ -517,231 +536,217 @@ | | | | | Answer(Audio:Opus,Video:H.264) | |<-------------------------------------------| | | | | | Two-way Opus Audio, H.264 Video | |............................................| | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 8 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp-mux | [RFC5761] - Alice can perform | - | | RTP/RTCP Muxing | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | + | a=sendrecv | [RFC3264] - Alice can send | + | | and recv audio | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | | | Opus Codec 48khz, 2 channels | - | a=ptime:60 | [I-D.ietf-payload-rtp-opus] - | - | | Opus packetization of 60ms | | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | - | a=sendrecv | [RFC3264] - Alice can send and | - | | recv audio | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] - ICE password | + | 74af08a068 | parameter | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] - DTLS Fingerprint | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | for SRTP | + | :04 :BB:05:2F:70:9F:0 | | + | 4:A9:0E:05:E9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | - | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] - ICE password | - | 474af08a068 | parameter | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70:9d | for SRTP | - | : 1f:66:79:a8:07 | | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP Host Candidate | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] - RTCP Host | - | 192.168.1.4 54609 typ host | Candidate | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP Server | - | 24.23.204.141 64678 typ srflx | Reflexive ICE Candidate | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] - RTCP Server | - | 24.23.204.141 64678 typ srflx | Reflexive Candidate. | - | raddr 192.168.1.4 rport 54609 | | + | a=rtcp-mux | [RFC5761] - Alice can perform | + | | RTP/RTCP Muxing | + | a=rtcp-rsize | [RFC5506] - Alice intends to | + | | use reduced size RTCP for | + | | this session | | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | | | RTCP feedback support | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | | a=ssrc:12345 | [RFC5576] | | cname:EocUG1f0fcg/yvY7 | | - | a=rtcp-rsize | [RFC5506] - Alice intends to | - | | use reduced size RTCP for this | - | | session | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP/RTCP Host | + | 192.168.1.4 61665 typ host | Candidate | + | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP/RTCP Server | + | 24.23.204.141 54609 typ srflx | Reflexive ICE Candidate | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 99 120 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp-mux | [RFC5761] - Alice can perform | - | | RTP/RTCP Muxing | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | + | a=sendrecv | [RFC3264] - Alice can send | + | | and recv video | | a=rtpmap:99 H264/90000 | [RFC3984] - H.264 Video Codec | - | a=fmtp:99 profile-level- | [RFC3984] | - | id=4d0028;packetization-mode=1 | | + | a=fmtp:99 profile-level-id=4d0028 | [RFC3984] | + | ;packetization-mode=1 | | | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] - VP8 | | | video codec | - | a=sendrecv | [RFC3264] - Alice can send and | - | | recv video | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] - DTLS Fingerprint | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | for SRTP | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | - | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] - ICE password | - | 474af08a068 | parameter | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | for SRTP | - | 9d:1f:66:79:a8:07 | | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP Host ICE | - | 192.168.1.4 54609 typ host | Candidate | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] - RTCP Host | - | 192.168.1.4 54609 typ host | Candidate | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP Server | - | 24.23.204.141 64678 typ srflx | Reflexive ICE Candidate | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] - RTCP Server | - | 24.23.204.141 64678 typ srflx | Reflexive Candidate | - | raddr 192.168.1.4 rport 54609 | | + | a=rtcp-mux | [RFC5761] - Alice can perform | + | | RTP/RTCP Muxing | + | a=rtcp-rsize | [RFC5506] - Alice intends to | + | | use reduced size RTCP for | + | | this session | | a=rtcp-fb:99 nack | [RFC5104] - Indicates NACK | | | RTCP feedback support | | a=rtcp-fb:99 nack pli | [RFC5104] - Indicates support | | | for Picture loss Indication | | | and NACK | | a=rtcp-fb:99 ccm fir | [RFC5104] - Full Intra Frame | | | Request-Codec Control Message | | | support | | a=rtcp-fb:120 nack | [RFC5104] - Indicates NACK | | | RTCP feedback support | | a=rtcp-fb:120 nack pli | [RFC5104] - Indicates support | | | for Picture loss Indication | | | and NACK | | a=rtcp-fb:120 ccm fir | [RFC5104] - Full Intra Frame | | | Request-Codec Control Message | | | support | - | a=ssrc:1366781083 | [RFC5576] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | | cname:EocUG1f0fcg/yvY7 | | - | a=rtcp-rsize | [RFC5506] - Alice intends to | - | | use reduced size RTCP for this | - | | session | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ Table 3: 5.2.2 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp-mux | [RFC5761] - Bob can perform | - | | RTP/RTCP Muxing | - | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | - | | Bob accepts only Opus Codec | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | - | a=ptime:60 | [I-D.ietf-payload-rtp-opus] | | a=sendrecv | [RFC3264] - Bob can send and | | | recv audio | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | + | | Bob accepts only Opus Codec | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] - ICE username | + | | frag | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] - ICE password | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] - DTLS Fingerprint | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | for SRTP | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | - | a=ice-ufrag:c300d85b | [RFC5245] - ICE username frag | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] - ICE password | - | 7efbabd9a2 | | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | for SRTP | - | 9d:1f:66:79:a8:07 | | + | a=rtcp-mux | [RFC5761] - Bob can perform | + | | RTP/RTCP Muxing | + | a=rtcp-rsize | [RFC5506] - Bob intends to | + | | use reduced size RTCP for | + | | this session | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 3618095783 | [RFC5245] - RTP/RTCP Host ICE | | 192.168.1.7 49203 typ host | Candidate | | a=candidate:1 1 UDP 565689203 | [RFC5245] - RTP/RTCP Server | - | 98.248.92.77 60065 typ srflx | Reflexive ICE Candidate | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:1366788312 | [RFC5576] | - | cname:1f0fcgEocUG/yvY7 | | - | a=rtcp-rsize | [RFC5506] - Bob intends to use | - | | reduced size RTCP for this | - | | session | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | 98.248.92.77 49203 typ srflx | Reflexive ICE Candidate | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 99 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtpmap:99 H264/90000 | [RFC3984] - Bob accepts H.264 | - | | Video Codec. | - | a=fmtp:99 profile-level- | [RFC3984] | - | id=4d0028;packetization-mode=1 | | - | a=rtcp-mux | [RFC5761] - Bob can perform | - | | RTP/RTCP Muxing | | a=sendrecv | [RFC3264] - Bob can send and | | | recv video | + | a=rtpmap:99 H264/90000 | [RFC3984] - Bob accepts H.264 | + | | Video Codec. | + | a=fmtp:99 profile-level-id=4d0028 | [RFC3984] | + | ;packetization-mode=1 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] - DTLS Fingerprint | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | for SRTP | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | - | a=ice-ufrag:c300d85b | [RFC5245] - ICE username frag | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] - ICE password | - | 7efbabd9a2 | | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | for SRTP | - | 9d:1f:66:79:a8:07 | | - | a=candidate:0 1 UDP 2113667327 | [RFC5245] - Host ICE Candidate | - | 192.168.1.7 49203 typ host | for Opus Stream | - | a=candidate:1 1 UDP 1694302207 | [RFC5245] - Server Reflexive | - | 98.248.92.77 60065 typ srflx | ICE Candidate for the above | - | raddr 192.168.1.7 rport 49203 | host candidate | - | [RFC5245] - Server Reflexive | a=rtcp-fb:99 nack | - | Candidate for the Second Host | | - | Candidate | | - | [RFC5104] - Indicates support | a=rtcp-fb:99 nack pli | - | for NACK based RTCP feedback | | - | [RFC5104] - Indicates support | a=rtcp-fb:99 ccm fir | - | for Picture loss Indication and | | - | NACK | | - | [RFC5104] - Full Intra Frame | a=ssrc:3229706345 | - | Request- Codec Control Message | cname:Q/NWs1ao1HmN4Xa5 | - | support | | - | [RFC5576] | a=rtcp-rsize | - | [RFC5506] - Bob intends to use | a=ice-options:trickle | - | reduced size RTCP for this | | - | session | | - | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=rtcp-mux | [RFC5761] - Bob can perform | + | | RTP/RTCP Muxing | + | a=rtcp-rsize | [RFC5506] - Bob intends to | + | | use reduced size RTCP for | + | | this session | + | a=rtcp-fb:99 nack | [RFC5104] - Indicates support | + | | for NACK based RTCP feedback | + | a=rtcp-fb:99 nack pli | [RFC5104] - Indicates support | + | | for Picture loss Indication | + | | and NACK | + | a=rtcp-fb:99 ccm fir | [RFC5104] - Full Intra Frame | + | | Request- Codec Control | + | | Message support | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + +-----------------------------------+-------------------------------+ Table 4: 5.2.2 SDP Answer 5.2.3. Data Only Session This scenario illustrates SDP negotiated to setup a data-only session based on SCTP Data Channel, thus enabling use-cases such as file- transfer for example. 2-Way DataChannel Session @@ -755,224 +760,230 @@ | | | | | Answer(DataChannel) | |<--------------------------------| | | | | | Two-way SCTP based DataChannel | |.................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=group:BUNDLE data | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | - | a=ice-ufrag:074c6550 | [RFC5245] - Session Level ICE | - | | parameter | - | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] - Session Level ICE | - | 474af08a068 | parameter | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - Session DTLS | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | Fingerprint for SRTP | - | 9d:1f:66:79:a8:07 | | - | m=application 56966 DTLS/SCTP | [I-D.ietf-rtcweb-data-channel] | - | 5000 | | + | a=group:BUNDLE data | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Application m=line | ***************************** | + | ********* | | + | m=application 54609 UDP/DTLS/SCTP | [I-D.ietf-rtcweb-data-channel | + | webrtc-datachannel | ] | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=mid:data | [RFC5888] | - | a=sctpmap:5000 webrtc- | [I-D.ietf-mmusic-sctp-sdp] | - | DataChannel | | - | streams=16;label="channel 1"; | | - | subprotocol="chat"; | | + | a=sendrecv | [RFC3264] - Alice can send | + | | and recv non-media data | + | a=sctp-port:5000 | [I-D.ietf-mmusic-sctp-sdp] | + | a=max-message-size:100000 | [I-D.ietf-mmusic-sctp-sdp] | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=sendrecv | [RFC3264] - Alice can send and | - | | recv non-media data | + | a=connection:new | [RFC4145] | + | a=ice-ufrag:074c6550 | [RFC5245] - Session Level ICE | + | | parameter | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] - Session Level ICE | + | 74af08a068 | parameter | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] - Session DTLS | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | Fingerprint for SRTP | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 56966 typ host | | + | 192.168.1.4 61665 typ host | | | a=candidate:1 1 UDP 1694302207 | [RFC5245] | - | 24.23.204.141 56966 typ srflx | | - | raddr 192.168.1.7 rport 56966 | | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | 24.23.204.141 54609 typ srflx | | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ Table 5: 5.2.3 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=group:BUNDLE data | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | - | m=application 55700 DTLS/SCTP | [I-D.ietf-mmusic-sctp-sdp] | - | 5000 | | + | a=group:BUNDLE data | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | ****** Application m=line | ***************************** | + | ********* | | + | m=application 49203 UDP/DTLS/SCTP | [I-D.ietf-mmusic-sctp-sdp] | + | webrtc-datachannel | | | c=IN IP4 98.248.92.771 | [RFC4566] | | a=mid:data | [RFC5888] | - | a=sctpmap:5000 webrtc- | [I-D.ietf-mmusic-sctp-sdp] | - | DataChannel:5000 | | - | streams=1;label="channel 1" | | - | ;subprotocol="chat"; | | - | a=setup:active | [RFC4145] - Bob carries out | - | | DTLS Handshake in parallel | | a=sendrecv | [RFC3264] - Bob can send and | | | recv non-media data | + | a=sctp-port:5000 | [I-D.ietf-mmusic-sctp-sdp] | + | a=max-message-size:100000 | [I-D.ietf-mmusic-sctp-sdp] | + | a=setup:active | [RFC4145] - Bob carries out | + | | DTLS Handshake in parallel | | a=ice-ufrag:c300d85b | [RFC5245] - Session Level ICE | | | username frag | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] - Session Level ICE | - | 7efbabd9a2 | password | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - Session DTLS | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70:9d | Fingerprint for SRTP | - | : 1f:66:79:a8:07 | | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] - Session Level ICE | + | efbabd9a2 | password | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] - Session DTLS | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | Fingerprint for SRTP | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 55700 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1694302207 | [RFC5245] | - | 98.248.92.77 55700 typ srflx | | - | raddr 192.168.1.7 rport 55700 | | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | 98.248.92.77 49203 typ srflx | | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ Table 6: 5.2.3 SDP Answer 5.2.4. Audio Call On Hold Alice calls Bob, but when Bob answers he places Alice on hold by - setting the SDP direction attribute to a=sendonly in the Answer. + setting the SDP direction attribute to a=inactive in the Answer. Audio On Hold Alice Bob | | | | | Offer(Audio:Opus) | |-------------------------------->| | | | | - | Answer(Audio:Opus,a=sendonly) | + | Answer(Audio:Opus,a=inactive) | |<--------------------------------| | | | | | One-way Opus Audio | |.................................| | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp-mux | [RFC5761] - Alice can perform | - | | RTP/RTCP Muxing | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | + | a=sendrecv | [RFC3264] - Alice can send | + | | and recv audio | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | | | Opus Codec 48khz, 2 channels | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] - | - | | Opus packetization of 20ms | - | a=sendrecv | [RFC3264] - Alice can send and | - | | recv audio | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | + | | fragment | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] - ICE password | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] - DTLS Fingerprint | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | for SRTP | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | - | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] - ICE password | - | 474af08a068 | | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | for SRTP | - | 9d:1f:66:79:a8:07 | | + | a=rtcp-mux | [RFC5761] - Alice can perform | + | | RTP/RTCP Muxing | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | + | | RTCP feedback support | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | - | | RTCP feedback support | - | a=ssrc:3229706345 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ Table 7: 5.2.4 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | + | a=inactive | [RFC3264] - Bob puts call On | + | | Hold | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | | | Bob accepts Opus Codec | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | - | a=sendonly | [RFC3264] - Bob puts call On | - | | Hold | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] - ICE username frag | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] - ICE password | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] - DTLS Fingerprint | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | for SRTP | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | | a=rtcp-mux | [RFC5761] - Bob can perform | | | RTP/RTCP Muxing | - | a=ice-ufrag:c300d85b | [RFC5245] - ICE username frag | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] - ICE password | - | 7efbabd9a2 | | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70:9d | for SRTP | - | : 1f:66:79:a8:07 | | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 49203 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:1366781083 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + | a=candidate:0 1 UDP 2113667327 | [RFC5245] - Host candidate | + | 192.168.1.7 51556 typ host | | + | a=candidate:1 1 UDP 1685987071 | [RFC5245] - Server Reflexive | + | 24.23.204.141 49203 typ srflx | candidate | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ Table 8: 5.2.4 SDP Answer 5.2.5. Audio with DTMF Session In this example, Alice wishes to establish two separate audio streams, one for normal audio and the other for telephone-events. Alice offers first audio stream with three codecs and the other with [RFC2833] tones (for DTMF). Bob accepts both the audio streams by choosing Opus as the audio codec and telephone-event for the other @@ -989,197 +1000,182 @@ | | | | | Answer(Audio:Opus, Audio:telephone-event) | |<--------------------------------------------------| | | | | | Opus audio stream and telephone-event stream | |...................................................| | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio dtmf | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio dtmf | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 8 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | - | a=rtcp-mux | [RFC5761] - Alice can perform | - | | RTP/RTCP Muxing | + | a=sendrecv | [RFC3264] - Alice can send | + | | and recv audio | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | | | Opus Codec 48khz, 2 channels | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] - | - | | Opus packetization of 20ms | | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | - | a=sendrecv | [RFC3264] - Alice can send and | - | | recv audio | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | + | | fragment | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] - ICE password | + | 74af08a068 | parameter | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] - DTLS Fingerprint | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | for SRTP | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | - | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] - ICE password | - | 474af08a068 | parameter | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | for SRTP | - | 9d:1f:66:79:a8:07 | | + | a=rtcp-mux | [RFC5761] - Alice can perform | + | | RTP/RTCP Muxing | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | + | | RTCP feedback support | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | - | | RTCP feedback support | - | a=ssrc:3229706345 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** DTMF m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 126 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:dtmf | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp-mux | [RFC5761] | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | - | a=rtpmap:126 telephone- | [RFC2833] | - | event/8000 | | | a=sendonly | [RFC3264] - Alice can send | | | DTMF Events | + | a=rtpmap:126 telephone-event/8000 | [RFC2833] | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] - DTLS Fingerprint | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | for SRTP | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=ice-ufrag:074c6550 | [RFC5245] - ICE user fragment | - | a=ice-pwd:a28a397a4c3f31747d1ee3 | [RFC5245] - ICE password | - | 474af08a068 | parameter | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - DTLS Fingerprint | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70:9d | for SRTP | - | : 1f:66:79:a8:07 | | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | | | RTCP feedback support | - | a=ssrc:9032206345 | [RFC5576] | - | cname:L/N9lk1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + +-----------------------------------+-------------------------------+ Table 9: 5.2.5 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio dtmf | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio dtmf | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | - | | Bob accepts Opus Codec | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=sendrecv | [RFC3264] - Bob can send and | | | receive Opus audio | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | + | | Bob accepts Opus Codec | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] - ICE username | + | | frag | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] - ICE password | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] - Fingerprint for | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | SRTP | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | | a=rtcp-mux | [RFC5761] - Bob can perform | | | RTP/RTCP Muxing on port 49203 | - | a=ice-ufrag:c300d85b | [RFC5245] - ICE username frag | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] - ICE password | - | 7efbabd9a2 | | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - Fingerprint for | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70: | SRTP | - | 9d:1f:66:79:a8:07 | | + | a=rtcp-rsize | [RFC5506] - Alice intends to | + | | use reduced size RTCP for | + | | this session | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:0634322975 | [RFC5576] | - | cname:Q/o1HmN4XNWs1aa5 | | - | a=rtcp-rsize | [RFC5506] - Alice intends to | - | | use reduced size RTCP for this | - | | session | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** DTMF m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 126 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:dtmf | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtpmap:126 telephone- | [RFC2833] | - | event/8000 | | | a=recvonly | [RFC3264] - Alice can receive | | | DTMF events | + | a=rtpmap:126 telephone-event/8000 | [RFC2833] | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] - Fingerprint for | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | SRTP | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | - | a=rtcp-mux | [RFC5761] - Alice can perform | - | | RTP/RTCP Muxing on port 54690 | - | a=ice-ufrag:c300d85b | [RFC5245] - ICE username frag | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] - ICE password | - | 7efbabd9a2 | | - | a=fingerprint:sha-1 99:41:49:83: | [RFC5245] - Fingerprint for | - | 4a:97:0e:1f:ef:6d:f7:c9:c7:70:9d | SRTP | - | : 1f:66:79:a8:07 | | - | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | - | a=candidate:1 1 UDP 1694302207 | [RFC5245] | - | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:6345903220 | [RFC5576] | - | cname:L/k1aN9lo1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] - Alice intends to | - | | use reduced size RTCP for this | - | | session | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] - Bob intends to | + | | use reduced size RTCP for | + | | this session | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + +-----------------------------------+-------------------------------+ Table 10: 5.2.5 SDP Answer 5.2.6. One Way Audio/Video Session - Document Camera In this scenario Alice and Bob engage in a 1 way audio and video session with Bob receiving Alice's audio and her presentation slides as video stream. One Way Audio & Video Session - Document Camera @@ -1197,470 +1193,392 @@ | | | (Audio:Opus, Video: VP8) | |<-----------------------------------------------------| | | | | | One-way Opus Audio, VP8 Video | |......................................................| | Bob can hear Alice and see her presentation slides.| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + + +-----------------------------------+-------------------------------+ + | Offer 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp-mux | [RFC5761] | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | - | 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=sendonly | [RFC3264] - Send only audio | | | stream | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | 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=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | | 24.23.204.141 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5104] | - | 24.23.204.141 54609 typ host | | - | a=rtcp-fb:109 nack | [RFC5104] | - | a=ssrc:6345903220 | [RFC5576] | - | cname:L/k1aN9lo1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp-mux | [RFC5761] | - | a=rtcp:54609 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | + | a=sendonly | [RFC3264] - Send only video | + | | stream | | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=content:slides | [RFC4796] -Alice's | | | presentation video stream | - | a=sendonly | [RFC3264] - Send only video | - | | stream | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | 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 1 UDP 2113667327 | [RFC5245] | - | 24.23.204.141 54609 typ host | | - | a=candidate:0 2 UDP 2113667326 | [RFC5104] | - | 24.23.204.141 54609 typ host | | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=ssrc:3429951804 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + +-----------------------------------+-------------------------------+ Table 11: 5.2.6 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | + | a=recvonly | [RFC3264] - Receive only | + | | audio stream | | 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=recvonly | [RFC3264] - Receive only audio | - | | stream | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | | a=rtcp-mux | [RFC5761] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | | 98.248.92.77 49203 typ host | | - | a=ssrc:9513429804 | [RFC5576] | - | cname:Q/o1HmNWs1aN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | + | a=recvonly | [RFC3264] | | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=content:slides | [RFC4796] | - | a=recvonly | [RFC3264] - Receive Only | - | | Alice's presentation stream | + | a=content:slides | [RFC4796]presentation stream | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | | a=rtcp-mux | [RFC5761] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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 1 UDP 2113667327 | [RFC5245] | - | 98.248.92.77 49203 typ host | | - | a=ssrc:1366781083 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=rtcp-fb:120 nack | [RFC5104] | + | a=rtcp-fb:120 nack pli | [RFC5104] | + | a=rtcp-fb:120 ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + +-----------------------------------+-------------------------------+ Table 12: 5.2.6 SDP Answer 5.2.7. Audio, Video Session with BUNDLE Support Unknown In this example, since Alice is unsure of the Bob's support of the - BUNDLE framework, following 3 step procedures are performed in order - to negotiate and setup a BUNDLE Address for the session + BUNDLE framework, following steps are performed in order to negotiate + and setup a BUNDLE Address for the session o An SDP Offer, in which the Alice assigns unique addresses to each "m=" line in the BUNDLE group, and requests the Answerer to select the Offerer's BUNDLE address. o An SDP Answer, in which the Bob indicates its support for BUNDLE, - and assigns its own BUNDLE address for the BUNDLED m= lines. - - o A subsequent SDP Offer from Alice, which is used to perform BUNDLE - Address Synchronization (BAS). + selects the offerer's BUNDLE address, selects its own BUNDLE + address and associates it with each BUNDLED m=line within the + BUNDLE group. Once the Offer/Answer exchange completes, both Alice and Bob each end up using single RTP Session for both the Media Streams. Two-Way Secure Audio,Video with BUNDLE support unknown Alice Bob | | | | | Alice offers BUNDLE support with unique address | | for the audio and video m-line | | | | | | Offer(Audio:Opus Video:VP8) | |----------------------------------------------------->| | |Bob | |supports - | |BUNDLE - | Answer(Audio:Opus Video:VP8) | - |<-----------------------------------------------------| - | | - | |Bob uses + | |BUNDLE, + | |Uses | |identical - | |addresses - | | - | Updated Offer for Bundle Address Synchronization. | - |----------------------------------------------------->| - | | - | | - | Answer (Bob accepts the updated offer) | + | |address + | Answer(Audio:Opus Video:VP8) | |<-----------------------------------------------------| | | - | | | 2 Way Call with Audio and Video Multiplexed | |......................................................| | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Alice supports | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice supports | | | grouping of m=lines under | | | BUNDLE semantics | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=mid:audio | [RFC5888] Audio m=line part of | - | | BUNDLE group with a unique | + | a=rtcp:54610 IN IP4 24.23.204.141 | [RFC3605] - RTCP port | + | | different from RTP Port | + | a=mid:audio | [RFC5888] Audio m=line part | + | | of BUNDLE group with a unique | | | port number | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp-mux | [RFC5761] | - | a=rtcp:54609 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | 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=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=ssrc:11111 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | - | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=rtcp-fb:109 nack | [RFC5104] | + | a=rtcp-mux | [RFC5761] | | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP host | + | 192.168.1.4 61665 typ host | candidate | + | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP Server | + | 24.23.204.141 54609 typ srflx | Reflexive candidate | + | raddr 192.168.1.4 rport 61665 | | + | a=candidate:0 2 UDP 2122194687 | [RFC5245] - RTCP host | + | 192.168.1.4 61666 typ host | candidate | + | a=candidate:1 2 UDP 1685987071 | [RFC5245] - RTCP Server | + | 24.23.204.141 54610 typ srflx | Reflexive candidate | + | raddr 192.168.1.4 rport 61666 | | + | ****** Video m=line ********* | ***************************** | | m=video 62537 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=mid:video | [RFC5888] Video m=line part of | - | | the Bundle group with a unique | - | | port number | + | a=rtcp:62538 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:video | [RFC5888] Video m=line part | + | | of the Bundle group with a | + | | unique port number | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp-mux | [RFC5761] | - | a=rtcp:62537 IN IP4 | [RFC3605] - Port for RTCP data | - | 24.23.204.141 | | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=ice-ufrag:6550074c | [RFC5245] | + | a=ice-pwd:74af08a068a28a397a4c3f3 | [RFC5245] | + | 1747d1ee34 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=ssrc:22222 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=ice-ufrag:6550074c | [RFC5245] | - | a=ice-pwd:74af08a068a28a397a4c3f | [RFC5245] | - | 31747d1ee34 | | - | a=fingerprint:sha-1 1f:ef:6d:f7: | [RFC5245] | - | c9:c7:70:9d:1f:66:99:41:49:83: | | - | 4a:97:0e79:a8:07 | | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 62537 typ host | | - | a=candidate:0 2 2122194687 | [RFC5245] | - | 192.168.1.4 62537 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 62537 typ srflx | | - | raddr 192.168.1.4 rport 62537 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 62537 typ srflx | | - | raddr 192.168.1.4 rport 62537 | | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=candidate:0 1 UDP 2122194687 | [RFC5245] - RTP Host | + | 192.168.1.4 61886 typ host | candidate | + | a=candidate:1 1 UDP 1685987071 | [RFC5245] - RTP Server | + | 24.23.204.141 62537 typ srflx | Reflexive candidate | + | raddr 192.168.1.4 rport 61886 | | + | a=candidate:0 2 2122194687 | [RFC5245] - RTCP host | + | 192.168.1.4 61888 typ host | candidate | + | a=candidate:1 2 UDP 1685987071 | [RFC5245] - RTCP Server | + | 24.23.204.141 62538 typ srflx | Reflexive candidate | + | raddr 192.168.1.4 rport 61888 | | + +-----------------------------------+-------------------------------+ Table 13: 5.2.7 SDP Offer w/BUNDLE - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Bob supports BUNDLE | - | | semantics. | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Bob supports | + | | BUNDLE semantics. | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:audio | [RFC5888] Audio m=line part | + | | of the BUNDLE group | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=mid:audio | [RFC5888] Audio m=line part of | - | | the BUNDLE group | - | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | | a=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | - | a=rtcp-fb:109 nack | [RFC5104] | | a=rtcp-mux | [RFC5761] | - | a=ssrc:33333 | [RFC5576] | - | cname:Q/1HmN4Xa5NWs1ao | | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | | 192.168.1.7 49203 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 98.248.92.77 49203 typ srflx | | + | 98.248.92.77 51556 typ srflx | | | raddr 192.168.1.7 rport 49203 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 98.248.92.77 | [RFC4566] | - | a=mid:video | [RFC5888] Video m=line part of | - | | the BUNDLE group with the port | - | | from audio line repeated | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:video | [RFC5888] Video m=line part | + | | of the BUNDLE group with the | + | | port from audio line repeated | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] - Bob carries out | | | DTLS Handshake in parallel | | a=rtcp-mux | [RFC5761] | - | a=ssrc:44444 | [RFC5576] | - | cname:Q/2AqlmN4Xa5NWs | | - | a=ice-ufrag:85bc300d | [RFC5245] | - | a=ice-pwd:bd2de4e9991c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | a=fingerprint:sha-1 41:49:83:4a: | [RFC5245] | - | 99:97:0e:1f:ef:6d:f7:c9:c7:70: | | - | 9d:1f:66:79:a8:07 | | - | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 49203 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=rtcp-fb:120 nack | [RFC5104] | - | a=rtcp-fb:120 nack pli | [RFC5104] | - | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ - - Table 14: 5.2.7 SDP Answer w/BUNDLE - - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ - | v=0 | [RFC4566] | - | o=- 20518 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | - | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | - | 109 | | - | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=msid:ma ta | Identifies RTCMediaStream ID | - | | (ma) and RTCMediaStreamTrack | - | | ID (ta) | - | a=mid:audio | [RFC5888] - Port number | - | | finalized as Bundle Address. | - | a=rtcp-mux | [RFC5761] | - | a=rtcp:54609 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | 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=sendrecv | [RFC3264] | - | a=setup:actpass | [RFC4145] | - | a=ssrc:11111 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | - | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=rtcp-fb:109 nack | [RFC5104] | | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - | m=video 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | - | 120 | | - | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=msid:ma tb | Identifies RTCMediaStream ID | - | | (ma) and RTCMediaStreamTrack | - | | ID (tb) | - | a=mid:video | [RFC5888] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=sendrecv | [RFC3264] | - | a=setup:actpass | [RFC4145] | - | a=rtcp-mux | [RFC5761] | - | a=ssrc:22222 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + +-----------------------------------+-------------------------------+ - Table 15: 5.2.7 SDP Offer for BAS + Table 14: 5.2.7 SDP Answer w/BUNDLE 5.2.8. Audio, Video and Data Session This example shows SDP for negotiating a session with Audio, Video and data streams between Alice and Bob with BUNDLE support known. Audio,Video,Data with BUNDLE support known Alice Bob | | @@ -1676,232 +1594,210 @@ | Answer(Audio:Opus,Video:VP8 Data) | |<-------------------------------------------| | | | | | | | Two-way Audio,Video, Data multiplexed | |............................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 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 audio video data | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video data | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:54609 IN IP4 | [RFC3605] | - | 24.23.204.141 | | | a=mid:audio | [RFC5888] | - | 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=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 64678 typ host | | + | 192.168.1.4 61665 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=rtcp-fb:109 nack | [RFC5104] | - | a=ssrc:11111 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp:54609 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:video | [RFC5888] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=ssrc:22222 | [RFC5576] | - | cname:Q/aoNWs11HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - | m=application 54609 DTLS/SCTP | [I-D.ietf-rtcweb-data-channel] | - | 5000 | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | ****** Application m=line | ***************************** | + | ********* | | + | m=application 54609 UDP/DTLS/SCTP | [I-D.ietf-rtcweb-data-channel | + | webrtc-datachannel | ] | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=mid:data | [RFC5888] | - | a=sctpmap:5000 webrtc- | [I-D.ietf-mmusic-sctp-sdp] | - | DataChannel | | - | streams=1;label="channel 1"; | | - | subprotocol="chat"; | | + | a=sctp-port:5000 | [I-D.ietf-mmusic-sctp-sdp] | + | a=max-message-size:100000 | [I-D.ietf-mmusic-sctp-sdp] | | a=sendrecv | [RFC3264] | | a=setup:actpass | [RFC4145] | + | a=connection:new | [RFC4145] | | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54609 typ srflx | | - | raddr 192.168.1.4 rport 54609 | | - | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - +----------------------------------+--------------------------------+ + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | + +-----------------------------------+-------------------------------+ - Table 16: 5.2.8 SDP Offer + Table 15: 5.2.8 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio video data | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video data | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - | | Bob's trickle support support | - | | is indicated at the session | - | | level | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | | a=mid:audio | [RFC5888] | - | 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=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:109 nack | [RFC5104] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:33333 | [RFC5576] | - | cname:L/aoNWs11HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=mid:video | [RFC5888] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 49203 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=ssrc:44444 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | - | a=rtcp-rsize | [RFC5506] | - | m=application 49203 DTLS/SCTP | [I-D.ietf-mmusic-sctp-sdp] | - | 5000 | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + | ****** Application m=line | ***************************** | + | ********* | | + | m=application 49203 UDP/DTLS/SCTP | [I-D.ietf-mmusic-sctp-sdp] | + | webrtc-datachannel | | | c=IN IP4 98.248.92.771 | [RFC4566] | | a=mid:data | [RFC5888] | - | a=sctpmap:5000 webrtc- | [I-D.ietf-mmusic-sctp-sdp] | - | DataChannel | | - | streams=16;label="channel 1"; | | - | subprotocol="chat"; | | + | a=sctp-port:5000 | [I-D.ietf-mmusic-sctp-sdp] | + | a=max-message-size:100000 | [I-D.ietf-mmusic-sctp-sdp] | | a=setup:active | [RFC4145] | | a=sendrecv | [RFC3264] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 49203 typ host | | - | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - +----------------------------------+--------------------------------+ + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | + +-----------------------------------+-------------------------------+ - Table 17: 5.2.8 SDP Answer + Table 16: 5.2.8 SDP Answer 5.2.9. Audio, Video Session with BUNDLE Unsupported This use-case illustrates SDP Offer/Answer exchange where the far-end (Bob) either doesn't support media bundling or doesn't want to group m=lines over a single 5-tuple. + The same is indicated by dropping the "a=group:BUNDLE" line and + BUNDLE RTP header extension in the Answer SDP. + On successful Offer/Answer exchange, Alice and Bob each end up using unique 5-tuple for audio and video media streams respectively. Two-Way Secure Audio,Video with BUNDLE Unsupported Alice Bob | | | | | Alice offers BUNDLE support with unique address | | for the audio and video m-line | @@ -1919,201 +1815,215 @@ | |unique | |addresses | |across the | |m=lines | | |2Way Call with Audio and Video on different 5-tuples | |......................................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Alice supports | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | - | m=audio 55232 UDP/TLS/RTP/SAVPF | [RFC4566] | + | ****** Audio m=line ********* | ***************************** | + | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:55232 IN IP4 24.23.204.141 | [RFC3605] - RTCP port | + | | different from RTP port | + | a=mid:audio | [RFC5888] Audio m=line part | + | | of BUNDLE group with a unique | + | | port number | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=mid:audio | [RFC5888] Audio m=line part of | - | | BUNDLE group with a unique | - | | port number | - | a=rtcp:55232 IN IP4 | [RFC3605] | - | 24.23.204.141 | | + | a=sendrecv | [RFC3264] | | 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=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | - | a=sendrecv | [RFC3264] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:109 nack | [RFC5104] | - | a=ssrc:11111 | [RFC5576] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | | cname:EocUG1f0fcg/yvY7 | | - | 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 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 55232 typ host | | - | a=candidate:0 2 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 55232 typ host | | + | 192.168.1.4 61665 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 55232 typ srflx | | - | raddr 192.168.1.4 rport 55232 | | + | 24.23.204.141 54609 typ srflx | | + | raddr 192.168.1.4 rport 61665 | | + | a=candidate:0 2 UDP 2122194687 | [RFC5245] | + | 192.168.1.4 61666 typ host | | | a=candidate:1 2 UDP 1685987071 | [RFC5245] | | 24.23.204.141 55232 typ srflx | | - | raddr 192.168.1.4 rport 55232 | | - | a=rtcp-rsize | [RFC5506] | + | raddr 192.168.1.4 rport 61666 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 54332 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:60052 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:video | [RFC5888] Video m=line part | + | | of the BUNDLE group with a | + | | unique port number | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=mid:video | [RFC5888] Video m=line part of | - | | the BUNDLE group with a unique | - | | port number | - | a=rtcp:54332 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=ice-ufrag:7872093 | [RFC5245] | + | a=ice-pwd:ee3474af08a068a28a397a4 | [RFC5245] | + | c3f31747d1 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] - Alice can perform | | | DTLS before Answer arrives | | a=rtcp-mux | [RFC5761] | - | a=ssrc:22222 | [RFC5576] | - | cname:yvY7/EocUG1f0fcg | | - | a=ice-ufrag:7872093 | [RFC5245] | - | a=ice-pwd:ee3474af08a068a28a397a | [RFC5245] | - | 4c3f31747d1 | | - | a=fingerprint:sha-1 6d:f7:c9:c7: | [RFC5245] | - | 70:9d:1f:66:79:a8:07:99:41: | | - | 49:83:4a:97:0e:1f:ef | | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:120 nack | [RFC5104] | + | a=rtcp-fb:120 nack pli | [RFC5104] | + | a=rtcp-fb:120 ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.4 54332 typ host | | - | a=candidate:0 2 2122194687 | [RFC5245] | - | 192.168.1.4 54332 typ host | | + | 192.168.1.4 71775 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 24.23.204.141 54332 typ srflx | | - | raddr 192.168.1.4 rport 54332 | | + | raddr 192.168.1.4 rport 71775 | | + | a=candidate:0 2 2122194687 | [RFC5245] | + | 192.168.1.4 71776 typ host | | | a=candidate:1 2 UDP 1685987071 | [RFC5245] | - | 24.23.204.141 54332 typ srflx | | - | raddr 192.168.1.4 rport 54332 | | - | a=rtcp-fb:120 nack | [RFC5104] | - | a=rtcp-fb:120 nack pli | [RFC5104] | - | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | 24.23.204.141 60052 typ srflx | | + | raddr 192.168.1.4 rport 71776 | | + +-----------------------------------+-------------------------------+ - Table 18: 5.2.9 SDP Offer w/BUNDLE + Table 17: 5.2.9 SDP Offer w/BUNDLE - +---------------------------------------+---------------------------+ - | SDP Contents | RFC#/Notes | - +---------------------------------------+---------------------------+ + +----------------------------------------+--------------------------+ + | Answer SDP Contents | RFC#/Notes | + +----------------------------------------+--------------------------+ | v=0 | [RFC4566] | | o=- 16833 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=ice-options:trickle | [I-D.ietf-mmusic-trickle- | - | | ice] | + | a=ice-options:trickle | [I-D.ietf-mmusic-trickle | + | | -ice] | + | ****** Audio m=line ********* | ************************ | + | | ***** | | m=audio 53214 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | | 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] | - | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opu | - | | s] | - | a=extmap:1 urn:ietf:params:rtp-hdrext | [RFC6464] | - | :ssrc-audio-level | | - | a=ptime:20 | [I-D.ietf-payload-rtp-opu | - | | s] | - | a=setup:active | [RFC4145] - Bob carries | - | | out DTLS Handshake in | - | | parallel | + | a=msid:ma ta | Identifies | + | | RTCMediaStream ID (ma) | + | | and RTCMediaStreamTrack | + | | ID (ta) | | a=sendrecv | [RFC3264] | - | a=rtcp-fb:109 nack | [RFC5104] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-op | + | | us] | + | a=maxptime:120 | [RFC4566] | | a=ice-ufrag:c300d85b | [RFC5245] | | a=ice- | [RFC5245] | | pwd:de4e99bd291c325921d5d47efbabd9a2 | | - | a=fingerprint:sha-1 99:41:49:83:4a:97 | [RFC5245] | - | :0e:1f:ef:6d:f7:c9:c7:70: | | - | 9d:1f:66:79:a8:07 | | + | a=fingerprint:sha-256 6B:8B:F0:65:5F:7 | [RFC5245] | + | 8:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8 | | + | :5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:1 | | + | 9:08 | | + | a=setup:active | [RFC4145] - Bob carries | + | | out DTLS Handshake in | + | | parallel | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp-hdrext | [RFC6464] | + | :ssrc-audio-level | | + | a=ssrc:54321 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 53214 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 98.248.92.77 53214 typ srflx raddr | | - | 192.168.1.7 rport 53214 | | + | 192.168.1.7 rport 51556 | | | a=candidate:0 2 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 60065 typ host | | + | 192.168.1.7 51558 typ host | | | a=candidate:1 2 UDP 1685987071 | [RFC5245] | | 98.248.92.77 60065 typ srflx raddr | | - | 192.168.1.7 rport 60065 | | - | a=rtcp-rsize | [RFC5506] | + | 192.168.1.7 rport 51558 | | + | ****** Video m=line ********* | ************************ | + | | ***** | | m=video 58679 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | | c=IN IP4 98.248.92.77 | [RFC4566] | - | a=msid:ma tb | Identifies RTCMediaStream | - | | ID (ma) and | - | | RTCMediaStreamTrack ID | - | | (tb) | | a=rtcp:56507 IN IP4 98.248.92.77 | [RFC3605] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=setup:active | [RFC4145] - Bob carries | - | | out DTLS Handshake in | - | | parallel | + | a=msid:ma tb | Identifies | + | | RTCMediaStream ID (ma) | + | | and RTCMediaStreamTrack | + | | ID (tb) | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=ice-ufrag:85bC300 | [RFC5245] | | a=ice- | [RFC5245] | | pwd:325921d5d47efbabd9a2de4e99bd291c | | - | a=fingerprint:sha-1 9d:1f:66:79:a8:07 | [RFC5245] | - | :99:41:49:83:4a:97:0e:1f: | | - | ef:6d:f7:c9:c7:70 | | + | a=fingerprint:sha-256 6B:8B:F0:65:5F:7 | [RFC5245] | + | 8:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8 | | + | :5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:1 | | + | 9:08 | | + | a=setup:active | [RFC4145] - Bob carries | + | | out DTLS Handshake in | + | | parallel | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:120 nack | [RFC5104] | + | a=rtcp-fb:120 nack pli | [RFC5104] | + | a=rtcp-fb:120 ccm fir | [RFC5104] | + | a=ssrc:98765 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 58679 typ host | | + | 192.168.1.7 61556 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 98.248.92.77 58679 typ srflx raddr | | - | 192.168.1.7 rport 58679 | | + | 192.168.1.7 rport 61556 | | | a=candidate:0 1 UDP 2122194687 | [RFC5245] | - | 192.168.1.7 56507 typ host | | + | 192.168.1.7 61558 typ host | | | a=candidate:1 1 UDP 1685987071 | [RFC5245] | | 98.248.92.77 56507 typ srflx raddr | | - | 192.168.1.7 rport 58679 | | - | a=rtcp-fb:120 nack | [RFC5104] | - | a=rtcp-fb:120 nack pli | [RFC5104] | - | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - +---------------------------------------+---------------------------+ + | 192.168.1.7 rport 61558 | | + +----------------------------------------+--------------------------+ - Table 19: 5.2.9 SDP Answer without BUNDLE + Table 18: 5.2.9 SDP Answer without BUNDLE 5.2.10. Audio, Video BUNDLED, but Data (Not BUNDLED) This example show-cases SDP for negotiating a session with Audio, Video and data streams between Alice and Bob with data stream not being part of the BUNDLE group. This is shown by assigning unique - port for data media sections. + port for data media section and not adding the "mid" identification + tag to the BUNDLE group. Audio, Video, with Data (Not in BUNDLE) Alice Bob | | | | |Alice wants to multiplex audio, video but not data | | | | | | Offer(Audio:Opus Video:VP8, Data(not in BUNDLE)) | @@ -2121,205 +2031,213 @@ | | | | | Answer(Audio:Opus Video:VP8, Data) | |<-----------------------------------------------------| | | | | |2 Way Call with Audio, Video Multiplexed except data | |......................................................| | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Alice wants to | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice wants to | | | BUNDLE only audio and video | | | media. | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:54609 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:audio | [RFC5888] | - | 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=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2113667326 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=rtcp-fb:109 nack | [RFC5104] | - | a=ssrc:11111 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp:54609 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:video | [RFC5888] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | a=candidate:0 2 UDP 2113667326 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=ssrc:22222 | [RFC5576] | - | cname:Q/aoNWs11HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - | m=application 10000 DTLS/SCTP | [I-D.ietf-rtcweb-data-channel] | - | 5000 | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | ****** Application m=line | ***************************** | + | ********* | | + | m=application 10000 UDP/DTLS/SCTP | [I-D.ietf-rtcweb-data-channel | + | webrtc-datachannel | ] | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=mid:data | [RFC5888] | - | a=sctpmap:5000 webrtc- | [I-D.ietf-mmusic-sctp-sdp] | - | DataChannel | | - | streams=16;label="channel 1"; | | - | subprotocol="chat"; | | + | a=sctp-port:5000 | [I-D.ietf-mmusic-sctp-sdp] | + | a=max-message-size:100000 | [I-D.ietf-mmusic-sctp-sdp] | | a=sendrecv | [RFC3264] | | a=setup:actpass | [RFC4145] | + | a=connection:new | [RFC4145] | | a=ice-ufrag:89819013 | [RFC5245] | - | a=ice-pwd:1747d1ee3474af08a068a2 | [RFC5245] | - | 8a397a4c3f3 | | - | a=fingerprint:sha-1 0e:1f:ef:6d: | [RFC5245] | - | f7:c9:c7:70:99:41:49:83:4a:97: | | - | 9d:1f:66:79:a8:07 | | + | a=ice-pwd:1747d1ee3474af08a068a28 | [RFC5245] | + | a397a4c3f3 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | | 192.168.1.4 10000 typ host | | - +----------------------------------+--------------------------------+ + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 20: 5.2.10 SDP Offer + Table 19: 5.2.10 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=mid:audio | [RFC5888] | - | 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=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:109 nack | [RFC5104] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | | 192.168.1.7 49203 typ host | | - | a=ssrc:33333 | [RFC5576] | - | cname:L/aoNWs11HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 98.248.92.771 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=mid:video | [RFC5888] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=ssrc:44444 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | - | a=rtcp-rsize | [RFC5506] | - | m=application 20000 DTLS/SCTP | [I-D.ietf-mmusic-sctp-sdp] | - | 5000 | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + | ****** Application m=line | ***************************** | + | ********* | | + | m=application 20000 UDP/DTLS/SCTP | [I-D.ietf-mmusic-sctp-sdp] | + | webrtc-datachannel | | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=mid:data | [RFC5888] | - | a=sctpmap:5000 webrtc- | [I-D.ietf-mmusic-sctp-sdp] | - | DataChannel | | - | streams=1;label="channel 1"; | | - | subprotocol="chat"; | | + | a=sctp-port:5000 | [I-D.ietf-mmusic-sctp-sdp] | + | a=max-message-size:100000 | [I-D.ietf-mmusic-sctp-sdp] | | a=setup:active | [RFC4145] | | a=sendrecv | [RFC3264] | | a=ice-ufrag:991Ca2a5e | [RFC5245] | - | a=ice-pwd:921d5d47efbabd9a2de4e9 | [RFC5245] | - | 9bd291c325 | | - | a=fingerprint:sha-1 6d:f7:c9:c7: | [RFC5245] | - | 70:9d:1f:66:79:a8:07:99:41:49: | | - | 83:4a:97:0e:1f:ef | | + | a=ice-pwd:921d5d47efbabd9a2de4e99 | [RFC5245] | + | bd291c325 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | | 192.168.1.7 20000 typ host | | - +----------------------------------+--------------------------------+ + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 21: 5.2.10 SDP Answer + Table 20: 5.2.10 SDP Answer 5.2.11. Audio Only, Add Video to BUNDLE - This example involves 2 Offer/Answer exchanges. First one setting up - Audio-only session followed by an updated Offer/Answer exchange to - add video stream to the ongoing session. Also the newly added video - stream is BUNDLED with the audio stream. + This example involves 2 Offer/Answer exchanges. First one is used to + negotiate and setup BUNDLE support for Audio-only session followed by + an updated Offer/Answer exchange to add video stream to the ongoing + session. Also the newly added video stream is BUNDLED with the audio + stream. Audio Only , Add Video and BUNDLE Alice Bob | | | | | Alice indicates support for BUNDLE | | | | Offer(Audio:Opus) | |----------------------------------------------------->| @@ -2335,283 +2253,270 @@ | | | |Bob accepts | Updated Answer(Audio:Opus, Video:VP8) | |<-----------------------------------------------------| | | | 2Way Call with Audio and Video Multiplexed | |......................................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 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 audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Alice wants to | - | | BUNDLE only audio and video | - | | media. | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice adds audio | + | | m=line to the BUNDLE group | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:audio | [RFC5888] | - | 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=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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-fb:109 nack | [RFC5104] | - | a=ssrc:11111 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 22: 5.2.11 SDP Offer + Table 21: 5.2.11 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=mid:audio | [RFC5888] | - | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:109 nack | [RFC5104] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1694302207 | [RFC5245] | | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:33333 | [RFC5576] | - | cname:L/aoNWs11HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 23: 5.2.10 SDP Answer + Table 22: 5.2.10 SDP Answer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Updated Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=1 | Version number incremented | | | [RFC4566] | | o=- 20518 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 audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] Alice wants to | - | | BUNDLE only audio and video | - | | media. | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:audio | [RFC5888] | - | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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-fb:109 nack | [RFC5104] | - | a=ssrc:11111 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:video | [RFC5888] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | - | 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] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=ssrc:22222 | [RFC5576] | - | cname:Q/aoNWs11HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:56789 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + +-----------------------------------+-------------------------------+ - Table 24: 5.2.11 SDP Updated Offer + Table 23: 5.2.11 SDP Updated Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Updated Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=1 | [RFC4566] Version number | | | incremented | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio video | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=mid:audio | [RFC5888] | - | 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=sendrecv | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:109 nack | [RFC5104] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1694302207 | [RFC5245] | | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:33333 | [RFC5576] | - | cname:L/aoNWs11HmN4Xa5 | | - | a=rtcp-rsize | [RFC5506] | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 120 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:video | [RFC5888] | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tb) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=mid:video | [RFC5888] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | - | a=candidate:1 1 UDP 1694302207 | [RFC5245] | - | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:120 nack | [RFC5104] | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | a=ssrc:44444 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + +-----------------------------------+-------------------------------+ - Table 25: 5.2.11 SDP Updated Answer + Table 24: 5.2.11 SDP Updated Answer 5.3. MultiResolution, RTX, FEC Examples This section deals with scenarios related to multi-source, multi- stream negotiation such as layered coding, simulcast, along with techniques that deal with providing robustness against transmission errors such as FEC and RTX. Also to note, mechanisms such as FEC and RTX could be envisioned in the above basic scenarios as well. 5.3.1. Sendonly Simulcast Session with 2 cameras and 2 encodings per @@ -2624,23 +2529,25 @@ 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. + bundle-only attribute is used for the video sources in the Offer to + ensure enabling video sources in the context of BUNDLE alone. + + BUNDLE grouping framework enables 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 | | with 2 simulcast encodings per source | | and bundle-only for video | | | @@ -2652,298 +2559,318 @@ | Answer(Audio:Opus Video1:VP8,Video2:H.264) | |<------------------------------------------------| | | |One-Way 1 Opus, 2 H.264 and 2 VP8 video streams, | | all multiplexed | |.................................................| | | | | +-------------------------------------+-----------------------------+ - | SDP Contents | RFC#/Notes | + | Offer 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 m2 | [I-D.ietf-mmusic-sdp-bundle | | | -negotiation] Alice | | | supports grouping of | | | m=lines under BUNDLE | | | semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ic | | | e] | + | ****** Audio m=line ********* | *************************** | + | | ** | | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m0 | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (ta) | - | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | - | a=mid:m0 | [RFC5888] | - | 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=sendonly | [RFC3264] | - | a=setup:actpass | [RFC4145] | - | a=rtcp-mux | [RFC5761] | - | a=rtcp-fb:109 nack | [RFC5104] | - | a=ssrc:11111 C90alEocUG1f0fcg | [RFC5576] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | | a=ice-ufrag:074c6550 | [RFC5245] | | a=ice-pwd:a28a397a4c3f31747d1ee3474 | [RFC5245] | | af08a068 | | - | 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=fingerprint:sha-256 19:E2:1C:3B:4 | [RFC5245] | + | B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 | | + | :BB:05:2F:70:9F:04:A9:0E:05:E9:26:3 | | + | 3:E8:70:88:A2 | | + | a=setup:actpass | [RFC4145] | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:11111 cname:EocUG1f0fcg/yvY7 | [RFC5576] | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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] | + | 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ic | + | | e] | + | ****** Video-1 m=line ********* | *************************** | + | | ** | | 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=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m1 | [RFC5888] Video m=line part | + | | of BUNDLE group | | 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=sendonly | [RFC3264] - Send only video | + | | stream | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=fmtp:98 max-fr=30 | [RFC4566] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | | a=fmtp:100 max-fr=15 | [RFC4566] | + | a=fingerprint:sha-256 19:E2:1C:3B:4 | [RFC5245] | + | B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 | | + | :BB:05:2F:70:9F:04:A9:0E:05:E9:26:3 | | + | 3:E8:70:88:A2 | | + | a=setup:actpass | [RFC4145] | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-mux-only | [I-D.ietf-mmusic-mux-exclus | + | | ive] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:22222 cname:EocUG1f0fcg/yvY7 | [RFC5576] [RFC7022] | + | | Camera-1,Encoding-1 SSRC | + | | with Session CNAME | + | a=ssrc:33333 cname:EocUG1f0fcg/yvY7 | [RFC5576] [RFC7022] | + | | Camera-1,Encoding-2 SSRC | + | | with Session CNAME | | 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 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 | [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] | + | ****** Video-2 m=line ********* | *************************** | + | | ** | | 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=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | + | a=rtcp:54609 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=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | - | a=mid:m2 | [RFC5888] Video m=line part | - | | of BUNDLE group | + | a=sendonly | [RFC3264] - Send only video | + | | stream | | a=rtpmap:101 H264/90000 | [RFC3984] | | a=rtpmap:102 H264/90000 | [RFC3984] | | 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=fingerprint:sha-256 19:E2:1C:3B:4 | [RFC5245] | + | B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 | | + | :BB:05:2F:70:9F:04:A9:0E:05:E9:26:3 | | + | 3:E8:70:88:A2 | | + | a=setup:actpass | [RFC4145] | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-mux-only | [I-D.ietf-mmusic-mux-exclus | + | | ive] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:44444 cname:EocUG1f0fcg/yvY7 | [RFC5576] [RFC7022] | + | | Camera-2,Encoding-1 SSRC | + | | with Session CNAME | + | a=ssrc:55555 cname:EocUG1f0fcg/yvY7 | [RFC5576] [RFC7022] | + | | Camera-2,Encoding-2 SSRC | + | | with Session CNAME | | 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 | [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 + Table 25: 5.3.1 SDP Offer +-------------------------------------+-----------------------------+ - | SDP Contents | RFC#/Notes | + | Answer 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 m2 | [I-D.ietf-mmusic-sdp-bundle | | | -negotiation] Alice | | | supports grouping of | | | m=lines under BUNDLE | | | semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ic | | | e] | + | ****** Audio m=line ********* | *************************** | + | | ** | | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | | c=IN IP4 98.248.92.77 | [RFC4566] | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:m0 | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (ta) | + | a=recvonly | [RFC3264] | | 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=rtcp-fb:109 nack | [RFC5104] | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | - | a=recvonly | [RFC3264] | - | a=setup:active | [RFC4145] | - | a=rtcp-mux | [RFC5761] | - | a=ssrc:22222 | [RFC5576] | - | cname:y8/C90alEocUG1f0fcg | | + | a=maxptime:120 | [RFC4566] | | 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 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | - | a=candidate:1 2 UDP 694302207 | [RFC5245] | - | 98.248.92.77 49203 typ srflx raddr | | - | 192.168.1.4 rport 49203 | | + | a=fingerprint:sha-256 6B:8B:F0:65:5 | [RFC5245] | + | F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 | | + | :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D | | + | 0:A1:2C:19:08 | | + | a=setup:active | [RFC4145] | + | a=rtcp-mux | [RFC5761] | | a=rtcp-rsize | [RFC5506] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:77777 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | + | a=candidate:0 1 UDP 2113667327 | [RFC5245] | + | 192.168.1.7 61665 typ host | | + | a=candidate:1 1 UDP 694302207 | [RFC5245] | + | 98.248.92.77 49203 typ srflx raddr | | + | 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ic | + | | e] | + | ****** Video-1 m=line ********* | *************************** | + | | ** | | m=video 49203 UDP/TLS/RTP/SAVPF 98 | BUNDLE accepted with port | | 100 | repeated from the audio | | | port | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m1 | [RFC5888] Video m=line part | + | | of BUNDLE group | | 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=recvonly | [RFC3264] - receive only | + | | video stream | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | | a=fmtp:98 max-fr=30 | [RFC4566] | | a=fmtp:100 max-fr=15 | [RFC4566] | + | a=fingerprint:sha-256 6B:8B:F0:65:5 | [RFC5245] | + | F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 | | + | :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D | | + | 0:A1:2C:19:08 | | + | a=setup:active | [RFC4145] | + | a=rtcp-mux | [RFC5576] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:88888 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] - SSRC associated | + | | with the receiver report | + | | from Bob | | 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=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 | [I-D.ietf-mmusic-sdp-bundle | - | | -negotiation] | - | a=rtcp-rsize | [RFC5506] | + | ****** Video-2 m=line ********* | *************************** | + | | ** | | 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=rtcp:49203 IN IP4 98.248.92.77 | [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=mid:m2 | [RFC5888] Video m=line part | - | | of BUNDLE group | + | a=recvonly | [RFC3264] | | a=rtpmap:101 H264/90000 | [RFC3984] | | a=rtpmap:102 H264/90000 | [RFC3984] | - | a=recvonly | [RFC3264] | | a=fmtp:101 profile-level-id=42401f | [RFC3984] | | ;packetization-mode=1;max-fr=30 | | | a=fmtp:102 profile-level-id=42401f | [RFC3984] | | ;packetization-mode=1;max-fr=15 | | + | a=fingerprint:sha-256 6B:8B:F0:65:5 | [RFC5245] | + | F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 | | + | :DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D | | + | 0:A1:2C:19:08 | | + | a=setup:active | [RFC4145] | + | a=rtcp-mux | [RFC5576] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:99999 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] - SSRC associated | + | | with the receiver report | + | | from Bob | | 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 | [I-D.ietf-mmusic-sdp-bundle | - | | -negotiation] | - | a=rtcp-rsize | [RFC5506] | +-------------------------------------+-----------------------------+ - Table 27: 5.3.1 SDP Answer + Table 26: 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 m=line shows 3 streams with last stream (payload 100) dependent on streams with payload 96 and 97 for decoding. SVC Session - 3 Layers w/BUNDLE @@ -2963,196 +2890,203 @@ | |operation points | | | Answer(Video:H.264) | |<------------------------------------------------| | | |One-Way H.264 SVC video streams | |.................................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer 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 | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m0 | [RFC5888] Audio m=line part | + | | of BUNDLE group with a unique | + | | port number | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:m0 | [RFC5888] Audio m=line part of | - | | 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=sendonly | [RFC3264] | - | a=rtcp-fb:109 nack | [RFC5104] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:11111 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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=ssrc:67890 | [RFC5576] | - | cname:axzo1278npDlAzM73 | | - | a=rtcp-rsize | [RFC5506] | - | m=video 0 UDP/TLS/RTP/SAVPF 96 | bundle-only video line with | - | 97 100 | port number set to zero | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | + | m=video 0 UDP/TLS/RTP/SAVPF 96 97 | bundle-only video line with | + | 100 | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m1 | [RFC5888] Video m=line part | + | | of BUNDLE group | | a=msid:ma tb | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (tc) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:m1 | [RFC5888] Audio m=line part of | - | | BUNDLE group | - | a=msid:ma tb | | + | a=sendonly | [RFC3264] - Send only video | + | | stream | | a=rtpmap:96 H264/90000 | [RFC3984] | | a=fmtp:96 profile-level- | [RFC3984]H.264 Layer 1 | | id=4d0028; packetization-mode=1 | | | ;max-fr=30;max-fs=8040 | | | a=rtpmap:97 H264/90000 | [RFC3984] | - | a=fmtp:97 profile-level- | [RFC3984] H.264 Layer 2 | - | id=4d0028;packetization-mode=1; | | - | max-fr=15;max-fs=1200 | | + | a=fmtp:97 profile-level-id=4d0028 | [RFC3984] H.264 Layer 2 | + | ;packetization-mode=1; 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=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | + | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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-rsize | [RFC5506] | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:22222 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:33333 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:44444 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + +-----------------------------------+-------------------------------+ - Table 28: 5.3.2 SDP Offer with SVC + Table 27: 5.3.2 SDP Offer with SVC - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer 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] | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m0 | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=mid:m0 | [RFC5888] | - | 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=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | - | m=video 49203 UDP/TLS/RTP/SAVPF | BUNDLE accepted Bundle address | - | 96 100 | same as audio m=line. | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:88888 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + | a=candidate:0 1 UDP 2113667326 | [RFC5245] | + | 192.168.1.7 51556 typ host | | + | a=candidate:1 1 UDP 1694302206 | [RFC5245] | + | 98.248.92.77 49203 typ srflx | | + | raddr 192.168.1.5 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | + | m=video 49203 UDP/TLS/RTP/SAVPF | BUNDLE accepted Bundle | + | 96 100 | address same as audio m=line. | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m1 | [RFC5888] Video m=line part | + | | of BUNDLE group | | 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=recvonly | [RFC3264] - Receive only | + | | video stream | | a=rtpmap:96 H264/90000 | [RFC3984] | - | a=fmtp:96 profile-level- | [RFC3984]H.264 Layer 1 | - | id=4d0028;packetization-mode=1; | | - | max-fr=30;max-fs=8040 | | + | a=fmtp:96 profile-level-id=4d0028 | [RFC3984]H.264 Layer 1 | + | ;packetization-mode=1; max-fr=30 | | + | ;max-fs=8040 | | | 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; | [RFC5583] Bob chooses 2 Codec | | | Operation points | - | 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.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=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | - | a=ssrc:4638117328 | [RFC5576] | - | cname:axzo1278npDlAzM73 | | | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:99999 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + +-----------------------------------+-------------------------------+ - Table 29: 5.3.2 SDP Answer with SVC + Table 28: 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 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). @@ -3173,214 +3107,218 @@ | | | | | Answer (Bob accepts Alice's offer) | |<--------------------------------------------------------| | | | | |One-Way 1 Opus, 3 VP8 and RTX video streams,all muxed | |.........................................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + + +-----------------------------------+-------------------------------+ + | Offer 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 | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m0 | [RFC5888] Audio m=line part | + | | of BUNDLE group with a unique | + | | port number | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:m0 | [RFC5888] Audio m=line part of | - | | 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=sendonly | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | | a=ssrc:11111 | [RFC5576] | | cname:EocUG1f0fcg/yvY7 | | - | 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 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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] | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 0 UDP/TLS/RTP/SAVPF 98 | bundle-only video line with | | 103 | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=mid:m1 | [RFC5888] | | 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=sendonly | [RFC3264] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=fmtp:98 max-fr=30;max-fs=3600 | [RFC4566] | + | a=fmtp:98 max-fr=30 | [RFC4566] | | a=rtpmap:103 rtx/90000 | [RFC4588] | | a=fmtp:103 apt=98;rtx-time=200 | [RFC4588] | + | a=setup:actpass | [RFC4145] | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:22222 | [RFC5576] - Encoding-1 SSRC | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:33333 | [RFC5576] - Encoding-1 RTX | + | cname:EocUG1f0fcg/yvY7 | SSRC | + | a=ssrc-group:FID 22222 33333 | [RFC5888] | + | a=ssrc:44444 | [RFC5576] - Encoding-2 SSRC | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:55555 | [RFC5576] - Encoding-2 RTX | + | cname:EocUG1f0fcg/yvY7 | SSRC | + | a=ssrc-group:FID 44444 55555 | [RFC5888] | + | a=ssrc:66666 | [RFC5576] - Encoding-3 SSRC | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:77777 | [RFC5576] - Encoding-3 RTX | + | cname:EocUG1f0fcg/yvY7 | SSRC | + | a=ssrc-group:FID 66666 77777 | [RFC5888] | | 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 | + | a=simulcast: send 1;2;3 | [I-D.ietf-mmusic-sdp-simulcas | + | | t] 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 | [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 + Table 29: 5.3.3 SDP Offer w/Simulcast, RTX - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer 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] Bob supports | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Bob supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m0 | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=mid:m0 | [RFC5888] | - | 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=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=ssrc:33333 | [RFC5576] | - | cname:L/HmN4Xa5NWs1ao1 | | - | 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 64678 typ host | | - | a=candidate:1 2 UDP 1694302206 | [RFC5245] | - | 98.248.92.77 64678 typ srflx | | - | raddr 192.168.1.7 rport 60065 | | | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=candidate:0 1 UDP 2113667326 | [RFC5245] | + | 192.168.1.7 51556 typ host | | + | a=candidate:1 1 UDP 1694302206 | [RFC5245] | + | 98.248.92.77 49203 typ srflx | | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | BUNDLE accepted with Bundle | | 98 100 101 103 | address identical to audio | | | m-line | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m1 | [RFC5888] Video m=line part | + | | of BUNDLE group | | 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=recvonly | [RFC3264] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=fmtp:98 max-fr=30;max-fs=3600 | [RFC4566] | + | a=fmtp:98 max-fr=30 | [RFC4566] | | a=rtpmap:103 rtx/90000 | [RFC4588] | | a=fmtp:103 apt=98;rtx-time=200 | [RFC4588] | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | + | a=setup:active | [RFC4145] | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | 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 | + | a=simulcast: recv 1;2;3 | [I-D.ietf-mmusic-sdp-simulcas | + | | t] 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 | [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 + Table 30: 5.3.3 SDP Answer w/Simulcast, RTX 5.3.4. Successful 1-way Simulcast Session with 2 resolutions and RTX - One resolution rejected This section shows an SDP Offer/Answer exchange for a simulcast scenario with 2 two resolutions. - It also showcases when Bob rejects one of the Simulcast Video Stream + It also showcases where Bob rejects one of the Simulcast Video Stream which results in the rejection of the associated repair stream implicitly. Simulcast Streams with Retransmission Rejected Alice Bob | | | | |Alice offers single audio and simulcasted video streams | | with bundle-only for video | @@ -3396,199 +3334,197 @@ | Answer(Audio:Opus Video:VP8 with 1 res & RTX Stream) | |<--------------------------------------------------------| | | | | |1-way audio,video session and its associated RTX stream, | | all multiplexed | |.........................................................| | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer 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 | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m0 | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:m0 | [RFC5888] | - | 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=sendonly | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | | a=ssrc:11111 | [RFC5576] | - | cname:LP/NWs1ao1HmN4Xa5 | | - | 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 | | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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] | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 0 UDP/TLS/RTP/SAVPF 98 | bundle-only video line with | | 100 101 103 | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m1 | [RFC5888] | | 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] | + | | ID (tb | + | a=sendonly | [RFC3264] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 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=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=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:22222 | [RFC5576] - Encoding-1 SSRC | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:33333 | [RFC5576] - Encoding-1 RTX | + | cname:EocUG1f0fcg/yvY7 | SSRC | + | a=ssrc-group:FID 22222 33333 | [RFC5888] | + | a=ssrc:44444 | [RFC5576] - Encoding-2 SSRC | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:55555 | [RFC5576] - Encoding-2 RTX | + | cname:EocUG1f0fcg/yvY7 | SSRC | + | a=ssrc-group:FID 44444 55555 | [RFC5888] | + | 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-simulcas | + | | t] | + +-----------------------------------+-------------------------------+ - Table 32: 5.3.4 SDP Offer w/Simulcast, RTX + Table 31: 5.3.4 SDP Offer w/Simulcast, RTX - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer 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] Bob supports | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Bob supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m0 | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | - | a=mid:m0 | [RFC5888] | - | 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=recvonly | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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.7 rport 60065 | | | a=rtcp-rsize | [RFC5506] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + | a=candidate:0 1 UDP 2113667326 | [RFC5245] | + | 192.168.1.7 51556 typ host | | + | a=candidate:1 1 UDP 1694302206 | [RFC5245] | + | 98.248.92.77 49203 typ srflx | | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | BUNDLE accepted with Bundle | | 98 101 | address identical to audio | | | m-line | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m1 | [RFC5888] | | 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=recvonly | [RFC3264] | | 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=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=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + | a=rid:1 recv pt=98; | [I-D.ietf-mmusic-rid] | + | a=simulcast: recv 1 | [I-D.ietf-mmusic-sdp-simulcas | + | | t] Bob rejects the second | + | | simulcast stream and the | + | | associated rtx stream. | + +-----------------------------------+-------------------------------+ - Table 33: 5.3.4 SDP Answer no Simulcast + Table 32: 5.3.4 SDP Answer (one Simulcast Rejected) 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. @@ -3612,212 +3548,220 @@ |Answer(Audio:Opus Video:VP8 with 2 resolutions w/FEC Streams) | |<--------------------------------------------------------------| | | |One-Way Audio,Video session with 4 video streams(Simulcast | | and FEC) all multiplexed | |...............................................................| | | | | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer 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 | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] Alice supports | | | grouping of m=lines under | | | BUNDLE semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m0 | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=mid:m0 | [RFC5888] | - | 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=sendonly | [RFC3264] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | | a=ssrc:11111 | [RFC5576] | - | cname:Q/NWs1ao1HmN4Xa5 | | - | 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 | | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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] | + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 0 UDP/TLS/RTP/SAVPF 98 | bundle-only video line with | | 100 101 103 | port number set to zero | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | + | a=mid:m1 | [RFC5888] Video m=line part | + | | of BUNDLE group | | 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=sendonly | [RFC3264] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:101 flexfec/90000 | [RFC5956] | - | a=rtpmap:103 flexfec/90000 | [RFC5956] | + | a=rtpmap:101 flexfec/90000 | [I-D.ietf-payload-flexible-fe | + | | c-scheme] | + | a=rtpmap:103 flexfec/90000 | [I-D.ietf-payload-flexible-fe | + | | c-scheme] | | 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; 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=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=fmtp:101 L=5; D=10; ToP=2; | [I-D.ietf-payload-flexible-fe | + | repair-window=200000 | c-scheme] | + | a=fmtp:103 L=5; D=10; ToP=2; | [I-D.ietf-payload-flexible-fe | + | repair-window=200000 | c-scheme] | + | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:22222 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:33333 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc-group:FEC-FR 22222 33333 | [RFC5956] | + | a=ssrc:44444 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc:55555 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | a=ssrc-group:FEC-FR 44444 55555 | [RFC5956] | + | 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-simulcas | + | | t] | + +-----------------------------------+-------------------------------+ - Table 34: 5.3.5 SDP Offer + Table 33: 5.3.5 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer 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 m0 | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE m0 m1 | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m0 | [RFC5888] Audio m=line part | + | | of BUNDLE group with a unique | + | | port number | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=mid:m0 | [RFC5888] Audio m=line part of | - | | 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=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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.7 rport 60065 | | | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | + | a=candidate:0 1 UDP 2113667326 | [RFC5245] | + | 192.168.1.7 51556 typ host | | + | a=candidate:1 1 UDP 1694302206 | [RFC5245] | + | 98.248.92.77 49203 typ srflx | | + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + | ****** Video m=line ********* | ***************************** | | m=video 49203 UDP/TLS/RTP/SAVPF | BUNDLE accepted with Bundle | | 98 100 101 103 | Address identical to audio | | | m=line. | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | + | a=mid:m1 | [RFC5888] Video m=line part | + | | of BUNDLE group | | 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=recvonly | [RFC3264] | | a=rtpmap:98 VP8/90000 | [I-D.ietf-payload-vp8] | | a=rtpmap:100 VP8/90000 | [I-D.ietf-payload-vp8] | - | a=rtpmap:101 flexfec/90000 | [RFC5956] | - | a=rtpmap:103 flexfec/90000 | [RFC5956] | + | a=rtpmap:101 flexfec/90000 | [I-D.ietf-payload-flexible-fe | + | | c-scheme] | + | a=rtpmap:103 flexfec/90000 | [I-D.ietf-payload-flexible-fe | + | | c-scheme] | | 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; 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=recvonly | [RFC3264] | + | a=fmtp:101 L=5; D=10; ToP=2; | [I-D.ietf-payload-flexible-fe | + | repair-window=200000 | c-scheme] | + | a=fmtp:103 L=5; D=10; ToP=2; | [I-D.ietf-payload-flexible-fe | + | repair-window=200000 | c-scheme] | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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 | | - | raddr 192.168.1.7 rport 60065 | | + | a=rtcp-rsize | [RFC5506] | | a=rtcp-fb:* nack | [RFC5104] | | a=rtcp-fb:* nack pli | [RFC5104] | | a=rtcp-fb:* ccm fir | [RFC5104] | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:98765 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | + | 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-simulcas | + | | t] | + +-----------------------------------+-------------------------------+ - Table 35: 5.3.5 SDP Answer + Table 34: 5.3.5 SDP Answer 5.4. Others - The examples in the section provide SDP for a variety of scenarios - related to RTP Header extension, Legacy Interop scenarios and more. + The examples in the section provide SDP Offer/Answer exchange for a + variety of scenarios related to RTP Header extension for conference + usages, Legacy Interop scenarios and more. 5.4.1. Audio Session - Voice Activity Detection This example shows Alice indicating the support of the RTP header extension to include the audio-level of the audio sample carried in the RTP packet. 2-Way Audio with VAD Alice Bob @@ -3837,123 +3781,124 @@ | |indicates his | |support as well | | | Two way Opus Audio | |.........................................| | | |Per packet audio-level is included in the| |RTP header | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 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 audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 8 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | + | a=sendrecv | [RFC3264] | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=rtpmap:0 PCMU/8000 | [RFC3551] | - | a=rtpmap:0 PCMA/8000 | [RFC3551] | - | a=sendrecv | [RFC3264] | + | a=rtpmap:8 PCMA/8000 | [RFC3551] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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-fb:* nack | [RFC5104] | - | a=ssrc:11111 | [RFC5576] | - | cname:QCL/1HmN4Xa5CClapa | | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 36: 5.4.1 SDP Offer + Table 35: 5.4.1 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | - | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | - | | Information | + | o=- 16833 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 audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 98 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | + | a=sendrecv | [RFC3264] - Bob can send and | + | | recv audio | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] - | | | Bob accepts only Opus Codec | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | | a=rtpmap:0 PCMA/8000 | [RFC3551] PCMA Audio Codec | - | a=rtcp-fb:* nack | [RFC5104] | - | a=sendrecv | [RFC3264] - Bob can send and | - | | recv audio | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] - Bob can perform | | | RTP/RTCP Muxing on port 49203 | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1694302207 | [RFC5245] | | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:1732846380 | [RFC5576] | - | cname:EocUG1f0fcg/yvY7 | | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 37: 5.4.1 SDP Answer + Table 36: 5.4.1 SDP Answer 5.4.2. Audio Conference - Voice Activity Detection This example shows SDP for RTP header extension that allows RTP-level mixers in audio conferences to deliver information about the audio level of individual participants. Audio Conference with VAD Support Alice Mixer @@ -3971,141 +3916,147 @@ | |Mixer indicates | |it can provide | |audio-levels |Two way Opus Audio | |.........................................| | | |Audio-levels per CSRCS is included in the| |RTP header | | | - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Offer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 54609 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 8 | | | c=IN IP4 24.23.204.141 | [RFC4566] | + | a=rtcp:54609 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:64678 IN IP4 | [RFC3605] | - | 24.23.204.141 | | - | a=extmap:1/recvonly | [RFC6465] | - | urn:ietf:params:rtp-hdrext:csrc- | | - | audio-level | | - | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | - | hdrext:ssrc-audio-level | | + | a=sendrecv | [RFC3264] - Alice can send | + | | and recv audio | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | | a=rtpmap:0 PCMA/8000 | [RFC3551] PCMA Audio Codec | - | a=rtcp-fb:* nack | [RFC5104] | - | a=sendrecv | [RFC3264] - Alice can send and | - | | recv audio | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:074c6550 | [RFC5245] | + | a=ice-pwd:a28a397a4c3f31747d1ee34 | [RFC5245] | + | 74af08a068 | | + | a=fingerprint:sha-256 19:E2:1C:3B | [RFC5245] | + | :4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73 | | + | :04 :BB:05:2F:70:9F:04:A9:0E:05:E | | + | 9:26:33:E8:70:88:A2 | | | a=setup:actpass | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=extmap:1/recvonly | [RFC6465] | + | urn:ietf:params:rtp-hdrext:csrc- | | + | audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:3 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:12345 | [RFC5576] | + | cname:EocUG1f0fcg/yvY7 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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=ssrc:11111 | [RFC5576] | - | cname:QCL/1HmN4Xa5CClapa | | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | raddr 192.168.1.4 rport 61665 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 38: 5.4.2 SDP Offer + Table 37: 5.4.2 SDP Offer - +----------------------------------+--------------------------------+ - | SDP Contents | RFC#/Notes | - +----------------------------------+--------------------------------+ + +-----------------------------------+-------------------------------+ + | Answer SDP Contents | RFC#/Notes | + +-----------------------------------+-------------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | | | Information | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | - | a=msid-semantic:WMS ma | [I-D.ietf-mmusic-msid] | - | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-ne | - | | gotiation] | + | a=group:BUNDLE audio | [I-D.ietf-mmusic-sdp-bundle-n | + | | egotiation] | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ice] | + | ****** Audio m=line ********* | ***************************** | | m=audio 49203 UDP/TLS/RTP/SAVPF | [RFC4566] | | 109 0 98 | | | c=IN IP4 98.248.92.77 | [RFC4566] | + | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | | a=mid:audio | [RFC5888] | | a=msid:ma ta | Identifies RTCMediaStream ID | | | (ma) and RTCMediaStreamTrack | | | ID (ta) | - | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | - | a=extmap:1/sendonly | [RFC6465] | - | urn:ietf:params:rtp-hdrext:csrc- | | - | audio-level | | + | a=sendrecv | [RFC3264] | | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-opus] | - | a=ptime:20 | [I-D.ietf-payload-rtp-opus] | | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | | a=rtpmap:0 PCMA/8000 | [RFC3551] PCMA Audio Codec | - | a=rtcp-fb:* nack | [RFC5104] | - | a=sendrecv | [RFC3264] | + | a=maxptime:120 | [RFC4566] | + | a=ice-ufrag:c300d85b | [RFC5245] | + | a=ice-pwd:de4e99bd291c325921d5d47 | [RFC5245] | + | efbabd9a2 | | + | a=fingerprint:sha-256 6B:8B:F0:65 | [RFC5245] | + | :5F:78:E2:51:3B:AC:6F:F3:3F:46:1B | | + | :35 :DC:B8:5F:64:1A:24:C2:43:F0:A | | + | 1:58:D0:A1:2C:19:08 | | | a=setup:active | [RFC4145] | | a=rtcp-mux | [RFC5761] | - | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d4 | [RFC5245] | - | 7efbabd9a2 | | - | 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=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=extmap:1/sendonly | [RFC6465] | + | urn:ietf:params:rtp-hdrext:csrc- | | + | audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle-n | + | hdrext:sdes:mid | egotiation] | + | a=ssrc:54321 | [RFC5576] | + | cname:Q/NWs1ao1HmN4Xa5 | | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 1694302207 | [RFC5245] | | 98.248.92.77 49203 typ srflx | | - | raddr 192.168.1.7 rport 49203 | | - | a=ssrc:2222 cname:HmN4Xa5CC/lapa | [RFC5576] | - | a=rtcp-rsize | [RFC5506] | - +----------------------------------+--------------------------------+ + | raddr 192.168.1.7 rport 51556 | | + | a=end-of-candidates | [I-D.ietf-mmusic-trickle-ice] | + +-----------------------------------+-------------------------------+ - Table 39: 5.4.2 SDP Answer + Table 38: 5.4.2 SDP Answer 5.4.3. Successful legacy Interop Fallback with bundle-only In the scenario described below, Alice is a multi-stream capable WebRTC endpoint while Bob is a legacy VOIP end-point. The SDP Offer/ Answer exchange demonstrates successful session setup with fallback to audio only stream negotiated via bundle-only framework between the end-points. Specifically, - o Offer from Alice describes 2 cameras via 2 video m=lines with both marked as bundle-only. o Since Bob doesnot recognize either the BUNDLE mechanism or the bundle-only attribute, he accepts only the audio stream from Alice. + NOTE: Since Alice is unaware of Bob's support for BUNDLE framework, + Alice ensures to include separate RTP/RTCP ports and candidate + information. + Successful 2-Way WebRTC <-> VOIP Interop Alice Bob | | | | | Alice is a multistream capable WebRTC end-point | | & Bob is behind a legacy VOIP system | | | |Offer(Audio:Opus Video:2 VP8,2 H2.64 Streams) with | | bundle-only | @@ -4123,167 +4074,181 @@ | |doesn't | |recognize | |bundle-only | | | Two way Opus Audio | |...........................................................| | | | | +-------------------------------------+-----------------------------+ - | SDP Contents | RFC#/Notes | + | Offer 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 m2 | [I-D.ietf-mmusic-sdp-bundle | | | -negotiation] Alice | | | supports grouping of | | | m=lines under BUNDLE | | | semantics | | a=ice-options:trickle | [I-D.ietf-mmusic-trickle-ic | | | e] | + | ****** Audio m=line ********* | *************************** | + | | ** | | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | | a=mid:m0 | [RFC5888] Audio m=line part | | | of BUNDLE group with a | | | unique port number | | a=msid:ma ta | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (ta) | + | a=sendrecv | [RFC3264] | | 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=sendrecv | [RFC3264] | - | a=setup:actpass | [RFC4145] | - | a=rtcp-mux | [RFC5761] | + | a=maxptime:120 | [RFC4566] | | a=ice-ufrag:074c6550 | [RFC5245] | | a=ice-pwd:a28a397a4c3f31747d1ee3474 | [RFC5245] | | af08a068 | | - | 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=fingerprint:sha-256 19:E2:1C:3B:4 | [RFC5245] | + | B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04 | | + | :BB:05:2F:70:9F:04:A9:0E:05:E9:26:3 | | + | 3:E8:70:88:A2 | | + | a=setup:actpass | [RFC4145] | + | a=rtcp-mux | [RFC5761] | + | a=rtcp-rsize | [RFC5506] | + | a=extmap:1 urn:ietf:params:rtp- | [RFC6464] | + | hdrext:ssrc-audio-level | | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:12345 cname:EocUG1f0fcg/yvY7 | [RFC5576]E | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.4 54609 typ host | | + | 192.168.1.4 61665 typ host | | | 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] | + | 192.168.1.4 rport 61665 | | + | a=candidate:0 1 UDP 2113667326 | [RFC5245] | + | 192.168.1.4 61667 typ host | | + | a=candidate:1 1 UDP 1694302206 | [RFC5245] | | 24.23.204.141 64678 typ srflx raddr | | - | 192.168.1.4 rport 64678 | | - | a=ssrc:11111 | [RFC5576]E | - | cname:axzo1278npDlAzM73 | | - | a=rtcp-rsize | [RFC5506] | + | 192.168.1.4 rport 61667 | | + | ****** Video-1 m=line ********* | *************************** | + | | ** | | 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=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | + | a=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=mid:m1 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=msid:ma tb | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tb) | + | a=sendrecv | [RFC3264] | | 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 | [I-D.ietf-mmusic-sdp-bundle | - | | -negotiation] | - | a=sendrecv | [RFC3264] | + | a=setup:actpass | [RFC4145] | + | a=rtcp-mux | [RFC5761] | | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:56789 cname:EocUG1f0fcg/yvY7 | [RFC5576] | + | ****** Video-2 m=line ********* | *************************** | + | | ** | | 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=bundle-only | [I-D.ietf-mmusic-sdp-bundle | + | | -negotiation] | | a=mid:m2 | [RFC5888] Video m=line part | | | of BUNDLE group | | a=msid:ma tc | Identifies RTCMediaStream | | | ID (ma) and | | | RTCMediaStreamTrack ID (tc) | + | a=sendrecv | [RFC3264] | | 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 | [I-D.ietf-mmusic-sdp-bundle | - | | -negotiation] | - | a=sendrecv | [RFC3264] | + | a=rtcp-mux | [RFC5761] | | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:* nack | [RFC5104] | + | a=rtcp-fb:* nack pli | [RFC5104] | + | a=rtcp-fb:* ccm fir | [RFC5104] | + | a=extmap:2 urn:ietf:params:rtp- | [I-D.ietf-mmusic-sdp-bundle | + | hdrext:sdes:mid | -negotiation] | + | a=ssrc:67890 cname:EocUG1f0fcg/yvY7 | [RFC5576] | +-------------------------------------+-----------------------------+ - Table 40: 5.4.3 SDP Simulcast bundle-only + Table 39: 5.4.3 SDP Simulcast bundle-only - +------------------------------------------+------------------------+ - | SDP Contents | RFC#/Notes | - +------------------------------------------+------------------------+ + +----------------------------------------+--------------------------+ + | Answer SDP Contents | RFC#/Notes | + +----------------------------------------+--------------------------+ | v=0 | [RFC4566] | | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | + | ****** Audio m=line ********* | ************************ | + | | ***** | | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=rtcp:60065 IN IP4 24.23.204.141 | [RFC3605] | - | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp- | - | | opus] | - | a=extmap:1 urn:ietf:params:rtp-hdrext | [RFC6464] | - | :ssrc-audio-level | | - | a=ptime:20 | [I-D.ietf-payload-rtp- | - | | opus] | - | a=rtcp-fb:109 nack | [RFC5104] | | a=sendrecv | [RFC3264] | - | a=setup:active | [RFC4145] | + | a=rtpmap:109 opus/48000/2 | [I-D.ietf-payload-rtp-op | + | | us] | + | a=maxptime:120 | [RFC4566] | | a=ice-ufrag:ufrag:c300d85b | [RFC5245] | | a=ice- | [RFC5245] | | pwd:de4e99bd291c325921d5d47efbabd9a2 | | - | a=fingerprint:sha-1 | [RFC5245] | - | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c7: | | - | 70:9d:1f:66:79:a8:07 | | + | a=fingerprint:sha-256 6B:8B:F0:65:5F:7 | [RFC5245] | + | 8:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8 | | + | :5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:1 | | + | 9:08 | | + | a=setup:active | [RFC4145] | + | a=rtcp-rsize | [RFC5506] | + | a=rtcp-fb:109 nack | [RFC5104] | + | a=extmap:1 urn:ietf:params:rtp-hdrext | [RFC6464] | + | :ssrc-audio-level | | + | a=ssrc:54321 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | | a=candidate:0 1 UDP 2113667327 | [RFC5245] | - | 192.168.1.7 49203 typ host | | + | 192.168.1.7 51556 typ host | | | a=candidate:1 1 UDP 694302207 | [RFC5245] | | 98.248.92.77 49203 typ srflx raddr | | - | 192.168.1.7 rport 49203 | | + | 192.168.1.7 rport 51556 | | | a=candidate:0 2 UDP 2113667326 | [RFC5245] | - | 192.168.1.7 60065 typ host | | + | 192.168.1.7 51558 typ host | | | a=candidate:1 2 UDP 1694302206 | [RFC5245] | | 98.248.92.77 60065 typ srflx raddr | | - | 192.168.1.7 rport 60065 | | - | a=rtcp-rsize | [RFC5506] | + | 192.168.1.7 rport 51558 | | + | ****** Video m=line ********* | ************************ | + | | ***** | | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | Bob doesn't recognize | | | bundle-only and hence | - | | rejects the video | - | | stream | - | c=IN IP4 98.248.92.77 | [RFC4566] | - | 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] | - | a=fmtp:98 max-fr=30 | [RFC4566] | + | | the m=line is rejected | + | | implicitly due to port 0 | + | ****** Video m=line ********* | ************************ | + | | ***** | | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | Bob doesn't recognize | | | bundle-only and hence | - | | rejects the video | - | | stream | - | c=IN IP4 98.248.92.77 | [RFC4566] | - | a=rtpmap:101 H264/90000 | [RFC3984] | - | a=fmtp:101 profile-level-id=4d0028 | [RFC3984]Camera-2,Enco | - | ;packetization-mode=1;max-fr=30 | ding-1 Resolution | - +------------------------------------------+------------------------+ + | | the m=line is rejected | + | | implicitly due to port 0 | + +----------------------------------------+--------------------------+ - Table 41: 5.4.3 SDP Answer + Table 40: 5.4.3 SDP Answer 5.4.4. Legacy Interop with RTP/AVP profile In this section, we attempt to provide session descriptions showcasing inter-operability between a WebRTC end-point and a Legacy VOIP end-point. The ideas included in here are not fully baked into the standards and might be controversial in nature. The hope here is to demonstrate a plausible SDP composition to enchance seamless inter-operability between the aforementioned communication systems. @@ -4332,190 +4297,224 @@ | |"legacy | |compliant" | |m=line | | | | | Two way Opus Audio, H.264 Video | |...............................................................| | Session also suports RTP/RTCP Mux, RTCP Feedback | | | - +-----------------------------------------------+-------------------+ - | SDP Contents | RFC#/Notes | - +-----------------------------------------------+-------------------+ + +----------------------------------------+--------------------------+ + | Offer SDP Contents | RFC#/Notes | + +----------------------------------------+--------------------------+ | v=0 | [RFC4566] | | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | | a=ice-ufrag:074c6550 | [RFC5245] | - | a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 | [RFC5245] | - | a=fingerprint:sha-1 99:41:49:83:4a:97:0e:1f:e | [RFC5245] | - | f:6d:f7:c9:c7:70:9d:1f:66:79:a8:07 | | + | a=ice- | [RFC5245] | + | pwd:a28a397a4c3f31747d1ee3474af08a068 | | + | a=fingerprint:sha-256 6B:8B:F0:65:5F:7 | [RFC5245] | + | 8:E2:51:3B:AC:6F:F3:3F:46:1B:35 :DC:B8 | | + | :5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:1 | | + | 9:08 | | | a=rtcp-rsize | [RFC5506] | + | ****** Audio m=line ********* | ************************ | + | | ***** | | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | | c=IN IP4 24.23.204.141 | [RFC4566] | | a=rtpmap:109 opus/48000 | | | a=ptime:20 | | | a=sendrecv | [RFC3264] | | a=rtcp-mux | [RFC5761] | - | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | - | 54609 typ host | | - | a=candidate:1 1 UDP 694302207 24.23.204.141 | [RFC5245] | - | 54609 typ srflx raddr 192.168.1.4 rport 54609 | | - | a=candidate:0 2 UDP 2113667326 192.168.1.4 | [RFC5245] | - | 64678 typ host | | - | a=candidate:1 2 UDP 1694302206 24.23.204.141 | [RFC5245] | - | 64678 typ srflx raddr 192.168.1.4 rport 64678 | | + | a=candidate:0 1 UDP 2113667327 | [RFC5245] | + | 192.168.1.4 54609 typ host | | + | 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-fb:109 nack | [RFC5104] | + | ****** Audio m=line ********* | ************************ | + | | ***** | | m=video 62537 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload | - | | -vp8] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | | a=rtcp-mux | [RFC5761] | - | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | - | 62537 typ host | | - | a=candidate:1 1 UDP 1694302207 24.23.204.141 | [RFC5245] | - | 62537 typ srflx raddr 192.168.1.4 rport 62537 | | - | a=candidate:0 2 2113667326 192.168.1.4 54721 | [RFC5245] | - | typ host | | - | a=candidate:1 2 UDP 1694302206 24.23.204.141 | [RFC5245] | - | 54721 typ srflx raddr 192.168.1.4 rport 54721 | | + | a=candidate:0 1 UDP 2113667327 | [RFC5245] | + | 192.168.1.4 62537 typ host | | + | a=candidate:1 1 UDP 1694302207 | [RFC5245] | + | 24.23.204.141 62537 typ srflx raddr | | + | 192.168.1.4 rport 62537 | | + | a=candidate:0 2 2113667326 192.168.1.4 | [RFC5245] | + | 54721 typ host | | + | a=candidate:1 2 UDP 1694302206 | [RFC5245] | + | 24.23.204.141 54721 typ srflx raddr | | + | 192.168.1.4 rport 54721 | | | a=rtcp-fb:120 nack pli | [RFC5104] | | a=rtcp-fb:120 ccm fir | [RFC5104] | - | --------------- | These set of | - | | media | - | | descriptions are | - | | for Legacy Inter- | - | | op purposes | - | m=audio 54732 RTP/AVP 109 | [RFC4566]Alice | - | | includes RTP/AVP | - | | audio stream | + | --------------- | These set of media | + | | descriptions are for | + | | Legacy Inter-op purposes | + | ****** Audio m=line ********* | ************************ | + | | ***** | + | m=audio 54732 RTP/AVP 109 | [RFC4566]Alice includes | + | | RTP/AVP audio stream | | | description | | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=fingerprint:sha-1 99:41:49:83:4a:97:0e:1f:7 | [RFC5245] | - | f:7d:f9:c9:c7:70:9d:1f:66:79:a8:07 | | + | a=fingerprint:sha-256 19:E2:1C:3B:4B:9 | [RFC5245] | + | F:81:E6:B8:5C:F4:A5:A8:D8:73:04 :BB:05 | | + | :2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:8 | | + | 8:A2 | | | a=rtpmap:109 opus/48000 | | | a=ptime:20 | | | a=sendrecv | [RFC3264] | - | a=rtcp-mux | [RFC5761]Alice | - | | still includes | - | | RTP/RTCP Mux | + | a=rtcp-mux | [RFC5761]Alice still | + | | includes RTP/RTCP Mux | | | support | - | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | - | 54732 typ host | | - | a=candidate:1 1 UDP 694302207 24.23.204.141 | [RFC5245] | - | 54732 typ srflx raddr 192.168.1.4 rport 54732 | | - | a=candidate:0 2 UDP 2113667326 192.168.1.4 | [RFC5245] | - | 64678 typ host | | - | a=candidate:1 2 UDP 1694302206 24.23.204.141 | [RFC5245] | - | 64678 typ srflx raddr 192.168.1.4 rport 64678 | | - | a=rtcp-fb:109 nack | [RFC5104]She adds | - | | her intent for | - | | NACK RTCP | + | a=candidate:0 1 UDP 2113667327 | [RFC5245] | + | 192.168.1.4 54732 typ host | | + | a=candidate:1 1 UDP 694302207 | [RFC5245] | + | 24.23.204.141 54732 typ srflx raddr | | + | 192.168.1.4 rport 54732 | | + | 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-fb:109 nack | [RFC5104]She adds her | + | | intent for NACK RTCP | | | feedback support | - | m=video 62445 RTP/AVP 120 | [RFC4566]Alice | - | | includes RTP/AVP | - | | video stream | + | ****** Video m=line ********* | ************************ | + | | ***** | + | m=video 62445 RTP/AVP 120 | [RFC4566]Alice includes | + | | RTP/AVP video stream | | | description | | c=IN IP4 24.23.204.141 | [RFC4566] | - | a=fingerprint:sha-1 99:41:49:83:4a:97:0e:1f:e | [RFC5245] | - | f:7d:f7:c9:c7:70:9d:1f:66:79:a8:07 | | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload | - | | -vp8] | + | a=fingerprint:sha-256 DC:B8:5F:64:1A:2 | [RFC5245] | + | 4:C2:43:F0:A1:58:D0:A1:2C:19:08 :6B:8B | | + | :F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1 | | + | B:35 | | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | - | a=rtcp-mux | [RFC5761]Alice | - | | intends to | - | | perform RTP/RTCP | - | | Mux | - | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | - | 62445 typ host | | - | a=candidate:1 1 UDP 1694302207 24.23.204.141 | [RFC5245] | - | 62537 typ srflx raddr 192.168.1.4 rport 62445 | | - | a=candidate:0 2 2113667326 192.168.1.4 54721 | [RFC5245] | - | typ host | | - | a=candidate:1 2 UDP 1694302206 24.23.204.141 | [RFC5245] | - | 54721 typ srflx raddr 192.168.1.4 rport 54721 | | + | a=rtcp-mux | [RFC5761]Alice intends | + | | to perform RTP/RTCP Mux | + | a=candidate:0 1 UDP 2113667327 | [RFC5245] | + | 192.168.1.4 62445 typ host | | + | a=candidate:1 1 UDP 1694302207 | [RFC5245] | + | 24.23.204.141 62537 typ srflx raddr | | + | 192.168.1.4 rport 62445 | | + | a=candidate:0 2 2113667326 192.168.1.4 | [RFC5245] | + | 54721 typ host | | + | a=candidate:1 2 UDP 1694302206 | [RFC5245] | + | 24.23.204.141 54721 typ srflx raddr | | + | 192.168.1.4 rport 54721 | | | a=rtcp-fb:120 nack pli | [RFC5104] Alice | - | | indicates support | - | | for Picture loss | - | | Indication and | - | | NACK RTCP | - | | feedback | + | | indicates support for | + | | Picture loss Indication | + | | and NACK RTCP feedback | | a=rtcp-fb:120 ccm fir | [RFC5104] | - +-----------------------------------------------+-------------------+ + +----------------------------------------+--------------------------+ - Table 42: 5.4.5 SDP Offer + Table 41: 5.4.5 SDP Offer - +-----------------------------------------------+-------------------+ - | SDP Contents | RFC#/Notes | - +-----------------------------------------------+-------------------+ + +----------------------------------------+--------------------------+ + | Answer SDP Contents | RFC#/Notes | + +----------------------------------------+--------------------------+ | v=0 | [RFC4566] | | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] | | s=- | [RFC4566] | | t=0 0 | [RFC4566] | | a=ice-ufrag:c300d85b | [RFC5245] | - | a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 | [RFC5245] | - | a=fingerprint:sha-1 99:41:49:83:4a:97:0e:1f:e | [RFC5245] | - | f:6d:f7:c9:c7:70:9d:1f:66:79:a8:07 | | - | m=audio 49203 RTP/AVP 109 | [RFC4566] Bob | - | | accepts RTP/AVP | - | | based audio | + | a=ice- | [RFC5245] | + | pwd:de4e99bd291c325921d5d47efbabd9a2 | | + | a=fingerprint:sha-256 BB:05:2F:70:9F:0 | [RFC5245] | + | 4:A9:0E:05:E9:26:33:E8:70:88:A2 :19:E2 | | + | :1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:7 | | + | 3:04 | | + | ****** Audio m=line ********* | ************************ | + | | ***** | + | m=audio 49203 RTP/AVP 109 | [RFC4566] Bob accepts | + | | RTP/AVP based audio | | | stream | | c=IN IP4 98.248.92.77 | [RFC4566] | | a=rtpmap:109 opus/48000 | | | a=ptime:20 | | | a=sendrecv | [RFC3264] | - | a=candidate:0 1 UDP 2113667327 192.168.1.7 | [RFC5245] | - | 49203 typ host | | - | a=candidate:1 1 UDP 1694302207 98.248.92.77 | [RFC5245] | - | 49203 typ srflx raddr 192.168.1.7 rport 49203 | | - | a=candidate:0 2 UDP 2113667326 192.168.1.7 | [RFC5245] | - | 60065 typ host | | - | a=candidate:1 2 UDP 1694302206 98.248.92.77 | [RFC5245] | - | 60065 typ srflx raddr 192.168.1.7 rport 60065 | | - | m=video 63130 RTP/SAVP 120 | [RFC4566] Bob | - | | accepts RTP/AVP | - | | based video stram | + | a=candidate:0 1 UDP 2113667327 | [RFC5245] | + | 192.168.1.7 49203 typ host | | + | a=candidate:1 1 UDP 1694302207 | [RFC5245] | + | 98.248.92.77 49203 typ srflx raddr | | + | 192.168.1.7 rport 49203 | | + | 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 | | + | ****** Video m=line ********* | ************************ | + | | ***** | + | m=video 63130 RTP/SAVP 120 | [RFC4566] Bob accepts | + | | RTP/AVP based video | + | | stram | | c=IN IP4 98.248.92.771 | [RFC4566] | - | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload | - | | -vp8] | + | a=rtpmap:120 VP8/90000 | [I-D.ietf-payload-vp8] | | a=sendrecv | [RFC3264] | - | a=candidate:0 1 UDP 2113667327 192.168.1.7 | [RFC5245] | - | 63130 typ host | | - | a=candidate:1 1 UDP 1694302207 98.248.92.77 | [RFC5245] | - | 63130 typ srflx raddr 192.168.1.7 rport 63130 | | - | a=candidate:0 2 UDP 2113667326 192.168.1.7 | [RFC5245] | - | 56607 typ host | | - | a=candidate:1 2 UDP 1694302206 98.248.92.77 | [RFC5245] | - | 56607 typ srflx raddr 192.168.1.7 rport 56607 | | - +-----------------------------------------------+-------------------+ + | a=candidate:0 1 UDP 2113667327 | [RFC5245] | + | 192.168.1.7 63130 typ host | | + | a=candidate:1 1 UDP 1694302207 | [RFC5245] | + | 98.248.92.77 63130 typ srflx raddr | | + | 192.168.1.7 rport 63130 | | + | a=candidate:0 2 UDP 2113667326 | [RFC5245] | + | 192.168.1.7 56607 typ host | | + | a=candidate:1 2 UDP 1694302206 | [RFC5245] | + | 98.248.92.77 56607 typ srflx raddr | | + | 192.168.1.7 rport 56607 | | + +----------------------------------------+--------------------------+ - Table 43: 5.4.5 SDP Answer + Table 42: 5.4.5 SDP Answer 6. IANA Considerations This document requires no actions from IANA. 7. Acknowledgments - We would like to thank Justin Uberti, Chris Flo for their detailed - review and inputs. + We would like to thank Justin Uberti, Chris Flo, Paul Kyzivat for + their detailed review and inputs. 8. Change Log [RFC EDITOR NOTE: Please remove this section when publishing] + Changes from draft-ietf-rtcweb-sdp-01 + + o Complete face-lift + + o Added visual markers around m=lines to indicate their type, added + spacing between tables for aiding readers + + o Updated table names to indicate offer vs answer + + o Attempted to align to latest versions of SCTP, BUNDLE, MSID drafts + + o Added mid header extensions to all the lines + + o Harmonized BUNDLE semantics and conventions updated. + 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 @@ -4727,79 +4727,84 @@ [RFC7022] Begen, A., Perkins, C., Wing, D., and E. Rescorla, "Guidelines for Choosing RTP Control Protocol (RTCP) 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-27 (work in progress), February 2016. + negotiation-24 (work in progress), January 2016. [I-D.ietf-mmusic-sdp-simulcast] 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. + mmusic-sdp-simulcast-03 (work in progress), October 2015. [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 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-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-13 - (work in progress), March 2016. + Session Establishment Protocol", draft-ietf-rtcweb-jsep-12 + (work in progress), October 2015. [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-12 - (work in progress), March 2016. + Session Description Protocol", draft-ietf-mmusic-msid-11 + (work in progress), October 2015. [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-16 (work in progress), February 2016. + mmusic-sctp-sdp-15 (work in progress), September 2015. [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. + [I-D.ietf-mmusic-mux-exclusive] + Holmberg, C., "Indicating Exclusive Support of RTP/RTCP + Multiplexing using SDP", draft-ietf-mmusic-mux- + exclusive-08 (work in progress), June 2016. + [WebRTC] W3C, "WebRTC 1.0: Real-time Communication Between Browsers", - . + , . Authors' Addresses Suhas Nandakumar Cisco 170 West Tasman Drive San Jose, CA 95134 USA Email: snandaku@cisco.com