idnits 2.17.1 draft-nandakumar-rtcweb-sdp-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** There are 18 instances of too long lines in the document, the longest one being 17 characters in excess of 72. ** The abstract seems to contain references ([RFC4566], [RFC3264], [WebRTC]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. == There are 296 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. == There are 268 instances of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (February 12, 2014) is 3725 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'OPEN ISSUE-1' is mentioned on line 261, but not defined == Missing Reference: 'OPEN ISSUE-2' is mentioned on line 263, but not defined == Unused Reference: 'RFC3952' is defined on line 4720, but no explicit reference was found in the text == Unused Reference: 'RFC3556' is defined on line 4731, but no explicit reference was found in the text ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) -- Obsolete informational reference (is this intentional?): RFC 5245 (Obsoleted by RFC 8445, RFC 8839) -- Obsolete informational reference (is this intentional?): RFC 3984 (Obsoleted by RFC 6184) -- Obsolete informational reference (is this intentional?): RFC 2326 (ref. 'RFC3550') (Obsoleted by RFC 7826) -- Duplicate reference: RFC2326, mentioned in 'RFC2326', was also mentioned in 'RFC3550'. -- Obsolete informational reference (is this intentional?): RFC 2326 (Obsoleted by RFC 7826) -- Duplicate reference: RFC4145, mentioned in 'RFC4145', was also mentioned in 'RFC3605'. -- Obsolete informational reference (is this intentional?): RFC 2833 (Obsoleted by RFC 4733, RFC 4734) Summary: 4 errors (**), 0 flaws (~~), 8 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Nandakumar 3 Internet-Draft C. Jennings 4 Intended status: Informational Cisco 5 Expires: August 16, 2014 February 12, 2014 7 SDP for the WebRTC 8 draft-nandakumar-rtcweb-sdp-04 10 Abstract 12 The Web Real-Time Communication [WebRTC] working group is charged to 13 provide protocol support for direct interactive rich communication 14 using audio, video and data between two peers' web browsers. With in 15 the WebRTC framework, Session Description protocol (SDP) [RFC4566] is 16 used for negotiating session capabilities between the peers. Such a 17 negotiation happens based on the SDP Offer/Answer exchange mechanism 18 described in the RFC 3264 [RFC3264]. 20 This document provides an informational reference in describing the 21 role of SDP and the Offer/Answer exchange mechanism for the most 22 common WebRTC use-cases. 24 This SDP examples provided in this document is still a work in 25 progress, but it aims to align closest to the evolving standards 26 work. 28 Status of this Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at http://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on August 16, 2014. 45 Copyright Notice 47 Copyright (c) 2014 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 63 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 3. SDP and the WebRTC . . . . . . . . . . . . . . . . . . . . . 4 65 4. Offer/Answer and the WebRTC . . . . . . . . . . . . . . . . . 5 66 5. WebRTC Session Description Examples . . . . . . . . . . . . . 6 67 5.1. Some Conventions . . . . . . . . . . . . . . . . . . . . 6 68 5.2. Basic Examples . . . . . . . . . . . . . . . . . . . . . 7 69 5.2.1. Two-Way Audio Only Session . . . . . . . . . . . . . 7 70 5.2.2. Two-Way Audio/Video Session . . . . . . . . . . . . . 11 71 5.2.3. Two-Way Data Only Session . . . . . . . . . . . . . . 17 72 5.2.4. Audio Call On Hold . . . . . . . . . . . . . . . . . 19 73 5.2.5. Audio with DTMF Session . . . . . . . . . . . . . . . 23 74 5.2.6. One Way Audio/Video Session - Document Camera . . . . 28 75 5.2.7. Audio, Video Session with BUNDLE Support Unknown . . 32 76 5.2.8. Audio, Video and Data Session . . . . . . . . . . . . 39 77 5.2.9. Two-Way Audio,Video w/BUNDLE Unsupported . . . . . . 44 78 5.2.10. Audio, Video BUNDLED but Data Not BUNDLED . . . . . . 48 79 5.2.11. Audio Only then Add Video and BUNDLE . . . . . . . . 53 80 5.3. MultiResolution, RTX, FEC Examples . . . . . . . . . . . 61 81 5.3.1. Sendonly Simulcast w/2 cameras and 2 encodings per 82 camera . . . . . . . . . . . . . . . . . . . . . . . 61 83 5.3.2. Successful SVC Video Stream . . . . . . . . . . . . . 67 84 5.3.3. Successful Simulcast Video Streams with 85 Retransmisson . . . . . . . . . . . . . . . . . . . . 72 86 5.3.4. Successful 1-way Simulcast with 2 resolutions and 87 RTX - One resolution rejected . . . . . . . . . . . . 77 88 5.3.5. Simulcast Video Stream with Forward Error 89 Correction . . . . . . . . . . . . . . . . . . . . . 82 90 5.4. Others . . . . . . . . . . . . . . . . . . . . . . . . . 87 91 5.4.1. Audio Session - Voice Activity Detection . . . . . . 87 92 5.4.2. Audio Conference - Voice Activity Detection . . . . . 90 93 5.4.3. Successful legacy Interop Fallaback with 94 bundle-only . . . . . . . . . . . . . . . . . . . . . 94 95 5.4.4. Legacy Interop with RTP/AVP profile . . . . . . . . . 99 96 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 104 97 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 104 98 8. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 104 99 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 105 100 9.1. Normative References . . . . . . . . . . . . . . . . . . 105 101 9.2. Informative References . . . . . . . . . . . . . . . . . 105 102 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 108 104 1. Introduction 106 Javascript Session Exchange Protocol(JSEP) [JSEP] specifies a generic 107 protocol needed to generate [RFC3264] Offers and Answers negotiated 108 between the WebRTC peers for setting up, updating and tearing down a 109 WebRTC session. For this purpose, SDP is used to construct [RFC3264] 110 Offers/Answers for describing (media and non-media) streams as 111 appropriate for the recipients of the session description to 112 participate in the session. 114 The remainder of this document is organized as follows: Section 3 115 and 4 provides an overview of SDP and the Offer/Answer exchange 116 mechanism. Section 5 provides sample SDP generated for the most 117 common WebRTC use-cases. 119 2. Terminology 121 The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", 122 "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be 123 interpreted as described in [RFC2119]. 125 3. SDP and the WebRTC 127 The purpose of this section is to provide a general overview of SDP 128 and its components. For a more in-depth understanding, the readers 129 are advised to refer to [RFC4566]. 131 The Session Description Protocol (SDP) [RFC4566] describes multimedia 132 sessions, which can contain audio, video, whiteboard, fax, modem, and 133 other streams. SDP provides a general purpose, standard 134 representation to describe various aspects of multimedia session such 135 as media capabilities, transport addresses and related metadata in a 136 transport agnostic manner, for the purposes of session announcement, 137 session invitation and parameter negotiation. 139 As of today SDP is widely used in the context of Session Initiation 140 Protocol [RFC3261], Real-time Transport Protocol [RFC3550] and Real- 141 time Streaming Protocol applications [RFC2326]. 143 Below figure introduces high-level breakup of SDP into components 144 that semantically describe a multimedia session, in our case, a 145 WebRTC session [WebRTC]. It by no means captures everything about 146 SDP and hence, should be used for informational purposes only. 148 [WebRTC] proposes JavaScript application to fully specify and control 149 the signaling plane of a multimedia session as described in the JSEP 150 specification [JSEP]. JSEP provides mechanisms to create session 151 characterization and media definition information to conduct the 152 session based on SDP exchanges. 154 In this context, SDP serves two purposes: 155 1. Provide grammatical structure syntactically. 156 2. Semantically convey partipant's intention and capabilities 157 required to successfully negotiate a session. 159 4. Offer/Answer and the WebRTC 161 This section introduces SDP Offer/Answer Exchange mechanism mandated 162 by WebRTC for negotiating session capabilities while setting up, 163 updating and tearing down a WebRTC session. This section is 164 intentionally brief in nature and interested readers are recommended 165 to refer [RFC3264] for specific details on the protocol operation. 167 The Offer/Answer [RFC3264] model specifies rule for the bilateral 168 exchange of Session Description Protocol (SDP) messages for creation 169 of multimedia streams. It defines protocol with involved 170 participants exchanging desired session characteristics from each 171 others perspective constructed as SDP to negotiate the session 172 between them. 174 In the most basic form,the protocol operation begins by one of the 175 participants sending an initial SDP Offer describing its intent to 176 start a multimedia communication session. The participant receiving 177 the offer MAY generate an SDP Answer accepting the offer or it MAY 178 reject the offer. If the session is accepted the Offer/Answer model 179 guarantees a common view of the multimedia session between the 180 participants. 182 At any time, either participant MAY generate a new SDP offer that 183 updates the session in progress. 185 With in the context of WebRTC, the Offer/Answer model defines the 186 state-machinery for WebRTC peers to negotiate session descriptions 187 between them during the initial setup stages as well as for eventual 188 session updates. Javascript Session Establishment Protocol 189 specification [JSEP] for WebRTC provides the mechanism for generating 190 [RFC3264] SDP Offers and Answers in order for both sides of the 191 session to agree upon details such as list of media formats to be 192 sent/received, bandwidth information, crypto parameters, transport 193 parameters, for example. 195 5. WebRTC Session Description Examples 197 A typical web based real-time multimedia communication session can be 198 characterized as below: 200 o It has zero or more Audio only, Video only or Audio/Video RTP 201 Sessions, 202 o MAY contain zero or more non-media data sessions, 203 o All the sessions are secured with DTLS-SRTP, 204 o Supports NAT traversal using ICE mechanism, 205 o Provides RTCP based feedback mechanisms, 206 o Sessions can be over IPv4-only, IPv6-only, dual-stack based 207 clients. 209 5.1. Some Conventions 211 The examples given in this document follow the conventions listed 212 below: 214 o In all the examples, Alice and Bob are assumed to be the WebRTC 215 peers. 216 o [draft-ietf-mmusic-sdp-bundle-negotiation] support for 217 multiplexing several media streams on a single underlying 218 transport is enabled by default unless explicitly specified 219 otherwise. 220 o Call flow diagrams that accompany the use-cases capture only the 221 prominent aspects of the system behavior and intentionally is not 222 detailed to improve readability. 223 o The SDP examples deviate from actual on-the-wire SDP notation in 224 several ways. This is done to facilitate readability and to 225 conform to the restrictions imposed by the RFC formatting rules. 226 * Any SDP line that is indented (compared to the initial line in 227 the SDP block) is a continuation of the preceding line. The 228 line break and indent are to be interpreted as a single space 229 character. 230 * Empty lines in any SDP example are inserted to make functional 231 divisions in the SDP clearer, and are not actually part of the 232 SDP syntax. 233 * Excepting the above two conventions, line endings are to be 234 interpreted as pairs (that is, an ASCII 13 followed by 235 an ASCII 10). 236 o Against each SDP line, pointers to the appropriate RFCs are 237 provide for further information reference. Also an attempt has 238 been made to provide explanatory notes to enable better 239 understanding of the SDP usage, wherever appropriate. 240 o Following SDP details are common across all the use-cases defined 241 in this document unless mentioned otherwise. 243 * DTLS fingerprint for SRTP (a=fingerprint) 244 * RTP/RTCP Multiplexing (a=rtcp-mux) 245 * RTCP Feedback support (a=rtcp-fb) 246 * Host and server-reflexive candidate lines (a=candidate) 247 * SRTP Setup framework parameters (a=setup) 248 * RTCP attribute (a=rtcp) 249 * RTP header extension indicating audio-levels from client to the 250 mixer 251 For more details, readers are recommended to refer to the 252 Javascript Session Exchange Protocol(JSEP) [JSEP] specification. 253 o The term "Session" is used rather loosely in this document to 254 refer to either a "Communication Session" or a "RTP Session" or a 255 "RTP Stream" depending on the context. 256 o Payload type 109 is usually used for OPUS, 99 for H.264 and 120 257 for VP8 in most of the examples to maintain uniformity. 258 o In the actual use that values that represent SSRCs, ICE candidate 259 foundations, WebRTC Mediastream and MediaStreamTrack Ids can be 260 much larger and random than the ones shown in the examples. 261 [OPEN ISSUE-1]: SDP Examples for Data Channel, Simulcast, SVC are 262 still being discussed and doesn't represent the final solution. 263 [OPEN ISSUE-2]: API surface for controlling BUNDLE, TRICKLE-ICE 264 are ignored for the time being. 266 5.2. Basic Examples 268 5.2.1. Two-Way Audio Only Session 270 This common scenario shows SDP for secure Two-way audio session with 271 Alice offering Opus, PCMU, PCMA and Bob accepting all the audio 272 codecs offered. 274 title 2-Way Audio Only Session 276 participant Alice as Alice 277 participant Bob as Bob 279 Alice->Bob: Offer(Audio:Opus,PCMU,PCMA) 280 Bob->Alice: Answer(Audio:Opus,PCMU,PCMA) 281 Alice<->Bob: Two-way Opus Audio (preferred codec) 282 +--------------------------------------+----------------------------+ 283 | SDP Contents | RFC#/Notes | 284 +--------------------------------------+----------------------------+ 285 | v=0 | [RFC4566] | 286 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 287 | | Information | 288 | s=- | [RFC4566] | 289 | t=0 0 | [RFC4566] | 290 | a=msid-semantic:WMS | [MSID] | 291 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 292 | | dle-negotiation] | 293 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 294 | 0 8 | | 295 | a=mid:audio | [RFC5888] | 296 | a=msid:ma ta | Identifies RTCMediaStream | 297 | | ID (ma) and | 298 | | RTCMediaStreamTrack ID | 299 | | (ta) | 300 | c=IN IP4 24.23.204.141 | [RFC4566] | 301 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 302 | | data | 303 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 304 | | us] - Opus Codec 48khz, 2 | 305 | | channels | 306 | a=ptime:20 | [draft-ietf-payload-rtp-op | 307 | | us] - Opus packetization o | 308 | | f20ms | 309 | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | 310 | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | 311 | a=extmap:1 | [RFC6464] Alice supports | 312 | urn:ietf:params:rtp-hdrext:ssrc-audi | RTP header extension to | 313 | o-level | indicate audio levels | 314 | a=sendrecv | [RFC3264] - Alice can send | 315 | | and recv audio | 316 | a=setup:actpass | [RFC4145] - Alice can | 317 | | perform DTLS before Answer | 318 | | arrives | 319 | a=rtcp-mux | [RFC5761] - Alice can | 320 | | perform RTP/RTCP Muxing on | 321 | | port 54609 | 322 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 323 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 324 | c7:70:9d:1f:66:79:a8:07 | | 325 | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | 326 | | fragment | 327 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] - ICE password | 328 | f08a068 | | 329 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - RTP Host | 330 | 192.168.1.4 54609 typ host | Candidate | 331 | a=candidate:1 1 UDP 694302207 | [RFC5245] - RTP Server | 332 | 24.23.204.141 54609 typ srflx raddr | Reflexive ICE Candidate | 333 | 192.168.1.4 rport 54609 | | 334 | a=candidate:0 2 UDP 2113667326 | [RFC5245] - RTCP Host | 335 | 192.168.1.4 64678 typ host | Candidate | 336 | a=candidate:1 2 UDP 1694302206 | [RFC5245] - RTCP Server | 337 | 24.23.204.141 64678 typ srflx raddr | Reflexive Candidate | 338 | 192.168.1.4 rport 64678 | | 339 | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | 340 | | RTCP feedback support | 341 | a=ssrc:12345 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 342 | a=rtcp-rsize | [RFC5506] - Alice intends | 343 | | to use reduced size RTCP | 344 | | for this session | 345 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 346 | | -ice] | 347 +--------------------------------------+----------------------------+ 349 Table 1: 5.2.1 SDP Offer 351 +--------------------------------------+----------------------------+ 352 | SDP Contents | RFC#/Notes | 353 +--------------------------------------+----------------------------+ 354 | v=0 | [RFC4566] | 355 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 356 | | Information | 357 | s=- | [RFC4566] | 358 | t=0 0 | [RFC4566] | 359 | a=msid-semantic:WMS | [MSID] | 360 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 361 | | dle-negotiation] | 362 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 363 | 0 8 | | 364 | a=mid:audio | [RFC5888] | 365 | a=msid:ma ta | Identifies RTCMediaStream | 366 | | ID (ma) and | 367 | | RTCMediaStreamTrack ID | 368 | | (ta) | 369 | c=IN IP4 98.248.92.77 | [RFC4566] | 370 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 371 | | data | 372 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 373 | | us] Opus Codec | 374 | a=ptime:20 | [draft-ietf-payload-rtp-op | 375 | | us] Packetization of 20ms | 376 | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | 377 | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | 378 | a=extmap:1 | [RFC6464] Bob supports | 379 | urn:ietf:params:rtp-hdrext:ssrc-audi | audio level RTP header | 380 | o-level | extension as well | 381 | a=sendrecv | [RFC3264] - Bob can send | 382 | | and recv audio | 383 | a=setup:active | [RFC4145] - Bob carries | 384 | | out DTLS Handshake in | 385 | | parallel | 386 | a=rtcp-mux | [RFC5761] - Bob can | 387 | | perform RTP/RTCP Muxing on | 388 | | port 49203 | 389 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 390 | c9:c7:70:9d:1f:66:79:a8:07:99:41:49: | Fingerprint for SRTP | 391 | 83:4a:97:0e:1f:ef:6d:f7 | | 392 | a=ice-ufrag:05067423 | [RFC5245] - ICE user | 393 | | fragment | 394 | a=ice-pwd:1747d1ee3474a28a397a4c3f3a | [RFC5245] - ICE password | 395 | f08a068 | parameter | 396 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - RTP Host ICE | 397 | 192.168.1.7 49203 typ host | Candidate for Opus Stream | 398 | a=candidate:1 1 UDP 1694302207 | [RFC5245] - RTP Server | 399 | 98.248.92.77 49203 typ srflx raddr | Reflexive ICE Candidate | 400 | 192.168.1.7 rport 49203 | | 401 | a=candidate:0 2 UDP 2113667326 | [RFC5245] - RTCP Host | 402 | 192.168.1.7 60065 typ host | Candidate | 403 | a=candidate:1 2 UDP 1694302206 | [RFC5245] - RTCP Server | 404 | 98.248.92.77 60065 typ srflx raddr | Reflexive Candidate | 405 | 192.168.1.7 rport 60065 | | 406 | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | 407 | | RTCP feedback support | 408 | a=ssrc:54321 | [RFC5576] | 409 | cname:NWs1ao1HmN4Xa5/yvY7 | | 410 | a=rtcp-rsize | [RFC5506] - Bob intends to | 411 | | use reduced size RTCP for | 412 | | this session | 413 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 414 | | -ice] | 415 +--------------------------------------+----------------------------+ 417 Table 2: 5.2.1 SDP Answer 419 5.2.2. Two-Way Audio/Video Session 421 Alice and Bob establish an audio and video session with Opus as the 422 audio codec and H.264 as the video codec. This example also 423 illustrates the negotiation of NACK based RTCP feedback mechanisms - 424 PLI and FIR for the video session [RFC5104]. 426 title 2-Way Audio,Video Session 428 Alice->Bob: Offer(Audio:Opus,PCMU,PCMA Video:H.264,VP8) 429 Bob->Alice: Answer(Audio:Opus, Video:H.264) 430 Alice->Bob: Two-way Opus Audio, H.264 Video 432 +--------------------------------------+----------------------------+ 433 | SDP Contents | RFC#/Notes | 434 +--------------------------------------+----------------------------+ 435 | v=0 | [RFC4566] | 436 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 437 | | Information | 438 | s=- | [RFC4566] | 439 | t=0 0 | [RFC4566] | 440 | a=msid-semantic:WMS | [MSID] | 441 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 442 | | dle-negotiation] | 443 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 444 | 0 8 | | 445 | a=mid:audio | [RFC5888] | 446 | a=msid:ma ta | Identifies RTCMediaStream | 447 | | ID (ma) and | 448 | | RTCMediaStreamTrack ID | 449 | | (ta) | 450 | c=IN IP4 24.23.204.141 | [RFC4566] | 451 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 452 | | data | 453 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 454 | | us] - Opus Codec 48khz, 2 | 455 | | channels | 456 | a=ptime:20 | [draft-ietf-payload-rtp-op | 457 | | us] - Opus packetization o | 458 | | f20ms | 459 | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | 460 | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | 461 | a=extmap:1 | [RFC6464] | 462 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 463 | o-level | | 464 | a=sendrecv | [RFC3264] - Alice can send | 465 | | and recv audio | 466 | a=setup:actpass | [RFC4145] - Alice can | 467 | | perform DTLS before Answer | 468 | | arrives | 469 | a=rtcp-mux | [RFC5761] - Alice can | 470 | | perform RTP/RTCP Muxing on | 471 | | port 54609 | 472 | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | 473 | | fragment | 474 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] - ICE password | 475 | f08a068 | parameter | 476 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 477 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 478 | c7:70:9d:1f:66:79:a8:07 | | 479 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - RTP ICE | 480 | 192.168.1.4 54609 typ host | Candidate | 481 | a=candidate:1 1 UDP 694302207 | [RFC5245] - RTP Server | 482 | 24.23.204.141 54609 typ srflx raddr | Reflexive ICE Candidate | 483 | 192.168.1.4 rport 54609 | | 484 | a=candidate:0 2 UDP 2113667326 | [RFC5245] - RTCP Host | 485 | 192.168.1.4 64678 typ host | Candidate | 486 | a=candidate:1 2 UDP 1694302206 | [RFC5245] - RTCP Server | 487 | 24.23.204.141 64678 typ srflx raddr | Reflexive Candidate. | 488 | 192.168.1.4 rport 64678 | | 489 | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | 490 | | RTCP feedback support | 491 | a=ssrc:12345 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 492 | a=rtcp-rsize | [RFC5506] - Alice intends | 493 | | to use reduced size RTCP | 494 | | for this session | 495 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 496 | | -ice] | 497 | m=video 54609 UDP/TLS/RTP/SAVPF 99 | [RFC4566] | 498 | 120 | | 499 | a=mid:video | [RFC5888] | 500 | a=msid:ma tb | Identifies RTCMediaStream | 501 | | ID (ma) and | 502 | | RTCMediaStreamTrack ID | 503 | | (tb) | 504 | c=IN IP4 24.23.204.141 | [RFC4566] | 505 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 506 | | data | 507 | a=rtpmap:99 H264/90000 | [RFC3984] - H.264 Video | 508 | | Codec | 509 | a=fmtp:99 | [RFC3984] | 510 | profile-level-id=4d0028;packetizatio | | 511 | n-mode=1 | | 512 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] - | 513 | | VP8 video codec | 514 | a=sendrecv | [RFC3264] - Alice can send | 515 | | and recv video | 516 | a=setup:actpass | [RFC4145] - Alice can | 517 | | perform DTLS before Answer | 518 | | arrives | 519 | a=rtcp-mux | [RFC5761] - Alice can | 520 | | perform RTP/RTCP Muxing on | 521 | | port 62537 | 522 | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | 523 | | fragment | 524 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] - ICE password | 525 | f08a068 | parameter | 526 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 527 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 528 | c7:70:9d:1f:66:79:a8:07 | | 529 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - RTP Host ICE | 530 | 192.168.1.4 54609 typ host | Candidate | 531 | a=candidate:1 1 UDP 694302207 | [RFC5245] - RTP Server | 532 | 24.23.204.141 54609 typ srflx raddr | Reflexive ICE Candidate | 533 | 192.168.1.4 rport 54609 | | 534 | a=candidate:0 2 UDP 2113667326 | [RFC5245] - RTCP Host | 535 | 192.168.1.4 64678 typ host | Candidate | 536 | a=candidate:1 2 UDP 1694302206 | [RFC5245] - RTCP Server | 537 | 24.23.204.141 64678 typ srflx raddr | Reflexive Candidate | 538 | 192.168.1.4 rport 64678 | | 539 | a=rtcp-fb:99 nack | [RFC5104] - Indicates NACK | 540 | | RTCP feedback support | 541 | a=rtcp-fb:99 nack pli | [RFC5104] - Indicates | 542 | | support for Picture loss | 543 | | Indication and NACK | 544 | a=rtcp-fb:99 ccm fir | [RFC5104] - Full Intra | 545 | | Frame Request-Codec | 546 | | Control Message support | 547 | a=rtcp-fb:120 nack | [RFC5104] - Indicates NACK | 548 | | RTCP feedback support | 549 | a=rtcp-fb:120 nack pli | [RFC5104] - Indicates | 550 | | support for Picture loss | 551 | | Indication and NACK | 552 | a=rtcp-fb:120 ccm fir | [RFC5104] - Full Intra | 553 | | Frame Request-Codec | 554 | | Control Message support | 555 | a=ssrc:1366781083 | [RFC5576] | 556 | cname:EocUG1f0fcg/yvY7 | | 557 | a=rtcp-rsize | [RFC5506] - Alice intends | 558 | | to use reduced size RTCP | 559 | | for this session | 560 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 561 | | -ice] | 562 +--------------------------------------+----------------------------+ 564 Table 3: 5.2.2 SDP Offer 566 +--------------------------------------+----------------------------+ 567 | SDP Contents | RFC#/Notes | 568 +--------------------------------------+----------------------------+ 569 | v=0 | [RFC4566] | 570 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 571 | | Information | 572 | s=- | [RFC4566] | 573 | t=0 0 | [RFC4566] | 574 | a=msid-semantic:WMS | [MSID] | 575 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 576 | | dle-negotiation] | 577 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 578 | a=mid:audio | [RFC5888] | 579 | a=msid:ma ta | Identifies RTCMediaStream | 580 | | ID (ma) and | 581 | | RTCMediaStreamTrack ID | 582 | | (ta) | 583 | c=IN IP4 98.248.92.77 | [RFC4566] | 584 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 585 | | data | 586 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 587 | | us] - Bob accepts only Opu | 588 | | sCodec | 589 | a=extmap:1 | [RFC6464] | 590 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 591 | o-level | | 592 | a=ptime:20 | [draft-ietf-payload-rtp-op | 593 | | us] | 594 | a=sendrecv | [RFC3264] - Bob can send | 595 | | and recv audio | 596 | a=setup:active | [RFC4145] - Bob carries | 597 | | out DTLS Handshake in | 598 | | parallel | 599 | a=rtcp-mux | [RFC5761] - Bob can | 600 | | perform RTP/RTCP Muxing on | 601 | | port 49203 | 602 | a=ice-ufrag:c300d85b | [RFC5245] - ICE username | 603 | | frag | 604 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] - ICE password | 605 | abd9a2 | | 606 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 607 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 608 | c7:70:9d:1f:66:79:a8:07 | | 609 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - RTP Host ICE | 610 | 192.168.1.7 49203 typ host | Candidate for Opus Stream | 611 | a=candidate:1 1 UDP 1694302207 | [RFC5245] - RTP Server | 612 | 98.248.92.77 49203 typ srflx raddr | Reflexive ICE Candidate | 613 | 192.168.1.7 rport 49203 | | 614 | a=candidate:0 2 UDP 2113667326 | [RFC5245] - RTPC Host | 615 | 192.168.1.7 60065 typ host | Candidate | 616 | a=candidate:1 2 UDP 1694302206 | [RFC5245] - RTCP Server | 617 | 98.248.92.77 60065 typ srflx raddr | Reflexive Candidate. | 618 | 192.168.1.7 rport 60065 | | 619 | a=ssrc:1366788312 | [RFC5576] | 620 | cname:1f0fcgEocUG/yvY7 | | 621 | a=rtcp-rsize | [RFC5506] - Bob intends to | 622 | | use reduced size RTCP for | 623 | | this session | 624 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 625 | | -ice] | 626 | m=video 49203 UDP/TLS/RTP/SAVPF 99 | [RFC4566] | 627 | a=mid:video | [RFC5888] | 628 | a=msid:ma tb | Identifies RTCMediaStream | 629 | | ID (ma) and | 630 | | RTCMediaStreamTrack ID | 631 | | (tb) | 632 | c=IN IP4 98.248.92.77 | [RFC4566] | 633 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 634 | | data | 635 | a=rtpmap:99 H264/90000 | [RFC3984] - Bob accepts | 636 | | H.264 Video Codec. | 637 | a=fmtp:99 | [RFC3984] | 638 | profile-level-id=4d0028;packetizatio | | 639 | n-mode=1 | | 640 | a=sendrecv | [RFC3264] - Bob can send | 641 | | and recv video | 642 | a=setup:active | [RFC4145] - Bob carries | 643 | | out DTLS Handshake in | 644 | | parallel | 645 | a=rtcp-mux | [RFC5761] - Bob can | 646 | | perform RTP/RTCP Muxing on | 647 | | port 63130 | 648 | a=ice-ufrag:c300d85b | [RFC5245] - ICE username | 649 | | frag | 650 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] - ICE password | 651 | abd9a2 | | 652 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 653 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 654 | c7:70:9d:1f:66:79:a8:07 | | 655 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - Host ICE | 656 | 192.168.1.7 49203 typ host | Candidate for Opus Stream | 657 | a=candidate:1 1 UDP 1694302207 | [RFC5245] - Server | 658 | 98.248.92.77 49203 typ srflx raddr | Reflexive ICE Candidate | 659 | 192.168.1.7 rport 49203 | for the above host | 660 | | candidate | 661 | a=candidate:0 2 UDP 2113667326 | [RFC5245] - Second Host | 662 | 192.168.1.7 60065 typ host | Candidate | 663 | a=candidate:1 2 UDP 1694302206 | [RFC5245] - Server | 664 | 98.248.92.77 60065 typ srflx raddr | Reflexive Candidate for | 665 | 192.168.1.7 rport 60065 | the Second Host Candidate | 666 | a=rtcp-fb:99 nack | [RFC5104] - Indicates | 667 | | support for NACK based | 668 | | RTCP feedback | 669 | a=rtcp-fb:99 nack pli | [RFC5104] - Indicates | 670 | | support for Picture loss | 671 | | Indication and NACK | 672 | a=rtcp-fb:99 ccm fir | [RFC5104] - Full Intra | 673 | | Frame Request-Codec | 674 | | Control Message support | 675 | a=ssrc:3229706345 | [RFC5576] | 676 | cname:Q/NWs1ao1HmN4Xa5 | | 677 | a=rtcp-rsize | [RFC5506] - Bob intends to | 678 | | use reduced size RTCP for | 679 | | this session | 680 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 681 | | -ice] | 682 +--------------------------------------+----------------------------+ 684 Table 4: 5.2.2 SDP Answer 686 5.2.3. Two-Way Data Only Session 688 This scenario illustrates SDP negotiated to setup a data-only session 689 based on SCTP Data Channel, thus enabling use-cases such as file- 690 transfer for example. 692 title WebRTC Session - 2-Way Secure Audio,Video with RTCP Feedback 693 Alice->Bob: Offer(DataChannel) 694 Bob->Alice: Answer(Data-Channel) 695 Alice->Bob: Two-way SCTP based Data-Channel 697 +--------------------------------------+----------------------------+ 698 | SDP Contents | RFC#/Notes | 699 +--------------------------------------+----------------------------+ 700 | v=0 | [RFC4566] | 701 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 702 | | Information | 703 | s=- | [RFC4566] | 704 | t=0 0 | [RFC4566] | 705 | a=msid-semantic:WMS | [MSID] | 706 | a=group:BUNDLE data | [draft-ietf-mmusic-sdp-bun | 707 | | dle-negotiation] | 708 | a=ice-ufrag:074c6550 | [RFC5245] - Session Level | 709 | | ICE parameter | 710 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] - Session Level | 711 | f08a068 | ICE parameter | 712 | a=fingerprint:sha-1 | [RFC5245] - Session DTLS | 713 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 714 | c7:70:9d:1f:66:79:a8:07 | | 715 | m=application 56966 DTLS/SCTP 5000 | [draft-ietf-rtcweb-data-ch | 716 | | annel] | 717 | c=IN IP4 24.23.204.141 | [RFC4566] | 718 | a=mid:data | [RFC5888] | 719 | a=sctpmap:5000 webrtc-Datachannel 1 | [draft-ietf-mmusic-sctp-sd | 720 | | p] - One data stream of | 721 | | type chat | 722 | a=webrtc-Datachannel:5000 | [draft-ietf-mmusic-sctp-sd | 723 | stream=1;label="channel | p] | 724 | 1";subprotocol="chat"; | | 725 | a=setup:actpass | [RFC4145] - Alice can | 726 | | perform DTLS before Answer | 727 | | arrives | 728 | a=sendrecv | [RFC3264] - Alice can send | 729 | | and recv non-media data | 730 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 731 | 192.168.1.7 56966 typ host | | 732 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 733 | 24.23.204.141 56966 typ srflx raddr | | 734 | 192.168.1.7 rport 56966 | | 735 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 736 | | -ice] | 737 +--------------------------------------+----------------------------+ 739 Table 5: 5.2.3 SDP Offer 741 +--------------------------------------+----------------------------+ 742 | SDP Contents | RFC#/Notes | 743 +--------------------------------------+----------------------------+ 744 | v=0 | [RFC4566] | 745 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 746 | | Information | 747 | s=- | [RFC4566] | 748 | t=0 0 | [RFC4566] | 749 | a=msid-semantic:WMS | [MSID] | 750 | a=group:BUNDLE data | [draft-ietf-mmusic-sdp-bun | 751 | | dle-negotiation] | 752 | m=application 55700 DTLS/SCTP 5000 | [draft-ietf-mmusic-sctp-sd | 753 | | p] | 754 | c=IN IP4 98.248.92.771 | [RFC4566] | 755 | a=mid:data | [RFC5888] | 756 | a=sctpmap:5000 webrtc-Datachannel 1 | [draft-ietf-mmusic-sctp-sd | 757 | | p] | 758 | a=webrtc-Datachannel:5000 | [draft-ietf-mmusic-sctp-sd | 759 | stream=1;label="channel | p] | 760 | 1";subprotocol="chat"; | | 761 | a=setup:active | [RFC4145] - Bob carries | 762 | | out DTLS Handshake in | 763 | | parallel | 764 | a=sendrecv | [RFC3264] - Bob can send | 765 | | and recv non-media data | 766 | a=ice-ufrag:c300d85b | [RFC5245] - Session Level | 767 | | ICE username frag | 768 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] - Session Level | 769 | abd9a2 | ICE password | 770 | a=fingerprint:sha-1 | [RFC5245] - Session DTLS | 771 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 772 | c7:70:9d:1f:66:79:a8:07 | | 773 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - Refer 4.1 SDP | 774 | 192.168.1.7 55700 typ host | Offer | 775 | a=candidate:1 1 UDP 1694302207 | [RFC5245] Refer 4.1 SDP | 776 | 98.248.92.77 55700 typ srflx raddr | Offer | 777 | 192.168.1.7 rport 55700 | | 778 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 779 | | -ice] | 780 +--------------------------------------+----------------------------+ 782 Table 6: 5.2.3 SDP Answer 784 5.2.4. Audio Call On Hold 786 Alice calls Bob, but when Bob answers he places Alice on hold by 787 setting the SDP direction attribute to a=sendonly in the Answer. 789 title Secure 2-Way Audio Only Session 790 participant Alice as Alice 791 participant Bob as Bob 792 Alice->Bob: Offer(Audio:Opus) 793 Bob->Alice: Answer(Audio:Opus,a=sendonly) 794 Alice->Bob: One-way Opus Audio (preferred codec) 795 +--------------------------------------+----------------------------+ 796 | SDP Contents | RFC#/Notes | 797 +--------------------------------------+----------------------------+ 798 | v=0 | [RFC4566] | 799 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 800 | | Information | 801 | s=- | [RFC4566] | 802 | t=0 0 | [RFC4566] | 803 | a=msid-semantic:WMS | [MSID] | 804 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 805 | | dle-negotiation] | 806 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 807 | a=mid:audio | [RFC5888] | 808 | a=msid:ma ta | Identifies RTCMediaStream | 809 | | ID (ma) and | 810 | | RTCMediaStreamTrack ID | 811 | | (ta) | 812 | c=IN IP4 24.23.204.141 | [RFC4566] | 813 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 814 | | data | 815 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 816 | | us] - Opus Codec 48khz, 2 | 817 | | channels | 818 | a=extmap:1 | [RFC6464] | 819 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 820 | o-level | | 821 | a=ptime:20 | [draft-ietf-payload-rtp-op | 822 | | us] - Opus packetization o | 823 | | f20ms | 824 | a=sendrecv | [RFC3264] - Alice can send | 825 | | and recv audio | 826 | a=setup:actpass | [RFC4145] - Alice can | 827 | | perform DTLS before Answer | 828 | | arrives | 829 | a=rtcp-mux | [RFC5761] - Alice can | 830 | | perform RTP/RTCP Muxing on | 831 | | port 54609 | 832 | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | 833 | | fragment | 834 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] - ICE password | 835 | f08a068 | | 836 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 837 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 838 | c7:70:9d:1f:66:79:a8:07 | | 839 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 840 | 192.168.1.4 54609 typ host | | 841 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 842 | 24.23.204.141 54609 typ srflx raddr | | 843 | 192.168.1.4 rport 54609 | | 844 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 845 | 192.168.1.4 64678 typ host | | 846 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 847 | 24.23.204.141 64678 typ srflx raddr | | 848 | 192.168.1.4 rport 64678 | | 849 | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | 850 | | RTCP feedback support | 851 | a=ssrc:3229706345 | [RFC5576] | 852 | cname:Q/NWs1ao1HmN4Xa5 | | 853 | a=rtcp-rsize | [RFC5506] | 854 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 855 | | -ice] | 856 +--------------------------------------+----------------------------+ 858 Table 7: 5.2.4 SDP Offer 860 +--------------------------------------+----------------------------+ 861 | SDP Contents | RFC#/Notes | 862 +--------------------------------------+----------------------------+ 863 | v=0 | [RFC4566] | 864 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 865 | | Information | 866 | s=- | [RFC4566] | 867 | t=0 0 | [RFC4566] | 868 | a=msid-semantic:WMS | [MSID] | 869 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 870 | | dle-negotiation] | 871 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 872 | a=mid:audio | [RFC5888] | 873 | a=msid:ma ta | Identifies RTCMediaStream | 874 | | ID (ma) and | 875 | | RTCMediaStreamTrack ID | 876 | | (ta) | 877 | c=IN IP4 98.248.92.77 | [RFC4566] | 878 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 879 | | data | 880 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 881 | | us] - Bob accepts only Opu | 882 | | sCodec | 883 | a=extmap:1 | [RFC6464] | 884 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 885 | o-level | | 886 | a=ptime:20 | [draft-ietf-payload-rtp-op | 887 | | us] | 888 | a=sendonly | [RFC3264] - Bob puts call | 889 | | On Hold | 890 | a=setup:active | [RFC4145] - Bob carries | 891 | | out DTLS Handshake in | 892 | | parallel | 893 | a=rtcp-mux | [RFC5761] - Bob can | 894 | | perform RTP/RTCP Muxing on | 895 | | port 49203 | 896 | a=ice-ufrag:c300d85b | [RFC5245] - ICE username | 897 | | frag | 898 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] - ICE password | 899 | abd9a2 | | 900 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 901 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 902 | c7:70:9d:1f:66:79:a8:07 | | 903 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 904 | 192.168.1.7 49203 typ host | | 905 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 906 | 98.248.92.77 49203 typ srflx raddr | | 907 | 192.168.1.7 rport 49203 | | 908 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 909 | 192.168.1.7 60065 typ host | | 910 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 911 | 98.248.92.77 60065 typ srflx raddr | | 912 | 192.168.1.7 rport 60065 | | 913 | a=ssrc:1366781083 | [RFC5576] | 914 | cname:EocUG1f0fcg/yvY7 | | 915 | a=rtcp-rsize | [RFC5506] | 916 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 917 | | -ice] | 918 +--------------------------------------+----------------------------+ 920 Table 8: 5.2.4 SDP Answer 922 5.2.5. Audio with DTMF Session 924 In this example, Alice wishes to establish two separate audio 925 streams, one for normal audio and the other for telephone-events. 926 Alice offers first audio stream with three codecs and the other with 927 [RFC2833] tones (for DTMF). Bob accepts both the audio streams by 928 choosing Opus as the audio codec and the telephone-event for the 929 other stream. 931 title Audio Session with DTMF 932 participant Alice as Alice 933 participant Bob as Bob 934 Alice->Bob: Offer(Audio:Opus,PCMU,PCMA Audio:telephone-event) 935 Bob->Alice: Answer(Audio:Opus, Audio:telephone-event) 936 Alice->Bob: Opus audio stream and telephone-event stream 938 +--------------------------------------+----------------------------+ 939 | SDP Contents | RFC#/Notes | 940 +--------------------------------------+----------------------------+ 941 | v=0 | [RFC4566] | 942 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 943 | | Information | 944 | s=- | [RFC4566] | 945 | t=0 0 | [RFC4566] | 946 | a=msid-semantic:WMS | [MSID] | 947 | a=group:BUNDLE audio dtmf | [draft-ietf-mmusic-sdp-bun | 948 | | dle-negotiation] | 949 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 950 | 0 8 | | 951 | a=mid:audio | [RFC5888] | 952 | a=msid:ma ta | Identifies RTCMediaStream | 953 | | ID (ma) and | 954 | | RTCMediaStreamTrack ID | 955 | | (ta) | 956 | c=IN IP4 24.23.204.141 | [RFC4566] | 957 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 958 | | data | 959 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 960 | | us] - Opus Codec 48khz, 2 | 961 | | channels | 962 | a=ptime:20 | [draft-ietf-payload-rtp-op | 963 | | us] - Opus packetization o | 964 | | f20ms | 965 | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | 966 | a=rtpmap:8 PCMA/8000 | [RFC3551] PCMA Audio Codec | 967 | a=extmap:1 | [RFC6464] | 968 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 969 | o-level | | 970 | a=sendrecv | [RFC3264] - Alice can send | 971 | | and recv audio | 972 | a=setup:actpass | [RFC4145] - Alice can | 973 | | perform DTLS before Answer | 974 | | arrives | 975 | a=rtcp-mux | [RFC5761] - Alice can | 976 | | perform RTP/RTCP Muxing on | 977 | | port 54609 | 978 | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | 979 | | fragment | 980 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] - ICE password | 981 | f08a068 | parameter | 982 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 983 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 984 | c7:70:9d:1f:66:79:a8:07 | | 985 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 986 | 192.168.1.4 54609 typ host | | 987 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 988 | 24.23.204.141 54609 typ srflx raddr | | 989 | 192.168.1.4 rport 54609 | | 990 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 991 | 192.168.1.4 64678 typ host | | 992 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 993 | 24.23.204.141 64678 typ srflx raddr | | 994 | 192.168.1.4 rport 64678 | | 995 | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | 996 | | RTCP feedback support | 997 | a=ssrc:3229706345 | [RFC5576] | 998 | cname:Q/NWs1ao1HmN4Xa5 | | 999 | a=rtcp-rsize | [RFC5506] | 1000 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1001 | | -ice] | 1002 | m=audio 54609 UDP/TLS/RTP/SAVPF 126 | [RFC4566] | 1003 | a=mid:dtmf | [RFC5888] | 1004 | a=msid:ma tb | Identifies RTCMediaStream | 1005 | | ID (ma) and | 1006 | | RTCMediaStreamTrack ID | 1007 | | (tb) | 1008 | c=IN IP4 24.23.204.141 | [RFC4566] | 1009 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 1010 | | data | 1011 | a=rtpmap:126 telephone-event/8000 | [RFC2833] | 1012 | a=sendonly | [RFC3264] - Alice can send | 1013 | | DTMF Events | 1014 | a=setup:actpass | [RFC4145] - Alice can | 1015 | | perform DTLS before Answer | 1016 | | arrives | 1017 | a=rtcp-mux | [RFC5761] | 1018 | a=ice-ufrag:074c6550 | [RFC5245] - ICE user | 1019 | | fragment | 1020 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] - ICE password | 1021 | f08a068 | parameter | 1022 | a=fingerprint:sha-1 | [RFC5245] - DTLS | 1023 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | Fingerprint for SRTP | 1024 | c7:70:9d:1f:66:79:a8:07 | | 1025 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1026 | 192.168.1.4 54609 typ host | | 1027 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1028 | 24.23.204.141 54609 typ srflx raddr | | 1029 | 192.168.1.4 rport 54609 | | 1030 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1031 | 192.168.1.4 64678 typ host | | 1032 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1033 | 24.23.204.141 64678 typ srflx raddr | | 1034 | 192.168.1.4 rport 64678 | | 1035 | a=rtcp-fb:109 nack | [RFC5104] - Indicates NACK | 1036 | | RTCP feedback support | 1037 | a=ssrc:9032206345 | [RFC5576] | 1038 | cname:L/N9lk1ao1HmN4Xa5 | | 1039 | a=rtcp-rsize | [RFC5506] | 1040 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1041 | | -ice] | 1042 +--------------------------------------+----------------------------+ 1044 Table 9: 5.2.5 SDP Offer 1046 +--------------------------------------+----------------------------+ 1047 | SDP Contents | RFC#/Notes | 1048 +--------------------------------------+----------------------------+ 1049 | v=0 | [RFC4566] | 1050 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 1051 | | Information | 1052 | s=- | [RFC4566] | 1053 | t=0 0 | [RFC4566] | 1054 | a=msid-semantic:WMS | [MSID] | 1055 | a=group:BUNDLE audio dtmf | [draft-ietf-mmusic-sdp-bun | 1056 | | dle-negotiation] | 1057 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1058 | a=mid:audio | [RFC5888] | 1059 | a=msid:ma ta | Identifies RTCMediaStream | 1060 | | ID (ma) and | 1061 | | RTCMediaStreamTrack ID | 1062 | | (ta) | 1063 | c=IN IP4 98.248.92.77 | [RFC4566] | 1064 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 1065 | | data | 1066 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1067 | | us] - Bob accepts Opus | 1068 | | Codec | 1069 | a=extmap:1 | [RFC6464] | 1070 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1071 | o-level | | 1072 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1073 | | us] | 1074 | a=sendrecv | [RFC3264] - Bob can send | 1075 | | and receive Opus audio | 1076 | a=setup:active | [RFC4145] - Bob carries | 1077 | | out DTLS Handshake in | 1078 | | parallel | 1079 | a=rtcp-mux | [RFC5761] - Bob can | 1080 | | perform RTP/RTCP Muxing on | 1081 | | port 49203 | 1082 | a=ice-ufrag:c300d85b | [RFC5245] - ICE username | 1083 | | frag | 1084 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] - ICE password | 1085 | abd9a2 | | 1086 | a=fingerprint:sha-1 | [RFC5245] - Fingerprint | 1087 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | for SRTP | 1088 | c7:70:9d:1f:66:79:a8:07 | | 1089 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1090 | 192.168.1.7 49203 typ host | | 1091 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1092 | 98.248.92.77 49203 typ srflx raddr | | 1093 | 192.168.1.7 rport 49203 | | 1094 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1095 | 192.168.1.7 60065 typ host | | 1096 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1097 | 98.248.92.77 60065 typ srflx raddr | | 1098 | 192.168.1.7 rport 60065 | | 1099 | a=ssrc:0634322975 | [RFC5576] | 1100 | cname:Q/o1HmN4XNWs1aa5 | | 1101 | a=rtcp-rsize | [RFC5506] - Alice intends | 1102 | | to use reduced size RTCP | 1103 | | for this session | 1104 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1105 | | -ice] | 1106 | m=audio 49203 UDP/TLS/RTP/SAVPF 126 | [RFC4566] | 1107 | a=mid:dtmf | [RFC5888] | 1108 | a=msid:ma tb | Identifies RTCMediaStream | 1109 | | ID (ma) and | 1110 | | RTCMediaStreamTrack ID | 1111 | | (tb) | 1112 | c=IN IP4 98.248.92.77 | [RFC4566] | 1113 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 1114 | | data | 1115 | a=rtpmap:126 telephone-event/8000 | [RFC2833] | 1116 | a=recvonly | [RFC3264] - Alice can | 1117 | | receive DTMF events | 1118 | a=setup:active | [RFC4145] - Bob carries | 1119 | | out DTLS Handshake in | 1120 | | parallel | 1121 | a=rtcp-mux | [RFC5761] - Alice can | 1122 | | perform RTP/RTCP Muxing on | 1123 | | port 54690 | 1124 | a=ice-ufrag:c300d85b | [RFC5245] - ICE username | 1125 | | frag | 1126 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] - ICE password | 1127 | abd9a2 | | 1128 | a=fingerprint:sha-1 | [RFC5245] - Fingerprint | 1129 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | for SRTP | 1130 | c7:70:9d:1f:66:79:a8:07 | | 1131 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1132 | 192.168.1.7 49203 typ host | | 1133 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1134 | 98.248.92.77 49203 typ srflx raddr | | 1135 | 192.168.1.7 rport 49203 | | 1136 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1137 | 192.168.1.7 60065 typ host | | 1138 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1139 | 98.248.92.77 60065 typ srflx raddr | | 1140 | 192.168.1.7 rport 60065 | | 1141 | a=ssrc:6345903220 | [RFC5576] | 1142 | cname:L/k1aN9lo1HmN4Xa5 | | 1143 | a=rtcp-rsize | [RFC5506] - Alice intends | 1144 | | to use reduced size RTCP | 1145 | | for this session | 1146 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1147 | | -ice] | 1148 +--------------------------------------+----------------------------+ 1150 Table 10: 5.2.5 SDP Answer 1152 5.2.6. One Way Audio/Video Session - Document Camera 1154 In this scenario Alice and Bob engage in 1 way audio and video 1155 session with Bob receiving Alice's audio and her presentation slides 1156 as video stream. 1158 title 1 Way Audio & Video Session - Document Camera 1160 note right of Alice 1161 Alice Offers sendonly audio and video streams. 1162 The video stream corresponds to her presentation 1163 slides via a=content SDP attribute) 1164 end note 1165 Alice->Bob: Offer(Audio:Opus, Video: VP8) 1166 note left of Bob 1167 Bob accepts Alice's offer 1168 end note 1169 Bob->Alice: Answer(Audio:Opus, Video: VP8) 1170 Alice->Bob: One-way Opus Audio, VP8 Video 1171 note right of Alice 1172 Bob can hear Alice and see her presentation slides. 1173 end note 1175 +--------------------------------------+----------------------------+ 1176 | SDP Contents | RFC#/Notes | 1177 +--------------------------------------+----------------------------+ 1178 | v=0 | [RFC4566] | 1179 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 1180 | s=- | [RFC4566] | 1181 | t=0 0 | [RFC4566] | 1182 | a=msid-semantic:WMS | [MSID] | 1183 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 1184 | | dle-negotiation] | 1185 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1186 | a=mid:audio | [RFC5888] | 1187 | a=msid:ma ta | Identifies RTCMediaStream | 1188 | | ID (ma) and | 1189 | | RTCMediaStreamTrack ID | 1190 | | (ta) | 1191 | c=IN IP4 24.23.204.141 | [RFC4566] | 1192 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 1193 | | data | 1194 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1195 | | us] | 1196 | a=extmap:1 | [RFC6464] | 1197 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1198 | o-level | | 1199 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1200 | | us] | 1201 | a=sendonly | [RFC3264] - Send only | 1202 | | audio stream | 1203 | a=setup:actpass | [RFC4145] - Alice can | 1204 | | perform DTLS before Answer | 1205 | | arrives | 1206 | a=rtcp-mux | [RFC5761] | 1207 | a=ice-ufrag:074c6550 | [RFC5245] | 1208 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1209 | f08a068 | | 1210 | a=fingerprint:sha-1 | [RFC5245] | 1211 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1212 | c7:70:9d:1f:66:79:a8:07 | | 1213 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1214 | 24.23.204.141 54609 typ host | | 1215 | a=candidate:0 2 UDP 2113667326 | [RFC5104] | 1216 | 24.23.204.141 64678 typ host | | 1217 | a=rtcp-fb:109 nack | [RFC5104] | 1218 | a=ssrc:6345903220 | [RFC5576] | 1219 | cname:L/k1aN9lo1HmN4Xa5 | | 1220 | a=rtcp-rsize | [RFC5506] | 1221 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1222 | | -ice] | 1223 | m=video 54609 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1224 | a=mid:video | [RFC5888] | 1225 | a=msid:ma tb | Identifies RTCMediaStream | 1226 | | ID (ma) and | 1227 | | RTCMediaStreamTrack ID | 1228 | | (tb) | 1229 | c=IN IP4 24.23.204.141 | [RFC4566] | 1230 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 1231 | | data | 1232 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 1233 | a=content:slides | [RFC4796] -Alice's | 1234 | | presentation video stream | 1235 | a=sendonly | [RFC3264] - Send only | 1236 | | video stream | 1237 | a=setup:actpass | [RFC4145] - Alice can | 1238 | | perform DTLS before Answer | 1239 | | arrives | 1240 | a=rtcp-mux | [RFC5761] | 1241 | a=ice-ufrag:074c6550 | [RFC5245] | 1242 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1243 | f08a068 | | 1244 | a=fingerprint:sha-1 | [RFC5245] | 1245 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1246 | c7:70:9d:1f:66:79:a8:07 | | 1247 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1248 | 24.23.204.141 54609 typ host | | 1249 | a=candidate:0 2 UDP 2113667326 | [RFC5104] | 1250 | 24.23.204.141 64678 typ host | | 1251 | a=rtcp-fb:120 nack | [RFC5104] | 1252 | a=rtcp-fb:120 nack pli | [RFC5104] | 1253 | a=rtcp-fb:120 ccm fir | [RFC5104] | 1254 | a=ssrc:3429951804 | [RFC5576] | 1255 | cname:Q/NWs1ao1HmN4Xa5 | | 1256 | a=rtcp-rsize | [RFC5506] | 1257 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1258 | | -ice] | 1259 +--------------------------------------+----------------------------+ 1261 Table 11: 5.2.6 SDP Offer 1263 +--------------------------------------+----------------------------+ 1264 | SDP Contents | RFC#/Notes | 1265 +--------------------------------------+----------------------------+ 1266 | v=0 | [RFC4566] | 1267 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] | 1268 | s=- | [RFC4566] | 1269 | t=0 0 | [RFC4566] | 1270 | a=msid-semantic:WMS | [MSID] | 1271 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 1272 | | dle-negotiation] | 1273 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1274 | a=mid:audio | [RFC5888] | 1275 | a=msid:ma ta | Identifies RTCMediaStream | 1276 | | ID (ma) and | 1277 | | RTCMediaStreamTrack ID | 1278 | | (ta) | 1279 | c=IN IP4 98.248.92.77 | [RFC4566] | 1280 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 1281 | | data | 1282 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1283 | | us] | 1284 | a=extmap:1 | [RFC6464] | 1285 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1286 | o-level | | 1287 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1288 | | us] | 1289 | a=recvonly | [RFC3264] - Receive only | 1290 | | audio stream | 1291 | a=setup:active | [RFC4145] - Bob carries | 1292 | | out DTLS Handshake in | 1293 | | parallel | 1294 | a=rtcp-mux | [RFC5761] | 1295 | a=ice-ufrag:c300d85b | [RFC5245] | 1296 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 1297 | abd9a2 | | 1298 | a=fingerprint:sha-1 | [RFC5245] | 1299 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1300 | c7:70:9d:1f:66:79:a8:07 | | 1301 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1302 | 98.248.92.77 49203 typ host | | 1303 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1304 | 98.248.92.77 60065 typ host | | 1305 | a=ssrc:9513429804 | [RFC5576] | 1306 | cname:Q/o1HmNWs1aN4Xa5 | | 1307 | a=rtcp-rsize | [RFC5506] | 1308 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1309 | | -ice] | 1310 | m=video 49203 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1311 | a=mid:video | [RFC5888] | 1312 | a=msid:ma tb | Identifies RTCMediaStream | 1313 | | ID (ma) and | 1314 | | RTCMediaStreamTrack ID | 1315 | | (tb) | 1316 | c=IN IP4 98.248.92.77 | [RFC4566] | 1317 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 1318 | | data | 1319 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 1320 | a=content:slides | [RFC4796] | 1321 | a=recvonly | [RFC3264] - Receive Only | 1322 | | Alice's presentation | 1323 | | stream | 1324 | a=setup:active | [RFC4145] - Bob carries | 1325 | | out DTLS Handshake in | 1326 | | parallel | 1327 | a=rtcp-mux | [RFC5761] | 1328 | a=ice-ufrag:c300d85b | [RFC5245] | 1329 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 1330 | abd9a2 | | 1331 | a=fingerprint:sha-1 | [RFC5245] | 1332 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1333 | c7:70:9d:1f:66:79:a8:07 | | 1334 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1335 | 98.248.92.77 49203 typ host | | 1336 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1337 | 98.248.92.77 60065 typ host | | 1338 | a=ssrc:1366781083 | [RFC5576] | 1339 | cname:EocUG1f0fcg/yvY7 | | 1340 | a=rtcp-rsize | [RFC5506] | 1341 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1342 | | -ice] | 1343 +--------------------------------------+----------------------------+ 1345 Table 12: 5.2.6 SDP Answer 1347 5.2.7. Audio, Video Session with BUNDLE Support Unknown 1349 In this example, since Alice is unsure of the Bob's support of the 1350 BUNDLE framework, following 3 step procedures are performed in order 1351 to negotiate and setup a unique BUNDLE Address for the session 1352 o An SDP Offer, in which the Alice assigns unique addresses to each 1353 "m=" line in the BUNDLE group, and requests the Answerer to select 1354 the Offerer's BUNDLE address. 1355 o An SDP Answer, in which the Bob indicates its support for BUNDLE, 1356 and assigns its own BUNDLE address for the BUNDLED m= lines. 1357 o A subsequent SDP Offer from Alice, which is used to perform a 1358 BUNDLE Address Synchronization (BAS). 1359 Once the Offer/Answer exchange completes, both Alice and Bob each end 1360 up using single RTP Session for both the Media Streams. 1362 title 2-Way Secure Audio,Video with BUNDLE support unknown 1364 Alice->Bob: Offer(Audio:Opus Video:VP8) 1365 note right of Alice 1366 Alice offers BUNDLE support with unique address for the audio and video m-line 1367 end note 1369 Bob->Alice: Answer(Audio:Opus Video:VP8) indicating its support for BUNDLE 1370 note left of Bob 1371 Bob uses identical addresses across the m=lines 1372 end note 1374 Alice->Bob: Updated Offer(Audio:Opus Video:VP8) for Bundle Address Synchronzation. 1376 Alice <-> Bob: 2Way Call with Audio and Video Multiplexed 1378 +--------------------------------------+----------------------------+ 1379 | SDP Contents | RFC#/Notes | 1380 +--------------------------------------+----------------------------+ 1381 | v=0 | [RFC4566] | 1382 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 1383 | s=- | [RFC4566] | 1384 | t=0 0 | [RFC4566] | 1385 | a=msid-semantic:WMS | [MSID] | 1386 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 1387 | | dle-negotiation] Alice | 1388 | | supports grouping of | 1389 | | m=lines under BUNDLE | 1390 | | semantics | 1391 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1392 | a=mid:audio | [RFC5888] Audio m=line | 1393 | | part of BUNDLE group with | 1394 | | a unique port number | 1395 | a=msid:ma ta | Identifies RTCMediaStream | 1396 | | ID (ma) and | 1397 | | RTCMediaStreamTrack ID | 1398 | | (ta) | 1399 | c=IN IP4 24.23.204.141 | [RFC4566] | 1400 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 1401 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1402 | | us] | 1403 | a=extmap:1 | [RFC6464] | 1404 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1405 | o-level | | 1406 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1407 | | us] | 1408 | a=sendrecv | [RFC3264] | 1409 | a=setup:actpass | [RFC4145] - Alice can | 1410 | | perform DTLS before Answer | 1411 | | arrives | 1412 | a=rtcp-mux | [RFC5761] | 1413 | a=ssrc:11111 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 1414 | a=ice-ufrag:074c6550 | [RFC5245] | 1415 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1416 | f08a068 | | 1417 | a=fingerprint:sha-1 | [RFC5245] | 1418 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1419 | c7:70:9d:1f:66:79:a8:07 | | 1420 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1421 | 192.168.1.4 54609 typ host | | 1422 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1423 | 24.23.204.141 54609 typ srflx raddr | | 1424 | 192.168.1.4 rport 54609 | | 1425 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1426 | 192.168.1.4 64678 typ host | | 1427 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1428 | 24.23.204.141 64678 typ srflx raddr | | 1429 | 192.168.1.4 rport 64678 | | 1430 | a=rtcp-fb:109 nack | [RFC5104] | 1431 | a=rtcp-rsize | [RFC5506] | 1432 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1433 | | -ice] | 1434 | m=video 62537 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1435 | a=mid:video | [RFC5888] Video m=line | 1436 | | part of the Bundle group | 1437 | | with a unique port number | 1438 | a=msid:ma tb | Identifies RTCMediaStream | 1439 | | ID (ma) and | 1440 | | RTCMediaStreamTrack ID | 1441 | | (tb) | 1442 | c=IN IP4 24.23.204.141 | [RFC4566] | 1443 | a=rtcp:54721 IN IP4 24.23.204.141 | [RFC3605] - Port for RTCP | 1444 | | data | 1445 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 1446 | a=sendrecv | [RFC3264] | 1447 | a=setup:actpass | [RFC4145] - Alice can | 1448 | | perform DTLS before Answer | 1449 | | arrives | 1450 | a=rtcp-mux | [RFC5761] | 1451 | a=ssrc:22222 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 1452 | a=ice-ufrag:6550074c | [RFC5245] | 1453 | a=ice-pwd:74af08a068a28a397a4c3f3174 | [RFC5245] | 1454 | 7d1ee34 | | 1455 | a=fingerprint:sha-1 | [RFC5245] | 1456 | 1f:ef:6d:f7:c9:c7:70:9d:1f:66:99:41: | | 1457 | 49:83:4a:97:0e79:a8:07 | | 1458 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1459 | 192.168.1.4 62537 typ host | | 1460 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1461 | 24.23.204.141 62537 typ srflx raddr | | 1462 | 192.168.1.4 rport 62537 | | 1463 | a=candidate:0 2 2113667326 | [RFC5245] | 1464 | 192.168.1.4 54721 typ host | | 1465 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1466 | 24.23.204.141 54721 typ srflx raddr | | 1467 | 192.168.1.4 rport 54721 | | 1468 | a=rtcp-fb:120 nack | [RFC5104] | 1469 | a=rtcp-fb:120 nack pli | [RFC5104] | 1470 | a=rtcp-fb:120 ccm fir | [RFC5104] | 1471 | a=rtcp-rsize | [RFC5506] | 1472 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1473 | | -ice] | 1474 +--------------------------------------+----------------------------+ 1476 Table 13: 5.2.7 SDP Offer w/BUNDLE 1478 +--------------------------------------+----------------------------+ 1479 | SDP Contents | RFC#/Notes | 1480 +--------------------------------------+----------------------------+ 1481 | v=0 | [RFC4566] | 1482 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] | 1483 | s=- | [RFC4566] | 1484 | t=0 0 | [RFC4566] | 1485 | a=msid-semantic:WMS | [MSID] | 1486 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 1487 | | dle-negotiation] Bob | 1488 | | supports BUNDLE semantics | 1489 | | . | 1490 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1491 | a=msid:ma ta | Identifies RTCMediaStream | 1492 | | ID (ma) and | 1493 | | RTCMediaStreamTrack ID | 1494 | | (ta) | 1495 | a=mid:audio | [RFC5888] Audio m=line | 1496 | | part of the BUNDLE group | 1497 | c=IN IP4 98.248.92.77 | [RFC4566] | 1498 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 1499 | | data | 1500 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1501 | | us] | 1502 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1503 | | us] | 1504 | a=extmap:1 | [RFC6464] | 1505 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1506 | o-level | | 1507 | a=sendrecv | [RFC3264] | 1508 | a=setup:active | [RFC4145] - Bob carries | 1509 | | out DTLS Handshake in | 1510 | | parallel | 1511 | a=rtcp-fb:109 nack | [RFC5104] | 1512 | a=rtcp-mux | [RFC5761] | 1513 | a=ssrc:33333 cname:Q/1HmN4Xa5NWs1ao | [RFC5576] | 1514 | a=ice-ufrag:c300d85b | [RFC5245] | 1515 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 1516 | abd9a2 | | 1517 | a=fingerprint:sha-1 | [RFC5245] | 1518 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1519 | c7:70:9d:1f:66:79:a8:07 | | 1520 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1521 | 192.168.1.7 49203 typ host | | 1522 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1523 | 98.248.92.77 49203 typ srflx raddr | | 1524 | 192.168.1.7 rport 49203 | | 1525 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1526 | 192.168.1.7 60065 typ host | | 1527 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1528 | 98.248.92.77 60065 typ srflx raddr | | 1529 | 192.168.1.7 rport 60065 | | 1530 | a=rtcp-rsize | [RFC5506] | 1531 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1532 | | -ice] | 1533 | m=video 49203 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1534 | a=mid:video | [RFC5888] Video m=line | 1535 | | part of the BUNDLE group | 1536 | | with the port from audio | 1537 | | line repeated | 1538 | a=msid:ma tb | Identifies RTCMediaStream | 1539 | | ID (ma) and | 1540 | | RTCMediaStreamTrack ID | 1541 | | (tb) | 1542 | c=IN IP4 98.248.92.77 | [RFC4566] | 1543 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] - Port for RTCP | 1544 | | data | 1545 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 1546 | a=sendrecv | [RFC3264] | 1547 | a=setup:active | [RFC4145] - Bob carries | 1548 | | out DTLS Handshake in | 1549 | | parallel | 1550 | a=rtcp-mux | [RFC5761] | 1551 | a=ssrc:44444 cname:Q/2AqlmN4Xa5NWs | [RFC5576] | 1552 | a=ice-ufrag:85bc300d | [RFC5245] | 1553 | a=ice-pwd:bd2de4e9991c325921d5d47efb | [RFC5245] | 1554 | abd9a2 | | 1555 | a=fingerprint:sha-1 | [RFC5245] | 1556 | 41:49:83:4a:99:97:0e:1f:ef:6d:f7:c9: | | 1557 | c7:70:9d:1f:66:79:a8:07 | | 1558 | a=candidate:0 1 UDP 2113667327 | [RFC5245] - Candidate | 1559 | 192.168.1.7 49203 typ host | lines identical with the | 1560 | | audio m-line. | 1561 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1562 | 98.248.92.77 49203 typ srflx raddr | | 1563 | 192.168.1.7 rport 49203 | | 1564 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1565 | 192.168.1.7 60065 typ host | | 1566 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1567 | 98.248.92.77 60065 typ srflx raddr | | 1568 | 192.168.1.7 rport 60065 | | 1569 | a=rtcp-fb:120 nack | [RFC5104] | 1570 | a=rtcp-fb:120 nack pli | [RFC5104] | 1571 | a=rtcp-fb:120 ccm fir | [RFC5104] | 1572 | a=rtcp-rsize | [RFC5506] | 1573 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1574 | | -ice] | 1575 +--------------------------------------+----------------------------+ 1577 Table 14: 5.2.7 SDP Answer w/BUNDLE 1579 +--------------------------------------+----------------------------+ 1580 | SDP Contents | RFC#/Notes | 1581 +--------------------------------------+----------------------------+ 1582 | v=0 | [RFC4566] | 1583 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 1584 | s=- | [RFC4566] | 1585 | t=0 0 | [RFC4566] | 1586 | a=msid-semantic:WMS | [MSID] | 1587 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 1588 | | dle-negotiation] | 1589 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1590 | a=msid:ma ta | Identifies RTCMediaStream | 1591 | | ID (ma) and | 1592 | | RTCMediaStreamTrack ID | 1593 | | (ta) | 1594 | a=mid:audio | [RFC5888] - Port number | 1595 | | finalized as Bundle | 1596 | | Address. | 1597 | c=IN IP4 24.23.204.141 | [RFC4566] | 1598 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 1599 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1600 | | us] | 1601 | a=extmap:1 | [RFC6464] | 1602 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1603 | o-level | | 1604 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1605 | | us] | 1606 | a=sendrecv | [RFC3264] | 1607 | a=setup:actpass | [RFC4145] - Alice can | 1608 | | perform DTLS before Answer | 1609 | | arrives | 1610 | a=rtcp-mux | [RFC5761] | 1611 | a=ssrc:11111 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 1612 | a=ice-ufrag:074c6550 | [RFC5245] | 1613 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1614 | f08a068 | | 1615 | a=fingerprint:sha-1 | [RFC5245] | 1616 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1617 | c7:70:9d:1f:66:79:a8:07 | | 1618 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1619 | 192.168.1.4 54609 typ host | | 1620 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1621 | 24.23.204.141 54609 typ srflx raddr | | 1622 | 192.168.1.4 rport 54609 | | 1623 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1624 | 192.168.1.4 64678 typ host | | 1625 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1626 | 24.23.204.141 64678 typ srflx raddr | | 1627 | 192.168.1.4 rport 64678 | | 1628 | a=rtcp-fb:109 nack | [RFC5104] | 1629 | a=rtcp-rsize | [RFC5506] | 1630 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1631 | | -ice] | 1632 | m=video 54609 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1633 | a=msid:ma tb | Identifies RTCMediaStream | 1634 | | ID (ma) and | 1635 | | RTCMediaStreamTrack ID | 1636 | | (tb) | 1637 | a=mid:video | [RFC5888] - Same Bundle | 1638 | | address from the audio | 1639 | | m=line | 1640 | c=IN IP4 24.23.204.141 | [RFC4566] | 1641 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 1642 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 1643 | a=sendrecv | [RFC3264] | 1644 | a=setup:actpass | [RFC4145] - Alice can | 1645 | | perform DTLS before Answer | 1646 | | arrives | 1647 | a=rtcp-mux | [RFC5761] | 1648 | a=ssrc:22222 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 1649 | a=ice-ufrag:074c6550 | [RFC5245] | 1650 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1651 | f08a068 | | 1652 | a=fingerprint:sha-1 | [RFC5245] | 1653 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1654 | c7:70:9d:1f:66:79:a8:07 | | 1655 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1656 | 192.168.1.4 54609 typ host | | 1657 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1658 | 24.23.204.141 54609 typ srflx raddr | | 1659 | 192.168.1.4 rport 54609 | | 1660 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1661 | 192.168.1.4 64678 typ host | | 1662 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1663 | 24.23.204.141 64678 typ srflx raddr | | 1664 | 192.168.1.4 rport 64678 | | 1665 | a=rtcp-fb:120 nack | [RFC5104] | 1666 | a=rtcp-fb:120 nack pli | [RFC5104] | 1667 | a=rtcp-fb:120 ccm fir | [RFC5104] | 1668 | a=rtcp-rsize | [RFC5506] | 1669 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1670 | | -ice] | 1671 +--------------------------------------+----------------------------+ 1673 Table 15: 5.2.7 SDP Offer for BAS 1675 5.2.8. Audio, Video and Data Session 1677 This example show-cases SDP for negotiating a session with Audio, 1678 Video and data streams between Alice and Bob with 1679 [draft-ietf-mmusic-sdp-bundle-negotiation] support known 1681 title Audio, Video, Data with BUNDLE support known 1683 Alice->Bob: Offer(Audio:Opus, Video:VP8, Data) 1684 note right of Alice 1685 Alice indicates BUNDLE support with identical address across all the m=lines. 1686 end note 1688 Bob->Alice: Answer(Audio:Opus Video:VP8, Data) 1689 note left of Bob 1690 Bob does the same 1691 end note 1692 Alice<->Bob: Two way Audio, Video and Data multiplexed 1694 +--------------------------------------+----------------------------+ 1695 | SDP Contents | RFC#/Notes | 1696 +--------------------------------------+----------------------------+ 1697 | v=0 | [RFC4566] | 1698 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 1699 | s=- | [RFC4566] | 1700 | t=0 0 | [RFC4566] | 1701 | a=msid-semantic:WMS | [MSID] | 1702 | a=group:BUNDLE audio video data | [draft-ietf-mmusic-sdp-bun | 1703 | | dle-negotiation] | 1704 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1705 | a=msid:ma ta | Identifies RTCMediaStream | 1706 | | ID (ma) and | 1707 | | RTCMediaStreamTrack ID | 1708 | | (ta) | 1709 | c=IN IP4 24.23.204.141 | [RFC4566] | 1710 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 1711 | a=mid:audio | [RFC5888] | 1712 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1713 | | us] | 1714 | a=extmap:1 | [RFC6464] | 1715 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1716 | o-level | | 1717 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1718 | | us] | 1719 | a=sendrecv | [RFC3264] | 1720 | a=setup:actpass | [RFC4145] | 1721 | a=rtcp-mux | [RFC5761] | 1722 | a=ice-ufrag:074c6550 | [RFC5245] | 1723 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1724 | f08a068 | | 1725 | a=fingerprint:sha-1 | [RFC5245] | 1726 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1727 | c7:70:9d:1f:66:79:a8:07 | | 1728 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1729 | 192.168.1.4 54609 typ host | | 1730 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1731 | 24.23.204.141 54609 typ srflx raddr | | 1732 | 192.168.1.4 rport 54609 | | 1733 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1734 | 192.168.1.4 64678 typ host | | 1735 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1736 | 24.23.204.141 64678 typ srflx raddr | | 1737 | 192.168.1.4 rport 64678 | | 1738 | a=rtcp-fb:109 nack | [RFC5104] | 1739 | a=ssrc:11111 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 1740 | a=rtcp-rsize | [RFC5506] | 1741 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1742 | | -ice] | 1743 | m=video 54609 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1744 | a=msid:ma tb | Identifies RTCMediaStream | 1745 | | ID (ma) and | 1746 | | RTCMediaStreamTrack ID | 1747 | | (tb) | 1748 | c=IN IP4 24.23.204.141 | [RFC4566] | 1749 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 1750 | a=mid:video | [RFC5888] | 1751 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 1752 | a=sendrecv | [RFC3264] | 1753 | a=setup:actpass | [RFC4145] | 1754 | a=rtcp-mux | [RFC5761] | 1755 | a=ice-ufrag:074c6550 | [RFC5245] | 1756 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1757 | f08a068 | | 1758 | a=fingerprint:sha-1 | [RFC5245] | 1759 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1760 | c7:70:9d:1f:66:79:a8:07 | | 1761 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1762 | 192.168.1.4 54609 typ host | | 1763 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1764 | 24.23.204.141 54609 typ srflx raddr | | 1765 | 192.168.1.4 rport 54609 | | 1766 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1767 | 192.168.1.4 64678 typ host | | 1768 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1769 | 24.23.204.141 64678 typ srflx raddr | | 1770 | 192.168.1.4 rport 64678 | | 1771 | a=rtcp-fb:120 nack | [RFC5104] | 1772 | a=rtcp-fb:120 nack pli | [RFC5104] | 1773 | a=rtcp-fb:120 ccm fir | [RFC5104] | 1774 | a=ssrc:22222 cname:Q/aoNWs11HmN4Xa5 | [RFC5576] | 1775 | a=rtcp-rsize | [RFC5506] | 1776 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1777 | | -ice] | 1778 | m=application 54609 DTLS/SCTP 5000 | [draft-ietf-rtcweb-data-ch | 1779 | | annel] | 1780 | c=IN IP4 24.23.204.141 | [RFC4566] | 1781 | a=mid:data | [RFC5888] | 1782 | a=sctpmap:5000 webrtc-Datachannel 1 | [draft-ietf-mmusic-sctp-sd | 1783 | | p] | 1784 | a=webrtc-Datachannel:5000 | [draft-ietf-mmusic-sctp-sd | 1785 | stream=1;label="channel | p] | 1786 | 1";subprotocol="chat"; | | 1787 | a=sendrecv | [RFC3264] | 1788 | a=setup:actpass | [RFC4145] | 1789 | a=ice-ufrag:074c6550 | [RFC5245] | 1790 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1791 | f08a068 | | 1792 | a=fingerprint:sha-1 | [RFC5245] | 1793 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1794 | c7:70:9d:1f:66:79:a8:07 | | 1795 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1796 | 192.168.1.4 54609 typ host | | 1797 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1798 | 24.23.204.141 54609 typ srflx raddr | | 1799 | 192.168.1.4 rport 54609 | | 1800 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1801 | | -ice] | 1802 +--------------------------------------+----------------------------+ 1804 Table 16: 5.2.8 SDP Offer 1806 +--------------------------------------+----------------------------+ 1807 | SDP Contents | RFC#/Notes | 1808 +--------------------------------------+----------------------------+ 1809 | v=0 | [RFC4566] | 1810 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 1811 | | Information | 1812 | s=- | [RFC4566] | 1813 | t=0 0 | [RFC4566] | 1814 | a=msid-semantic:WMS | [MSID] | 1815 | a=group:BUNDLE audio video data | [draft-ietf-mmusic-sdp-bun | 1816 | | dle-negotiation] | 1817 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1818 | | -ice] Bob's trickle suppor | 1819 | | tsupport is indicated at | 1820 | | the session level | 1821 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1822 | a=msid:ma ta | Identifies RTCMediaStream | 1823 | | ID (ma) and | 1824 | | RTCMediaStreamTrack ID | 1825 | | (ta) | 1826 | c=IN IP4 98.248.92.77 | [RFC4566] | 1827 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 1828 | a=mid:audio | [RFC5888] | 1829 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1830 | | us] | 1831 | a=extmap:1 | [RFC6464] | 1832 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1833 | o-level | | 1834 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1835 | | us] | 1836 | a=sendrecv | [RFC3264] | 1837 | a=setup:active | [RFC4145] | 1838 | a=rtcp-mux | [RFC5761] | 1839 | a=rtcp-fb:109 nack | [RFC5104] | 1840 | a=ice-ufrag:c300d85b | [RFC5245] | 1841 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 1842 | abd9a2 | | 1843 | a=fingerprint:sha-1 | [RFC5245] | 1844 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1845 | c7:70:9d:1f:66:79:a8:07 | | 1846 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1847 | 192.168.1.7 49203 typ host | | 1848 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1849 | 98.248.92.77 49203 typ srflx raddr | | 1850 | 192.168.1.7 rport 49203 | | 1851 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1852 | 192.168.1.7 60065 typ host | | 1853 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1854 | 98.248.92.77 60065 typ srflx raddr | | 1855 | 192.168.1.7 rport 60065 | | 1856 | a=ssrc:33333 cname:L/aoNWs11HmN4Xa5 | [RFC5576] | 1857 | a=rtcp-rsize | [RFC5506] | 1858 | m=video 49203 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1859 | a=msid:ma tb | Identifies RTCMediaStream | 1860 | | ID (ma) and | 1861 | | RTCMediaStreamTrack ID | 1862 | | (tb) | 1863 | c=IN IP4 98.248.92.77 | [RFC4566] | 1864 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 1865 | a=mid:video | [RFC5888] | 1866 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 1867 | a=sendrecv | [RFC3264] | 1868 | a=setup:active | [RFC4145] | 1869 | a=rtcp-mux | [RFC5761] | 1870 | a=ice-ufrag:c300d85b | [RFC5245] | 1871 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 1872 | abd9a2 | | 1873 | a=fingerprint:sha-1 | [RFC5245] | 1874 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1875 | c7:70:9d:1f:66:79:a8:07 | | 1876 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1877 | 192.168.1.7 49203 typ host | | 1878 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1879 | 98.248.92.77 49203 typ srflx raddr | | 1880 | 192.168.1.7 rport 49203 | | 1881 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1882 | 192.168.1.7 60065 typ host | | 1883 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1884 | 98.248.92.77 60065 typ srflx raddr | | 1885 | 192.168.1.7 rport 60065 | | 1886 | a=rtcp-fb:120 nack | [RFC5104] | 1887 | a=rtcp-fb:120 nack pli | [RFC5104] | 1888 | a=rtcp-fb:120 ccm fir | [RFC5104] | 1889 | a=ssrc:44444 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 1890 | a=rtcp-rsize | [RFC5506] | 1891 | m=application 49203 DTLS/SCTP 5000 | [draft-ietf-mmusic-sctp-sd | 1892 | | p] | 1893 | c=IN IP4 98.248.92.771 | [RFC4566] | 1894 | a=mid:data | [RFC5888] | 1895 | a=sctpmap:5000 webrtc-Datachannel 1 | [draft-ietf-mmusic-sctp-sd | 1896 | | p] | 1897 | a=webrtc-Datachannel:5000 | [draft-ietf-mmusic-sctp-sd | 1898 | stream=1;label="channel | p] | 1899 | 1";subprotocol="chat"; | | 1900 | a=setup:active | [RFC4145] | 1901 | a=sendrecv | [RFC3264] | 1902 | a=ice-ufrag:c300d85b | [RFC5245] | 1903 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 1904 | abd9a2 | | 1905 | a=fingerprint:sha-1 | [RFC5245] | 1906 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1907 | c7:70:9d:1f:66:79:a8:07 | | 1908 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1909 | 192.168.1.7 49203 typ host | | 1910 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 1911 | 98.248.92.77 49203 typ srflx raddr | | 1912 | 192.168.1.7 rport 49203 | | 1913 +--------------------------------------+----------------------------+ 1915 Table 17: 5.2.8 SDP Answer 1917 5.2.9. Two-Way Audio,Video w/BUNDLE Unsupported 1919 This use-case illustrates SDP Offer/Answer exchange when the far-end 1920 (Bob) either doesn't support media bundling or doesn't want to group 1921 m=lines over a single 5-tuple. 1923 On successful Offer/Answer exchange, Alice and Bob each end up using 1924 unique 5-tuple for audio and video media streams respectively. 1926 title 2-Way Secure Audio,Video with BUNDLE Unsupported 1928 Alice->Bob: Offer(Audio:Opus Video:VP8) 1929 note right of Alice 1930 Alice offers BUNDLE support with unique address for the audio and video m-line 1931 end note 1933 Bob->Alice: Answer(Audio:Opus Video:VP8) 1934 note left of Bob 1935 Bob uses unique addresses as well since he doesn't understand BUNDLE 1936 end note 1938 Alice <-> Bob: 2Way Call with Audio and Video on different addresses. 1940 +--------------------------------------+----------------------------+ 1941 | SDP Contents | RFC#/Notes | 1942 +--------------------------------------+----------------------------+ 1943 | v=0 | [RFC4566] | 1944 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 1945 | s=- | [RFC4566] | 1946 | t=0 0 | [RFC4566] | 1947 | a=msid-semantic:WMS | [MSID] | 1948 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 1949 | | dle-negotiation] Alice | 1950 | | supports grouping of | 1951 | | m=lines under BUNDLE | 1952 | | semantics | 1953 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 1954 | | -ice] | 1955 | m=audio 55232 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 1956 | a=msid:ma ta | Identifies RTCMediaStream | 1957 | | ID (ma) and | 1958 | | RTCMediaStreamTrack ID | 1959 | | (ta) | 1960 | a=mid:audio | [RFC5888] Audio m=line | 1961 | | part of BUNDLE group with | 1962 | | a unique port number | 1963 | c=IN IP4 24.23.204.141 | [RFC4566] | 1964 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 1965 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 1966 | | us] | 1967 | a=extmap:1 | [RFC6464] | 1968 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 1969 | o-level | | 1970 | a=ptime:20 | [draft-ietf-payload-rtp-op | 1971 | | us] | 1972 | a=setup:actpass | [RFC4145] - Alice can | 1973 | | perform DTLS before Answer | 1974 | | arrives | 1975 | a=sendrecv | [RFC3264] | 1976 | a=rtcp-mux | [RFC5761] | 1977 | a=rtcp-fb:109 nack | [RFC5104] | 1978 | a=ssrc:11111 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 1979 | a=ice-ufrag:074c6550 | [RFC5245] | 1980 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 1981 | f08a068 | | 1982 | a=fingerprint:sha-1 | [RFC5245] | 1983 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 1984 | c7:70:9d:1f:66:79:a8:07 | | 1985 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 1986 | 192.168.1.4 55232 typ host | | 1987 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 1988 | 24.23.204.141 55232 typ srflx raddr | | 1989 | 192.168.1.4 rport 55232 | | 1990 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 1991 | 192.168.1.4 64678 typ host | | 1992 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 1993 | 24.23.204.141 64678 typ srflx raddr | | 1994 | 192.168.1.4 rport 64678 | | 1995 | a=rtcp-rsize | [RFC5506] | 1996 | m=video 54332 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 1997 | a=msid:ma tb | Identifies RTCMediaStream | 1998 | | ID (ma) and | 1999 | | RTCMediaStreamTrack ID | 2000 | | (tb) | 2001 | a=mid:video | [RFC5888] Video m=line | 2002 | | part of the BUNDLE group | 2003 | | with a unique port number | 2004 | c=IN IP4 24.23.204.141 | [RFC4566] | 2005 | a=rtcp:54721 IN IP4 24.23.204.141 | [RFC3605] | 2006 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 2007 | a=sendrecv | [RFC3264] | 2008 | a=setup:actpass | [RFC4145] - Alice can | 2009 | | perform DTLS before Answer | 2010 | | arrives | 2011 | a=rtcp-mux | [RFC5761] | 2012 | a=ssrc:22222 cname:yvY7/EocUG1f0fcg | [RFC5576] | 2013 | a=ice-ufrag:7872093 | [RFC5245] | 2014 | a=ice-pwd:ee3474af08a068a28a397a4c3f | [RFC5245] | 2015 | 31747d1 | | 2016 | a=fingerprint:sha-1 | [RFC5245] | 2017 | 6d:f7:c9:c7:70:9d:1f:66:79:a8:07:99: | | 2018 | 41:49:83:4a:97:0e:1f:ef | | 2019 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2020 | 192.168.1.4 54332 typ host | | 2021 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2022 | 24.23.204.141 54332 typ srflx raddr | | 2023 | 192.168.1.4 rport 54332 | | 2024 | a=candidate:0 2 2113667326 | [RFC5245] | 2025 | 192.168.1.4 54721 typ host | | 2026 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2027 | 24.23.204.141 54721 typ srflx raddr | | 2028 | 192.168.1.4 rport 54721 | | 2029 | a=rtcp-fb:120 nack | [RFC5104] | 2030 | a=rtcp-fb:120 nack pli | [RFC5104] | 2031 | a=rtcp-fb:120 ccm fir | [RFC5104] | 2032 | a=rtcp-rsize | [RFC5506] | 2033 +--------------------------------------+----------------------------+ 2035 Table 18: 5.2.9 SDP Offer w/BUNDLE 2037 +------------------------------------------+------------------------+ 2038 | SDP Contents | RFC#/Notes | 2039 +------------------------------------------+------------------------+ 2040 | v=0 | [RFC4566] | 2041 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] | 2042 | s=- | [RFC4566] | 2043 | t=0 0 | [RFC4566] | 2044 | a=msid-semantic:WMS | [MSID] | 2045 | a=ice-options:trickle | [draft-ivov-mmusic-tri | 2046 | | ckle-ice] | 2047 | m=audio 53214 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2048 | a=msid:ma ta | Identifies | 2049 | | RTCMediaStream ID (ma) | 2050 | | and | 2051 | | RTCMediaStreamTrack ID | 2052 | | (ta) | 2053 | c=IN IP4 98.248.92.77 | [RFC4566] | 2054 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2055 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rt | 2056 | | p-opus] | 2057 | a=extmap:1 | [RFC6464] | 2058 | urn:ietf:params:rtp-hdrext:ssrc-audio-le | | 2059 | vel | | 2060 | a=ptime:20 | [draft-ietf-payload-rt | 2061 | | p-opus] | 2062 | a=setup:active | [RFC4145] - Bob | 2063 | | carries out DTLS | 2064 | | Handshake in parallel | 2065 | a=sendrecv | [RFC3264] | 2066 | a=rtcp-fb:109 nack | [RFC5104] | 2067 | a=ice-ufrag:c300d85b | [RFC5245] | 2068 | a=ice-pwd:de4e99bd291c325921d5d47efbabd9 | [RFC5245] | 2069 | a2 | | 2070 | a=fingerprint:sha-1 | [RFC5245] | 2071 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c7:7 | | 2072 | 0:9d:1f:66:79:a8:07 | | 2073 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2074 | 192.168.1.7 53214 typ host | | 2075 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2076 | 98.248.92.77 53214 typ srflx raddr | | 2077 | 192.168.1.7 rport 53214 | | 2078 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2079 | 192.168.1.7 60065 typ host | | 2080 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2081 | 98.248.92.77 60065 typ srflx raddr | | 2082 | 192.168.1.7 rport 60065 | | 2083 | a=rtcp-rsize | [RFC5506] | 2084 | m=video 58679 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 2085 | a=msid:ma tb | Identifies | 2086 | | RTCMediaStream ID (ma) | 2087 | | and | 2088 | | RTCMediaStreamTrack ID | 2089 | | (tb) | 2090 | c=IN IP4 98.248.92.77 | [RFC4566] | 2091 | a=rtcp:56507 IN IP4 98.248.92.77 | [RFC3605] | 2092 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp | 2093 | | 8] | 2094 | a=setup:active | [RFC4145] - Bob | 2095 | | carries out DTLS | 2096 | | Handshake in parallel | 2097 | a=sendrecv | [RFC3264] | 2098 | a=ice-ufrag:85bC300 | [RFC5245] | 2099 | a=ice-pwd:325921d5d47efbabd9a2de4e99bd29 | [RFC5245] | 2100 | 1c | | 2101 | a=fingerprint:sha-1 | [RFC5245] | 2102 | 9d:1f:66:79:a8:07:99:41:49:83:4a:97:0e:1 | | 2103 | f:ef:6d:f7:c9:c7:70 | | 2104 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2105 | 192.168.1.7 58679 typ host | | 2106 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2107 | 98.248.92.77 58679 typ srflx raddr | | 2108 | 192.168.1.7 rport 58679 | | 2109 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2110 | 192.168.1.7 56607 typ host | | 2111 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2112 | 98.248.92.77 56607 typ srflx raddr | | 2113 | 192.168.1.7 rport 56607 | | 2114 | a=rtcp-fb:120 nack | [RFC5104] | 2115 | a=rtcp-fb:120 nack pli | [RFC5104] | 2116 | a=rtcp-fb:120 ccm fir | [RFC5104] | 2117 | a=rtcp-rsize | [RFC5506] | 2118 +------------------------------------------+------------------------+ 2120 Table 19: 5.2.9 SDP Answer without BUNDLE 2122 5.2.10. Audio, Video BUNDLED but Data Not BUNDLED 2124 This example show-cases SDP for negotiating a session with Audio, 2125 Video and data streams between Alice and Bob but with data stream not 2126 part of the BUNDLE group. This is shown by assigning unique port for 2127 data media sections. 2129 title Audio, Video, with Data out of BUNDLE 2130 Alice->Bob: Offer(Audio:Opus, Video:VP8, Data (Not in BUNDLE) 2131 note right of Alice 2132 Alice wants to multiplex audio, video but not data 2133 end note 2135 Bob->Alice: Answer(Audio:Opus Video:VP8, Data) 2136 note left of Bob 2137 Bob does the same 2138 end note 2139 Alice<->Bob: Two way Audio, Video multiplexed except Data 2141 +--------------------------------------+----------------------------+ 2142 | SDP Contents | RFC#/Notes | 2143 +--------------------------------------+----------------------------+ 2144 | v=0 | [RFC4566] | 2145 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 2146 | s=- | [RFC4566] | 2147 | t=0 0 | [RFC4566] | 2148 | a=msid-semantic:WMS | [MSID] | 2149 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 2150 | | dle-negotiation] Alice | 2151 | | wants to BUNDLE only audi | 2152 | | oand video media. | 2153 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2154 | | -ice] | 2155 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2156 | a=msid:ma ta | Identifies RTCMediaStream | 2157 | | ID (ma) and | 2158 | | RTCMediaStreamTrack ID | 2159 | | (ta) | 2160 | c=IN IP4 24.23.204.141 | [RFC4566] | 2161 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2162 | a=mid:audio | [RFC5888] | 2163 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2164 | | us] | 2165 | a=extmap:1 | [RFC6464] | 2166 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2167 | o-level | | 2168 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2169 | | us] | 2170 | a=sendrecv | [RFC3264] | 2171 | a=setup:actpass | [RFC4145] | 2172 | a=rtcp-mux | [RFC5761] | 2173 | a=ice-ufrag:074c6550 | [RFC5245] | 2174 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 2175 | f08a068 | | 2176 | a=fingerprint:sha-1 | [RFC5245] | 2177 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2178 | c7:70:9d:1f:66:79:a8:07 | | 2179 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2180 | 192.168.1.4 54609 typ host | | 2181 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2182 | 24.23.204.141 54609 typ srflx raddr | | 2183 | 192.168.1.4 rport 54609 | | 2184 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2185 | 192.168.1.4 64678 typ host | | 2186 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2187 | 24.23.204.141 64678 typ srflx raddr | | 2188 | 192.168.1.4 rport 64678 | | 2189 | a=rtcp-fb:109 nack | [RFC5104] | 2190 | a=ssrc:11111 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 2191 | a=rtcp-rsize | [RFC5506] | 2192 | m=video 54609 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 2193 | a=msid:ma tb | Identifies RTCMediaStream | 2194 | | ID (ma) and | 2195 | | RTCMediaStreamTrack ID | 2196 | | (tb) | 2197 | c=IN IP4 24.23.204.141 | [RFC4566] | 2198 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2199 | a=mid:video | [RFC5888] | 2200 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 2201 | a=sendrecv | [RFC3264] | 2202 | a=setup:actpass | [RFC4145] | 2203 | a=rtcp-mux | [RFC5761] | 2204 | a=ice-ufrag:074c6550 | [RFC5245] | 2205 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 2206 | f08a068 | | 2207 | a=fingerprint:sha-1 | [RFC5245] | 2208 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2209 | c7:70:9d:1f:66:79:a8:07 | | 2210 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2211 | 192.168.1.4 54609 typ host | | 2212 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2213 | 24.23.204.141 54609 typ srflx raddr | | 2214 | 192.168.1.4 rport 54609 | | 2215 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2216 | 192.168.1.4 64678 typ host | | 2217 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2218 | 24.23.204.141 64678 typ srflx raddr | | 2219 | 192.168.1.4 rport 64678 | | 2220 | a=rtcp-fb:120 nack | [RFC5104] | 2221 | a=rtcp-fb:120 nack pli | [RFC5104] | 2222 | a=rtcp-fb:120 ccm fir | [RFC5104] | 2223 | a=ssrc:22222 cname:Q/aoNWs11HmN4Xa5 | [RFC5576] | 2224 | a=rtcp-rsize | [RFC5506] | 2225 | m=application 10000 DTLS/SCTP 5000 | [draft-ietf-rtcweb-data-ch | 2226 | | annel] | 2227 | c=IN IP4 24.23.204.141 | [RFC4566] | 2228 | a=mid:data | [RFC5888] | 2229 | a=sctpmap:5000 webrtc-Datachannel 1 | [draft-ietf-mmusic-sctp-sd | 2230 | | p] | 2231 | a=webrtc-Datachannel:5000 | [draft-ietf-mmusic-sctp-sd | 2232 | stream=1;label="channel | p] | 2233 | 1";subprotocol="chat"; | | 2234 | a=sendrecv | [RFC3264] | 2235 | a=setup:actpass | [RFC4145] | 2236 | a=ice-ufrag:89819013 | [RFC5245] | 2237 | a=ice-pwd:1747d1ee3474af08a068a28a39 | [RFC5245] | 2238 | 7a4c3f3 | | 2239 | a=fingerprint:sha-1 | [RFC5245] | 2240 | 0e:1f:ef:6d:f7:c9:c7:70:99:41:49:83: | | 2241 | 4a:97:9d:1f:66:79:a8:07 | | 2242 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2243 | 192.168.1.4 10000 typ host | | 2244 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2245 | 24.23.204.141 10000 typ srflx raddr | | 2246 | 192.168.1.4 rport 10000 | | 2247 +--------------------------------------+----------------------------+ 2249 Table 20: 5.2.10 SDP Offer 2251 +--------------------------------------+----------------------------+ 2252 | SDP Contents | RFC#/Notes | 2253 +--------------------------------------+----------------------------+ 2254 | v=0 | [RFC4566] | 2255 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 2256 | | Information | 2257 | s=- | [RFC4566] | 2258 | t=0 0 | [RFC4566] | 2259 | a=msid-semantic:WMS | [MSID] | 2260 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 2261 | | dle-negotiation] | 2262 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2263 | | -ice] | 2264 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2265 | a=msid:ma ta | Identifies RTCMediaStream | 2266 | | ID (ma) and | 2267 | | RTCMediaStreamTrack ID | 2268 | | (ta) | 2269 | c=IN IP4 98.248.92.77 | [RFC4566] | 2270 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2271 | a=mid:audio | [RFC5888] | 2272 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2273 | | us] | 2274 | a=extmap:1 | [RFC6464] | 2275 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2276 | o-level | | 2277 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2278 | | us] | 2279 | a=sendrecv | [RFC3264] | 2280 | a=setup:active | [RFC4145] | 2281 | a=rtcp-mux | [RFC5761] | 2282 | a=rtcp-fb:109 nack | [RFC5104] | 2283 | a=ice-ufrag:c300d85b | [RFC5245] | 2284 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2285 | abd9a2 | | 2286 | a=fingerprint:sha-1 | [RFC5245] | 2287 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2288 | c7:70:9d:1f:66:79:a8:07 | | 2289 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2290 | 192.168.1.7 49203 typ host | | 2291 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2292 | 98.248.92.77 49203 typ srflx raddr | | 2293 | 192.168.1.7 rport 49203 | | 2294 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2295 | 192.168.1.7 60065 typ host | | 2296 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2297 | 98.248.92.77 60065 typ srflx raddr | | 2298 | 192.168.1.7 rport 60065 | | 2299 | a=ssrc:33333 cname:L/aoNWs11HmN4Xa5 | [RFC5576] | 2300 | a=rtcp-rsize | [RFC5506] | 2301 | m=video 49203 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 2302 | a=msid:ma tb | Identifies RTCMediaStream | 2303 | | ID (ma) and | 2304 | | RTCMediaStreamTrack ID | 2305 | | (tb) | 2306 | c=IN IP4 98.248.92.771 | [RFC4566] | 2307 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2308 | a=mid:video | [RFC5888] | 2309 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 2310 | a=sendrecv | [RFC3264] | 2311 | a=setup:active | [RFC4145] | 2312 | a=rtcp-mux | [RFC5761] | 2313 | a=ice-ufrag:c300d85b | [RFC5245] | 2314 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2315 | abd9a2 | | 2316 | a=fingerprint:sha-1 | [RFC5245] | 2317 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2318 | c7:70:9d:1f:66:79:a8:07 | | 2319 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2320 | 192.168.1.7 49203 typ host | | 2321 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2322 | 98.248.92.77 49203 typ srflx raddr | | 2323 | 192.168.1.7 rport 49203 | | 2324 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2325 | 192.168.1.7 60065 typ host | | 2326 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2327 | 98.248.92.77 60065 typ srflx raddr | | 2328 | 192.168.1.7 rport 60065 | | 2329 | a=rtcp-fb:120 nack | [RFC5104] | 2330 | a=rtcp-fb:120 nack pli | [RFC5104] | 2331 | a=rtcp-fb:120 ccm fir | [RFC5104] | 2332 | a=ssrc:44444 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 2333 | a=rtcp-rsize | [RFC5506] | 2334 | m=application 20000 DTLS/SCTP 5000 | [draft-ietf-mmusic-sctp-sd | 2335 | | p] | 2336 | c=IN IP4 98.248.92.77 | [RFC4566] | 2337 | a=mid:data | [RFC5888] | 2338 | a=sctpmap:5000 webrtc-Datachannel 1 | [draft-ietf-mmusic-sctp-sd | 2339 | | p] | 2340 | a=webrtc-Datachannel:5000 | [draft-ietf-mmusic-sctp-sd | 2341 | stream=1;label="channel | p] | 2342 | 1";subprotocol="chat"; | | 2343 | a=setup:active | [RFC4145] | 2344 | a=sendrecv | [RFC3264] | 2345 | a=ice-ufrag:991Ca2a5e | [RFC5245] | 2346 | a=ice-pwd:921d5d47efbabd9a2de4e99bd2 | [RFC5245] - Session Level | 2347 | 91c325 | ICE password | 2348 | a=fingerprint:sha-1 | [RFC5245] | 2349 | 6d:f7:c9:c7:70:9d:1f:66:79:a8:07:99: | | 2350 | 41:49:83:4a:97:0e:1f:ef | | 2351 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2352 | 192.168.1.7 20000 typ host | | 2353 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2354 | 98.248.92.77 20000 typ srflx raddr | | 2355 | 192.168.1.7 rport 20000 | | 2356 +--------------------------------------+----------------------------+ 2358 Table 21: 5.2.10 SDP Answer 2360 5.2.11. Audio Only then Add Video and BUNDLE 2362 This example involves 2 Offer/Answer exchanges. First one setting up 2363 Audio-only session followed by an updated Offer/Answer exchange to 2364 add video stream to the ongoing session. Also the newly added video 2365 stream is BUNDLED with the audio stream. 2367 title Audio Only , Add Video and BUNDLE 2369 Alice->Bob: Offer(Audio:Opus) 2370 note right of Alice 2371 Alice indicates support for BUNDLE 2372 end note 2374 Bob->Alice: Answer(Audio:Opus) 2375 note left of Bob 2376 Bob also indicates support for BUNDLE 2377 end note 2378 Alice<->Bob: Two way Audio only session 2380 Alice->Bob: Updated Offer(Audio:Opus, Video:VP8) 2381 note right of Alice 2382 Alice adds video stream to BUNDLE with audio 2383 end note 2385 Bob->Alice: Updated Answer(Audio:Opus, Video:VP8) 2386 note left of Bob 2387 Bob also does the same 2388 end note 2389 Alice<->Bob: Two way Opus Audio and VP8 Video session 2390 +--------------------------------------+----------------------------+ 2391 | SDP Contents | RFC#/Notes | 2392 +--------------------------------------+----------------------------+ 2393 | v=0 | [RFC4566] | 2394 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 2395 | s=- | [RFC4566] | 2396 | t=0 0 | [RFC4566] | 2397 | a=msid-semantic:WMS | [MSID] | 2398 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 2399 | | dle-negotiation] Alice | 2400 | | wants to BUNDLE only audi | 2401 | | oand video media. | 2402 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2403 | | -ice] | 2404 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2405 | a=msid:ma ta | Identifies RTCMediaStream | 2406 | | ID (ma) and | 2407 | | RTCMediaStreamTrack ID | 2408 | | (ta) | 2409 | c=IN IP4 24.23.204.141 | [RFC4566] | 2410 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2411 | a=mid:audio | [RFC5888] | 2412 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2413 | | us] | 2414 | a=extmap:1 | [RFC6464] | 2415 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2416 | o-level | | 2417 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2418 | | us] | 2419 | a=sendrecv | [RFC3264] | 2420 | a=setup:actpass | [RFC4145] | 2421 | a=rtcp-mux | [RFC5761] | 2422 | a=ice-ufrag:074c6550 | [RFC5245] | 2423 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 2424 | f08a068 | | 2425 | a=fingerprint:sha-1 | [RFC5245] | 2426 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2427 | c7:70:9d:1f:66:79:a8:07 | | 2428 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2429 | 192.168.1.4 54609 typ host | | 2430 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2431 | 24.23.204.141 54609 typ srflx raddr | | 2432 | 192.168.1.4 rport 54609 | | 2433 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2434 | 192.168.1.4 64678 typ host | | 2435 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2436 | 24.23.204.141 64678 typ srflx raddr | | 2437 | 192.168.1.4 rport 64678 | | 2438 | a=rtcp-fb:109 nack | [RFC5104] | 2439 | a=ssrc:11111 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 2440 | a=rtcp-rsize | [RFC5506] | 2441 +--------------------------------------+----------------------------+ 2443 Table 22: 5.2.11 SDP Offer 2445 +--------------------------------------+----------------------------+ 2446 | SDP Contents | RFC#/Notes | 2447 +--------------------------------------+----------------------------+ 2448 | v=0 | [RFC4566] | 2449 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 2450 | | Information | 2451 | s=- | [RFC4566] | 2452 | t=0 0 | [RFC4566] | 2453 | a=msid-semantic:WMS | [MSID] | 2454 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 2455 | | dle-negotiation] | 2456 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2457 | | -ice] | 2458 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2459 | a=extmap:1 | [RFC6464] | 2460 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2461 | o-level | | 2462 | a=msid:ma ta | Identifies RTCMediaStream | 2463 | | ID (ma) and | 2464 | | RTCMediaStreamTrack ID | 2465 | | (ta) | 2466 | c=IN IP4 98.248.92.77 | [RFC4566] | 2467 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2468 | a=mid:audio | [RFC5888] | 2469 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2470 | | us] | 2471 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2472 | | us] | 2473 | a=sendrecv | [RFC3264] | 2474 | a=setup:active | [RFC4145] | 2475 | a=rtcp-mux | [RFC5761] | 2476 | a=rtcp-fb:109 nack | [RFC5104] | 2477 | a=ice-ufrag:c300d85b | [RFC5245] | 2478 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2479 | abd9a2 | | 2480 | a=fingerprint:sha-1 | [RFC5245] | 2481 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2482 | c7:70:9d:1f:66:79:a8:07 | | 2483 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2484 | 192.168.1.7 49203 typ host | | 2485 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2486 | 98.248.92.77 49203 typ srflx raddr | | 2487 | 192.168.1.7 rport 49203 | | 2488 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2489 | 192.168.1.7 60065 typ host | | 2490 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2491 | 98.248.92.77 60065 typ srflx raddr | | 2492 | 192.168.1.7 rport 60065 | | 2493 | a=ssrc:33333 cname:L/aoNWs11HmN4Xa5 | [RFC5576] | 2494 | a=rtcp-rsize | [RFC5506] | 2495 +--------------------------------------+----------------------------+ 2497 Table 23: 5.2.10 SDP Answer 2499 +--------------------------------------+----------------------------+ 2500 | SDP Contents | RFC#/Notes | 2501 +--------------------------------------+----------------------------+ 2502 | v=1 | Version number incremented | 2503 | | [RFC4566] | 2504 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 2505 | s=- | [RFC4566] | 2506 | t=0 0 | [RFC4566] | 2507 | a=msid-semantic:WMS | [MSID] | 2508 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 2509 | | dle-negotiation] Alice | 2510 | | wants to BUNDLE only audi | 2511 | | oand video media. | 2512 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2513 | | -ice] | 2514 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2515 | a=extmap:1 | [RFC6464] | 2516 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2517 | o-level | | 2518 | a=msid:ma ta | Identifies RTCMediaStream | 2519 | | ID (ma) and | 2520 | | RTCMediaStreamTrack ID | 2521 | | (ta) | 2522 | c=IN IP4 24.23.204.141 | [RFC4566] | 2523 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2524 | a=mid:audio | [RFC5888] | 2525 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2526 | | us] | 2527 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2528 | | us] | 2529 | a=sendrecv | [RFC3264] | 2530 | a=setup:actpass | [RFC4145] | 2531 | a=rtcp-mux | [RFC5761] | 2532 | a=ice-ufrag:074c6550 | [RFC5245] | 2533 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 2534 | f08a068 | | 2535 | a=fingerprint:sha-1 | [RFC5245] | 2536 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2537 | c7:70:9d:1f:66:79:a8:07 | | 2538 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2539 | 192.168.1.4 54609 typ host | | 2540 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2541 | 24.23.204.141 54609 typ srflx raddr | | 2542 | 192.168.1.4 rport 54609 | | 2543 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2544 | 192.168.1.4 64678 typ host | | 2545 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2546 | 24.23.204.141 64678 typ srflx raddr | | 2547 | 192.168.1.4 rport 64678 | | 2548 | a=rtcp-fb:109 nack | [RFC5104] | 2549 | a=ssrc:11111 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 2550 | a=rtcp-rsize | [RFC5506] | 2551 | m=video 54609 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 2552 | a=msid:ma tb | Identifies RTCMediaStream | 2553 | | ID (ma) and | 2554 | | RTCMediaStreamTrack ID | 2555 | | (tb) | 2556 | c=IN IP4 24.23.204.141 | [RFC4566] | 2557 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2558 | a=mid:video | [RFC5888] | 2559 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 2560 | a=sendrecv | [RFC3264] | 2561 | a=setup:actpass | [RFC4145] | 2562 | a=rtcp-mux | [RFC5761] | 2563 | a=ice-ufrag:074c6550 | [RFC5245] | 2564 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 2565 | f08a068 | | 2566 | a=fingerprint:sha-1 | [RFC5245] | 2567 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2568 | c7:70:9d:1f:66:79:a8:07 | | 2569 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2570 | 192.168.1.4 54609 typ host | | 2571 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2572 | 24.23.204.141 54609 typ srflx raddr | | 2573 | 192.168.1.4 rport 54609 | | 2574 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2575 | 192.168.1.4 64678 typ host | | 2576 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2577 | 24.23.204.141 64678 typ srflx raddr | | 2578 | 192.168.1.4 rport 64678 | | 2579 | a=rtcp-fb:120 nack | [RFC5104] | 2580 | a=rtcp-fb:120 nack pli | [RFC5104] | 2581 | a=rtcp-fb:120 ccm fir | [RFC5104] | 2582 | a=ssrc:22222 cname:Q/aoNWs11HmN4Xa5 | [RFC5576] | 2583 | a=rtcp-rsize | [RFC5506] | 2584 +--------------------------------------+----------------------------+ 2586 Table 24: 5.2.11 SDP Updated Offer 2588 +--------------------------------------+----------------------------+ 2589 | SDP Contents | RFC#/Notes | 2590 +--------------------------------------+----------------------------+ 2591 | v=1 | [RFC4566] Version number | 2592 | | incremented | 2593 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 2594 | | Information | 2595 | s=- | [RFC4566] | 2596 | t=0 0 | [RFC4566] | 2597 | a=msid-semantic:WMS | [MSID] | 2598 | a=group:BUNDLE audio video | [draft-ietf-mmusic-sdp-bun | 2599 | | dle-negotiation] | 2600 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2601 | | -ice] | 2602 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2603 | a=msid:ma ta | Identifies RTCMediaStream | 2604 | | ID (ma) and | 2605 | | RTCMediaStreamTrack ID | 2606 | | (ta) | 2607 | c=IN IP4 98.248.92.77 | [RFC4566] | 2608 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2609 | a=mid:audio | [RFC5888] | 2610 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2611 | | us] | 2612 | a=extmap:1 | [RFC6464] | 2613 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2614 | o-level | | 2615 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2616 | | us] | 2617 | a=sendrecv | [RFC3264] | 2618 | a=setup:active | [RFC4145] | 2619 | a=rtcp-mux | [RFC5761] | 2620 | a=rtcp-fb:109 nack | [RFC5104] | 2621 | a=ice-ufrag:c300d85b | [RFC5245] | 2622 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2623 | abd9a2 | | 2624 | a=fingerprint:sha-1 | [RFC5245] | 2625 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2626 | c7:70:9d:1f:66:79:a8:07 | | 2627 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2628 | 192.168.1.7 49203 typ host | | 2629 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2630 | 98.248.92.77 49203 typ srflx raddr | | 2631 | 192.168.1.7 rport 49203 | | 2632 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2633 | 192.168.1.7 60065 typ host | | 2634 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2635 | 98.248.92.77 60065 typ srflx raddr | | 2636 | 192.168.1.7 rport 60065 | | 2637 | a=ssrc:33333 cname:L/aoNWs11HmN4Xa5 | [RFC5576] | 2638 | a=rtcp-rsize | [RFC5506] | 2639 | m=video 49203 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 2640 | a=msid:ma tb | Identifies RTCMediaStream | 2641 | | ID (ma) and | 2642 | | RTCMediaStreamTrack ID | 2643 | | (tb) | 2644 | c=IN IP4 98.248.92.77 | [RFC4566] | 2645 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2646 | a=mid:video | [RFC5888] | 2647 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload-vp8] | 2648 | a=sendrecv | [RFC3264] | 2649 | a=setup:active | [RFC4145] | 2650 | a=rtcp-mux | [RFC5761] | 2651 | a=ice-ufrag:c300d85b | [RFC5245] | 2652 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2653 | abd9a2 | | 2654 | a=fingerprint:sha-1 | [RFC5245] | 2655 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2656 | c7:70:9d:1f:66:79:a8:07 | | 2657 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2658 | 192.168.1.7 49203 typ host | | 2659 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 2660 | 98.248.92.77 49203 typ srflx raddr | | 2661 | 192.168.1.7 rport 49203 | | 2662 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2663 | 192.168.1.7 60065 typ host | | 2664 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2665 | 98.248.92.77 60065 typ srflx raddr | | 2666 | 192.168.1.7 rport 60065 | | 2667 | a=rtcp-fb:120 nack | [RFC5104] | 2668 | a=rtcp-fb:120 nack pli | [RFC5104] | 2669 | a=rtcp-fb:120 ccm fir | [RFC5104] | 2670 | a=ssrc:44444 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 2671 | a=rtcp-rsize | [RFC5506] | 2672 +--------------------------------------+----------------------------+ 2674 Table 25: 5.2.11 SDP Updated Answer 2676 5.3. MultiResolution, RTX, FEC Examples 2678 This section deals with scenarios related to multiresolution 2679 negotiation such as layered coding, simulcast, along with techniques 2680 that deal with providing robustness against transmission errors such 2681 as FEC and RTX. Also to note, meachnisms such as FEC and RTX could 2682 be envisioned in the above basic scenarios as well. 2684 5.3.1. Sendonly Simulcast w/2 cameras and 2 encodings per camera 2686 This SDP below shows Offer/Answer exchange with an audio and two 2687 video streams each of which can be sent at two different resolutions. 2689 One video stream supports VP8, while the other supports H.264. 2691 bundle-only framework is used along with BUNDLE grouping framework to 2692 enable multiplexing of all the 5 streams (1 audio stream + 4 video 2693 streams) over a single RTP Session. 2695 title 1 Way Successful Simulcast w/BUNDLE 2697 note right of Alice 2698 Alice offers 2 sendonly video streams with 2 simulcast encodings per stream 2699 end note 2700 Alice->Bob: Offer(Audio:Opus,Video1:VP8,Video2:H.264) with bundle-only for video 2701 note left of Bob 2702 Bob accepts Alice's offer and 2 encodings per stream 2703 end note 2704 Alice->Bob: One-Way 1 Opus, 2 H.264 and 2 VP8 video streams, all mulitplexed 2706 +--------------------------------------+----------------------------+ 2707 | SDP Contents | RFC#/Notes | 2708 +--------------------------------------+----------------------------+ 2709 | v=0 | [RFC4566] | 2710 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 2711 | s=- | [RFC4566] | 2712 | t=0 0 | [RFC4566] | 2713 | a=msid-semantic:WMS | [MSID] | 2714 | a=group:BUNDLE m0 m1 m2 | [draft-ietf-mmusic-sdp-bun | 2715 | | dle-negotiation] Alice | 2716 | | supports grouping of | 2717 | | m=lines under BUNDLE | 2718 | | semantics | 2719 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2720 | | -ice] | 2721 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2722 | a=msid:ma ta | Identifies RTCMediaStream | 2723 | | ID (ma) and | 2724 | | RTCMediaStreamTrack ID | 2725 | | (ta) | 2726 | c=IN IP4 24.23.204.141 | [RFC4566] | 2727 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2728 | a=mid:m0 | [RFC5888] Audio m=line | 2729 | | part of BUNDLE group with | 2730 | | a unique port number | 2731 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2732 | | us] | 2733 | a=extmap:1 | [RFC6464] | 2734 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2735 | o-level | | 2736 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2737 | | us] | 2738 | a=sendonly | [RFC3264] | 2739 | a=setup:actpass | [RFC4145] - Alice can | 2740 | | perform DTLS before Answer | 2741 | | arrives | 2742 | a=rtcp-mux | [RFC5761] | 2743 | a=rtcp-fb:109 nack | [RFC5104] | 2744 | a=ssrc:11111 EocUG1f0fcg | [RFC5576] | 2745 | a=ice-ufrag:074c6550 | [RFC5245] | 2746 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 2747 | f08a068 | | 2748 | a=fingerprint:sha-1 | [RFC5245] | 2749 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2750 | c7:70:9d:1f:66:79:a8:07 | | 2751 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2752 | 192.168.1.4 54609 typ host | | 2753 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2754 | 24.23.204.141 54609 typ srflx raddr | | 2755 | 192.168.1.4 rport 54609 | | 2756 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2757 | 192.168.1.4 64678 typ host | | 2758 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2759 | 24.23.204.141 64678 typ srflx raddr | | 2760 | 192.168.1.4 rport 64678 | | 2761 | a=rtcp-rsize | [RFC5506] | 2762 | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | bundle-only video line | 2763 | | with port number set to | 2764 | | zero | 2765 | a=msid:ma tb | Identifies RTCMediaStream | 2766 | | ID (ma) and | 2767 | | RTCMediaStreamTrack ID | 2768 | | (tb) | 2769 | c=IN IP4 24.23.204.141 | [RFC4566] | 2770 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2771 | a=mid:m1 | [RFC5888] Video m=line | 2772 | | part of BUNDLE group | 2773 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 2774 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 2775 | a=imageattr:98 [x=1280,y=720] | [RFC6236]Camera-1,Encoding | 2776 | | -1 Resolution | 2777 | a=fmtp:98 max-fr=30 | [RFC4566] | 2778 | a=imageattr:100 [x=640,y=480] | [RFC6236] | 2779 | | Camera-1,Encoding-2 | 2780 | | Resolution | 2781 | a=fmtp:100 max-fr=15 | [RFC4566] | 2782 | a=ssrc-group:SIMULCAST 12345 45678 | [RFC5576] | 2783 | a=ssrc:12345 cname:axzo1278npDlAzM73 | [RFC5576] | 2784 | | [draft-rescorla-avtcore-62 | 2785 | | 22bis] Camera-1,Encoding-1 | 2786 | | SSRC with Session CNAME | 2787 | a=ssrc:45678 cname:axzo1278npDlAzM73 | [RFC5576] | 2788 | | [draft-rescorla-avtcore-62 | 2789 | | 22bis] Camera-1,Encoding-2 | 2790 | | SSRC with Session CNAME | 2791 | a=sendonly | [RFC3264] - Send only | 2792 | | video stream | 2793 | a=rtcp-mux | [RFC5761] | 2794 | a=bundle-only | [draft-roach-mmusic-unifie | 2795 | | d-plan] | 2796 | a=rtcp-fb:98 nack | [RFC5104] | 2797 | a=rtcp-fb:98 nack pli | [RFC5104] | 2798 | a=rtcp-fb:98 ccm fir | [RFC5104] | 2799 | a=rtcp-fb:100 nack | [RFC5104] | 2800 | a=rtcp-fb:100 nack pli | [RFC5104] | 2801 | a=rtcp-fb:100 ccm fir | [RFC5104] | 2802 | a=rtcp-rsize | [RFC5506] | 2803 | m=video 0 UDP/TLS/RTP/SAVPF 101 102 | bundle-only video line | 2804 | | with port number set to | 2805 | | zero | 2806 | a=msid:ma tc | Identifies RTCMediaStream | 2807 | | ID (ma) and | 2808 | | RTCMediaStreamTrack ID | 2809 | | (tc) | 2810 | c=IN IP4 24.23.204.141 | [RFC4566] | 2811 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 2812 | a=mid:m2 | [RFC5888] Video m=line | 2813 | | part of BUNDLE group | 2814 | a=rtpmap:101 H264/90000 | [RFC3984] | 2815 | a=rtpmap:102 H264/90000 | [RFC3984] | 2816 | a=fmtp:101 | [RFC3984]Camera-2,Encoding | 2817 | profile-level-id=4d0028;packetizatio | -1 Resolution | 2818 | n-mode=1;max-fr=30 | | 2819 | a=fmtp:102 | [RFC3984]Camera-1,Encoding | 2820 | profile-level-id=4d0028;packetizatio | -2 Resolution | 2821 | n-mode=1;max-fr=15 | | 2822 | a=ssrc-group:SIMULCAST 67890 56789 | [RFC5576] | 2823 | a=ssrc:67890 cname:axzo1278npDlAzM73 | [RFC5576] | 2824 | | [draft-rescorla-avtcore-62 | 2825 | | 22bis] Camera-1,Encoding-1 | 2826 | | SSRC with Session CNAME | 2827 | a=ssrc:56789 cname:axzo1278npDlAzM73 | [RFC5576] | 2828 | | [draft-rescorla-avtcore-62 | 2829 | | 22bis] Camera-1,Encoding-2 | 2830 | | SSRC with Session CNAME | 2831 | a=sendonly | [RFC3264] - Send only | 2832 | | video stream | 2833 | a=rtcp-mux | [RFC5761] | 2834 | a=bundle-only | [draft-roach-mmusic-unifie | 2835 | | d-plan] | 2836 | a=rtcp-fb:101 nack | [RFC5104] | 2837 | a=rtcp-fb:101 nack pli | [RFC5104] | 2838 | a=rtcp-fb:101 ccm fir | [RFC5104] | 2839 | a=rtcp-fb:102 nack | [RFC5104] | 2840 | a=rtcp-fb:102 nack pli | [RFC5104] | 2841 | a=rtcp-fb:102 ccm fir | [RFC5104] | 2842 | a=rtcp-rsize | [RFC5506] | 2843 +--------------------------------------+----------------------------+ 2845 Table 26: 5.3.1 SDP Offer 2847 +--------------------------------------+----------------------------+ 2848 | SDP Contents | RFC#/Notes | 2849 +--------------------------------------+----------------------------+ 2850 | v=0 | [RFC4566] | 2851 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 2852 | s=- | [RFC4566] | 2853 | t=0 0 | [RFC4566] | 2854 | a=msid-semantic:WMS | [MSID] | 2855 | a=group:BUNDLE m0 m1 m2 | [draft-ietf-mmusic-sdp-bun | 2856 | | dle-negotiation] Alice | 2857 | | supports grouping of | 2858 | | m=lines under BUNDLE | 2859 | | semantics | 2860 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 2861 | | -ice] | 2862 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 2863 | c=IN IP4 98.248.92.77 | [RFC4566] | 2864 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2865 | a=mid:m0 | [RFC5888] Audio m=line | 2866 | | part of BUNDLE group with | 2867 | | a unique port number | 2868 | a=msid:ma ta | Identifies RTCMediaStream | 2869 | | ID (ma) and | 2870 | | RTCMediaStreamTrack ID | 2871 | | (ta) | 2872 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 2873 | | us] | 2874 | a=extmap:1 | [RFC6464] | 2875 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 2876 | o-level | | 2877 | a=rtcp-fb:109 nack | [RFC5104] | 2878 | a=ptime:20 | [draft-ietf-payload-rtp-op | 2879 | | us] | 2880 | a=sendonly | [RFC3264] | 2881 | a=setup:active | [RFC4145] - Bob carries | 2882 | | out DTLS Handshake in | 2883 | | parallel | 2884 | a=rtcp-mux | [RFC5761] | 2885 | a=ssrc:22222 | [RFC5576] | 2886 | cname:y8/C90alEocUG1f0fcg | | 2887 | a=ice-ufrag:c300d85b | [RFC5245] | 2888 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2889 | abd9a2 | | 2890 | a=fingerprint:sha-1 | [RFC5245] | 2891 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2892 | c7:70:9d:1f:66:79:a8:07 | | 2893 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2894 | 192.168.1.7 49203 typ host | | 2895 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2896 | 98.248.92.77 49203 typ srflx raddr | | 2897 | 192.168.1.4 rport 49203 | | 2898 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2899 | 192.168.1.7 64678 typ host | | 2900 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2901 | 98.248.92.77 60065 typ srflx raddr | | 2902 | 192.168.1.4 rport 60065 | | 2903 | a=rtcp-rsize | [RFC5506] | 2904 | m=video 49203 UDP/TLS/RTP/SAVPF 98 | BUNDLE accepted with port | 2905 | 100 | repeated from the audio | 2906 | | port | 2907 | a=msid:ma tb | Identifies RTCMediaStream | 2908 | | ID (ma) and | 2909 | | RTCMediaStreamTrack ID | 2910 | | (tb) | 2911 | c=IN IP4 98.248.92.77 | [RFC4566] | 2912 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 2913 | a=mid:m1 | [RFC5888] Video m=line | 2914 | | part of BUNDLE group | 2915 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 2916 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 2917 | a=imageattr:98 [x=1280,y=720] | [RFC6236]Camera-1,Encoding | 2918 | | -1 Resolution | 2919 | a=fmtp:98 max-fr=30 | [RFC4566] | 2920 | a=imageattr:100 [x=640,y=480] | [RFC6236] | 2921 | | Camera-1,Encoding-2 | 2922 | | Resolution | 2923 | a=fmtp:100 max-fr=15 | [RFC4566] | 2924 | a=recvonly | [RFC3264] - receive only | 2925 | | video stream | 2926 | a=ssrc:54321 cname:axzo1278npDlAzM73 | [RFC5576] | 2927 | a=ice-ufrag:c300d85b | [RFC5245] | 2928 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2929 | abd9a2 | | 2930 | a=fingerprint:sha-1 | [RFC5245] | 2931 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2932 | c7:70:9d:1f:66:79:a8:07 | | 2933 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2934 | 192.168.1.7 49203 typ host | | 2935 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2936 | 98.248.92.77 49203 typ srflx raddr | | 2937 | 192.168.1.4 rport 49203 | | 2938 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2939 | 192.168.1.7 60065 typ host | | 2940 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2941 | 98.248.92.77 60065 typ srflx raddr | | 2942 | 192.168.1.4 rport 60065 | | 2943 | a=setup:active | [RFC4145] - Bob carries | 2944 | | out DTLS Handshake in | 2945 | | parallel | 2946 | a=rtcp-mux | [RFC5576] | 2947 | a=bundle-only | [draft-roach-mmusic-unifie | 2948 | | d-plan] | 2949 | a=rtcp-rsize | [RFC5506] | 2950 | m=video 54609 UDP/TLS/RTP/SAVPF 101 | BUNDLE accepted with port | 2951 | 102 | repeated from the audio | 2952 | | port | 2953 | c=IN IP4 98.248.92.77 | [RFC4566] | 2954 | a=rtcp:56503 IN IP4 98.248.92.77 | [RFC3605] | 2955 | a=msid:ma tc | Identifies RTCMediaStream | 2956 | | ID (ma) and | 2957 | | RTCMediaStreamTrack ID | 2958 | | (tc) | 2959 | a=mid:m2 | [RFC5888] Video m=line | 2960 | | part of BUNDLE group | 2961 | a=rtpmap:101 H264/90000 | [RFC3984] | 2962 | a=rtpmap:102 H264/90000 | [RFC3984] | 2963 | a=recvonly | [RFC3264] - Send only | 2964 | | video stream | 2965 | a=fmtp:101 | [RFC3984]Camera-2,Encoding | 2966 | profile-level-id=4d0028;packetizatio | -1 Resolution | 2967 | n-mode=1;max-fr=30 | | 2968 | a=fmtp:102 | [RFC3984]Camera-1,Encoding | 2969 | profile-level-id=4d0028;packetizatio | -2 Resolution | 2970 | n-mode=1;max-fr=15 | | 2971 | a=ssrc:90876 cname:axzo1278npDlAzM73 | [RFC5576] | 2972 | a=ice-ufrag:ufrag:c300d85b | [RFC5245] | 2973 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 2974 | abd9a2 | | 2975 | a=fingerprint:sha-1 | [RFC5245] | 2976 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 2977 | c7:70:9d:1f:66:79:a8:07 | | 2978 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 2979 | 192.168.1.7 49203 typ host | | 2980 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 2981 | 98.248.92.77 49203 typ srflx raddr | | 2982 | 192.168.1.7 rport 49203 | | 2983 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 2984 | 192.168.1.7 60065 typ host | | 2985 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 2986 | 98.248.92.77 60065 typ srflx raddr | | 2987 | 192.168.1.7 rport 60065 | | 2988 | a=setup:active | [RFC4145] - Bob carries | 2989 | | out DTLS Handshake in | 2990 | | parallel | 2991 | a=rtcp-mux | [RFC5576] | 2992 | a=bundle-only | [draft-roach-mmusic-unifie | 2993 | | d-plan] | 2994 | a=rtcp-rsize | [RFC5506] | 2995 +--------------------------------------+----------------------------+ 2997 Table 27: 5.3.1 SDP Anwer 2999 5.3.2. Successful SVC Video Stream 3001 This section shows an SDP Offer/Answer for a session with an audio 3002 and a single video stream. The video stream is layered coding at 3 3003 different resolutions based on [RFC5583]. The video m=line shows 3 3004 streams with last stream (payload 100) dependent on streams with 3005 payload 96 and 97 for decoding. 3007 title SVC Session - 3 Layers w/BUNDLE 3008 note right of Alice 3009 Alice offers 3 sendonly video stream with 3 layers of SVC 3010 end note 3011 Alice->Bob: Offer(Audio:Opus Video: H.264 SVC) bundle-only 3012 note left of Bob 3013 Bob accepts Alice's Offered Codec operation points 3014 end note 3015 Bob->Alice: Answer(Video: H.264) bundle-only 3016 Alice->Bob: One-Way H.264 Video with codec points as indicated by Bob. 3018 +---------------------------------------+---------------------------+ 3019 | SDP Contents | RFC#/Notes | 3020 +---------------------------------------+---------------------------+ 3021 | v=0 | [RFC4566] | 3022 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3023 | s=- | [RFC4566] | 3024 | t=0 0 | [RFC4566] | 3025 | a=msid-semantic:WMS | [MSID] | 3026 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bu | 3027 | | ndle-negotiation] Alice | 3028 | | supports grouping of | 3029 | | m=lines under BUNDLE | 3030 | | semantics | 3031 | a=ice-options:trickle | [draft-ivov-mmusic-trickl | 3032 | | e-ice] | 3033 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3034 | a=msid:ma ta | Identifies RTCMediaStream | 3035 | | ID (ma) and | 3036 | | RTCMediaStreamTrack ID | 3037 | | (ta) | 3038 | c=IN IP4 24.23.204.141 | [RFC4566] | 3039 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3040 | a=mid:m0 | [RFC5888] Audio m=line | 3041 | | part of BUNDLE group with | 3042 | | a unique port number | 3043 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-o | 3044 | | pus] | 3045 | a=extmap:1 | [RFC6464] | 3046 | urn:ietf:params:rtp-hdrext:ssrc-audio | | 3047 | -level | | 3048 | a=ptime:20 | [draft-ietf-payload-rtp-o | 3049 | | pus] | 3050 | a=sendonly | [RFC3264] | 3051 | a=rtcp-fb:109 nack | [RFC5104] | 3052 | a=setup:actpass | [RFC4145] - Alice can | 3053 | | perform DTLS before | 3054 | | Answer arrives | 3055 | a=rtcp-mux | [RFC5761] | 3056 | a=ice-ufrag:074c6550 | [RFC5245] | 3057 | a=ice-pwd:a28a397a4c3f31747d1ee3474af | [RFC5245] | 3058 | 08a068 | | 3059 | a=fingerprint:sha-1 | [RFC5245] | 3060 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c | | 3061 | 7:70:9d:1f:66:79:a8:07 | | 3062 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3063 | 192.168.1.4 54609 typ host | | 3064 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3065 | 24.23.204.141 54609 typ srflx raddr | | 3066 | 192.168.1.4 rport 54609 | | 3067 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3068 | 192.168.1.4 64678 typ host | | 3069 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3070 | 24.23.204.141 64678 typ srflx raddr | | 3071 | 192.168.1.4 rport 64678 | | 3072 | a=ssrc:67890 cname:axzo1278npDlAzM73 | [RFC5576] | 3073 | a=rtcp-rsize | [RFC5506] | 3074 | m=video 0 UDP/TLS/RTP/SAVPF 96 97 100 | bundle-only video line | 3075 | | with port number set to | 3076 | | zero | 3077 | a=msid:ma tb | Identifies RTCMediaStream | 3078 | | ID (ma) and | 3079 | | RTCMediaStreamTrack ID | 3080 | | (tc) | 3081 | c=IN IP4 24.23.204.141 | [RFC4566] | 3082 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3083 | a=mid:m1 | [RFC5888] Audio m=line | 3084 | | part of BUNDLE group | 3085 | a=msid:ma tb | | 3086 | a=rtpmap:96 H264/90000 | [RFC3984] | 3087 | a=fmtp:96 | [RFC3984]H.264 Layer 1 | 3088 | profile-level-id=4d0028;packetization | | 3089 | -mode=1;max-fr=30;max-fs=8040 | | 3090 | a=rtpmap:97 H264/90000 | [RFC3984] | 3091 | a=fmtp:97 | [RFC3984] H.264 Layer 2 | 3092 | profile-level-id=4d0028;packetization | | 3093 | -mode=1;max-fr=15;max-fs=1200 | | 3094 | a=rtpmap:100 H264-SVC/90000 | [RFC3984] | 3095 | a=fmtp:100 | [RFC3984] | 3096 | profile-level-id=4d0028;packetization | | 3097 | -mode=1;max-fr=30;max-fs=8040 | | 3098 | a=depend:100 lay m1:96,97; | [RFC5583]Layer 3 | 3099 | | dependent on layers 1 and | 3100 | | 2 | 3101 | a=sendonly | [RFC3264] - Send only | 3102 | | video stream | 3103 | a=rtcp-mux | [RFC5761] | 3104 | a=bundle-only | [draft-roach-mmusic-unifi | 3105 | | ed-plan] | 3106 | a=ssrc:1732846380 | [RFC5576] | 3107 | cname:axzo1278npDlAzM73 | | 3108 | a=ssrc:1732846381 | [RFC5576] | 3109 | cname:axzo1278npDlAzM73 | | 3110 | a=ssrc:1732846382 | [RFC5576] | 3111 | cname:axzo1278npDlAzM73 | | 3112 | a=rtcp-fb:* nack | [RFC5104] | 3113 | a=rtcp-fb:* nack pli | [RFC5104] | 3114 | a=rtcp-fb:* ccm fir | [RFC5104] | 3115 | a=rtcp-rsize | [RFC5506] | 3116 +---------------------------------------+---------------------------+ 3118 Table 28: 5.3.2 SDP Offer with SVC 3120 +---------------------------------------+---------------------------+ 3121 | SDP Contents | RFC#/Notes | 3122 +---------------------------------------+---------------------------+ 3123 | v=0 | [RFC4566] | 3124 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3125 | s=- | [RFC4566] | 3126 | t=0 0 | [RFC4566] | 3127 | a=msid-semantic:WMS | [MSID] | 3128 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bu | 3129 | | ndle-negotiation] Alice | 3130 | | supports grouping of | 3131 | | m=lines under BUNDLE | 3132 | | semantics | 3133 | a=ice-options:trickle | [draft-ivov-mmusic-trickl | 3134 | | e-ice] | 3135 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3136 | a=msid:ma ta | Identifies RTCMediaStream | 3137 | | ID (ma) and | 3138 | | RTCMediaStreamTrack ID | 3139 | | (ta) | 3140 | c=IN IP4 98.248.92.77 | [RFC4566] | 3141 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 3142 | a=mid:m0 | [RFC5888] Audio m=line | 3143 | | part of BUNDLE group with | 3144 | | a unique port number | 3145 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-o | 3146 | | pus] | 3147 | a=extmap:1 | [RFC6464] | 3148 | urn:ietf:params:rtp-hdrext:ssrc-audio | | 3149 | -level | | 3150 | a=ptime:20 | [draft-ietf-payload-rtp-o | 3151 | | pus] | 3152 | a=rtcp-fb:109 nack | [RFC5104] | 3153 | a=recvonly | [RFC3264] | 3154 | a=setup:active | [RFC4145] - Bob carries | 3155 | | out DTLS Handshake in | 3156 | | parallel | 3157 | a=rtcp-mux | [RFC5761] | 3158 | a=ice-ufrag:074c6550 | [RFC5245] | 3159 | a=ice-pwd:a28a397a4c3f31747d1ee3474af | [RFC5245] | 3160 | 08a068 | | 3161 | a=fingerprint:sha-1 | [RFC5245] | 3162 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c | | 3163 | 7:70:9d:1f:66:79:a8:07 | | 3164 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3165 | 192.168.1.7 54609 typ host | | 3166 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3167 | 98.248.92.77 49203 typ srflx raddr | | 3168 | 192.168.1.5 rport 49203 | | 3169 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3170 | 192.168.1.7 60065 typ host | | 3171 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3172 | 98.248.92.77 60065 typ srflx raddr | | 3173 | 192.168.1.5 rport 60065 | | 3174 | a=rtcp-rsize | [RFC5506] | 3175 | m=video 54609 UDP/TLS/RTP/SAVPF 96 | BUNDLE accepted Bundle | 3176 | 100 | address same as audio | 3177 | | m=line. | 3178 | a=msid:ma tb | Identifies RTCMediaStream | 3179 | | ID (ma) and | 3180 | | RTCMediaStreamTrack ID | 3181 | | (tb) | 3182 | c=IN IP4 98.248.92.77 | [RFC4566] | 3183 | a=rtcp:56503 IN IP4 98.248.92.77 | [RFC3605] | 3184 | a=mid:m1 | [RFC5888] Video m=line | 3185 | | part of BUNDLE group | 3186 | a=rtpmap:96 H264/90000 | [RFC3984] | 3187 | a=fmtp:96 | [RFC3984]H.264 Layer 1 | 3188 | profile-level-id=4d0028;packetization | | 3189 | -mode=1;max-fr=30;max-fs=8040 | | 3190 | a=rtpmap:100 H264-SVC/90000 | [RFC3984] | 3191 | a=fmtp:100 | [RFC3984] | 3192 | profile-level-id=4d0028;packetization | | 3193 | -mode=1;max-fr=30;max-fs=8040 | | 3194 | a=depend:100 lay m1:96; | [RFC5583] Bob chooses 2 | 3195 | | Codec Operation points | 3196 | a=ice-ufrag:074c6550 | [RFC5245] | 3197 | a=ice-pwd:a28a397a4c3f31747d1ee3474af | [RFC5245] | 3198 | 08a068 | | 3199 | a=fingerprint:sha-1 | [RFC5245] | 3200 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c | | 3201 | 7:70:9d:1f:66:79:a8:07 | | 3202 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3203 | 192.168.1.5 54609 typ host | | 3204 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3205 | 24.23.204.142 54609 typ srflx raddr | | 3206 | 192.168.1.5 rport 54609 | | 3207 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3208 | 192.168.1.5 64678 typ host | | 3209 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3210 | 24.23.204.142 64678 typ srflx raddr | | 3211 | 192.168.1.5 rport 64678 | | 3212 | a=recvonly | [RFC3264] - Receive only | 3213 | | video stream | 3214 | a=setup:active | [RFC4145] - Bob carries | 3215 | | out DTLS Handshake in | 3216 | | parallel | 3217 | a=rtcp-mux | [RFC5761] | 3218 | a=bundle-only | [draft-roach-mmusic-unifi | 3219 | | ed-plan] | 3220 | a=ssrc:4638117328 | [RFC5576] | 3221 | cname:axzo1278npDlAzM73 | | 3222 | a=rtcp-rsize | [RFC5506] | 3223 +---------------------------------------+---------------------------+ 3225 Table 29: 5.3.2 SDP Answer with SVC 3227 5.3.3. Successful Simulcast Video Streams with Retransmisson 3229 This section shows an SDP Offer/Answer exchange for a simulcast 3230 scenario with 2 two resolutions and has [RFC4588] style re- 3231 transmission flows. 3233 title Simulcast Streams with Retransmission 3235 note right of Alice 3236 Alice offers single audio and simulcasted video stream 3237 end note 3238 Alice->Bob: Offer(Audio:Opus Video:VP8 with 2 resolutions and RTX Stream) bundle-only 3239 note left of Bob 3240 Bob accepts all the streams offered by Alice 3241 end note 3243 Bob->Alice: Answer(Audio:Opus Video:VP8 with 2 resolutions and RTX Stream) bundle-only 3245 Alice<->Bob: 2 Way Audio and Simulcast Video with RTX Streams 3247 +--------------------------------------+----------------------------+ 3248 | SDP Contents | RFC#/Notes | 3249 +--------------------------------------+----------------------------+ 3250 | v=0 | [RFC4566] | 3251 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3252 | s=- | [RFC4566] | 3253 | t=0 0 | [RFC4566] | 3254 | a=msid-semantic:WMS | [MSID] | 3255 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bun | 3256 | | dle-negotiation] Alice | 3257 | | supports grouping of | 3258 | | m=lines under BUNDLE | 3259 | | semantics | 3260 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 3261 | | -ice] | 3262 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3263 | a=msid:ma ta | Identifies RTCMediaStream | 3264 | | ID (ma) and | 3265 | | RTCMediaStreamTrack ID | 3266 | | (ta) | 3267 | c=IN IP4 24.23.204.141 | [RFC4566] | 3268 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3269 | a=mid:m0 | [RFC5888] Audio m=line | 3270 | | part of BUNDLE group with | 3271 | | a unique port number | 3272 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 3273 | | us] | 3274 | a=extmap:1 | [RFC6464] | 3275 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 3276 | o-level | | 3277 | a=ptime:20 | [draft-ietf-payload-rtp-op | 3278 | | us] | 3279 | a=rtcp-fb:109 nack | [RFC5104] | 3280 | a=sendrecv | [RFC3264] | 3281 | a=setup:actpass | [RFC4145] - Alice can | 3282 | | perform DTLS before Answer | 3283 | | arrives | 3284 | a=rtcp-mux | [RFC5761] | 3285 | a=ssrc:11111 cname:EocUG1f0fcg/yvY7 | [RFC5576] | 3286 | a=ice-ufrag:074c6550 | [RFC5245] | 3287 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3288 | f08a068 | | 3289 | a=fingerprint:sha-1 | [RFC5245] | 3290 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3291 | c7:70:9d:1f:66:79:a8:07 | | 3292 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3293 | 192.168.1.4 54609 typ host | | 3294 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3295 | 24.23.204.141 54609 typ srflx raddr | | 3296 | 192.168.1.4 rport 54609 | | 3297 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3298 | 192.168.1.4 64678 typ host | | 3299 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3300 | 24.23.204.141 64678 typ srflx raddr | | 3301 | 192.168.1.4 rport 64678 | | 3302 | a=rtcp-rsize | [RFC5506] | 3303 | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | bundle-only video line | 3304 | 101 103 | with port number set to | 3305 | | zero | 3306 | a=msid:ma tb | Identifies RTCMediaStream | 3307 | | ID (ma) and | 3308 | | RTCMediaStreamTrack ID | 3309 | | (tb) | 3310 | c=IN IP4 24.23.204.141 | [RFC4566] | 3311 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3312 | a=mid:m1 | [RFC5888] Audio m=line | 3313 | | part of BUNDLE group | 3314 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 3315 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 3316 | a=rtpmap:101 VP8/90000 | [draft-ietf-payload-vp8] | 3317 | a=rtpmap:103 VP8/90000 | [draft-ietf-payload-vp8] | 3318 | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | 3319 | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | 3320 | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | 3321 | a=fmtp:103 apt=100;rtx-time=3000 | [RFC4588] | 3322 | a=ssrc-group:SIMULCAST 12345 78990 | Simulcast group | 3323 | a=ssrc-group:FID 12345 34567 | [RFC5888] | 3324 | a=ssrc-group:FID 78990 90887 | [RFC5888] | 3325 | a=ssrc:12345 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3326 | a=ssrc:78990 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3327 | a=ssrc:34567 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3328 | a=ssrc:90887 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3329 | a=sendrecv | [RFC3264] | 3330 | a=rtcp-mux | [RFC5761] | 3331 | a=bundle-only | [draft-roach-mmusic-unifie | 3332 | | d-plan] | 3333 | a=rtcp-fb:* nack | [RFC5104] | 3334 | a=rtcp-fb:* nack pli | [RFC5104] | 3335 | a=rtcp-fb:* ccm fir | [RFC5104] | 3336 | a=rtcp-rsize | [RFC5506] | 3337 +--------------------------------------+----------------------------+ 3339 Table 30: 5.3.3 SDP Offer w/Simulcast, RTX 3341 +--------------------------------------+----------------------------+ 3342 | SDP Contents | RFC#/Notes | 3343 +--------------------------------------+----------------------------+ 3344 | v=0 | [RFC4566] | 3345 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3346 | s=- | [RFC4566] | 3347 | t=0 0 | [RFC4566] | 3348 | a=msid-semantic:WMS | [MSID] | 3349 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bun | 3350 | | dle-negotiation] Alice | 3351 | | supports grouping of | 3352 | | m=lines under BUNDLE | 3353 | | semantics | 3354 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 3355 | | -ice] | 3356 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3357 | a=msid:ma ta | Identifies RTCMediaStream | 3358 | | ID (ma) and | 3359 | | RTCMediaStreamTrack ID | 3360 | | (ta) | 3361 | c=IN IP4 98.248.92.77 | [RFC4566] | 3362 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 3363 | a=mid:m0 | [RFC5888] Audio m=line | 3364 | | part of BUNDLE group with | 3365 | | a unique port number | 3366 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 3367 | | us] | 3368 | a=extmap:1 | [RFC6464] | 3369 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 3370 | o-level | | 3371 | a=ptime:20 | [draft-ietf-payload-rtp-op | 3372 | | us] | 3373 | a=rtcp-fb:109 nack | [RFC5104] | 3374 | a=sendrecv | [RFC3264] | 3375 | a=setup:active | [RFC4145] | 3376 | a=rtcp-mux | [RFC5761] | 3377 | a=ssrc:33333 cname:L/HmN4Xa5NWs1ao1 | [RFC5576] | 3378 | a=ice-ufrag:074c6550 | [RFC5245] | 3379 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3380 | f08a068 | | 3381 | a=fingerprint:sha-1 | [RFC5245] | 3382 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3383 | c7:70:9d:1f:66:79:a8:07 | | 3384 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3385 | 192.168.1.7 54609 typ host | | 3386 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3387 | 98.248.92.77 54609 typ srflx raddr | | 3388 | 192.168.1.7 rport 49203 | | 3389 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3390 | 192.168.1.7 64678 typ host | | 3391 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3392 | 98.248.92.77 64678 typ srflx raddr | | 3393 | 192.168.1.7 rport 60065 | | 3394 | a=rtcp-rsize | [RFC5506] | 3395 | m=video 49203 UDP/TLS/RTP/SAVPF 98 | BUNDLE accepted with | 3396 | 100 101 103 | Bundle address identical | 3397 | | to audio m-line | 3398 | a=msid:ma tb | Identifies RTCMediaStream | 3399 | | ID (ma) and | 3400 | | RTCMediaStreamTrack ID | 3401 | | (tb) | 3402 | c=IN IP4 98.248.92.77 | [RFC4566] | 3403 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 3404 | a=mid:m1 | [RFC5888] Video m=line | 3405 | | part of BUNDLE group | 3406 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 3407 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 3408 | a=rtpmap:101 VP8/90000 | [draft-ietf-payload-vp8] | 3409 | a=rtpmap:103 VP8/90000 | [draft-ietf-payload-vp8] | 3410 | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | 3411 | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | 3412 | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | 3413 | a=fmtp:103 apt=100;rtx-time=3000 | [RFC4588] | 3414 | a=ice-ufrag:074c6550 | [RFC5245] | 3415 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3416 | f08a068 | | 3417 | a=fingerprint:sha-1 | [RFC5245] | 3418 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3419 | c7:70:9d:1f:66:79:a8:07 | | 3420 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3421 | 192.168.1.7 49203 typ host | | 3422 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3423 | 98.248.92.77 49203 typ srflx raddr | | 3424 | 192.168.1.7 rport 49203 | | 3425 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3426 | 192.168.1.7 60065 typ host | | 3427 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3428 | 98.248.92.772 60065 typ srflx raddr | | 3429 | 192.168.1.7 rport 60065 | | 3430 | a=ssrc-group:SIMULCAST 54321 77656 | Simulcast group | 3431 | a=ssrc-group:FID 54321 88776 | [RFC5888] | 3432 | a=ssrc-group:FID 77656 12908 | [RFC5888] | 3433 | a=ssrc:54321 cname:LP/NWs1ao1HmN4Xa5 | [RFC5576] | 3434 | a=ssrc:77656 cname:LP/NWs1ao1HmN4Xa5 | [RFC5576] | 3435 | a=ssrc:88776 cname:LP/NWs1ao1HmN4Xa5 | [RFC5576] | 3436 | a=ssrc:12908 cname:LP/NWs1ao1HmN4Xa5 | [RFC5576] | 3437 | a=sendrecv | [RFC3264] | 3438 | a=setup:active | [RFC4145] - Bob carries | 3439 | | out DTLS Handshake in | 3440 | | parallel | 3441 | a=rtcp-mux | [RFC5761] | 3442 | a=bundle-only | [draft-roach-mmusic-unifie | 3443 | | d-plan] | 3444 | a=rtcp-fb:* nack | [RFC5104] | 3445 | a=rtcp-fb:* nack pli | [RFC5104] | 3446 | a=rtcp-fb:* ccm fir | [RFC5104] | 3447 | a=rtcp-rsize | [RFC5506] | 3448 +--------------------------------------+----------------------------+ 3450 Table 31: 5.3.3 SDP Answer w/Simulcast, RTX 3452 5.3.4. Successful 1-way Simulcast with 2 resolutions and RTX - One 3453 resolution rejected 3455 This section shows an SDP Offer/Answer exchange for a simulcast 3456 scenario with 2 two resolutions and has [RFC4588] style re- 3457 transmission flows. 3459 It also showcases when Bob rejects one of the Simulcast Video Stream 3460 which results in the rejection of the associated repair stream 3461 implicitly 3463 title Simulcast Streams with Retransmission Rejected 3465 note right of Alice 3466 Alice offers sendonly single audio and simulcasted video stream. 3467 end note 3468 Alice->Bob: Offer(Audio:Opus Video:VP8 with 2 resolutions and RTX Streams) bundle-only 3470 note left of Bob 3471 Bob accepts one simulcast,rtx and rejects the other 3472 end note 3473 Bob->Alice: Answer(Audio:Opus Video:VP8 with 1 resolution and the RTX Stream) bundle-only 3475 Alice->Bob: 1 Way Audio, Video Session 3476 note right of Alice 3477 Only 1 Video stream and its associated RTX stream 3478 is sent to Bob 3479 end note 3481 +--------------------------------------+----------------------------+ 3482 | SDP Contents | RFC#/Notes | 3483 +--------------------------------------+----------------------------+ 3484 | v=0 | [RFC4566] | 3485 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3486 | s=- | [RFC4566] | 3487 | t=0 0 | [RFC4566] | 3488 | a=msid-semantic:WMS | [MSID] | 3489 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bun | 3490 | | dle-negotiation] Alice | 3491 | | supports grouping of | 3492 | | m=lines under BUNDLE | 3493 | | semantics | 3494 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 3495 | | -ice] | 3496 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3497 | a=msid:ma ta | Identifies RTCMediaStream | 3498 | | ID (ma) and | 3499 | | RTCMediaStreamTrack ID | 3500 | | (ta) | 3501 | c=IN IP4 24.23.204.141 | [RFC4566] | 3502 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3503 | a=mid:m0 | [RFC5888] Audio m=line | 3504 | | part of BUNDLE group with | 3505 | | a unique port number | 3506 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 3507 | | us] | 3508 | a=extmap:1 | [RFC6464] | 3509 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 3510 | o-level | | 3511 | a=ptime:20 | [draft-ietf-payload-rtp-op | 3512 | | us] | 3513 | a=rtcp-fb:109 nack | [RFC5104] | 3514 | a=sendonly | [RFC3264] | 3515 | a=setup:actpass | [RFC4145] - Alice can | 3516 | | perform DTLS before Answer | 3517 | | arrives | 3518 | a=rtcp-mux | [RFC5761] | 3519 | a=ssrc:11111 cname:LP/NWs1ao1HmN4Xa5 | [RFC5576] | 3520 | a=ice-ufrag:074c6550 | [RFC5245] | 3521 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3522 | f08a068 | | 3523 | a=fingerprint:sha-1 | [RFC5245] | 3524 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3525 | c7:70:9d:1f:66:79:a8:07 | | 3526 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3527 | 192.168.1.4 54609 typ host | | 3528 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3529 | 24.23.204.141 54609 typ srflx raddr | | 3530 | 192.168.1.4 rport 54609 | | 3531 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3532 | 192.168.1.4 64678 typ host | | 3533 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3534 | 24.23.204.141 64678 typ srflx raddr | | 3535 | 192.168.1.4 rport 64678 | | 3536 | a=rtcp-rsize | [RFC5506] | 3537 | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | bundle-only video line | 3538 | 101 103 | with port number set to | 3539 | | zero | 3540 | a=msid:ma tb | Identifies RTCMediaStream | 3541 | | ID (ma) and | 3542 | | RTCMediaStreamTrack ID | 3543 | | (tb) | 3544 | c=IN IP4 24.23.204.141 | [RFC4566] | 3545 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3546 | a=mid:m1 | [RFC5888] Audio m=line | 3547 | | part of BUNDLE group | 3548 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 3549 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 3550 | a=rtpmap:101 VP8/90000 | [draft-ietf-payload-vp8] | 3551 | a=rtpmap:103 VP8/90000 | [draft-ietf-payload-vp8] | 3552 | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | 3553 | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | 3554 | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | 3555 | a=fmtp:103 apt=100;rtx-time=3000 | [RFC4588] | 3556 | a=ssrc-group:SIMULCAST 12345 78990 | Simulcast group | 3557 | a=ssrc-group:FID 12345 34567 | [RFC5888] | 3558 | a=ssrc-group:FID 78990 90887 | [RFC5888] | 3559 | a=ssrc:12345 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3560 | a=ssrc:78990 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3561 | a=ssrc:34567 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3562 | a=ssrc:90887 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3563 | a=sendonly | [RFC3264] | 3564 | a=rtcp-mux | [RFC5761] | 3565 | a=bundle-only | [draft-roach-mmusic-unifie | 3566 | | d-plan] | 3567 | a=rtcp-fb:* nack | [RFC5104] | 3568 | a=rtcp-fb:* nack pli | [RFC5104] | 3569 | a=rtcp-fb:* ccm fir | [RFC5104] | 3570 | a=rtcp-rsize | [RFC5506] | 3571 +--------------------------------------+----------------------------+ 3573 Table 32: 5.3.4 SDP Offer w/Simulcast, RTX 3575 +--------------------------------------+----------------------------+ 3576 | SDP Contents | RFC#/Notes | 3577 +--------------------------------------+----------------------------+ 3578 | v=0 | [RFC4566] | 3579 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3580 | s=- | [RFC4566] | 3581 | t=0 0 | [RFC4566] | 3582 | a=msid-semantic:WMS | [MSID] | 3583 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bun | 3584 | | dle-negotiation] Alice | 3585 | | supports grouping of | 3586 | | m=lines under BUNDLE | 3587 | | semantics | 3588 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 3589 | | -ice] | 3590 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3591 | a=msid:ma ta | Identifies RTCMediaStream | 3592 | | ID (ma) and | 3593 | | RTCMediaStreamTrack ID | 3594 | | (ta) | 3595 | c=IN IP4 98.248.92.77 | [RFC4566] | 3596 | a=rtcp:49203 IN IP4 98.248.92.77 | [RFC3605] | 3597 | a=mid:m0 | [RFC5888] Audio m=line | 3598 | | part of BUNDLE group with | 3599 | | a unique port number | 3600 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 3601 | | us] | 3602 | a=extmap:1 | [RFC6464] | 3603 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 3604 | o-level | | 3605 | a=ptime:20 | [draft-ietf-payload-rtp-op | 3606 | | us] | 3607 | a=recvonly | [RFC3264] | 3608 | a=setup:active | [RFC4145] - Bob carries | 3609 | | out DTLS Handshake in | 3610 | | parallel | 3611 | a=rtcp-mux | [RFC5761] | 3612 | a=ice-ufrag:074c6550 | [RFC5245] | 3613 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3614 | f08a068 | | 3615 | a=fingerprint:sha-1 | [RFC5245] | 3616 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3617 | c7:70:9d:1f:66:79:a8:07 | | 3618 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3619 | 192.168.1.7 49203 typ host | | 3620 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3621 | 98.248.92.77 49203 typ srflx raddr | | 3622 | 192.168.1.7 rport 49203 | | 3623 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3624 | 192.168.1.7 60065 typ host | | 3625 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3626 | 98.248.92.77 60065 typ srflx raddr | | 3627 | 192.168.1.7 rport 60065 | | 3628 | a=rtcp-rsize | [RFC5506] | 3629 | m=video 49203 UDP/TLS/RTP/SAVPF 98 | BUNDLE accepted with | 3630 | 101 | Bundle address identical | 3631 | | to audio m-line | 3632 | a=msid:ma tb | Identifies RTCMediaStream | 3633 | | ID (ma) and | 3634 | | RTCMediaStreamTrack ID | 3635 | | (tb) | 3636 | c=IN IP4 98.248.92.77 | [RFC4566] | 3637 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 3638 | a=mid:m1 | [RFC5888] Video m=line | 3639 | | part of BUNDLE group | 3640 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 3641 | a=rtpmap:101 VP8/90000 | [draft-ietf-payload-vp8] | 3642 | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | 3643 | a=fmtp:101 apt=98;rtx-time=3000 | [RFC4588] | 3644 | a=ice-ufrag:074c6550 | [RFC5245] | 3645 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3646 | f08a068 | | 3647 | a=fingerprint:sha-1 | [RFC5245] | 3648 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3649 | c7:70:9d:1f:66:79:a8:07 | | 3650 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3651 | 192.168.1.7 49203 typ host | | 3652 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3653 | 98.248.92.77 49203 typ srflx raddr | | 3654 | 192.168.1.5 rport 49203 | | 3655 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3656 | 192.168.1.7 60065 typ host | | 3657 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3658 | 98.248.92.77 60065 typ srflx raddr | | 3659 | 192.168.1.5 rport 60065 | | 3660 | a=ssrc:54321 cname:NWs1ao1HmN4Xa5 | [RFC5576] | 3661 | a=recvonly | [RFC3264] | 3662 | a=setup:active | [RFC4145] - Bob carries | 3663 | | out DTLS Handshake in | 3664 | | parallel | 3665 | a=rtcp-mux | [RFC5761] | 3666 | a=bundle-only | [draft-roach-mmusic-unifie | 3667 | | d-plan] | 3668 | a=rtcp-rsize | [RFC5506] | 3669 +--------------------------------------+----------------------------+ 3671 Table 33: 5.3.4 SDP Answer no Simulcast 3673 5.3.5. Simulcast Video Stream with Forward Error Correction 3675 This section shows an SDP Offer/Answer exchange for Simulcast video 3676 stream at two resolutions and and has [RFC5956] style FEC flows. 3678 On completion of Offer/Answer exchange we end up one audio stream, 2 3679 simulcast video streams and 2 associated FEC streams are sent over a 3680 single 5-tuple. 3682 title Simulcast Streams with Forward Error Correction 3684 note right of Alice 3685 Alice offers sendonly single audio and simulcasted video stream 3686 end note 3687 Alice->Bob: Offer(Audio:Opus Video:VP8 with 2 resolutions with FEC Streams) bundle-only 3689 note left of Bob 3690 Bob accepts simulcast stream as well as FEC streams 3691 end note 3692 Bob->Alice: Answer(Audio:Opus Video:VP8 with 2 resolutions with FEC Streams) bundle-only 3694 Alice->Bob: 1 Way Audio, Video Session 3695 note right of Alice 3696 Successful Session with 4 video streams (Simulcast + FEC) and 1 Audio Stream 3697 +--------------------------------------+----------------------------+ 3698 | SDP Contents | RFC#/Notes | 3699 +--------------------------------------+----------------------------+ 3700 | v=0 | [RFC4566] | 3701 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3702 | s=- | [RFC4566] | 3703 | t=0 0 | [RFC4566] | 3704 | a=msid-semantic:WMS | [MSID] | 3705 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bun | 3706 | | dle-negotiation] Alice | 3707 | | supports grouping of | 3708 | | m=lines under BUNDLE | 3709 | | semantics | 3710 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 3711 | | -ice] | 3712 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3713 | a=msid:ma ta | Identifies RTCMediaStream | 3714 | | ID (ma) and | 3715 | | RTCMediaStreamTrack ID | 3716 | | (ta) | 3717 | c=IN IP4 24.23.204.141 | [RFC4566] | 3718 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3719 | a=mid:m0 | [RFC5888] Audio m=line | 3720 | | part of BUNDLE group with | 3721 | | a unique port number | 3722 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 3723 | | us] | 3724 | a=extmap:1 | [RFC6464] | 3725 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 3726 | o-level | | 3727 | a=ptime:20 | [draft-ietf-payload-rtp-op | 3728 | | us] | 3729 | a=rtcp-fb:109 nack | [RFC5104] | 3730 | a=sendrecv | [RFC3264] | 3731 | a=setup:actpass | [RFC4145] - Alice can | 3732 | | perform DTLS before Answer | 3733 | | arrives | 3734 | a=rtcp-mux | [RFC5761] | 3735 | a=ssrc:11111 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3736 | a=ice-ufrag:074c6550 | [RFC5245] | 3737 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3738 | f08a068 | | 3739 | a=fingerprint:sha-1 | [RFC5245] | 3740 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3741 | c7:70:9d:1f:66:79:a8:07 | | 3742 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3743 | 192.168.1.4 54609 typ host | | 3744 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3745 | 24.23.204.141 54609 typ srflx raddr | | 3746 | 192.168.1.4 rport 54609 | | 3747 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3748 | 192.168.1.4 64678 typ host | | 3749 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3750 | 24.23.204.141 64678 typ srflx raddr | | 3751 | 192.168.1.4 rport 64678 | | 3752 | a=rtcp-rsize | [RFC5506] | 3753 | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | bundle-only video line | 3754 | 101 103 | with port number set to | 3755 | | zero | 3756 | a=msid:ma tb | Identifies RTCMediaStream | 3757 | | ID (ma) and | 3758 | | RTCMediaStreamTrack ID | 3759 | | (tb) | 3760 | c=IN IP4 24.23.204.141 | [RFC4566] | 3761 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3762 | a=mid:m1 | [RFC5888] Video m=line | 3763 | | part of BUNDLE group | 3764 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 3765 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 3766 | a=rtpmap:101 | [RFC5956] | 3767 | 1d-interleaved-parityfec/90000 | | 3768 | a=rtpmap:103 | [RFC5956] | 3769 | 1d-interleaved-parityfec/90000 | | 3770 | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | 3771 | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | 3772 | a=fmtp:101 L=5; D=10; | [RFC5956] | 3773 | repair-window=200000 | | 3774 | a=fmtp:103 L=5; D=10; | [RFC5956] | 3775 | repair-window=200000 | | 3776 | a=ssrc-group:SIMULCAST 12345 78990 | Simulcast group | 3777 | a=ssrc-group:FEC-FR 12345 34567 | [RFC5888] | 3778 | a=ssrc-group:FEC-FR 78990 90887 | [RFC5888] | 3779 | a=ssrc:12345 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3780 | a=ssrc:78990 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3781 | a=ssrc:34567 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3782 | a=ssrc:90887 cname:Q/NWs1ao1HmN4Xa5 | [RFC5576] | 3783 | a=sendrecv | [RFC3264] | 3784 | a=rtcp-mux | [RFC5761] | 3785 | a=bundle-only | [draft-roach-mmusic-unifie | 3786 | | d-plan] | 3787 | a=rtcp-fb:* nack | [RFC5104] | 3788 | a=rtcp-fb:* nack pli | [RFC5104] | 3789 | a=rtcp-fb:* ccm fir | [RFC5104] | 3790 | a=rtcp-rsize | [RFC5506] | 3791 +--------------------------------------+----------------------------+ 3792 Table 34: 5.3.5 SDP Offer 3794 +--------------------------------------+----------------------------+ 3795 | SDP Contents | RFC#/Notes | 3796 +--------------------------------------+----------------------------+ 3797 | v=0 | [RFC4566] | 3798 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 3799 | s=- | [RFC4566] | 3800 | t=0 0 | [RFC4566] | 3801 | a=msid-semantic:WMS | [MSID] | 3802 | a=group:BUNDLE m0 m1 | [draft-ietf-mmusic-sdp-bun | 3803 | | dle-negotiation] Alice | 3804 | | supports grouping of | 3805 | | m=lines under BUNDLE | 3806 | | semantics | 3807 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 3808 | | -ice] | 3809 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3810 | a=msid:ma ta | Identifies RTCMediaStream | 3811 | | ID (ma) and | 3812 | | RTCMediaStreamTrack ID | 3813 | | (ta) | 3814 | c=IN IP4 98.248.92.77 | [RFC4566] | 3815 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 3816 | a=mid:m0 | [RFC5888] Audio m=line | 3817 | | part of BUNDLE group with | 3818 | | a unique port number | 3819 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 3820 | | us] | 3821 | a=extmap:1 | [RFC6464] | 3822 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 3823 | o-level | | 3824 | a=ptime:20 | [draft-ietf-payload-rtp-op | 3825 | | us] | 3826 | a=rtcp-fb:109 nack | [RFC5104] | 3827 | a=sendrecv | [RFC3264] | 3828 | a=setup:active | [RFC4145] - Bob carries | 3829 | | out DTLS Handshake in | 3830 | | parallel | 3831 | a=rtcp-mux | [RFC5761] | 3832 | a=ssrc:33333 cname:Y9/cZke09JAtpl98 | [RFC5576] | 3833 | a=ice-ufrag:074c6550 | [RFC5245] | 3834 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3835 | f08a068 | | 3836 | a=fingerprint:sha-1 | [RFC5245] | 3837 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3838 | c7:70:9d:1f:66:79:a8:07 | | 3839 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3840 | 192.168.1.7 49203 typ host | | 3841 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3842 | 98.248.92.77 49203 typ srflx raddr | | 3843 | 192.168.1.7 rport 49203 | | 3844 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3845 | 192.168.1.7 60065 typ host | | 3846 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3847 | 98.248.92.77 60065 typ srflx raddr | | 3848 | 192.168.1.7 rport 60065 | | 3849 | a=rtcp-rsize | [RFC5506] | 3850 | m=video 49203 UDP/TLS/RTP/SAVPF 98 | BUNDLE accepted with | 3851 | 100 101 103 | Bundle Address identical | 3852 | | to audio m=line. | 3853 | a=msid:ma tb | Identifies RTCMediaStream | 3854 | | ID (ma) and | 3855 | | RTCMediaStreamTrack ID | 3856 | | (tb) | 3857 | c=IN IP4 98.248.92.77 | [RFC4566] | 3858 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 3859 | a=mid:m1 | [RFC5888] Video m=line | 3860 | | part of BUNDLE group | 3861 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 3862 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 3863 | a=rtpmap:101 | [RFC5956] | 3864 | 1d-interleaved-parityfec/90000 | | 3865 | a=rtpmap:103 | [RFC5956] | 3866 | 1d-interleaved-parityfec/90000 | | 3867 | a=fmtp:98 max-fr=30;max-fs=8040 | [RFC4566] | 3868 | a=fmtp:100 max-fr=15;max-fs=1200 | [RFC4566] | 3869 | a=fmtp:101 L=5; D=10; | [RFC5956] | 3870 | repair-window=200000 | | 3871 | a=fmtp:103 L=5; D=10; | [RFC5956] | 3872 | repair-window=200000 | | 3873 | a=ssrc-group:SIMULCAST 54321 77656 | Simulcast group | 3874 | a=ssrc-group:FEC-FR 54321 88776 | [RFC5888] | 3875 | a=ssrc-group:FEC-FR 77656 12908 | [RFC5888] | 3876 | a=ssrc:54321 cname:Q/1HmN4Xa5CClapa | [RFC5576] | 3877 | a=ssrc:77656 cname:Q/1HmN4Xa5CClapa | [RFC5576] | 3878 | a=ssrc:88776 cname:Q/1HmN4Xa5CClapa | [RFC5576] | 3879 | a=ssrc:12908 cname:Q/1HmN4Xa5CClapa | [RFC5576] | 3880 | a=sendrecv | [RFC3264] | 3881 | a=setup:active | [RFC4145] - Bob carries | 3882 | | out DTLS Handshake in | 3883 | | parallel | 3884 | a=rtcp-mux | [RFC5761] | 3885 | a=bundle-only | [draft-roach-mmusic-unifie | 3886 | | d-plan] | 3887 | a=ice-ufrag:074c6550 | [RFC5245] | 3888 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3889 | f08a068 | | 3890 | a=fingerprint:sha-1 | [RFC5245] | 3891 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3892 | c7:70:9d:1f:66:79:a8:07 | | 3893 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3894 | 192.168.1.7 49203 typ host | | 3895 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3896 | 98.248.92.77 49203 typ srflx raddr | | 3897 | 192.168.1.7 rport 49203 | | 3898 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3899 | 192.168.1.7 60065 typ host | | 3900 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3901 | 98.248.92.77 60065 typ srflx raddr | | 3902 | 192.168.1.7 rport 60065 | | 3903 | a=rtcp-fb:* nack | [RFC5104] | 3904 | a=rtcp-fb:* nack pli | [RFC5104] | 3905 | a=rtcp-fb:* ccm fir | [RFC5104] | 3906 | a=rtcp-rsize | [RFC5506] | 3907 +--------------------------------------+----------------------------+ 3909 Table 35: 5.3.5 SDP Answer 3911 5.4. Others 3913 The examples in the section provide SDP for a variety of scenarios 3914 related to RTP Header extension, Legacy Interop scenarios and more. 3916 5.4.1. Audio Session - Voice Activity Detection 3918 This example shows Alice indicating the support of the RTP header 3919 extension to include the audio-level of the audio sample carried in 3920 the RTP packet. 3922 title 2-Way Audio with VAD 3924 Alice->Bob: Offer(Audio:Opus,PCMU,PCMA) 3925 note right of Alice 3926 Alice indicates support for including audio-level 3927 end note 3928 Bob->Alice: Answer(Audio:Opus,PCMU,PCMA) 3929 note left of Bob 3930 Bob accepts and indicates his support as well 3931 end note 3932 Alice<->Bob: Two-way Opus Audio 3933 note right of Alice 3934 Per packet audio-level is included in the RTP header. 3936 end note 3938 +--------------------------------------+----------------------------+ 3939 | SDP Contents | RFC#/Notes | 3940 +--------------------------------------+----------------------------+ 3941 | v=0 | [RFC4566] | 3942 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 3943 | s=- | [RFC4566] | 3944 | t=0 0 | [RFC4566] | 3945 | a=msid-semantic:WMS | [MSID] | 3946 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 3947 | | dle-negotiation] | 3948 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 3949 | | -ice] | 3950 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 3951 | 0 8 | | 3952 | a=mid:audio | [RFC5888] | 3953 | a=msid:ma ta | Identifies RTCMediaStream | 3954 | | ID (ma) and | 3955 | | RTCMediaStreamTrack ID | 3956 | | (ta) | 3957 | c=IN IP4 24.23.204.141 | [RFC4566] | 3958 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 3959 | a=extmap:1 | [RFC6464] | 3960 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 3961 | o-level | | 3962 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 3963 | | us] | 3964 | a=ptime:20 | [draft-ietf-payload-rtp-op | 3965 | | us] | 3966 | a=rtpmap:0 PCMU/8000 | [RFC3551] | 3967 | a=rtpmap:0 PCMA/8000 | [RFC3551] | 3968 | a=sendrecv | [RFC3264] | 3969 | a=setup:actpass | [RFC4145] | 3970 | a=rtcp-mux | [RFC5761] | 3971 | a=ice-ufrag:074c6550 | [RFC5245] | 3972 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 3973 | f08a068 | | 3974 | a=fingerprint:sha-1 | [RFC5245] | 3975 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 3976 | c7:70:9d:1f:66:79:a8:07 | | 3977 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 3978 | 192.168.1.4 54609 typ host | | 3979 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 3980 | 24.23.204.141 54609 typ srflx raddr | | 3981 | 192.168.1.4 rport 54609 | | 3982 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 3983 | 192.168.1.4 64678 typ host | | 3984 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 3985 | 24.23.204.141 64678 typ srflx raddr | | 3986 | 192.168.1.4 rport 64678 | | 3987 | a=rtcp-fb:* nack | [RFC5104] | 3988 | a=ssrc:11111 | [RFC5576] | 3989 | cname:QCL/1HmN4Xa5CClapa | | 3990 | a=rtcp-rsize | [RFC5506] | 3991 +--------------------------------------+----------------------------+ 3993 Table 36: 5.4.1 SDP Offer 3995 +--------------------------------------+----------------------------+ 3996 | SDP Contents | RFC#/Notes | 3997 +--------------------------------------+----------------------------+ 3998 | v=0 | [RFC4566] | 3999 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 4000 | | Information | 4001 | s=- | [RFC4566] | 4002 | t=0 0 | [RFC4566] | 4003 | a=msid-semantic:WMS | [MSID] | 4004 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 4005 | | dle-negotiation] | 4006 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 4007 | | -ice] | 4008 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 4009 | 0 98 | | 4010 | a=mid:audio | [RFC5888] | 4011 | a=msid:ma ta | Identifies RTCMediaStream | 4012 | | ID (ma) and | 4013 | | RTCMediaStreamTrack ID | 4014 | | (ta) | 4015 | c=IN IP4 98.248.92.77 | [RFC4566] | 4016 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 4017 | a=extmap:1 | [RFC6464] | 4018 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 4019 | o-level | | 4020 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 4021 | | us] - Bob accepts only Opu | 4022 | | sCodec | 4023 | a=ptime:20 | [draft-ietf-payload-rtp-op | 4024 | | us] | 4025 | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | 4026 | a=rtpmap:0 PCMA/8000 | [RFC3551] PCMA Audio Codec | 4027 | a=rtcp-fb:* nack | [RFC5104] | 4028 | a=sendrecv | [RFC3264] - Bob can send | 4029 | | and recv audio | 4030 | a=setup:active | [RFC4145] - Bob carries | 4031 | | out DTLS Handshake in | 4032 | | parallel | 4033 | a=rtcp-mux | [RFC5761] - Bob can | 4034 | | perform RTP/RTCP Muxing on | 4035 | | port 49203 | 4036 | a=ice-ufrag:c300d85b | [RFC5245] | 4037 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 4038 | abd9a2 | | 4039 | a=fingerprint:sha-1 | [RFC5245] | 4040 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 4041 | c7:70:9d:1f:66:79:a8:07 | | 4042 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 4043 | 192.168.1.7 49203 typ host | | 4044 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 4045 | 98.248.92.77 49203 typ srflx raddr | | 4046 | 192.168.1.7 rport 49203 | | 4047 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 4048 | 192.168.1.7 60065 typ host | | 4049 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4050 | 98.248.92.77 60065 typ srflx raddr | | 4051 | 192.168.1.7 rport 60065 | | 4052 | a=ssrc:1732846380 | [RFC5576] | 4053 | cname:EocUG1f0fcg/yvY7 | | 4054 | a=rtcp-rsize | [RFC5506] | 4055 +--------------------------------------+----------------------------+ 4057 Table 37: 5.4.1 SDP Answer 4059 5.4.2. Audio Conference - Voice Activity Detection 4061 This example shows SDP for RTP header extension that allows RTP-level 4062 mixers in audio conferences to deliver information about the audio 4063 level of individual participants. 4065 title Audio Conference with VAD Support 4067 Alice->Mixer: Offer(Audio:Opus,PCMU,PCMA) 4068 note right of Alice 4069 Alice indicates its interest to audio levels for the contributing sources 4070 end note 4071 Mixer->Alice: Answer(Audio:Opus,PCMU,PCMA) 4072 note left of Bob 4073 Mixer indicates it can provide audio-levels per CSRC 4074 end note 4075 Alice<->Mixer: Two-way Opus Audio 4076 note right of Alice 4077 Audio levels per CSRC is included in the RTP Header 4079 end note 4081 +--------------------------------------+----------------------------+ 4082 | SDP Contents | RFC#/Notes | 4083 +--------------------------------------+----------------------------+ 4084 | v=0 | [RFC4566] | 4085 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 4086 | | Information | 4087 | s=- | [RFC4566] | 4088 | t=0 0 | [RFC4566] | 4089 | a=msid-semantic:WMS | [MSID] | 4090 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 4091 | | dle-negotiation] | 4092 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 4093 | | -ice] | 4094 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 4095 | 0 8 | | 4096 | a=mid:audio | [RFC5888] | 4097 | a=msid:ma ta | Identifies RTCMediaStream | 4098 | | ID (ma) and | 4099 | | RTCMediaStreamTrack ID | 4100 | | (ta) | 4101 | c=IN IP4 24.23.204.141 | [RFC4566] | 4102 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 4103 | a=extmap:1/recvonly | [RFC6465] | 4104 | urn:ietf:params:rtp-hdrext:csrc-audi | | 4105 | o-level | | 4106 | a=extmap:1 | [RFC6464] | 4107 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 4108 | o-level | | 4109 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 4110 | | us] - Opus Codec 48khz, 2 | 4111 | | channels | 4112 | a=ptime:20 | [draft-ietf-payload-rtp-op | 4113 | | us] - Opus packetization o | 4114 | | f20ms | 4115 | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | 4116 | a=rtpmap:0 PCMA/8000 | [RFC3551] PCMA Audio Codec | 4117 | a=rtcp-fb:* nack | [RFC5104] | 4118 | a=sendrecv | [RFC3264] - Alice can send | 4119 | | and recv audio | 4120 | a=setup:actpass | [RFC4145] - Alice can | 4121 | | perform DTLS before Answer | 4122 | | arrives | 4123 | a=rtcp-mux | [RFC5761] - Alice can | 4124 | | perform RTP/RTCP Muxing on | 4125 | | port 54609 | 4126 | a=ice-ufrag:074c6550 | [RFC5245] | 4127 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 4128 | f08a068 | | 4129 | a=fingerprint:sha-1 | [RFC5245] | 4130 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 4131 | c7:70:9d:1f:66:79:a8:07 | | 4132 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 4133 | 192.168.1.4 54609 typ host | | 4134 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 4135 | 24.23.204.141 54609 typ srflx raddr | | 4136 | 192.168.1.4 rport 54609 | | 4137 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 4138 | 192.168.1.4 64678 typ host | | 4139 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4140 | 24.23.204.141 64678 typ srflx raddr | | 4141 | 192.168.1.4 rport 64678 | | 4142 | a=ssrc:11111 | [RFC5576] | 4143 | cname:QCL/1HmN4Xa5CClapa | | 4144 | a=rtcp-rsize | [RFC5506] | 4145 +--------------------------------------+----------------------------+ 4147 Table 38: 5.4.2 SDP Offer 4149 +--------------------------------------+----------------------------+ 4150 | SDP Contents | RFC#/Notes | 4151 +--------------------------------------+----------------------------+ 4152 | v=0 | [RFC4566] | 4153 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] - Session Origin | 4154 | | Information | 4155 | s=- | [RFC4566] | 4156 | t=0 0 | [RFC4566] | 4157 | a=msid-semantic:WMS | [MSID] | 4158 | a=group:BUNDLE audio | [draft-ietf-mmusic-sdp-bun | 4159 | | dle-negotiation] | 4160 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 4161 | | -ice] | 4162 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 4163 | 0 98 | | 4164 | a=mid:audio | [RFC5888] | 4165 | a=msid:ma ta | Identifies RTCMediaStream | 4166 | | ID (ma) and | 4167 | | RTCMediaStreamTrack ID | 4168 | | (ta) | 4169 | c=IN IP4 98.248.92.77 | [RFC4566] | 4170 | a=rtcp:60065 IN IP4 98.248.92.77 | [RFC3605] | 4171 | a=extmap:1/sendonly | [RFC6465] | 4172 | urn:ietf:params:rtp-hdrext:csrc-audi | | 4173 | o-level | | 4174 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 4175 | | us] - Bob accepts only Opu | 4176 | | sCodec | 4177 | a=ptime:20 | [draft-ietf-payload-rtp-op | 4178 | | us] | 4179 | a=rtpmap:0 PCMU/8000 | [RFC3551] PCMU Audio Codec | 4180 | a=rtpmap:0 PCMA/8000 | [RFC3551] PCMA Audio Codec | 4181 | a=rtcp-fb:* nack | [RFC5104] | 4182 | a=sendrecv | [RFC3264] - Bob can send | 4183 | | and recv audio | 4184 | a=setup:active | [RFC4145] - Bob carries | 4185 | | out DTLS Handshake in | 4186 | | parallel | 4187 | a=rtcp-mux | [RFC5761] - Bob can | 4188 | | perform RTP/RTCP Muxing on | 4189 | | port 49203 | 4190 | a=ice-ufrag:c300d85b | [RFC5245] | 4191 | a=ice-pwd:de4e99bd291c325921d5d47efb | [RFC5245] | 4192 | abd9a2 | | 4193 | a=fingerprint:sha-1 | [RFC5245] | 4194 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 4195 | c7:70:9d:1f:66:79:a8:07 | | 4196 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 4197 | 192.168.1.7 49203 typ host | | 4198 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 4199 | 98.248.92.77 49203 typ srflx raddr | | 4200 | 192.168.1.7 rport 49203 | | 4201 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 4202 | 192.168.1.7 60065 typ host | | 4203 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4204 | 98.248.92.77 60065 typ srflx raddr | | 4205 | 192.168.1.7 rport 60065 | | 4206 | a=ssrc:2222 cname:HmN4Xa5CC/lapa | [RFC5576] | 4207 | a=rtcp-rsize | [RFC5506] | 4208 +--------------------------------------+----------------------------+ 4210 Table 39: 5.4.2 SDP Answer 4212 5.4.3. Successful legacy Interop Fallaback with bundle-only 4214 In the scenario described below, Alice is a multi-stream capable 4215 WebRTC endpoint while Bob is a legacy VOIP end-point. The SDP Offer/ 4216 Answer exchange demonstrates successful session setup with fallback 4217 to audio only stream negotiated via bundle-only framework between the 4218 end-points. Specifically, 4219 o Offer from Alice describes 2 cameras via 2 video m=lines with both 4220 marked as bundle-only. 4221 o Since Bob doesnot recognize either BUNDLE mechanism or bundle-only 4222 attribute, he accepts only the audio stream from Alice. 4224 title Successful 2-Way WebRTC <-> VOIP Interop 4226 note right of Alice 4227 Alice is a multistream capable WebRTC end-point & Bob is behind a legacy VOIP system 4228 end note 4229 Alice->Bob: Offer(Audio:Opus Video: 2 VP8, 2 H2.64 Streams) with bundle-only offer 4230 note right of Alice 4231 Alice marks both the video streams as bundle-only 4232 end note 4233 Bob->Alice: Answer(Audio:Opus) 4234 note left of Bob 4235 Bob accepts only Audio stream since he doesn't recognize 4236 bundle-only streams 4237 end note 4238 Alice<->Bob: Two-way Opus Audio 4240 +--------------------------------------+----------------------------+ 4241 | SDP Contents | RFC#/Notes | 4242 +--------------------------------------+----------------------------+ 4243 | v=0 | [RFC4566] | 4244 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 4245 | s=- | [RFC4566] | 4246 | t=0 0 | [RFC4566] | 4247 | a=msid-semantic:WMS | [MSID] | 4248 | a=group:BUNDLE m0 m1 m2 | [draft-ietf-mmusic-sdp-bun | 4249 | | dle-negotiation] Alice | 4250 | | supports grouping of | 4251 | | m=lines under BUNDLE | 4252 | | semantics | 4253 | a=ice-options:trickle | [draft-ivov-mmusic-trickle | 4254 | | -ice] | 4255 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 4256 | c=IN IP4 24.23.204.141 | [RFC4566] | 4257 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 4258 | a=mid:m0 | [RFC5888] Audio m=line | 4259 | | part of BUNDLE group with | 4260 | | a unique port number | 4261 | a=msid:ma ta | Identifies RTCMediaStream | 4262 | | ID (ma) and | 4263 | | RTCMediaStreamTrack ID | 4264 | | (ta) | 4265 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-rtp-op | 4266 | | us] | 4267 | a=extmap:1 | [RFC6464] | 4268 | urn:ietf:params:rtp-hdrext:ssrc-audi | | 4269 | o-level | | 4270 | a=ptime:20 | [draft-ietf-payload-rtp-op | 4271 | | us] | 4272 | a=rtcp-fb:109 nack | [RFC5104] | 4273 | a=sendrecv | [RFC3264] | 4274 | a=setup:actpass | [RFC4145] - Alice can | 4275 | | perform DTLS before Answer | 4276 | | arrives | 4277 | a=rtcp-mux | [RFC5761] | 4278 | a=ice-ufrag:074c6550 | [RFC5245] | 4279 | a=ice-pwd:a28a397a4c3f31747d1ee3474a | [RFC5245] | 4280 | f08a068 | | 4281 | a=fingerprint:sha-1 | [RFC5245] | 4282 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9: | | 4283 | c7:70:9d:1f:66:79:a8:07 | | 4284 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 4285 | 192.168.1.4 54609 typ host | | 4286 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 4287 | 24.23.204.141 54609 typ srflx raddr | | 4288 | 192.168.1.4 rport 54609 | | 4289 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 4290 | 192.168.1.4 64678 typ host | | 4291 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4292 | 24.23.204.141 64678 typ srflx raddr | | 4293 | 192.168.1.4 rport 64678 | | 4294 | a=ssrc:11111 cname:axzo1278npDlAzM73 | [RFC5576]E | 4295 | a=rtcp-rsize | [RFC5506] | 4296 | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | bundle-only video line | 4297 | | with port number set to | 4298 | | zero | 4299 | c=IN IP4 24.23.204.141 | [RFC4566] | 4300 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 4301 | a=mid:m1 | [RFC5888] Video m=line | 4302 | | part of BUNDLE group | 4303 | a=msid:ma tb | Identifies RTCMediaStream | 4304 | | ID (ma) and | 4305 | | RTCMediaStreamTrack ID | 4306 | | (tb) | 4307 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-vp8] | 4308 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-vp8] | 4309 | a=imageattr:98 [x=1280,y=720] | [RFC6236]Camera-1,Encoding | 4310 | | -1 Resolution | 4311 | a=fmtp:98 max-fr=30 | [RFC4566] | 4312 | a=imageattr:100 [x=640,y=480] | [RFC6236] | 4313 | | Camera-1,Encoding-2 | 4314 | | Resolution | 4315 | a=fmtp:100 max-fr=15 | [RFC4566] | 4316 | a=ssrc-group:SIMULCAST 12345 45678 | [RFC5576] | 4317 | a=ssrc:12345 cname:axzo1278npDlAzM73 | [RFC5576]E | 4318 | a=ssrc:45678 cname:axzo1278npDlAzM73 | [RFC5576] | 4319 | a=bundle-only | [draft-roach-mmusic-unifie | 4320 | | d-plan] | 4321 | a=rtcp-rsize | [RFC5506] | 4322 | m=video 0 UDP/TLS/RTP/SAVPF 101 103 | bundle-only video line | 4323 | | with port number set to | 4324 | | zero | 4325 | c=IN IP4 24.23.204.141 | [RFC4566] | 4326 | a=rtcp:64678 IN IP4 24.23.204.141 | [RFC3605] | 4327 | a=mid:m2 | [RFC5888] Video m=line | 4328 | | part of BUNDLE group | 4329 | a=msid:ma tc | Identifies RTCMediaStream | 4330 | | ID (ma) and | 4331 | | RTCMediaStreamTrack ID | 4332 | | (tc) | 4333 | a=rtpmap:101 H264/90000 | [RFC3984] | 4334 | a=rtpmap:103 H264/90000 | [RFC3984] | 4335 | a=fmtp:101 | [RFC3984]Camera-2,Encoding | 4336 | profile-level-id=4d0028;packetizatio | -1 Resolution | 4337 | n-mode=1;max-fr=30 | | 4338 | a=fmtp:100 | [RFC3984]Camera-1,Encoding | 4339 | profile-level-id=4d0028;packetizatio | -2 Resolution | 4340 | n-mode=1;max-fr=15 | | 4341 | a=ssrc-group:SIMULCAST 67890 56789 | [RFC5576] | 4342 | a=ssrc:67890 cname:axzo1278npDlAzM73 | [RFC5576] | 4343 | a=ssrc:56789 cname:axzo1278npDlAzM73 | [RFC5576] | 4344 | a=bundle-only | [draft-roach-mmusic-unifie | 4345 | | d-plan] | 4346 | a=rtcp-rsize | [RFC5506] | 4347 +--------------------------------------+----------------------------+ 4349 Table 40: 5.4.3 SDP Simulcast bundle-only 4351 +-------------------------------------------+-----------------------+ 4352 | SDP Contents | RFC#/Notes | 4353 +-------------------------------------------+-----------------------+ 4354 | v=0 | [RFC4566] | 4355 | o=- 20519 0 IN IP4 0.0.0.0 | [RFC4566] | 4356 | s=- | [RFC4566] | 4357 | t=0 0 | [RFC4566] | 4358 | a=msid-semantic:WMS | [MSID] | 4359 | m=audio 49203 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 4360 | c=IN IP4 24.23.204.141 | [RFC4566] | 4361 | a=rtcp:60065 IN IP4 24.23.204.141 | [RFC3605] | 4362 | a=rtpmap:109 opus/48000/2 | [draft-ietf-payload-r | 4363 | | tp-opus] | 4364 | a=extmap:1 | [RFC6464] | 4365 | urn:ietf:params:rtp-hdrext:ssrc-audio-lev | | 4366 | el | | 4367 | a=ptime:20 | [draft-ietf-payload-r | 4368 | | tp-opus] | 4369 | a=rtcp-fb:109 nack | [RFC5104] | 4370 | a=sendrecv | [RFC3264] | 4371 | a=setup:active | [RFC4145] - Bob | 4372 | | carries out DTLS | 4373 | | Handshake in parallel | 4374 | a=ice-ufrag:ufrag:c300d85b | [RFC5245] | 4375 | a=ice-pwd:de4e99bd291c325921d5d47efbabd9a | [RFC5245] | 4376 | 2 | | 4377 | a=fingerprint:sha-1 | [RFC5245] | 4378 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c7:70 | | 4379 | :9d:1f:66:79:a8:07 | | 4380 | a=candidate:0 1 UDP 2113667327 | [RFC5245] | 4381 | 192.168.1.7 49203 typ host | | 4382 | a=candidate:1 1 UDP 694302207 | [RFC5245] | 4383 | 98.248.92.77 49203 typ srflx raddr | | 4384 | 192.168.1.7 rport 49203 | | 4385 | a=candidate:0 2 UDP 2113667326 | [RFC5245] | 4386 | 192.168.1.7 60065 typ host | | 4387 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4388 | 98.248.92.77 60065 typ srflx raddr | | 4389 | 192.168.1.7 rport 60065 | | 4390 | a=rtcp-rsize | [RFC5506] | 4391 | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | Bob doesn't recognize | 4392 | | bundle-only and hence | 4393 | | rejects the video | 4394 | | stream | 4395 | c=IN IP4 98.248.92.77 | [RFC4566] | 4396 | a=rtpmap:98 VP8/90000 | [draft-ietf-payload-v | 4397 | | p8] | 4398 | a=rtpmap:100 VP8/90000 | [draft-ietf-payload-v | 4399 | | p8] | 4400 | a=imageattr:98 [x=1280,y=720] | [RFC6236]Camera-1,Enc | 4401 | | oding-1 Resolution | 4402 | a=fmtp:98 max-fr=30 | [RFC4566] | 4403 | a=imageattr:100 [x=640,y=480] | [RFC6236] | 4404 | | Camera-1,Encoding-2 | 4405 | | Resolution | 4406 | a=fmtp:100 max-fr=15 | [RFC4566] | 4407 | m=video 0 UDP/TLS/RTP/SAVPF 98 100 | Bob doesn't recognize | 4408 | | bundle-only and hence | 4409 | | rejects the video | 4410 | | stream | 4411 | c=IN IP4 98.248.92.77 | [RFC4566] | 4412 | a=rtpmap:101 H264/90000 | [RFC3984] | 4413 | a=rtpmap:103 H264/90000 | [RFC3984] | 4414 | a=fmtp:101 | [RFC3984]Camera-2,Enc | 4415 | profile-level-id=4d0028;packetization-mod | oding-1 Resolution | 4416 | e=1;max-fr=30 | | 4417 | a=fmtp:100 | [RFC3984]Camera-1,Enc | 4418 | profile-level-id=4d0028;packetization-mod | oding-2 Resolution | 4419 | e=1;max-fr=15 | | 4420 +-------------------------------------------+-----------------------+ 4422 Table 41: 5.4.3 SDP Anwer 4424 5.4.4. Legacy Interop with RTP/AVP profile 4426 In this section, we attempt to provide session descriptions 4427 showcasing inter-operability between a WebRTC end-point and a Legacy 4428 VOIP end-point. The ideas included in here are not fully baked into 4429 the standards and might be controversial in nature. The hope here is 4430 to demonstrate a plausible SDP composition to enchance seamless 4431 inter-operability between the aforementioned communication systems. 4433 In the scenario desribed below, Alice sends [RFC3264] Offer with two 4434 sets of media descriptions per media type. 4435 One set that correponds to [WebRTC] compliant UDP/TLS/RTP/SAVPF 4436 based audio and video descriptions. 4437 Another set with RTP/AVP based audio and video descriptions for 4438 the legacy Interop purposes. 4439 Also to note, Alice includes session level DTLS information and 4440 media level RTCP feedback information as applicable to both the 4441 sets of media descriptions 4443 On the other hand, Bob being a Legacy VOIP end-point, recognizes only 4444 the media descriptions with RTP/AVP as the application protocol. The 4445 security and fedback requirements for the session are either handled 4446 by a intermediate gateway or with some combination of Bob's 4447 capabilities and the intermediate gateway. 4449 title Successful 2-Way WebRTC <-> VOIP Interop 4450 note right of Alice 4451 Alice is on a WebRTC end-point & Bob is behind a legacy VOIP system 4452 end note 4453 Alice->Bob: Offer(Audio:Opus Video:VP8) 4454 note right of Alice 4455 Alice includes 2 copies of media descriptions 4456 1. WebRTC compliant media description (UDP/TLS/RTP/SAVPF) 4457 2. Legacy compliant media description (RTP/AVP) 4458 end note 4459 Bob->Alice: Answer(Audio:Opus Video:VP8) 4460 note right of Bob 4461 Bob recognizes"legacy compliant" media description from Alice. 4462 and accepts the same. 4463 end note 4464 Alice->Bob: Two-way Opus Audio, VP8 Video 4465 note right of Alice 4466 Session also suports RTP/RTCP Mux, RTCP feedback (nack,pli) 4467 end note 4469 +---------------------------------------------+---------------------+ 4470 | SDP Contents | RFC#/Notes | 4471 +---------------------------------------------+---------------------+ 4472 | v=0 | [RFC4566] | 4473 | o=- 20518 0 IN IP4 0.0.0.0 | [RFC4566] | 4474 | s=- | [RFC4566] | 4475 | t=0 0 | [RFC4566] | 4476 | a=ice-ufrag:074c6550 | [RFC5245] | 4477 | a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 | [RFC5245] | 4478 | a=fingerprint:sha-1 | [RFC5245] | 4479 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c7:70:9 | | 4480 | d:1f:66:79:a8:07 | | 4481 | a=rtcp-rsize | [RFC5506] | 4482 | m=audio 54609 UDP/TLS/RTP/SAVPF 109 | [RFC4566] | 4483 | c=IN IP4 24.23.204.141 | [RFC4566] | 4484 | a=rtpmap:109 opus/48000 | | 4485 | a=ptime:20 | | 4486 | a=sendrecv | [RFC3264] | 4487 | a=rtcp-mux | [RFC5761] | 4488 | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | 4489 | 54609 typ host | | 4490 | a=candidate:1 1 UDP 694302207 24.23.204.141 | [RFC5245] | 4491 | 54609 typ srflx raddr 192.168.1.4 rport | | 4492 | 54609 | | 4493 | a=candidate:0 2 UDP 2113667326 192.168.1.4 | [RFC5245] | 4494 | 64678 typ host | | 4495 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4496 | 24.23.204.141 64678 typ srflx raddr | | 4497 | 192.168.1.4 rport 64678 | | 4498 | a=rtcp-fb:109 nack | [RFC5104] | 4499 | m=video 62537 UDP/TLS/RTP/SAVPF 120 | [RFC4566] | 4500 | c=IN IP4 24.23.204.141 | [RFC4566] | 4501 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload | 4502 | | -vp8] | 4503 | a=sendrecv | [RFC3264] | 4504 | a=rtcp-mux | [RFC5761] | 4505 | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | 4506 | 62537 typ host | | 4507 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 4508 | 24.23.204.141 62537 typ srflx raddr | | 4509 | 192.168.1.4 rport 62537 | | 4510 | a=candidate:0 2 2113667326 192.168.1.4 | [RFC5245] | 4511 | 54721 typ host | | 4512 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4513 | 24.23.204.141 54721 typ srflx raddr | | 4514 | 192.168.1.4 rport 54721 | | 4515 | a=rtcp-fb:120 nack pli | [RFC5104] | 4516 | a=rtcp-fb:120 ccm fir | [RFC5104] | 4517 | --------------- | These set of media | 4518 | | descriptions are | 4519 | | for Legacy Inter-op | 4520 | | purposes | 4521 | m=audio 54732 RTP/AVP 109 | [RFC4566]Alice | 4522 | | includes RTP/AVP | 4523 | | audio stream | 4524 | | description | 4525 | c=IN IP4 24.23.204.141 | [RFC4566] | 4526 | a=fingerprint:sha-1 | [RFC5245] | 4527 | 99:41:49:83:4a:97:0e:1f:7f:7d:f9:c9:c7:70:9 | | 4528 | d:1f:66:79:a8:07 | | 4529 | a=rtpmap:109 opus/48000 | | 4530 | a=ptime:20 | | 4531 | a=sendrecv | [RFC3264] | 4532 | a=rtcp-mux | [RFC5761]Alice | 4533 | | still includes | 4534 | | RTP/RTCP Mux | 4535 | | support | 4536 | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | 4537 | 54732 typ host | | 4538 | a=candidate:1 1 UDP 694302207 24.23.204.141 | [RFC5245] | 4539 | 54732 typ srflx raddr 192.168.1.4 rport | | 4540 | 54732 | | 4541 | a=candidate:0 2 UDP 2113667326 192.168.1.4 | [RFC5245] | 4542 | 64678 typ host | | 4543 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4544 | 24.23.204.141 64678 typ srflx raddr | | 4545 | 192.168.1.4 rport 64678 | | 4546 | a=rtcp-fb:109 nack | [RFC5104]She adds | 4547 | | her intent for NACK | 4548 | | RTCP feedback | 4549 | | support | 4550 | m=video 62445 RTP/AVP 120 | [RFC4566]Alice | 4551 | | includes RTP/AVP | 4552 | | video stream | 4553 | | description | 4554 | c=IN IP4 24.23.204.141 | [RFC4566] | 4555 | a=fingerprint:sha-1 | [RFC5245] | 4556 | 99:41:49:83:4a:97:0e:1f:ef:7d:f7:c9:c7:70:9 | | 4557 | d:1f:66:79:a8:07 | | 4558 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload | 4559 | | -vp8] | 4560 | a=sendrecv | [RFC3264] | 4561 | a=rtcp-mux | [RFC5761]Alice | 4562 | | intends to perform | 4563 | | RTP/RTCP Mux | 4564 | a=candidate:0 1 UDP 2113667327 192.168.1.4 | [RFC5245] | 4565 | 62445 typ host | | 4566 | a=candidate:1 1 UDP 1694302207 | [RFC5245] | 4567 | 24.23.204.141 62537 typ srflx raddr | | 4568 | 192.168.1.4 rport 62445 | | 4569 | a=candidate:0 2 2113667326 192.168.1.4 | [RFC5245] | 4570 | 54721 typ host | | 4571 | a=candidate:1 2 UDP 1694302206 | [RFC5245] | 4572 | 24.23.204.141 54721 typ srflx raddr | | 4573 | 192.168.1.4 rport 54721 | | 4574 | a=rtcp-fb:120 nack pli | [RFC5104] Alice | 4575 | | indicates support | 4576 | | for Picture loss | 4577 | | Indication and NACK | 4578 | | RTCP feedback | 4579 | a=rtcp-fb:120 ccm fir | [RFC5104] | 4580 +---------------------------------------------+---------------------+ 4582 Table 42: 5.4.5 SDP Offer 4584 +---------------------------------------------+---------------------+ 4585 | SDP Contents | RFC#/Notes | 4586 +---------------------------------------------+---------------------+ 4587 | v=0 | [RFC4566] | 4588 | o=- 16833 0 IN IP4 0.0.0.0 | [RFC4566] | 4589 | s=- | [RFC4566] | 4590 | t=0 0 | [RFC4566] | 4591 | a=ice-ufrag:c300d85b | [RFC5245] | 4592 | a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 | [RFC5245] | 4593 | a=fingerprint:sha-1 | [RFC5245] | 4594 | 99:41:49:83:4a:97:0e:1f:ef:6d:f7:c9:c7:70:9 | | 4595 | d:1f:66:79:a8:07 | | 4596 | m=audio 49203 RTP/AVP 109 | [RFC4566] Bob | 4597 | | accepts RTP/AVP | 4598 | | based audio stream | 4599 | c=IN IP4 98.248.92.77 | [RFC4566] | 4600 | a=rtpmap:109 opus/48000 | | 4601 | a=ptime:20 | | 4602 | a=sendrecv | [RFC3264] | 4603 | a=candidate:0 1 UDP 2113667327 192.168.1.7 | [RFC5245] | 4604 | 49203 typ host | | 4605 | a=candidate:1 1 UDP 1694302207 98.248.92.77 | [RFC5245] | 4606 | 49203 typ srflx raddr 192.168.1.7 rport | | 4607 | 49203 | | 4608 | a=candidate:0 2 UDP 2113667326 192.168.1.7 | [RFC5245] | 4609 | 60065 typ host | | 4610 | a=candidate:1 2 UDP 1694302206 98.248.92.77 | [RFC5245] | 4611 | 60065 typ srflx raddr 192.168.1.7 rport | | 4612 | 60065 | | 4613 | m=video 63130 RTP/SAVP 120 | [RFC4566] Bob | 4614 | | accepts RTP/AVP | 4615 | | based video stram | 4616 | c=IN IP4 98.248.92.771 | [RFC4566] | 4617 | a=rtpmap:120 VP8/90000 | [draft-ietf-payload | 4618 | | -vp8] | 4619 | a=sendrecv | [RFC3264] | 4620 | a=candidate:0 1 UDP 2113667327 192.168.1.7 | [RFC5245] | 4621 | 63130 typ host | | 4622 | a=candidate:1 1 UDP 1694302207 98.248.92.77 | [RFC5245] | 4623 | 63130 typ srflx raddr 192.168.1.7 rport | | 4624 | 63130 | | 4625 | a=candidate:0 2 UDP 2113667326 192.168.1.7 | [RFC5245] | 4626 | 56607 typ host | | 4627 | a=candidate:1 2 UDP 1694302206 98.248.92.77 | [RFC5245] | 4628 | 56607 typ srflx raddr 192.168.1.7 rport | | 4629 | 56607 | | 4630 +---------------------------------------------+---------------------+ 4631 Table 43: 5.4.5 SDP Answer 4633 6. IANA Considerations 4635 This document requires no actions from IANA. 4637 7. Acknowledgments 4639 We would like to thanks Justin Uberti for his detailed review and 4640 inputs. 4642 8. Change Log 4644 [RFC EDITOR NOTE: Please remove this section when publishing] 4646 Changes from draft-nandakumar-rtcweb-sdp-03 4647 o Aligned more closely with JSEP version -05 4648 o Added Conventions to help readability 4649 o Add more examples to clarify BUNDLE use-cases 4651 Changes from draft-nandakumar-rtcweb-sdp-02 4652 o Major refactoring was done to group the examples in to categories 4653 o SDP was updated through out to reflect JSEP-04 style of defining 4654 attributes per m=line than at the session level. 4655 o Added 8 new examples. 4656 o Updated references for Trickle, Unified Plan 4657 o Add section to explain the syntax conventions followed in the 4658 examples. 4660 Changes from draft-nandakumar-rtcweb-sdp-01 4661 o Updated references to OPUS RTP Payload Specification. 4662 o Updated BUNDLE examples based on the latest 4663 draft-ietf-mmusic-sdp-bundle-negotiation. 4664 o Added examples for multiple audio and video flows based on Unified 4665 Plan. 4666 o Added new examples for RTX and FEC streams 4667 o Updated Simulcast and SVC examples 4669 Changes from draft-nandakumar-rtcweb-sdp-00 4670 o Fixed editorial comments on the mailing list. 4671 o Updated Data-channel SDP information based on 4672 draft-ietf-mmusic-sctp-sdp. 4673 o Updated BUNDLE examples based on 4674 draft-ietf-mmusic-sdp-bundle-negotiation. 4676 o Added examples for few more BUNDLE variants 4677 o Added new examples for Simulcast and SVC 4679 9. References 4681 9.1. Normative References 4683 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 4684 with Session Description Protocol (SDP)", RFC 3264, 4685 June 2002. 4687 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 4688 Description Protocol", RFC 4566, July 2006. 4690 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 4691 Requirement Levels", BCP 14, RFC 2119, March 1997. 4693 9.2. Informative References 4695 [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment 4696 (ICE): A Protocol for Network Address Translator (NAT) 4697 Traversal for Offer/Answer Protocols", RFC 5245, 4698 July 2006. 4700 [WebRTC] W3C, "WebRTC 1.0: Real-time Communication Between 4701 Browsers", 4702 . 4704 [JSEP] Uberti, J. and C. Jennigs, "Javascript Session 4705 Establishment Protocol", draft-ietf-rtcweb-jsep (work in 4706 progress), December 2012. 4708 [MSID] Alvestrand, H., "Cross Session Stream Identification in 4709 the Session Description Protocol", Internet-Draft 4710 draft-ietf-mmusic-msid, January 2014. 4712 [RFC5506] Johansson, I., "Support for Reduced-Size Real-Time 4713 Transport Control Protocol (RTCP): Opportunities and 4714 Consequences", RFC 5506, April 2009. 4716 [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and 4717 Video Conferences with Minimal Control", RFC 3551, 4718 July 2003. 4720 [RFC3952] Duric, A. and S. Andersen, "Real-time Transport Protocol 4721 (RTP) Payload Format for internet Low Bit Rate Codec 4722 (iLBC) Speech", RFC 3952, December 2004. 4724 [RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description 4725 Protocol (SDP) Content Attribute", RFC 4796, 4726 February 2007. 4728 [RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and 4729 Control Packets on a Single Port", RFC 5761, April 2010. 4731 [RFC3556] Casner, S., "Session Description Protocol (SDP) Bandwidth 4732 Modifiers for RTP Control Protocol (RTCP) Bandwidth", 4733 RFC 3556, July 2003. 4735 [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman, 4736 "Codec Control Messages in the RTP Audio-Visual Profile 4737 with Feedback (AVPF)", RFC 5104, February 2008. 4739 [RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R. 4740 Hakenberg, "RTP Retransmission Payload Format", RFC 4588, 4741 July 2006. 4743 [RFC5956] Begen, A., "Forward Error Correction Grouping Semantics in 4744 the Session Description Protocol", RFC 5956, 4745 September 2010. 4747 [RFC5888] Camarillo, G. and H. Schulzrinne, "RTP Payload Format for 4748 H.264 Video", RFC 5888, June 2010. 4750 [RFC6236] Johansson, I. and K. Jung, "Negotiation of Generic Image 4751 Attributes in the Session Description Protocol (SDP)", 4752 RFC 6236, May 2011. 4754 [draft-ietf-payload-rtp-opus] 4755 Spittka, J., Vos, K., and JM. Valin, "RTP Payload Format 4756 for Opus Speech and Audio Codec", 4757 draft-ietf-payload-rtp-opus-00 (work in progress), 4758 July 2012. 4760 [draft-ietf-payload-vp8] 4761 Westin, P., Lundin, H., Glover, M., Uberti, J., and F. 4762 Galligan, "RTP Payload Format for VP8 Video", 4763 draft-ietf-payload-vp8-05 (work in progress), August 2012. 4765 [RFC3984] Wenger, S., Hannuksela, M., Stockhammer, T., Westerlund, 4766 M., and D. Singer, "RTP Payload Format for H.264 Video", 4767 RFC 3984, February 2005. 4769 [RFC5583] Schierl, T. and S. Wenger, "Signaling Media Decoding 4770 Dependency in the Session Description Protocol (SDP)", 4771 RFC 5583, July 2009. 4773 [RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific 4774 Media Attributes in the Session Description Protocol 4775 (SDP)", RFC 5576, June 2009. 4777 [draft-ietf-rtcweb-data-channel] 4778 Jesup, R., Loreto, S., and M. Tuexen, "RTCWeb Datagram 4779 Connection", draft-ietf-rtcweb-data-channel-01 (work in 4780 progress), September 2012. 4782 [draft-ietf-mmusic-sctp-sdp] 4783 Loreto, S. and G. Camarillo, "Stream Control Transmission 4784 Protocol (SCTP)-Based Media Transport in the Session 4785 Description Protocol (SDP)", draft-ietf-mmusic-sctp-sdp-03 4786 (work in progress), September 2012. 4788 [draft-ietf-mmusic-sdp-bundle-negotiation] 4789 Holmberg, C., Alvestrand, H., and C. Jennings, 4790 "Multiplexing Negotiation Using Session Description 4791 Protocol (SDP) Port Numbers", 4792 draft-ietf-mmusic-sdp-bundle-negotiation-04 (work in 4793 progress), February 2013. 4795 [draft-roach-mmusic-unified-plan] 4796 Roach, A., Uberti, J., and M. Thomson, "A Unified Plan for 4797 Using SDP with Large Numbers of Media Flows", 4798 draft-roach-mmusic-unified-plan (work in progress), 4799 July 2013. 4801 [draft-ivov-mmusic-trickle-ice] 4802 Roach, A., Uberti, J., and M. Thomson, "A Unified Plan for 4803 Using SDP with Large Numbers of Media Flows", 4804 draft-ivov-mmusic-trickle-ice-01 (work in progress), 4805 July 2013. 4807 [draft-lennox-mmusic-sdp-source-selection] 4808 Lennox, J. and H. Schulzrinne, "Multiplexing Negotiation 4809 Using Session Description Protocol (SDP) Port Numbers", 4810 draft-lennox-mmusic-sdp-source-selection-05 (work in 4811 progress), October 2012. 4813 [draft-rescorla-avtcore-6222bis] 4814 Rescorla, E. and A. Begen, "Guidelines for Choosing RTP 4815 Control Protocol (RTCP) Canonical Names (CNAMEs)", 4816 draft-rescorla-avtcore-6222bis-00 (work in progress), 4817 October 2012. 4819 [RFC3550] Schulzrinne, H., Schulzrinne, S., Frederick, R., and V. 4820 Jacobson, "RTP: A Transport Protocol for Real-Time 4821 Applications", RFC 2326, July 2003. 4823 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 4824 A., Peterson, J., Sparks, R., Handley, M., and E. 4825 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 4826 June 2002. 4828 [RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time 4829 Streaming Protocol (RTSP)", RFC 2326, April 1998. 4831 [RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute 4832 in Session Description Protocol (SDP)", RFC 4145, 4833 October 2003. 4835 [RFC4145] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework 4836 for Establishing a Secure Real-time Transport Protocol 4837 (SRTP) Security Context Using Datagram Transport Layer 4838 Security (DTLS)", RFC 4145, May 2010. 4840 [RFC2833] Schulzrinne, H. and S. Petrack, "RTP Payload for DTMF 4841 Digits, Telephony Tones and Telephony Signals", RFC 2833, 4842 May 2000. 4844 [RFC6464] Lennox, J., Ivov, E., and E. Marocco, "A Real-time 4845 Transport Protocol (RTP) Header Extension for Client-to- 4846 Mixer Audio Level Indication", RFC 6464, December 2011. 4848 [RFC6465] Ivov, E., Marocco, E., and J. Lennox, "A Real-time 4849 Transport Protocol (RTP) Header Extension for Mixer-to- 4850 Client Audio Level Indication", RFC 6465, December 2011. 4852 Authors' Addresses 4854 Suhas Nandakumar 4855 Cisco 4856 170 West Tasman Drive 4857 San Jose, CA 95134 4858 USA 4860 Email: snandaku@cisco.com 4861 Cullen Jennings 4862 Cisco 4863 170 West Tasman Drive 4864 San Jose, CA 95134 4865 USA 4867 Phone: +1 408 421-9990 4868 Email: fluffy@cisco.com