idnits 2.17.1 draft-ietf-rtcweb-sdp-14.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 : ---------------------------------------------------------------------------- ** There are 4119 instances of too long lines in the document, the longest one being 69 characters in excess of 72. == There are 4 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 2058 has weird spacing: '...rt with an |...' -- The document date (17 December 2020) is 1226 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC5506' is defined on line 5548, but no explicit reference was found in the text == Unused Reference: 'RFC3551' is defined on line 5553, but no explicit reference was found in the text == Unused Reference: 'RFC4796' is defined on line 5558, but no explicit reference was found in the text == Unused Reference: 'RFC5761' is defined on line 5563, but no explicit reference was found in the text == Unused Reference: 'RFC5763' is defined on line 5568, but no explicit reference was found in the text == Unused Reference: 'RFC5104' is defined on line 5574, but no explicit reference was found in the text == Unused Reference: 'RFC4585' is defined on line 5579, but no explicit reference was found in the text == Unused Reference: 'RFC4588' is defined on line 5585, but no explicit reference was found in the text == Unused Reference: 'RFC5888' is defined on line 5590, but no explicit reference was found in the text == Unused Reference: 'RFC6236' is defined on line 5595, but no explicit reference was found in the text == Unused Reference: 'RFC6184' is defined on line 5600, but no explicit reference was found in the text == Unused Reference: 'RFC6190' is defined on line 5605, but no explicit reference was found in the text == Unused Reference: 'RFC3605' is defined on line 5621, but no explicit reference was found in the text == Unused Reference: 'RFC6464' is defined on line 5631, but no explicit reference was found in the text == Unused Reference: 'RFC6465' is defined on line 5637, but no explicit reference was found in the text == Unused Reference: 'RFC7587' is defined on line 5643, but no explicit reference was found in the text == Unused Reference: 'RFC7741' is defined on line 5654, but no explicit reference was found in the text == Unused Reference: 'RFC8122' is defined on line 5664, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mmusic-ice-sip-sdp' is defined on line 5706, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mmusic-trickle-ice' is defined on line 5722, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mmusic-msid' is defined on line 5730, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mmusic-sctp-sdp' is defined on line 5737, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-rtcweb-data-channel' is defined on line 5746, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mmusic-mux-exclusive' is defined on line 5753, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mmusic-dtls-sdp' is defined on line 5760, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-avtext-rid' is defined on line 5780, but no explicit reference was found in the text -- Obsolete informational reference (is this intentional?): RFC 4566 (Obsoleted by RFC 8866) Summary: 1 error (**), 0 flaws (~~), 29 warnings (==), 2 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: 20 June 2021 17 December 2020 7 Annotated Example SDP for WebRTC 8 draft-ietf-rtcweb-sdp-14 10 Abstract 12 The Web Real Time Communications (WebRTC) family of protocols defines 13 mechanism for direct interactive rich communication using audio, 14 video, and data between two peers' web browsers. With in the WebRTC 15 framework, the Session Description Protocol (SDP) is used for 16 negotiating session capabilities between the peers. Such a 17 negotiation happens based on the SDP offer/answer exchange mechanism 19 This document provides an informational reference in describing the 20 role of SDP and the offer/answer exchange mechanism for the most 21 common WebRTC use cases. 23 This document makes no changes to the SDP offer/answer exchange 24 mechanism. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at https://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on 20 June 2021. 43 Copyright Notice 45 Copyright (c) 2020 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 50 license-info) in effect on the date of publication of this document. 51 Please review these documents carefully, as they describe your rights 52 and restrictions with respect to this document. Code Components 53 extracted from this document must include Simplified BSD License text 54 as described in Section 4.e of the Trust Legal Provisions and are 55 provided without warranty as described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 60 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 3. SDP and WebRTC . . . . . . . . . . . . . . . . . . . . . . . 3 62 4. Offer/Answer and the WebRTC . . . . . . . . . . . . . . . . . 6 63 5. WebRTC Session Description Examples . . . . . . . . . . . . . 6 64 5.1. Some Conventions . . . . . . . . . . . . . . . . . . . . 7 65 5.2. Basic Examples . . . . . . . . . . . . . . . . . . . . . 9 66 5.2.1. Audio Only Session . . . . . . . . . . . . . . . . . 9 67 5.2.2. Audio/Video Session . . . . . . . . . . . . . . . . . 13 68 5.2.2.1. IPv4 Audio/Video Session . . . . . . . . . . . . 14 69 5.2.2.2. Dual Stack Audio/Video Session . . . . . . . . . 19 70 5.2.3. Data-only Session . . . . . . . . . . . . . . . . . . 24 71 5.2.4. Audio Call On Hold . . . . . . . . . . . . . . . . . 26 72 5.2.5. Audio with DTMF Session . . . . . . . . . . . . . . . 30 73 5.2.6. One-way Audio/Video Session - Document Camera . . . . 34 74 5.2.7. Audio, Video Session with BUNDLE Support Unknown . . 39 75 5.2.8. Audio, Video, and Data Session . . . . . . . . . . . 45 76 5.2.9. Audioa andVideo Session with BUNDLE Unsupported . . . 50 77 5.2.10. Audio, Video BUNDLED, but Data Not BUNDLED . . . . . 56 78 5.2.11. Audio Only, Add Video to BUNDLE . . . . . . . . . . . 62 79 5.3. MultiResolution, RTX, FEC Examples . . . . . . . . . . . 70 80 5.3.1. Send-only Simulcast Session with 2 Cameras and 2 81 Encodings per Camera . . . . . . . . . . . . . . . . 70 82 5.3.2. Successful SVC Video Session . . . . . . . . . . . . 78 83 5.3.3. Successful Simulcast Video Session with 84 Retransmission . . . . . . . . . . . . . . . . . . . 82 85 5.3.4. Successful One-way Simulcast Session with 2 resolutions 86 and RTX - One resolution rejected . . . . . . . . . . 88 87 5.3.5. Simulcast Video Session with Forward Error 88 Correction . . . . . . . . . . . . . . . . . . . . . 93 89 5.4. Others . . . . . . . . . . . . . . . . . . . . . . . . . 99 90 5.4.1. Audio Session - Voice Activity Detection . . . . . . 99 91 5.4.2. Audio Conference - Voice Activity Detection . . . . . 103 92 5.4.3. Successful Legacy Interop Fallback with 93 bundle-only . . . . . . . . . . . . . . . . . . . . . 107 94 5.4.4. Legacy Interop with RTP/AVP profile . . . . . . . . . 112 95 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 116 96 7. Security Considerations . . . . . . . . . . . . . . . . . . . 117 97 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 117 98 9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 117 99 10. Informative References . . . . . . . . . . . . . . . . . . . 121 100 Appendix A. Appendix . . . . . . . . . . . . . . . . . . . . . . 126 101 A.1. JSEP SDP Attributes Checklist . . . . . . . . . . . . . . 126 102 A.1.1. Common Checklist . . . . . . . . . . . . . . . . . . 126 103 A.1.2. RTP Media Description Checklist . . . . . . . . . . . 127 104 A.1.3. Data Channel Media Description checklist . . . . . . 129 105 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 129 107 1. Introduction 109 JavaScript Session Establishment Protocol (JSEP) 110 [I-D.ietf-rtcweb-jsep] specifies a generic protocol needed to 111 generate [RFC3264] SDP offers and answers negotiated between the 112 [WebRTC] peers for setting up, updating, and tearing down a WebRTC 113 session. For this purpose, SDP is used for describing (media and 114 non-media) streams as appropriate for the recipients of the session 115 description to participate in the session. 117 The remainder of this document is organized as follows: Sections 3 118 and 4 provide an overview of SDP and the offer/answer exchange 119 mechanism. Section 5 provides sample SDP generated for the most 120 common WebRTC use cases. 122 2. Terminology 124 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 125 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 126 "OPTIONAL" in this document are to be interpreted as described in 127 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 128 capitals, as shown here. 130 Readers should be familiar with the terminology defined in [RFC3264] 131 and in [RFC7656]. 133 3. SDP and WebRTC 135 The purpose of this section is to provide a general overview of SDP 136 and its components. For a more in-depth understanding, the readers 137 are advised to refer to [RFC4566]. 139 The Session Description Protocol (SDP) [RFC4566] describes a 140 multimedia session, which can contain audio, video, whiteboard, fax, 141 modem, and other streams. SDP provides a general purpose, standard 142 representation to describe various aspects of multimedia sessions 143 such as media capabilities, transport addresses, and related metadata 144 in a transport agnostic manner, for the purposes of session 145 announcement, session invitation, and parameter negotiation. 147 SDP is widely used in the context of Session Initiation Protocol 148 [RFC3261], Real-time Transport Protocol [RFC3550], and Real-time 149 Streaming Protocol [RFC7826] applications. 151 Figure 1 introduces a high-level breakup of SDP into components that 152 semantically describe a multimedia session, in our case, a WebRTC 153 session [WebRTC]. It by no means captures everything about SDP and 154 hence, should be used for informational purposes only. 156 +---------------------+ 157 | v= | 158 +---------------------+ 159 +---------------------+ +---------------------+ 160 ==== | Session Metadata | ===== | o= | 161 | +---------------------+ +---------------------- 162 | +---------------------+ 163 | | t= | 164 | +---------------------+ 165 | 166 | 167 | +---------------------+ 168 | | c= | 169 | +---------------------+ 170 | +---------------------+ 171 ==== | Network Description | ===== 172 | +---------------------+ 173 | +---------------------+ 174 | | a=candidate | 175 | +---------------------+ 176 | 177 | 178 | +---------------------+ 179 | | m= | 180 | +---------------------+ 181 | +---------------------+ +---------------------+ 182 ==== | Stream Description | ===== | a=rtpmap | 183 | +---------------------+ +---------------------- 184 | +---------------------+ 185 | | a=fmtp | 186 | +---------------------+ 187 | +---------------------+ 188 | | a=sendrecv.. | 189 | +---------------------+ 190 +---------------+ 191 | SEMANTIC | 192 | COMPONENTS OF | 193 | SDP | 194 +---------------+ 195 | +---------------------+ 196 | | a=crypto | 197 | +---------------------+ 198 | +---------------------+ +---------------------+ 199 ==== |Security Descriptions| =====| a=ice-frag | 200 | +---------------------+ +---------------------- 201 | +---------------------+ 202 | | a=ice-pwd | 203 | +---------------------+ 204 | +---------------------+ 205 | | a=fingerprint | 206 | +---------------------+ 207 | 208 | 209 | 210 | +---------------------+ 211 | | a=rtcp-fb | 212 | +---------------------+ 213 | +---------------------+ +---------------------+ 214 ==== | Qos,Grouping | | | 215 | Descriptions | =====| a=group | 216 +---------------------+ +---------------------- 217 +---------------------+ 218 | a=rtcpmux | 219 +---------------------+ 221 Figure 1: Semantic Components of SDP 223 [WebRTC] is architected in such a way that the design of the control 224 plane is specified and implemented by the JavaScript application, as 225 described in the JSEP specification [I-D.ietf-rtcweb-jsep]. JSEP 226 provides mechanisms to create session characterization and media 227 definition information to conduct the session based on SDP exchanges. 229 In this context, SDP serves two purposes: 231 1. Provide grammatical structure syntactically. 233 2. Semantically convey a participant's intention and capabilities 234 required to successfully negotiate a session. 236 4. Offer/Answer and the WebRTC 238 This section introduces the SDP offer/answer Exchange mechanism 239 mandated by WebRTC for negotiating session capabilities while setting 240 up, updating, and tearing down a WebRTC session. This section is 241 intentionally brief in nature, and interested readers are recommended 242 to refer to [RFC3264] for specific details on the protocol 243 operations. 245 The offer/answer [RFC3264] model specifies rules for the bilateral 246 exchange of Session Description Protocol (SDP) messages for creation 247 of multimedia streams. It defines a protocol with the involved 248 participants exchanging desired session characteristics with each 249 other constructed as SDP messages to negotiate the session between 250 them. 252 In the most basic form, the protocol operation begins by one of the 253 participants sending an initial SDP offer describing its intent to 254 start a multimedia communication session. The participant receiving 255 the offer may generate an SDP answer accepting the offer or it may 256 reject the offer. If the session is accepted the offer/answer model 257 provides a common view of the multimedia session between the 258 participants. 260 Within the context of WebRTC, the offer/answer model defines the 261 state-machinery for WebRTC peers to negotiate session descriptions 262 between themselves during the initial setup stages as well as for 263 eventual session updates. The JSEP specification 264 [I-D.ietf-rtcweb-jsep] for WebRTC provides the mechanism for 265 generating [RFC3264] SDP offers and answers in order for both sides 266 of the session to agree upon the details such as the list of media 267 formats to be sent/received, bandwidth information, crypto 268 parameters, and transport parameters, for example. 270 5. WebRTC Session Description Examples 272 A typical web-based real-time multimedia communication session can be 273 characterized as follows: 275 * It has zero or more audio-only, video-only or audio/video RTP 276 sessions, 278 * may contain zero or more non-media data sessions, 279 * All the sessions are secured with DTLS-SRTP, 281 * Supports NAT traversal using the ICE mechanism, 283 * Provides RTCP-based feedback mechanisms, 285 * Sessions can be over IPv4-only or IPv6-only or dual-stack based 286 clients, 288 * Supports BUNDLE-based grouping of media streams over a single 289 5-tuple transport. 291 5.1. Some Conventions 293 The examples given in this document follow the conventions listed 294 below: 296 * In all the examples, Alice and Bob are assumed to be the WebRTC 297 peers. 299 * It is assumed that for most of the examples, the support for 300 [I-D.ietf-mmusic-sdp-bundle-negotiation] is established a priori 301 either out-of-band or as a consequence of a successful offer/ 302 answer negotiation between Alice and Bob, unless explicitly stated 303 otherwise. 305 * Call-flow diagrams that accompany the use cases capture only the 306 prominent aspects of the system behavior and intentionally are not 307 detailed, to improve readability. 309 * Even though the call-flow diagrams show SDP being exchanged 310 between the parties, it doesn't represent the only way an WebRTC 311 setup is expected to work. Other approaches may involve WebRTC 312 applications to exchange the media setup information via non-SDP 313 mechanisms as long as they conform to the [I-D.ietf-rtcweb-jsep] 314 API specification. 316 * The SDP examples deviate from actual on-the-wire SDP notation in 317 several ways. This is done to facilitate readability and to 318 conform to the restrictions imposed by the RFC formatting rules. 320 - Visual markers/Empty lines in any SDP example are inserted to 321 make functional divisions in the SDP clearer, and are not 322 actually part of the SDP syntax. 324 - Excepting the above two conventions, line endings are to be 325 interpreted as pairs (that is, a US-ASCII 13 followed 326 by a US-ASCII 10). 328 * Against each SDP line, pointers to the appropriate RFCs are 329 provided for further informational reference. Also an attempt has 330 been made to provide explanatory notes to enable better 331 understanding of the SDP usage, wherever appropriate. 333 * The following SDP details are common across all the use cases 334 defined in this document unless mentioned otherwise. 336 - DTLS fingerprint for SRTP (a=fingerprint) 338 - RTP/RTCP Multiplexing (a=rtcp-mux) 340 - RTCP Feedback support (a=rtcp-fb) 342 - Host and server-reflexive candidate lines (a=candidate) 344 - DTLS-SRTP Setup framework parameters (a=setup) 346 - RTCP attribute (a=rtcp) 348 - RTP header extension indicating audio-levels from client to the 349 mixer 351 For specific details, readers must refer to the 352 [I-D.ietf-rtcweb-jsep] specification. 354 * The term "session" is used rather loosely in this document to 355 refer to either a "communication session" or an "RTP session" or a 356 "RTP stream" depending on the context. 358 * Payload type 109 is usually used for OPUS, 0 for PCMU, 8 for PCMA, 359 99 for H.264, and 120 for VP8 in most of the examples to maintain 360 uniformity. 362 * The IP Address:Port combinations '192.0.2.4:61665' (host) and 363 '203.0.113.141:54609' (Server Reflexive) are typically used for 364 Alice. 366 * The IP Address:Port combinations '198.51.100.7:51556' (host) and 367 '203.0.113.77:49203' (Server Reflexive) are typically used for 368 Bob. 370 * The IPv6 addresses 2001:db8:8101:3a55:4858:a2a9:22ff:99b9 and 371 2001:db8:30c:1266:5916:3779:22f6:77f7 are used to represent Alice 372 and Bob's host addresses respectively. 374 * In actual use the values that represent SSRCs, ICE candidate 375 foundations, WebRTC MediaStream, and MediaStreamTrack IDs values 376 shall be much larger than and/or random in comparison to the ones 377 shown in the examples. 379 * tls-id attribute values 89J2LRATQ3ULA24G9AHWVR31VJWSLB68 and 380 UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ are used for Alice. The values 381 CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 and 382 9AIFS8AQ009IXF5D6QQUJ7P8BXPEZJ8G are used for Bob. 384 * identity attribute values are split across multiple lines to 385 enhance readability, thus any line breaks and indentations in the 386 value must be ignored. 388 * SDP attributes in the examples closely follow the checklist 389 defined in Appendix A.1. 391 5.2. Basic Examples 393 5.2.1. Audio Only Session 395 This common scenario shows the SDP for a secure two-way audio session 396 with Alice offering Opus, PCMU, PCMA and Bob accepting all the 397 offered audio codecs. 399 This example also shows the endpoints being [RFC8445] compliant by 400 including "ice2" ice-options attribute. 402 Two-way Audio Only Session 404 Alice Bob 405 | | 406 | | 407 | offer(Audio:Opus,PCMU,PCMA) | 408 |------------------------------------>| 409 | | 410 | | 411 | answer(Audio:Opus,PCMU,PCMA) | 412 |<------------------------------------| 413 | | 414 | | 415 |Two-way Opus Audio (preferred-codec) | 416 |.....................................| 417 | | 418 | | 419 +===============================================================================================+========================================+ 420 |Offer SDP Contents |RFC#/Notes | 421 +===============================================================================================+========================================+ 422 |v=0 |[RFC4566] | 423 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 424 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 425 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 426 |s=- |[RFC4566] | 427 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 428 |t=0 0 |[RFC4566] | 429 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 430 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 431 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 432 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 433 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 434 |a=ice-options:ice2 |[RFC8445] | 435 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 436 |a=identity:eyJpZHAiOnsiZG9tYWluIjoibmlpZi5odSIsInByb3RvY29sIjoiaWRwLmh0bWwifSwiYXNzZXJ0a |Section 7.4 of | 437 |W9uIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhVeUo5LmV5SmpiMjUwWlc1MGN5STZleUptYVc1b |[I-D.ietf-rtcweb-security-arch] | 438 |lpYSndjbWx1ZENJNlczc2lZV3huYjNKcGRHaHRJam9pYzJoaExUSTFOaUlzSW1ScFoyVnpkQ0k2SWprek9rTXdPa | | 439 |kl6T2pKR09rRXlPakF3T2pBd09qQkVPalV4T2tGRE9rUXlPalUwT2pZMU9rWTBPak5DT2pkRU9qa3lPa1JET2pnN | | 440 |E9qTXpPalV4T2pJek9qUXdPamN5T2preE9qZ3pPalZDT2pBeE9qSkdPalV3T2pjNE9qTkdJbjFkZlN3aWFXUmxib | | 441 |lJwZEhraU9pSnRhWE5wUUc1cGFXWXVhSFVpZlEuSTVQdGhKNFFDT05TOFVXd25OOUh3MEdaTDl3d0RBVGRrTWtFW | | 442 |llmdlNVTTJ6Umd5R09WSGgzRmpnc2FPZklkRnFsNUx6azBFbndVOTNQOUlCQ0xZOWtia3V1c0V1S25YRGVNLTNIN | | 443 |WFmdTJvZl9CTlZjUnB3MmdBdlNBbVR6SlltcEpqMFEtdmV0TmtVT1huZE9HLUIzT3ZGb3QwZVNENlZSNUdhb2wyc | | 444 |GduS3FSTktOd3dacEZ1eUZZbFRodHJIdGNiT19WV3o4QnZpTThKS25OdExWd1JxNUhMX2ZLTlRCNzFDYkoyWmh5W | | 445 |XU1UEdwWDhXcXJMWC1ybm5YSFY3RnhoTTh5OHdrLWd5cnRZazVnbFlZeUFrcTVqZklSXzRzWER5d19Qc1BWTW1aZ | | 446 |XltenVGV3BQTzVFWlJYR0ZpRjFET0o4Q0Q3Z3Zta2dUdlBXSWpkemtBIn0= | | 447 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 448 |****** Audio m=line ********* |***************************** | 449 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 450 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 451 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 452 |c=IN IP4 203.0.113.141 |[RFC4566] | 453 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 454 |a=mid:audio |[RFC5888] | 455 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 456 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 457 | |MediaStreamTrack ID (ta) | 458 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 459 |a=sendrecv |[RFC3264] - Alice can send and recv | 460 | |audio | 461 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 462 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 | 463 | |channels | 464 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 465 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec | 466 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 467 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec | 468 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 469 |a=maxptime:120 |[RFC4566] | 470 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 471 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user| 472 | |fragment | 473 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 474 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 475 | |password | 476 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 477 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 478 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 479 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 480 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 481 | |or server | 482 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 483 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 484 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 485 |a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP | 486 | |Muxing | 487 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 488 |a=rtcp:60065 IN IP4 203.0.113.141 |[RFC3605] | 489 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 490 |a=rtcp-rsize |[RFC5506] - Alice intends to use reduced| 491 | |size RTCP for this session | 492 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 493 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] Alice supports RTP header | 494 | |extension to indicate audio levels | 495 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 496 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 497 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 498 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP Host| 499 | |Candidate | 500 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 501 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] - RTP | 502 | |Server Reflexive ICE Candidate | 503 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 504 |a=candidate:0 2 UDP 2122194687 192.0.2.4 61667 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP | 505 | |Host Candidate | 506 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 507 |a=candidate:1 2 UDP 1685987071 203.0.113.141 60065 typ srflx raddr 192.0.2.4 rport 61667 |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP | 508 | |Server Reflexive ICE Candidate | 509 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 510 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 511 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 513 Table 1: 5.2.1 SDP Offer 515 +===============================================================================================+========================================+ 516 |Answer SDP Contents |RFC#/Notes | 517 +===============================================================================================+========================================+ 518 |v=0 |[RFC4566] | 519 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 520 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 521 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 522 |s=- |[RFC4566] | 523 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 524 |t=0 0 |[RFC4566] | 525 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 526 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 527 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 528 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 529 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 530 |a=ice-options:ice2 |[RFC8445] | 531 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 532 |a=identity:ew0KICAiaWRwIjp7DQogICAgImRvbWFpbiI6ICJjaXNjb3NwYXJrLmNvbSIsDQogICAg |Section 7.4 of | 533 |InByb3RvY29sIjogImRlZmF1bHQiDQogIH0sDQogICJhc3NlcnRpb24iOiAibEp3WkVocmFVOXBTblJo |[I-D.ietf-rtcweb-security-arch] | 534 |V0U1d1VVYzFjR0ZYV1hWaFNGVnBabEV1U1RWUWRHaEtORkZEVDA1VE9GVlhkMjVPT1VoM01FZGFURGwz | | 535 |ZDBSQlZHUnJUV3RGVw0KICAgICAgICAgICAgICBsbG1kbE5WVFRKNlVtZDVSMDlXU0dnelJtcG5jMkZQ | | 536 |Wmtsa1JuRnNOVXg2YXpCRmJuZFZPVE5RT1VsQ1EweFpPV3RpYTNWMWMwVjFTMjVZUkdWTkxUTklODQog | | 537 |ICAgICAgICAgICAgIFdGbWRUSnZabDlDVGxaalVuQjNNbWRCZGxOQmJWUjZTbGx0Y0VwcU1GRXRkbVYw | | 538 |VG10VlQxaHVaRTlITFVJelQzWkdiM1F3WlZORU5sWlNOVWRoYjJ3eWMNCiAgICAgICAgICAgICAgR2R1 | | 539 |UzNGU1RrdE9kM2RhY0VaMWVVWlpiRlJvZEhKSWRHTmlUMTlXVjNvNFFuWnBUVGhLUzI1T2RFeFdkMUp4 | | 540 |TlVoTVgyWkxUbFJDTnpGRFlrb3lXbWg1VyINCn0= | | 541 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 542 |****** Audio m=line ********* |***************************** | 543 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 544 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 545 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 546 |c=IN IP4 203.0.113.77 |[RFC4566] | 547 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 548 |a=mid:audio |[RFC5888] | 549 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 550 |a=msid:ma ta |[I-D.ietf-mmusic-msid] Identifies | 551 | |MediaStream ID (ma) and MediaStreamTrack| 552 | |ID (ta) | 553 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 554 |a=sendrecv |[RFC3264] - Bob can send and recv audio | 555 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 556 |a=rtpmap:109 opus/48000/2 |[RFC7587] Opus Codec | 557 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 558 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec | 559 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 560 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec | 561 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 562 |a=maxptime:120 |[RFC4566] | 563 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 564 |a=ice-ufrag:05067423 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user| 565 | |fragment | 566 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 567 |a=ice-pwd:1747d1ee3474a28a397a4c3f3af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 568 | |password parameter | 569 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 570 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 571 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 572 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 573 |a=setup:active |[RFC5763] - Bob is the DTLS client | 574 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 575 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 576 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 577 |a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP | 578 | |Muxing on port 49203 | 579 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 580 |a=rtcp-rsize |[RFC5506] - Bob intends to use reduced | 581 | |size RTCP for this session | 582 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 583 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] Bob supports audio level RTP | 584 | |header extension as well | 585 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 586 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 587 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 588 |a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 589 | |Host ICE Candidate | 590 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 591 |a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 592 | |Server Reflexive ICE Candidate | 593 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 594 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 595 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 597 Table 2: 5.2.1 SDP Answer 599 5.2.2. Audio/Video Session 601 Alice and Bob establish a two-way audio and video session with Opus 602 as the audio codec and H.264 as the video codec. 604 Two-way Audio/Video Session 606 Alice Bob 607 | | 608 | | 609 |offer(Audio:Opus,PCMU,PCMA Video:H.264,VP8) | 610 |------------------------------------------->| 611 | | 612 | | 613 | answer(Audio:Opus,Video:H.264) | 614 |<-------------------------------------------| 615 | | 616 | | 617 | Two-way Opus Audio, H.264 Video | 618 |............................................| 619 | | 621 5.2.2.1. IPv4 Audio/Video Session 623 This section shows the IPv4-only offer/answer exchange. 625 +===============================================================================================+========================================+ 626 |Offer SDP Contents |RFC#/Notes | 627 +===============================================================================================+========================================+ 628 |v=0 |[RFC4566] | 629 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 630 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 631 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 632 |s=- |[RFC4566] | 633 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 634 |t=0 0 |[RFC4566] | 635 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 636 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 637 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 638 |a=group:LS audio video |[RFC5888] - Alice wants to lip sync her | 639 | |audio and video streams | 640 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 641 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 642 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 643 |a=ice-options:ice2 |[RFC8445] | 644 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 645 |****** Audio m=line ********* |***************************** | 646 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 647 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 648 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 649 |c=IN IP4 203.0.113.141 |[RFC4566] | 650 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 651 |a=mid:audio |[RFC5888] | 652 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 653 |a=msid:ma ta |[I-D.ietf-mmusic-msid] Identifies | 654 | |MediaStream ID (ma) and MediaStreamTrack| 655 | |ID (ta) | 656 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 657 |a=sendrecv |[RFC3264] - Alice can send and recv | 658 | |audio | 659 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 660 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 | 661 | |channels | 662 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 663 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec | 664 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 665 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec | 666 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 667 |a=maxptime:120 |[RFC4566] | 668 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 669 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user| 670 | |fragment | 671 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 672 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 673 | |password parameter | 674 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 675 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 676 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 677 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 678 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 679 | |or server | 680 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 681 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 682 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 683 |a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP | 684 | |Muxing | 685 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 686 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 687 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 688 |a=rtcp-rsize |[RFC5506] - Alice intends to use reduced| 689 | |size RTCP for this session | 690 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 691 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 692 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 693 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 694 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 695 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 696 | |Host Candidate | 697 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 698 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 699 | |Server Reflexive ICE Candidate | 700 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 701 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 702 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 703 |****** Video m=line ********* |***************************** | 704 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 705 |m=video 0 UDP/TLS/RTP/SAVPF 99 120 |[RFC4566] | 706 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 707 |c=IN IP4 203.0.113.141 |[RFC4566] | 708 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 709 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 710 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 711 |a=mid:video |[RFC5888] | 712 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 713 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 714 | |MediaStreamTrack ID (tb) | 715 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 716 |a=sendrecv |[RFC3264] - Alice can send and recv | 717 | |video | 718 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 719 |a=rtpmap:99 H264/90000 |[RFC6184] - H.264 Video Codec | 720 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 721 |a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] | 722 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 723 |a=rtpmap:120 VP8/90000 |[RFC7741] - VP8 video codec | 724 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 725 |a=rtcp-fb:99 nack |[RFC4585] - Indicates NACK RTCP feedback| 726 | |support | 727 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 728 |a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for | 729 | |Picture loss Indication and NACK | 730 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 731 |a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Frame Request- | 732 | |Codec Control Message support | 733 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 734 |a=rtcp-fb:120 nack |[RFC4585] - Indicates NACK RTCP feedback| 735 | |support | 736 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 737 |a=rtcp-fb:120 nack pli |[RFC4585] - Indicates support for | 738 | |Picture loss Indication and NACK | 739 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 740 |a=rtcp-fb:120 ccm fir |[RFC5104] - Full Intra Request-Codec | 741 | |Control Message support | 742 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 743 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 744 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 746 Table 3: 5.2.2.1 SDP Offer 748 +===============================================================================================+========================================+ 749 |Answer SDP Contents |RFC#/Notes | 750 +===============================================================================================+========================================+ 751 |v=0 |[RFC4566] | 752 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 753 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 754 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 755 |s=- |[RFC4566] | 756 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 757 |t=0 0 |[RFC4566] | 758 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 759 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 760 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 761 |a=group:LS audio video |[RFC5888] - Bob agrees to do the same | 762 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 763 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 764 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 765 |a=ice-options:ice2 |[RFC8445] | 766 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 767 |****** Audio m=line ********* |***************************** | 768 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 769 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 770 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 771 |c=IN IP4 203.0.113.77 |[RFC4566] | 772 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 773 |a=mid:audio |[RFC5888] | 774 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 775 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 776 | |MediaStreamTrack ID (ta) | 777 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 778 |a=sendrecv |[RFC3264] - Bob can send and recv audio | 779 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 780 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts only Opus Codec | 781 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 782 |a=maxptime:120 |[RFC4566] | 783 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 784 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 785 | |username frag | 786 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 787 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 788 | |password | 789 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 790 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 791 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 792 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 793 |a=setup:active |[RFC5763] - Bob is the DTLS client | 794 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 795 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 796 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 797 |a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP | 798 | |Muxing | 799 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 800 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 801 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 802 |a=rtcp-rsize |[RFC5506] - Bob intends to use reduced | 803 | |size RTCP for this session | 804 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 805 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 806 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 807 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 808 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 809 |a=candidate:0 1 UDP 3618095783 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 810 | |Host ICE Candidate | 811 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 812 |a=candidate:1 1 UDP 565689203 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 813 | |Server Reflexive ICE Candidate | 814 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 815 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 816 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 817 |****** Video m=line ********* |***************************** | 818 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 819 |m=video 0 UDP/TLS/RTP/SAVPF 99 |[RFC4566] | 820 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 821 |c=IN IP4 203.0.113.77 |[RFC4566] | 822 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 823 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 824 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 825 |a=mid:video |[RFC5888] | 826 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 827 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 828 | |MediaStreamTrack ID (tb) | 829 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 830 |a=sendrecv |[RFC3264] - Bob can send and recv video | 831 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 832 |a=rtpmap:99 H264/90000 |[RFC6184] - Bob accepts H.264 Video | 833 | |Codec. | 834 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 835 |a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] | 836 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 837 |a=rtcp-fb:99 nack |[RFC4585] - Indicates support for NACK- | 838 | |based RTCP feedback | 839 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 840 |a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for | 841 | |Picture loss Indication and NACK | 842 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 843 |a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Request-Codec | 844 | |Control Message support | 845 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 846 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 847 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 849 Table 4: 5.2.2.1 SDP Answer 851 5.2.2.2. Dual Stack Audio/Video Session 853 This section captures offer/answer exchange when Alice and Bob 854 support both IPv4 and IPv6 host addresses. 856 +===============================================================================================+========================================+ 857 |Offer SDP Contents |RFC#/Notes | 858 +===============================================================================================+========================================+ 859 |v=0 |[RFC4566] | 860 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 861 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 862 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 863 |s=- |[RFC4566] | 864 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 865 |t=0 0 |[RFC4566] | 866 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 867 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 868 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 869 |a=group:LS audio video |[RFC5888] - Alice wants to lip sync her | 870 | |audio and video streams | 871 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 872 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 873 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 874 |a=ice-options:ice2 |[RFC8445] | 875 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 876 |****** Audio m=line ********* |***************************** | 877 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 878 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 879 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 880 |c=IN IP4 203.0.113.141 |[RFC4566] | 881 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 882 |a=mid:audio |[RFC5888] | 883 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 884 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 885 | |MediaStreamTrack ID (ta) | 886 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 887 |a=sendrecv |[RFC3264] - Alice can send and recv | 888 | |audio | 889 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 890 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 | 891 | |channels | 892 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 893 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec | 894 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 895 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec | 896 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 897 |a=maxptime:120 |[RFC4566] | 898 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 899 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user| 900 | |fragment | 901 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 902 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 903 | |password parameter | 904 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 905 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 906 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 907 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 908 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 909 | |or server | 910 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 911 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 912 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 913 |a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP | 914 | |Muxing | 915 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 916 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 917 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 918 |a=rtcp-rsize |[RFC5506] - Alice intends to use reduced| 919 | |size RTCP for this session | 920 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 921 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 922 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 923 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 924 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 925 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 926 | |Host Candidate | 927 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 928 |a=candidate:0 1 UDP 2122194687 2001:db8:8101:3a55:4858:a2a9:22ff:99b9 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 929 | |IPv6 Host Candidate | 930 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 931 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 932 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 933 |****** Video m=line ********* |***************************** | 934 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 935 |m=video 0 UDP/TLS/RTP/SAVPF 99 120 |[RFC4566] | 936 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 937 |c=IN IP4 203.0.113.141 |[RFC4566] | 938 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 939 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 940 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 941 |a=mid:video |[RFC5888] | 942 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 943 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 944 | |MediaStreamTrack ID (tb) | 945 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 946 |a=sendrecv |[RFC3264] - Alice can send and recv | 947 | |video | 948 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 949 |a=rtpmap:99 H264/90000 |[RFC6184] - H.264 Video Codec | 950 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 951 |a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] | 952 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 953 |a=rtpmap:120 VP8/90000 |[RFC7741] - VP8 video codec | 954 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 955 |a=rtcp-fb:99 nack |[RFC4585] - Indicates NACK RTCP feedback| 956 | |support | 957 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 958 |a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for | 959 | |Picture loss Indication and NACK | 960 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 961 |a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Request-Codec | 962 | |Control Message support | 963 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 964 |a=rtcp-fb:120 nack |[RFC4585] - Indicates NACK RTCP feedback| 965 | |support | 966 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 967 |a=rtcp-fb:120 nack pli |[RFC4585] - Indicates support for | 968 | |Picture loss Indication and NACK | 969 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 970 |a=rtcp-fb:120 ccm fir |[RFC5104] - Full Intra Request-Codec | 971 | |Control Message support | 972 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 973 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 974 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 976 Table 5: 5.2.2.2 SDP Offer 978 +===============================================================================================+========================================+ 979 |Answer SDP Contents |RFC#/Notes | 980 +===============================================================================================+========================================+ 981 |v=0 |[RFC4566] | 982 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 983 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 984 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 985 |s=- |[RFC4566] | 986 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 987 |t=0 0 |[RFC4566] | 988 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 989 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 990 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 991 |a=group:LS audio video |[RFC5888] - Bob agrees to do the same | 992 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 993 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 994 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 995 |a=ice-options:ice2 |[RFC8445] | 996 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 997 |****** Audio m=line ********* |***************************** | 998 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 999 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1000 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1001 |c=IN IP4 203.0.113.77 |[RFC4566] | 1002 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1003 |a=mid:audio |[RFC5888] | 1004 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1005 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1006 | |MediaStreamTrack ID (ta) | 1007 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1008 |a=sendrecv |[RFC3264] - Bob can send and recv audio | 1009 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1010 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts only Opus Codec | 1011 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1012 |a=maxptime:120 |[RFC4566] | 1013 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1014 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1015 | |username frag | 1016 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1017 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1018 | |password | 1019 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1020 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 1021 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 1022 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1023 |a=setup:active |[RFC5763] - Bob is the DTLS client | 1024 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1025 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 1026 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1027 |a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP | 1028 | |Muxing | 1029 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1030 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 1031 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1032 |a=rtcp-rsize |[RFC5506] - Bob intends to use reduced | 1033 | |size RTCP for this session | 1034 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1035 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1036 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1037 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1038 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1039 |a=candidate:0 1 UDP 3618095783 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 1040 | |Host ICE Candidate | 1041 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1042 |a=candidate:0 1 UDP 3618095783 2001:db8:30c:1266:5916:3779:22f6:77f7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP| 1043 | |IPv6 Host ICE Candidate | 1044 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1045 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1046 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1047 |****** Video m=line ********* |***************************** | 1048 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1049 |m=video 0 UDP/TLS/RTP/SAVPF 99 |[RFC4566] | 1050 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1051 |c=IN IP4 203.0.113.77 |[RFC4566] | 1052 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1053 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1054 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1055 |a=mid:video |[RFC5888] | 1056 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1057 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 1058 | |MediaStreamTrack ID (tb) | 1059 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1060 |a=sendrecv |[RFC3264] - Bob can send and recv video | 1061 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1062 |a=rtpmap:99 H264/90000 |[RFC6184] - Bob accepts H.264 Video | 1063 | |Codec. | 1064 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1065 |a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] | 1066 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1067 |a=rtcp-fb:99 nack |[RFC4585] - Indicates support for NACK- | 1068 | |based RTCP feedback | 1069 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1070 |a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for | 1071 | |Picture loss Indication and NACK | 1072 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1073 |a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Request- Codec | 1074 | |Control Message support | 1075 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1076 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1077 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1079 Table 6: 5.2.2.2 SDP Answer 1081 5.2.3. Data-only Session 1083 This scenario illustrates the SDP negotiated to set up a data-only 1084 session based on the SCTP Data Channel, thus enabling use cases such 1085 as file transfer or real-time game control, for example. 1087 Two-way Data channel Session 1089 Alice Bob 1090 | | 1091 | | 1092 | | 1093 | offer(Data Channel) | 1094 |-------------------------------->| 1095 | | 1096 | | 1097 | answer(Data Channel) | 1098 |<--------------------------------| 1099 | | 1100 | | 1101 | Two-way SCTP-based data channel | 1102 |.................................| 1103 | | 1104 | | 1106 +===============================================================================================+========================================+ 1107 |Offer SDP Contents |RFC#/Notes | 1108 +===============================================================================================+========================================+ 1109 |v=0 |[RFC4566] | 1110 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1111 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 1112 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1113 |s=- |[RFC4566] | 1114 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1115 |t=0 0 |[RFC4566] | 1116 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1117 |a=group:BUNDLE data |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1118 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1119 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 1120 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1121 |a=ice-options:ice2 |[RFC8445] | 1122 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1123 |****** Application m=line ********* |***************************** | 1124 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1125 |m=application 54609 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-rtcweb-data-channel] | 1126 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1127 |c=IN IP4 203.0.113.141 |[RFC4566] | 1128 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1129 |a=mid:data |[RFC5888] | 1130 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1131 |a=sendrecv |[RFC3264] - Alice can send and recv non-| 1132 | |media data | 1133 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1134 |a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] | 1135 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1136 |a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] | 1137 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1138 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 1139 | |or server | 1140 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1141 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 1142 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1143 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - Session | 1144 | |Level ICE parameter | 1145 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1146 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - Session | 1147 | |Level ICE parameter | 1148 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1149 |a=fingerprint:sha-256 |[RFC8122] - Session DTLS Fingerprint for| 1150 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2|SRTP | 1151 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1152 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 1153 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1154 |a=candidate:1 1 UDP 1694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 1155 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1156 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1157 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1159 Table 7: 5.2.3 SDP Offer 1161 +===============================================================================================+========================================+ 1162 |Answer SDP Contents |RFC#/Notes | 1163 +===============================================================================================+========================================+ 1164 |v=0 |[RFC4566] | 1165 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1166 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 1167 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1168 |s=- |[RFC4566] | 1169 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1170 |t=0 0 |[RFC4566] | 1171 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1172 |a=group:BUNDLE data |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1173 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1174 |****** Application m=line ********* |***************************** | 1175 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1176 |m=application 49203 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-mmusic-sctp-sdp] | 1177 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1178 |c=IN IP4 203.0.113.77 |[RFC4566] | 1179 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1180 |a=mid:data |[RFC5888] | 1181 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1182 |a=sendrecv |[RFC3264] - Bob can send and recv non- | 1183 | |media data | 1184 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1185 |a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] | 1186 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1187 |a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] | 1188 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1189 |a=setup:active |[RFC5763] - Bob is the DTLS client | 1190 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1191 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 1192 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1193 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - Session | 1194 | |Level ICE username frag | 1195 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1196 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - Session | 1197 | |Level ICE password | 1198 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1199 |a=fingerprint:sha-256 |[RFC8122] - Session DTLS Fingerprint for| 1200 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08|SRTP | 1201 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1202 |a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 1203 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1204 |a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 1205 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1206 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1207 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1209 Table 8: 5.2.3 SDP Answer 1211 5.2.4. Audio Call On Hold 1213 Alice calls Bob, but when Bob answers he places Alice on hold by 1214 setting the SDP direction attribute to a=inactive in the answer. 1216 Audio On Hold 1218 Alice Bob 1219 | | 1220 | | 1221 | offer(Audio:Opus) | 1222 |-------------------------------->| 1223 | | 1224 | | 1225 | answer(Audio:Opus,a=inactive) | 1226 |<--------------------------------| 1227 | | 1228 | | 1229 | One-way Opus Audio | 1230 |.................................| 1231 | | 1232 | 1234 +===============================================================================================+========================================+ 1235 |Offer SDP Contents |RFC#/Notes | 1236 +===============================================================================================+========================================+ 1237 |v=0 |[RFC4566] | 1238 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1239 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 1240 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1241 |s=- |[RFC4566] | 1242 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1243 |t=0 0 |[RFC4566] | 1244 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1245 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1246 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1247 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 1248 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1249 |a=ice-options:ice2 |[RFC8445] | 1250 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1251 |****** Audio m=line ********* |***************************** | 1252 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1253 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1254 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1255 |c=IN IP4 203.0.113.141 |[RFC4566] | 1256 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1257 |a=mid:audio |[RFC5888] | 1258 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1259 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1260 | |MediaStreamTrack ID (ta) | 1261 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1262 |a=sendrecv |[RFC3264] - Alice can send and recv | 1263 | |audio | 1264 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1265 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 | 1266 | |channels | 1267 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1268 |a=maxptime:120 |[RFC4566] | 1269 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1270 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user| 1271 | |fragment | 1272 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1273 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1274 | |password | 1275 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1276 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 1277 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 1278 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1279 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 1280 | |or server | 1281 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1282 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 1283 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1284 |a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP | 1285 | |Muxing | 1286 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1287 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 1288 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1289 |a=rtcp-rsize |[RFC5506] | 1290 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1291 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1292 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1293 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1294 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1295 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 1296 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1297 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 1298 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1299 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1300 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1302 Table 9: 5.2.4 SDP Offer 1304 +===============================================================================================+========================================+ 1305 |Answer SDP Contents |RFC#/Notes | 1306 +===============================================================================================+========================================+ 1307 |v=0 |[RFC4566] | 1308 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1309 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 1310 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1311 |s=- |[RFC4566] | 1312 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1313 |t=0 0 |[RFC4566] | 1314 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1315 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1316 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1317 |****** Audio m=line ********* |***************************** | 1318 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1319 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1320 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1321 |c=IN IP4 203.0.113.77 |[RFC4566] | 1322 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1323 |a=mid:audio |[RFC5888] | 1324 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1325 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1326 | |MediaStreamTrack ID (ta) | 1327 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1328 |a=inactive |[RFC3264] - Bob puts call On Hold | 1329 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1330 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts Opus Codec | 1331 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1332 |a=maxptime:120 |[RFC4566] | 1333 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1334 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1335 | |username frag | 1336 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1337 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1338 | |password | 1339 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1340 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 1341 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 1342 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1343 |a=setup:active |[RFC5763] - Bob is the DTLS client | 1344 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1345 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 1346 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1347 |a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP | 1348 | |Muxing | 1349 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1350 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 1351 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1352 |a=rtcp-rsize |[RFC5506] | 1353 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1354 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1355 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1356 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1357 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1358 |a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - Host | 1359 | |candidate | 1360 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1361 |a=candidate:1 1 UDP 1685987071 203.0.113.141 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] - Server | 1362 | |Reflexive candidate | 1363 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1364 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1365 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1367 Table 10: 5.2.4 SDP Answer 1369 5.2.5. Audio with DTMF Session 1371 In this example, Alice wishes to establish two separate audio 1372 streams, one for normal audio and the other for telephone-events. 1373 Alice offers the first audio stream with three codecs and the other 1374 with [RFC4733] tones (for DTMF). Bob accepts both the audio streams 1375 by choosing Opus as the audio codec and telephone-event for the other 1376 stream. 1378 Audio Session with DTMF 1380 Alice Bob 1381 | | 1382 | | 1383 | | 1384 | offer(Audio:Opus,PCMU,PCMA Audio:telephone-event)| 1385 |-------------------------------------------------->| 1386 | | 1387 | | 1388 | answer(Audio:Opus, Audio:telephone-event) | 1389 |<--------------------------------------------------| 1390 | | 1391 | | 1392 | Opus audio stream and telephone-event stream | 1393 |...................................................| 1394 | | 1396 +===============================================================================================+========================================+ 1397 |Offer SDP Contents |RFC#/Notes | 1398 +===============================================================================================+========================================+ 1399 |v=0 |[RFC4566] | 1400 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1401 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 1402 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1403 |s=- |[RFC4566] | 1404 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1405 |t=0 0 |[RFC4566] | 1406 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1407 |a=group:BUNDLE audio dtmf |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1408 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1409 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 1410 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1411 |a=ice-options:ice2 |[RFC8445] | 1412 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1413 |****** Audio m=line ********* |***************************** | 1414 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1415 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 1416 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1417 |c=IN IP4 203.0.113.141 |[RFC4566] | 1418 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1419 |a=mid:audio |[RFC5888] | 1420 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1421 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1422 | |MediaStreamTrack ID (ta) | 1423 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1424 |a=sendrecv |[RFC3264] - Alice can send and recv | 1425 | |audio | 1426 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1427 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 | 1428 | |channels | 1429 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1430 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU audio Codec | 1431 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1432 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA audio Codec | 1433 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1434 |a=maxptime:120 |[RFC4566] | 1435 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1436 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user| 1437 | |fragment | 1438 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1439 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1440 | |password parameter | 1441 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1442 |a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP | 1443 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 1444 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1445 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 1446 | |or server | 1447 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1448 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 1449 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1450 |a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP | 1451 | |Muxing | 1452 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1453 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 1454 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1455 |a=rtcp-rsize |[RFC5506] | 1456 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1457 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1458 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1459 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1460 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1461 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 1462 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1463 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 1464 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1465 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1466 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1467 |****** DTMF m=line ********* |***************************** | 1468 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1469 |m=audio 0 UDP/TLS/RTP/SAVPF 126 |[RFC4566] | 1470 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1471 |c=IN IP4 203.0.113.141 |[RFC4566] | 1472 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1473 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1474 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1475 |a=mid:dtmf |[RFC5888] | 1476 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1477 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 1478 | |MediaStreamTrack ID (tb) | 1479 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1480 |a=sendonly |[RFC3264] - Alice can send DTMF Events | 1481 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1482 |a=rtpmap:126 telephone-event/8000 |[RFC4733] | 1483 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1484 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1485 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1487 Table 11: 5.2.5 SDP Offer 1489 +===============================================================================================+========================================+ 1490 |Answer SDP Contents |RFC#/Notes | 1491 +===============================================================================================+========================================+ 1492 |v=0 |[RFC4566] | 1493 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1494 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 1495 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1496 |s=- |[RFC4566] | 1497 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1498 |t=0 0 |[RFC4566] | 1499 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1500 |a=group:BUNDLE audio dtmf |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1501 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1502 |****** Audio m=line ********* |***************************** | 1503 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1504 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1505 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1506 |c=IN IP4 203.0.113.77 |[RFC4566] | 1507 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1508 |a=mid:audio |[RFC5888] | 1509 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1510 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1511 | |MediaStreamTrack ID (ta) | 1512 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1513 |a=sendrecv |[RFC3264] - Bob can send and receive | 1514 | |Opus audio | 1515 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1516 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts Opus Codec | 1517 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1518 |a=maxptime:120 |[RFC4566] | 1519 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1520 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1521 | |username frag | 1522 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1523 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE | 1524 | |password | 1525 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1526 |a=fingerprint:sha-256 |[RFC8122] - Fingerprint for SRTP | 1527 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 1528 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1529 |a=setup:active |[RFC5763] - Bob is the DTLS client | 1530 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1531 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 1532 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1533 |a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP | 1534 | |Muxing on port 49203 | 1535 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1536 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 1537 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1538 |a=rtcp-rsize |[RFC5506] - Alice intends to use | 1539 | |reduced-size RTCP for this session | 1540 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1541 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1542 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1543 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1544 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1545 |a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 1546 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1547 |a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 1548 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1549 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1550 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1551 |****** DTMF m=line ********* |***************************** | 1552 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1553 |m=audio 0 UDP/TLS/RTP/SAVPF 126 |[RFC4566] | 1554 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1555 |c=IN IP4 203.0.113.77 |[RFC4566] | 1556 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1557 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1558 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1559 |a=mid:dtmf |[RFC5888] | 1560 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1561 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 1562 | |MediaStreamTrack ID (tb) | 1563 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1564 |a=recvonly |[RFC3264] - Alice can receive DTMF | 1565 | |events | 1566 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1567 |a=rtpmap:126 telephone-event/8000 |[RFC4733] | 1568 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1569 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1570 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1572 Table 12: 5.2.5 SDP Answer 1574 5.2.6. One-way Audio/Video Session - Document Camera 1576 In this scenario Alice and Bob engage in a One-way audio and video 1577 session with Bob receiving Alice's audio and her presentation slides 1578 as video stream. 1580 One-way Audio & Video Session - Document Camera 1582 Alice Bob 1583 | | 1584 | | 1585 | | 1586 | Alice offers send-only audio and video streams. | 1587 | The video stream corresponds to her presentation | 1588 | | 1589 | offer(Audio:Opus, Video: VP8) | 1590 |----------------------------------------------------->| 1591 | | 1592 | | 1593 | (Audio:Opus, Video: VP8) | 1594 |<-----------------------------------------------------| 1595 | | 1596 | | 1597 | One-way Opus Audio, VP8 Video | 1598 |......................................................| 1599 | Bob can hear Alice and see her presentation slides.| 1600 | | 1601 | | 1603 +===============================================================================================+========================================+ 1604 |Offer SDP Contents |RFC#/Notes | 1605 +===============================================================================================+========================================+ 1606 |v=0 |[RFC4566] | 1607 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1608 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 1609 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1610 |s=- |[RFC4566] | 1611 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1612 |t=0 0 |[RFC4566] | 1613 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1614 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1615 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1616 |a=group:LS audio video |[RFC5888] | 1617 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1618 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 1619 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1620 |a=ice-options:ice2 |[RFC8445] | 1621 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1622 |****** Audio m=line ********* |***************************** | 1623 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1624 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1625 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1626 |c=IN IP4 203.0.113.141 |[RFC4566] | 1627 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1628 |a=mid:audio |[RFC5888] | 1629 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1630 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1631 | |MediaStreamTrack ID (ta) | 1632 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1633 |a=sendonly |[RFC3264] - Send-only audio stream | 1634 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1635 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 1636 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1637 |a=maxptime:120 |[RFC4566] | 1638 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1639 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 1640 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1641 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 1642 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1643 |a=fingerprint:sha-256 |[RFC8122] | 1644 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 1645 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1646 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 1647 | |or server | 1648 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1649 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 1650 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1651 |a=rtcp-mux |[RFC5761] | 1652 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1653 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 1654 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1655 |a=rtcp-rsize |[RFC5506] | 1656 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1657 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1658 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1659 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1660 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1661 |a=candidate:0 1 UDP 2122194687 203.0.113.141 54609 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 1662 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1663 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1664 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1665 |****** Video m=line ********* |***************************** | 1666 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1667 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 1668 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1669 |c=IN IP4 203.0.113.141 |[RFC4566] | 1670 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1671 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1672 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1673 |a=mid:video |[RFC5888] | 1674 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1675 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 1676 | |MediaStreamTrack ID (tb) | 1677 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1678 |a=sendonly |[RFC3264] - Send-only video stream | 1679 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1680 |a=rtpmap:120 VP8/90000 |[RFC7741] | 1681 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1682 |a=content:slides |[RFC4796] - Alice's presentation video | 1683 | |stream | 1684 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1685 |a=rtcp-fb:120 nack |[RFC4585] | 1686 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1687 |a=rtcp-fb:120 nack pli |[RFC4585] | 1688 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1689 |a=rtcp-fb:120 ccm fir |[RFC5104] | 1690 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1691 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1692 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1694 Table 13: 5.2.6 SDP Offer 1696 +===============================================================================================+========================================+ 1697 |Answer SDP Contents |RFC#/Notes | 1698 +===============================================================================================+========================================+ 1699 |v=0 |[RFC4566] | 1700 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1701 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] | 1702 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1703 |s=- |[RFC4566] | 1704 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1705 |t=0 0 |[RFC4566] | 1706 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1707 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1708 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1709 |a=group:LS audio video |[RFC5888] | 1710 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1711 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 1712 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1713 |a=ice-options:ice2 |[RFC8445] | 1714 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1715 |****** Audio m=line ********* |***************************** | 1716 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1717 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1718 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1719 |c=IN IP4 203.0.113.77 |[RFC4566] | 1720 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1721 |a=mid:audio |[RFC5888] | 1722 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1723 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1724 | |MediaStreamTrack ID (ta) | 1725 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1726 |a=recvonly |[RFC3264] - Receive-only audio stream | 1727 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1728 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 1729 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1730 |a=maxptime:120 |[RFC4566] | 1731 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1732 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 1733 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1734 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 1735 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1736 |a=fingerprint:sha-256 |[RFC8122] | 1737 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 1738 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1739 |a=setup:active |[RFC5763] - Bob is the DTLS client | 1740 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1741 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 1742 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1743 |a=rtcp-mux |[RFC5761] | 1744 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1745 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 1746 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1747 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1748 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1749 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1750 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1751 |a=candidate:0 1 UDP 2113667327 203.0.113.77 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 1752 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1753 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 1754 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1755 |****** Video m=line ********* |***************************** | 1756 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1757 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 1758 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1759 |c=IN IP4 203.0.113.77 |[RFC4566] | 1760 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1761 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1762 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1763 |a=mid:video |[RFC5888] | 1764 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1765 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 1766 | |MediaStreamTrack ID (tb) | 1767 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1768 |a=recvonly |[RFC3264] | 1769 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1770 |a=rtpmap:120 VP8/90000 |[RFC7741] | 1771 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1772 |a=content:slides |[RFC4796] - presentation stream | 1773 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1774 |a=rtcp-fb:120 nack |[RFC4585] | 1775 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1776 |a=rtcp-fb:120 nack pli |[RFC4585] | 1777 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1778 |a=rtcp-fb:120 ccm fir |[RFC5104] | 1779 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1780 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1781 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1783 Table 14: 5.2.6 SDP Answer 1785 5.2.7. Audio, Video Session with BUNDLE Support Unknown 1787 In this example, since Alice is unsure of the Bob's support of the 1788 BUNDLE framework, the following steps are performed in order to 1789 negotiate and set up a BUNDLE Address for the session. 1791 * An SDP offer, in which Alice assigns unique addresses to each "m=" 1792 line in the BUNDLE group, and requests the answerer to select the 1793 offerer's BUNDLE address. 1795 * An SDP answer, in which Bob indicates support for BUNDLE, selects 1796 the offerer's BUNDLE address, selects its own BUNDLE address and 1797 associates it with each BUNDLED m=line within the BUNDLE group. 1799 Once the offer/answer exchange completes, both Alice and Bob each end 1800 up using a single RTP session for both of the media streams. 1802 Two-way Secure Audio and Video with BUNDLE support unknown 1804 Alice Bob 1805 | | 1806 | | 1807 | Alice offers BUNDLE support with unique addresses | 1808 | for the audio and video m-line | 1809 | | 1810 | | 1811 | offer(Audio:Opus Video:VP8) | 1812 |----------------------------------------------------->| 1813 | |Bob 1814 | |supports 1815 | |BUNDLE, 1816 | |Uses 1817 | |identical 1818 | |address 1819 | answer(Audio:Opus Video:VP8) | 1820 |<-----------------------------------------------------| 1821 | | 1822 | Two-way Call with Audio and Video Multiplexed | 1823 |......................................................| 1824 | | 1826 +===============================================================================================+========================================+ 1827 |Offer SDP Contents |RFC#/Notes | 1828 +===============================================================================================+========================================+ 1829 |v=0 |[RFC4566] | 1830 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1831 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] | 1832 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1833 |s=- |[RFC4566] | 1834 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1835 |t=0 0 |[RFC4566] | 1836 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1837 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1838 | |Alice supports grouping of m=lines under| 1839 | |BUNDLE semantics | 1840 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1841 |a=group:LS audio video |[RFC5888] | 1842 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1843 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 1844 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1845 |a=ice-options:ice2 |[RFC8445] | 1846 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1847 |****** Audio m=line ********* |***************************** | 1848 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1849 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1850 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1851 |c=IN IP4 203.0.113.141 |[RFC4566] | 1852 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1853 |a=mid:audio |[RFC5888] Audio m=line part of BUNDLE | 1854 | |group with a unique port number | 1855 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1856 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1857 | |MediaStreamTrack ID (ta) | 1858 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1859 |a=sendrecv |[RFC3264] | 1860 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1861 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 1862 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1863 |a=maxptime:120 |[RFC4566] | 1864 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1865 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 1866 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1867 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 1868 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1869 |a=fingerprint:sha-256 |[RFC8122] | 1870 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 1871 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1872 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 1873 | |or server | 1874 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1875 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 1876 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1877 |a=rtcp-mux |[RFC5761] | 1878 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1879 |a=rtcp:54610 IN IP4 203.0.113.141 |[RFC3605] - RTCP port different from RTP| 1880 | |Port | 1881 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1882 |a=rtcp-rsize |[RFC5506] | 1883 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1884 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 1885 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1886 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1887 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1888 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP host| 1889 | |candidate | 1890 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1891 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] - RTP | 1892 | |Server Reflexive candidate | 1893 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1894 |a=candidate:0 2 UDP 2122194687 192.0.2.4 61666 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP | 1895 | |host candidate | 1896 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1897 |a=candidate:1 2 UDP 1685987071 203.0.113.141 54610 typ srflx raddr 192.0.2.4 rport 61666 |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP | 1898 | |Server Reflexive candidate | 1899 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1900 |****** Video m=line ********* |***************************** | 1901 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1902 |m=video 62537 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 1903 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1904 |c=IN IP4 203.0.113.141 |[RFC4566] | 1905 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1906 |a=mid:video |[RFC5888] Video m=line part of the | 1907 | |Bundle group with a unique port number | 1908 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1909 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 1910 | |MediaStreamTrack ID (tb) | 1911 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1912 |a=sendrecv |[RFC3264] | 1913 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1914 |a=rtpmap:120 VP8/90000 |[RFC7741] | 1915 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1916 |a=ice-ufrag:6550074c |[I-D.ietf-mmusic-ice-sip-sdp] | 1917 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1918 |a=ice-pwd:74af08a068a28a397a4c3f31747d1ee34 |[I-D.ietf-mmusic-ice-sip-sdp] | 1919 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1920 |a=fingerprint:sha-256 |[RFC8122] | 1921 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 1922 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1923 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 1924 | |or server | 1925 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1926 |a=tls-id:UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ |[I-D.ietf-mmusic-dtls-sdp] | 1927 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1928 |a=rtcp-mux |[RFC5761] | 1929 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1930 |a=rtcp:62538 IN IP4 203.0.113.141 |[RFC3605] | 1931 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1932 |a=rtcp-rsize |[RFC5506] | 1933 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1934 |a=rtcp-fb:120 nack |[RFC4585] | 1935 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1936 |a=rtcp-fb:120 nack pli |[RFC4585] | 1937 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1938 |a=rtcp-fb:120 ccm fir |[RFC5104] | 1939 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1940 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1941 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1942 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61886 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP Host| 1943 | |candidate | 1944 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1945 |a=candidate:1 1 UDP 1685987071 203.0.113.141 62537 typ srflx raddr 192.0.2.4 rport 61886 |[I-D.ietf-mmusic-ice-sip-sdp] - RTP | 1946 | |Server Reflexive candidate | 1947 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1948 |a=candidate:0 2 UDP 2122194687 192.0.2.4 61888 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP | 1949 | |host candidate | 1950 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1951 |a=candidate:1 2 UDP 1685987071 203.0.113.141 62538 typ srflx raddr 192.0.2.4 rport 61888 |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP | 1952 | |Server Reflexive candidate | 1953 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1955 Table 15: 5.2.7 SDP Offer w/BUNDLE 1957 +===============================================================================================+========================================+ 1958 |Answer SDP Contents |RFC#/Notes | 1959 +===============================================================================================+========================================+ 1960 |v=0 |[RFC4566] | 1961 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1962 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] | 1963 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1964 |s=- |[RFC4566] | 1965 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1966 |t=0 0 |[RFC4566] | 1967 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1968 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 1969 | |Bob supports BUNDLE semantics. | 1970 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1971 |a=group:LS audio video |[RFC5888] | 1972 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1973 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 1974 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1975 |a=ice-options:ice2 |[RFC8445] | 1976 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1977 |****** Audio m=line ********* |***************************** | 1978 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1979 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 1980 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1981 |c=IN IP4 203.0.113.77 |[RFC4566] | 1982 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1983 |a=mid:audio |[RFC5888] Audio m=line part of the | 1984 | |BUNDLE group | 1985 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1986 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 1987 | |MediaStreamTrack ID (ta) | 1988 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1989 |a=sendrecv |[RFC3264] | 1990 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1991 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 1992 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1993 |a=maxptime:120 |[RFC4566] | 1994 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1995 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 1996 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1997 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 1998 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 1999 |a=fingerprint:sha-256 |[RFC8122] | 2000 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 2001 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2002 |a=setup:active |[RFC5763] - Bob is the DTLS client | 2003 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2004 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 2005 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2006 |a=rtcp-mux |[RFC5761] | 2007 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2008 |a=rtcp-rsize |[RFC5506] | 2009 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2010 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2011 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2012 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2013 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2014 |a=candidate:0 1 UDP 2122194687 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2015 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2016 |a=candidate:1 1 UDP 1685987071 203.0.113.77 51556 typ srflx raddr 198.51.100.7 rport 49203 |[I-D.ietf-mmusic-ice-sip-sdp] | 2017 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2018 |****** Video m=line ********* |***************************** | 2019 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2020 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 2021 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2022 |c=IN IP4 203.0.113.77 |[RFC4566] | 2023 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2024 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2025 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2026 |a=mid:video |[RFC5888] Video m=line part of the | 2027 | |BUNDLE group with the port from audio | 2028 | |line repeated | 2029 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2030 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 2031 | |MediaStreamTrack ID (tb) | 2032 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2033 |a=sendrecv |[RFC3264] | 2034 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2035 |a=rtpmap:120 VP8/90000 |[RFC7741] | 2036 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2037 |a=rtcp-fb:120 nack |[RFC4585] | 2038 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2039 |a=rtcp-fb:120 nack pli |[RFC4585] | 2040 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2041 |a=rtcp-fb:120 ccm fir |[RFC5104] | 2042 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2043 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2044 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2046 Table 16: 5.2.7 SDP Answer w/BUNDLE 2048 5.2.8. Audio, Video, and Data Session 2050 This example shows SDP for negotiating a session with Audio, Video 2051 and data streams between Alice and Bob with BUNDLE support known. 2053 Audio,Video, and Data with BUNDLE support known 2055 Alice Bob 2056 | | 2057 | | 2058 | Alice indicates BUNDLE support with an | 2059 | identical address across all the m=lines | 2060 | | 2061 | | 2062 | offer(Audio:Opus Video:VP8 Data) | 2063 |------------------------------------------->| 2064 | |Bob does 2065 | |the same 2066 | answer(Audio:Opus,Video:VP8 Data) | 2067 |<-------------------------------------------| 2068 | | 2069 | | 2070 | | 2071 | Two-way Audio,Video, Data multiplexed | 2072 |............................................| 2073 | | 2074 | | 2076 +===============================================================================================+========================================+ 2077 |Offer SDP Contents |RFC#/Notes | 2078 +===============================================================================================+========================================+ 2079 |v=0 |[RFC4566] | 2080 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2081 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] | 2082 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2083 |s=- |[RFC4566] | 2084 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2085 |t=0 0 |[RFC4566] | 2086 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2087 |a=group:BUNDLE audio video data |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2088 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2089 |a=group:LS audio video |[RFC5888] | 2090 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2091 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 2092 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2093 |a=ice-options:ice2 |[RFC8445] | 2094 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2095 |****** Audio m=line ********* |***************************** | 2096 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2097 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2098 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2099 |c=IN IP4 203.0.113.141 |[RFC4566] | 2100 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2101 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 2102 | |MediaStreamTrack ID (ta) | 2103 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2104 |a=mid:audio |[RFC5888] | 2105 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2106 |a=sendrecv |[RFC3264] | 2107 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2108 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2109 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2110 |a=maxptime:120 |[RFC4566] | 2111 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2112 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 2113 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2114 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 2115 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2116 |a=fingerprint:sha-256 |[RFC8122] | 2117 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 2118 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2119 |a=setup:actpass |[RFC5763] | 2120 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2121 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 2122 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2123 |a=rtcp-mux |[RFC5761] | 2124 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2125 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 2126 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2127 |a=rtcp-rsize |[RFC5506] | 2128 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2129 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2130 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2131 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2132 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2133 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2134 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2135 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 2136 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2137 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2138 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2139 |****** Video m=line ********* |***************************** | 2140 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2141 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 2142 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2143 |c=IN IP4 203.0.113.141 |[RFC4566] | 2144 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2145 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2146 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2147 |a=mid:video |[RFC5888] | 2148 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2149 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 2150 | |MediaStreamTrack ID (tb) | 2151 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2152 |a=sendrecv |[RFC3264] | 2153 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2154 |a=rtpmap:120 VP8/90000 |[RFC7741] | 2155 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2156 |a=rtcp-fb:120 nack |[RFC4585] | 2157 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2158 |a=rtcp-fb:120 nack pli |[RFC4585] | 2159 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2160 |a=rtcp-fb:120 ccm fir |[RFC5104] | 2161 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2162 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2163 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2164 |****** Application m=line ********* |***************************** | 2165 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2166 |m=application 0 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-rtcweb-data-channel] | 2167 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2168 |c=IN IP4 203.0.113.141 |[RFC4566] | 2169 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2170 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2171 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2172 |a=mid:data |[RFC5888] | 2173 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2174 |a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] | 2175 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2176 |a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] | 2177 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2178 |a=sendrecv |[RFC3264] | 2179 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2181 Table 17: 5.2.8 SDP Offer 2183 +===============================================================================================+========================================+ 2184 |Answer SDP Contents |RFC#/Notes | 2185 +===============================================================================================+========================================+ 2186 |v=0 |[RFC4566] | 2187 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2188 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 2189 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2190 |s=- |[RFC4566] | 2191 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2192 |t=0 0 |[RFC4566] | 2193 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2194 |a=group:BUNDLE audio video data |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2195 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2196 |a=group:LS audio video |[RFC5888] | 2197 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2198 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 2199 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2200 |a=ice-options:ice2 |[RFC8445] | 2201 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2202 |****** Audio m=line ********* |***************************** | 2203 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2204 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2205 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2206 |c=IN IP4 203.0.113.77 |[RFC4566] | 2207 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2208 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 2209 | |MediaStreamTrack ID (ta) | 2210 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2211 |a=mid:audio |[RFC5888] | 2212 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2213 |a=sendrecv |[RFC3264] | 2214 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2215 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2216 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2217 |a=maxptime:120 |[RFC4566] | 2218 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2219 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 2220 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2221 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 2222 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2223 |a=fingerprint:sha-256 |[RFC8122] | 2224 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 2225 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2226 |a=setup:active |[RFC5763] | 2227 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2228 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 2229 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2230 |a=rtcp-mux |[RFC5761] | 2231 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2232 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 2233 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2234 |a=rtcp-rsize |[RFC5506] | 2235 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2236 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2237 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2238 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2239 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2240 |a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2241 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2242 |a=candidate:1 1 UDP 1685987071 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 2243 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2244 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2245 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2246 |****** Video m=line ********* |***************************** | 2247 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2248 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 2249 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2250 |c=IN IP4 203.0.113.77 |[RFC4566] | 2251 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2252 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2253 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2254 |a=mid:video |[RFC5888] | 2255 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2256 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 2257 | |MediaStreamTrack ID (tb) | 2258 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2259 |a=sendrecv |[RFC3264] | 2260 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2261 |a=rtpmap:120 VP8/90000 |[RFC7741] | 2262 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2263 |a=rtcp-fb:120 nack |[RFC4585] | 2264 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2265 |a=rtcp-fb:120 nack pli |[RFC4585] | 2266 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2267 |a=rtcp-fb:120 ccm fir |[RFC5104] | 2268 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2269 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2270 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2271 |****** Application m=line ********* |***************************** | 2272 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2273 |m=application 0 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-mmusic-sctp-sdp] | 2274 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2275 |c=IN IP4 203.0.113.77 |[RFC4566] | 2276 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2277 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2278 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2279 |a=mid:data |[RFC5888] | 2280 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2281 |a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] | 2282 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2283 |a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] | 2284 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2285 |a=sendrecv |[RFC3264] | 2286 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2288 Table 18: 5.2.8 SDP Answer 2290 5.2.9. Audioa andVideo Session with BUNDLE Unsupported 2292 This use case illustrates SDP offer/answer exchange where the far-end 2293 (Bob) either doesn't support media bundling or doesn't want to group 2294 m=lines over a single 5-tuple. 2296 This is indicated by dropping the "a=group:BUNDLE" line and BUNDLE 2297 RTP header extension in the answer SDP. 2299 On successful offer/answer exchange, Alice and Bob each end up using 2300 unique 5-tuple for audio and video media streams respectively. 2302 Two-way Secure Audio and Video with BUNDLE Unsupported 2304 Alice Bob 2305 | | 2306 | | 2307 | Alice offers BUNDLE support with unique address | 2308 | for the audio and video m-line | 2309 | | 2310 | | 2311 | offer(Audio:Opus Video:VP8) | 2312 |----------------------------------------------------->| 2313 | |Bob 2314 | |doesn't 2315 | |support 2316 | |BUNDLE 2317 | answer(Audio:Opus Video:VP8) | 2318 |<-----------------------------------------------------| 2319 | |Bob uses 2320 | |unique 2321 | |addresses 2322 | |across the 2323 | |m=lines 2324 | | 2325 | Two-way Call with Audio and Video on | 2326 | different 5-tuples | 2327 |......................................................| 2328 | | 2329 | | 2331 +===============================================================================================+========================================+ 2332 |Offer SDP Contents |RFC#/Notes | 2333 +===============================================================================================+========================================+ 2334 |v=0 |[RFC4566] | 2335 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2336 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] | 2337 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2338 |s=- |[RFC4566] | 2339 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2340 |t=0 0 |[RFC4566] | 2341 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2342 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2343 | |Alice supports grouping of m=lines under| 2344 | |BUNDLE semantics | 2345 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2346 |a=group:LS audio video |[RFC5888] | 2347 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2348 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 2349 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2350 |a=ice-options:ice2 |[RFC8445] | 2351 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2352 |****** Audio m=line ********* |***************************** | 2353 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2354 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2355 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2356 |c=IN IP4 203.0.113.141 |[RFC4566] | 2357 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2358 |a=mid:audio |[RFC5888] Audio m=line part of BUNDLE | 2359 | |group with a unique port number | 2360 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2361 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 2362 | |MediaStreamTrack ID (ta) | 2363 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2364 |a=sendrecv |[RFC3264] | 2365 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2366 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2367 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2368 |a=maxptime:120 |[RFC4566] | 2369 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2370 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 2371 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2372 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 2373 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2374 |a=fingerprint:sha-256 |[RFC8122] | 2375 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 2376 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2377 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 2378 | |or server | 2379 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2380 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 2381 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2382 |a=rtcp-mux |[RFC5761] | 2383 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2384 |a=rtcp:55232 IN IP4 203.0.113.141 |[RFC3605] - RTCP port different from RTP| 2385 | |port | 2386 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2387 |a=rtcp-rsize |[RFC5506] | 2388 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2389 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2390 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2391 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2392 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2393 |a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2394 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2395 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 2396 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2397 |a=candidate:0 2 UDP 2122194687 192.0.2.4 61666 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2398 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2399 |a=candidate:1 2 UDP 1685987071 203.0.113.141 55232 typ srflx raddr 192.0.2.4 rport 61666 |[I-D.ietf-mmusic-ice-sip-sdp] | 2400 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2401 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2402 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2403 |****** Video m=line ********* |***************************** | 2404 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2405 |m=video 54332 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 2406 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2407 |c=IN IP4 203.0.113.141 |[RFC4566] | 2408 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2409 |a=mid:video |[RFC5888] Video m=line part of the | 2410 | |BUNDLE group with a unique port number | 2411 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2412 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 2413 | |MediaStreamTrack ID (tb) | 2414 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2415 |a=sendrecv |[RFC3264] | 2416 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2417 |a=rtpmap:120 VP8/90000 |[RFC7741] | 2418 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2419 |a=ice-ufrag:7872093 |[I-D.ietf-mmusic-ice-sip-sdp] | 2420 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2421 |a=ice-pwd:ee3474af08a068a28a397a4c3f31747d1 |[I-D.ietf-mmusic-ice-sip-sdp] | 2422 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2423 |a=fingerprint:sha-256 |[RFC8122] | 2424 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 2425 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2426 |a=setup:actpass |[RFC5763] - Alice can act as DTLS client| 2427 | |or server | 2428 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2429 |a=tls-id:UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ |[I-D.ietf-mmusic-dtls-sdp] | 2430 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2431 |a=rtcp-mux |[RFC5761] | 2432 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2433 |a=rtcp:60052 IN IP4 203.0.113.141 |[RFC3605] | 2434 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2435 |a=rtcp-rsize |[RFC5506] | 2436 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2437 |a=rtcp-fb:120 nack |[RFC4585] | 2438 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2439 |a=rtcp-fb:120 nack pli |[RFC4585] | 2440 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2441 |a=rtcp-fb:120 ccm fir |[RFC5104] | 2442 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2443 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2444 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2445 |a=candidate:0 1 UDP 2122194687 192.0.2.4 71775 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2446 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2447 |a=candidate:1 1 UDP 1685987071 203.0.113.141 54332 typ srflx raddr 192.0.2.4 rport 71775 |[I-D.ietf-mmusic-ice-sip-sdp] | 2448 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2449 |a=candidate:0 2 UDP 2122194687 192.0.2.4 71776 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2450 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2451 |a=candidate:1 2 UDP 1685987071 203.0.113.141 60052 typ srflx raddr 192.0.2.4 rport 71776 |[I-D.ietf-mmusic-ice-sip-sdp] | 2452 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2453 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2454 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2456 Table 19: 5.2.9 SDP Offer w/BUNDLE 2458 +===============================================================================================+=============================+ 2459 |Answer SDP Contents |RFC#/Notes | 2460 +===============================================================================================+=============================+ 2461 |v=0 |[RFC4566] | 2462 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2463 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] | 2464 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2465 |s=- |[RFC4566] | 2466 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2467 |t=0 0 |[RFC4566] | 2468 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2469 |a=group:LS audio video |[RFC5888] | 2470 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2471 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice]| 2472 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2473 |a=ice-options:ice2 |[RFC8445] | 2474 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2475 |****** Audio m=line ********* |*****************************| 2476 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2477 |m=audio 53214 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2478 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2479 |c=IN IP4 203.0.113.77 |[RFC4566] | 2480 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2481 |a=mid:audio |[RFC5888] | 2482 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2483 |a=msid:ma ta |Identifies MediaStream ID | 2484 | |(ma) and MediaStreamTrack ID | 2485 | |(ta) | 2486 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2487 |a=sendrecv |[RFC3264] | 2488 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2489 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2490 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2491 |a=maxptime:120 |[RFC4566] | 2492 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2493 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp]| 2494 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2495 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]| 2496 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2497 |a=fingerprint:sha-256 |[RFC8122] | 2498 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 2499 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2500 |a=setup:active |[RFC5763] - Bob is the DTLS | 2501 | |client | 2502 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2503 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 2504 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2505 |a=rtcp-mux |[RFC5761] | 2506 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2507 |a=rtcp-rsize |[RFC5506] | 2508 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2509 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2510 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2511 |a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 2512 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2513 |a=candidate:1 1 UDP 1685987071 203.0.113.77 53214 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp]| 2514 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2515 |a=candidate:0 2 UDP 2122194687 198.51.100.7 51558 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 2516 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2517 |a=candidate:1 2 UDP 1685987071 203.0.113.77 60065 typ srflx raddr 198.51.100.7 rport 51558 |[I-D.ietf-mmusic-ice-sip-sdp]| 2518 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2519 |****** Video m=line ********* |*****************************| 2520 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2521 |m=video 58679 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 2522 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2523 |c=IN IP4 203.0.113.77 |[RFC4566] | 2524 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2525 |a=mid:video |[RFC5888] | 2526 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2527 |a=msid:ma tb |Identifies MediaStream ID | 2528 | |(ma) and MediaStreamTrack ID | 2529 | |(tb) | 2530 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2531 |a=sendrecv |[RFC3264] | 2532 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2533 |a=rtpmap:120 VP8/90000 |[RFC7741] | 2534 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2535 |a=ice-ufrag:85bC300 |[I-D.ietf-mmusic-ice-sip-sdp]| 2536 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2537 |a=ice-pwd:325921d5d47efbabd9a2de4e99bd291c |[I-D.ietf-mmusic-ice-sip-sdp]| 2538 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2539 |a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 |[RFC8122] | 2540 |:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08 | | 2541 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2542 |a=setup:active |[RFC5763] - Bob is the DTLS | 2543 | |client | 2544 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2545 |a=tls-id:9AIFS8AQ009IXF5D6QQUJ7P8BXPEZJ8G |[I-D.ietf-mmusic-dtls-sdp] | 2546 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2547 |a=rtcp-mux |[RFC5761] | 2548 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2549 |a=rtcp-rsize |[RFC5506] | 2550 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2551 |a=rtcp-fb:120 nack |[RFC4585] | 2552 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2553 |a=rtcp-fb:120 nack pli |[RFC4585] | 2554 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2555 |a=rtcp-fb:120 ccm fir |[RFC5104] | 2556 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2557 |a=candidate:0 1 UDP 2122194687 198.51.100.7 61556 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 2558 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2559 |a=candidate:1 1 UDP 1685987071 203.0.113.77 58679 typ srflx raddr 198.51.100.7 rport 61556 |[I-D.ietf-mmusic-ice-sip-sdp]| 2560 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2561 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice]| 2562 +-----------------------------------------------------------------------------------------------+-----------------------------+ 2564 Table 20: 5.2.9 SDP Answer without BUNDLE 2566 5.2.10. Audio, Video BUNDLED, but Data Not BUNDLED 2568 This example showcases SDP for negotiating a session with audio, 2569 video, and the data streams between Alice and Bob with data stream 2570 not being part of the BUNDLE group. This is shown by assigning a 2571 unique port for the data media section and not adding the "mid" 2572 identification tag to the BUNDLE group. 2574 Audio, Video, with Data (Not in BUNDLE) 2576 Alice Bob 2577 | | 2578 | | 2579 |Alice wants to multiplex audio, video but not data | 2580 | | 2581 | | 2582 | offer(Audio:Opus Video:VP8, Data(not in BUNDLE)) | 2583 |----------------------------------------------------->| 2584 | | 2585 | | 2586 | answer(Audio:Opus Video:VP8, Data) | 2587 |<-----------------------------------------------------| 2588 | | 2589 | | 2590 |Two-way Call with Audio, Video Multiplexed except data| 2591 |......................................................| 2592 | | 2594 +===============================================================================================+========================================+ 2595 |Offer SDP Contents |RFC#/Notes | 2596 +===============================================================================================+========================================+ 2597 |v=0 |[RFC4566] | 2598 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2599 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] | 2600 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2601 |s=- |[RFC4566] | 2602 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2603 |t=0 0 |[RFC4566] | 2604 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2605 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2606 | |Alice wants to BUNDLE only audio and | 2607 | |video media. | 2608 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2609 |a=group:LS audio video |[RFC5888] | 2610 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2611 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 2612 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2613 |a=ice-options:ice2 |[RFC8445] | 2614 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2615 |****** Audio m=line ********* |***************************** | 2616 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2617 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2618 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2619 |c=IN IP4 203.0.113.141 |[RFC4566] | 2620 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2621 |a=mid:audio |[RFC5888] | 2622 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2623 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 2624 | |MediaStreamTrack ID (ta) | 2625 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2626 |a=sendrecv |[RFC3264] | 2627 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2628 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2629 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2630 |a=maxptime:120 |[RFC4566] | 2631 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2632 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 2633 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2634 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 2635 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2636 |a=fingerprint:sha-256 |[RFC8122] | 2637 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 2638 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2639 |a=setup:actpass |[RFC5763] | 2640 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2641 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 2642 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2643 |a=rtcp-mux |[RFC5761] | 2644 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2645 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 2646 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2647 |a=rtcp-rsize |[RFC5506] | 2648 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2649 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2650 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2651 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2652 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2653 |a=candidate:0 1 UDP 2113667327 192.0.2.4 54609 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2654 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2655 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2656 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2657 |****** Video m=line ********* |***************************** | 2658 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2659 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 2660 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2661 |c=IN IP4 203.0.113.141 |[RFC4566] | 2662 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2663 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2664 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2665 |a=mid:video |[RFC5888] | 2666 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2667 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 2668 | |MediaStreamTrack ID (tb) | 2669 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2670 |a=sendrecv |[RFC3264] | 2671 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2672 |a=rtpmap:120 VP8/90000 |[RFC7741] | 2673 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2674 |a=rtcp-fb:120 nack |[RFC4585] | 2675 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2676 |a=rtcp-fb:120 nack pli |[RFC4585] | 2677 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2678 |a=rtcp-fb:120 ccm fir |[RFC5104] | 2679 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2680 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2681 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2682 |****** Application m=line ********* |***************************** | 2683 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2684 |m=application 10000 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-rtcweb-data-channel] | 2685 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2686 |c=IN IP4 203.0.113.141 |[RFC4566] | 2687 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2688 |a=mid:data |[RFC5888] | 2689 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2690 |a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] | 2691 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2692 |a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] | 2693 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2694 |a=sendrecv |[RFC3264] | 2695 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2696 |a=setup:actpass |[RFC5763] | 2697 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2698 |a=tls-id:UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ |[I-D.ietf-mmusic-dtls-sdp] | 2699 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2700 |a=ice-ufrag:89819013 |[I-D.ietf-mmusic-ice-sip-sdp] | 2701 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2702 |a=ice-pwd:1747d1ee3474af08a068a28a397a4c3f3 |[I-D.ietf-mmusic-ice-sip-sdp] | 2703 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2704 |a=fingerprint:sha-256 |[RFC8122] | 2705 |29:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 2706 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2707 |a=candidate:0 1 UDP 2113667327 192.0.2.4 10000 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2708 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2709 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2710 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2712 Table 21: 5.2.10 SDP Offer 2714 +===============================================================================================+========================================+ 2715 |Answer SDP Contents |RFC#/Notes | 2716 +===============================================================================================+========================================+ 2717 |v=0 |[RFC4566] | 2718 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2719 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 2720 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2721 |s=- |[RFC4566] | 2722 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2723 |t=0 0 |[RFC4566] | 2724 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2725 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2726 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2727 |a=group:LS audio video |[RFC5888] | 2728 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2729 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 2730 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2731 |a=ice-options:ice2 |[RFC8445] | 2732 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2733 |****** Audio m=line ********* |***************************** | 2734 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2735 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2736 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2737 |c=IN IP4 203.0.113.77 |[RFC4566] | 2738 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2739 |a=mid:audio |[RFC5888] | 2740 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2741 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 2742 | |MediaStreamTrack ID (ta) | 2743 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2744 |a=sendrecv |[RFC3264] | 2745 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2746 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2747 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2748 |a=maxptime:120 |[RFC4566] | 2749 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2750 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 2751 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2752 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 2753 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2754 |a=fingerprint:sha-256 |[RFC8122] | 2755 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 2756 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2757 |a=setup:active |[RFC5763] | 2758 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2759 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 2760 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2761 |a=rtcp-mux |[RFC5761] | 2762 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2763 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 2764 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2765 |a=rtcp-rsize |[RFC5506] | 2766 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2767 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2768 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2769 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2770 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2771 |a=candidate:0 1 UDP 2113667327 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2772 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2773 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2774 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2775 |****** Video m=line ********* |***************************** | 2776 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2777 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 2778 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2779 |c=IN IP4 203.0.113.77 |[RFC4566] | 2780 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2781 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2782 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2783 |a=mid:video |[RFC5888] | 2784 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2785 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 2786 | |MediaStreamTrack ID (tb) | 2787 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2788 |a=sendrecv |[RFC3264] | 2789 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2790 |a=rtpmap:120 VP8/90000 |[RFC7741] | 2791 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2792 |a=rtcp-fb:120 nack |[RFC4585] | 2793 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2794 |a=rtcp-fb:120 nack pli |[RFC4585] | 2795 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2796 |a=rtcp-fb:120 ccm fir |[RFC5104] | 2797 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2798 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2799 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2800 |****** Application m=line ********* |***************************** | 2801 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2802 |m=application 20000 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-mmusic-sctp-sdp] | 2803 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2804 |c=IN IP4 203.0.113.77 |[RFC4566] | 2805 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2806 |a=mid:data |[RFC5888] | 2807 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2808 |a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] | 2809 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2810 |a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] | 2811 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2812 |a=setup:active |[RFC5763] | 2813 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2814 |a=tls-id:9AIFS8AQ009IXF5D6QQUJ7P8BXPEZJ8G |[I-D.ietf-mmusic-dtls-sdp] | 2815 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2816 |a=sendrecv |[RFC3264] | 2817 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2818 |a=ice-ufrag:991Ca2a5e |[I-D.ietf-mmusic-ice-sip-sdp] | 2819 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2820 |a=ice-pwd:921d5d47efbabd9a2de4e99bd291c325 |[I-D.ietf-mmusic-ice-sip-sdp] | 2821 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2822 |a=fingerprint:sha-256 |[RFC8122] | 2823 |7B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 2824 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2825 |a=candidate:0 1 UDP 2113667327 198.51.100.7 20000 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2826 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2827 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2828 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2830 Table 22: 5.2.10 SDP Answer 2832 5.2.11. Audio Only, Add Video to BUNDLE 2834 This example involves 2 offer/answer exchanges. The first one is 2835 used to negotiate and set up BUNDLE support for audio-only session 2836 followed by an updated offer/answer exchange to add video stream to 2837 the ongoing session. Also the newly added video stream is BUNDLED 2838 with the audio stream. 2840 Audio, Add Video and BUNDLE 2842 Alice Bob 2843 | | 2844 | | 2845 | Alice indicates support for BUNDLE | 2846 | | 2847 | offer(Audio:Opus) | 2848 |----------------------------------------------------->| 2849 | |Bob 2850 | |supports 2851 | |BUNDLE 2852 | answer(Audio:Opus) | 2853 |<-----------------------------------------------------| 2854 | |Alice adds 2855 | |video stream 2856 | Updated offer(Audio:Opus, Video:VP8) |to BUNDLE 2857 |----------------------------------------------------->| 2858 | | 2859 | |Bob accepts 2860 | Updated answer(Audio:Opus, Video:VP8) | 2861 |<-----------------------------------------------------| 2862 | | 2863 | Two-way Call with Audio and Video Multiplexed | 2864 |......................................................| 2865 | | 2866 | | 2868 +===============================================================================================+========================================+ 2869 |Offer SDP Contents |RFC#/Notes | 2870 +===============================================================================================+========================================+ 2871 |v=0 |[RFC4566] | 2872 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2873 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] | 2874 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2875 |s=- |[RFC4566] | 2876 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2877 |t=0 0 |[RFC4566] | 2878 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2879 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2880 | |Alice adds audio m=line to the BUNDLE | 2881 | |group | 2882 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2883 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 2884 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2885 |a=ice-options:ice2 |[RFC8445] | 2886 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2887 |****** Audio m=line ********* |***************************** | 2888 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2889 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2890 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2891 |c=IN IP4 203.0.113.141 |[RFC4566] | 2892 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2893 |a=mid:audio |[RFC5888] | 2894 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2895 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 2896 | |MediaStreamTrack ID (ta) | 2897 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2898 |a=sendrecv |[RFC3264] | 2899 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2900 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2901 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2902 |a=maxptime:120 |[RFC4566] | 2903 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2904 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 2905 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2906 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 2907 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2908 |a=fingerprint:sha-256 |[RFC8122] | 2909 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 2910 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2911 |a=setup:actpass |[RFC5763] | 2912 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2913 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 2914 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2915 |a=rtcp-mux |[RFC5761] | 2916 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2917 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 2918 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2919 |a=rtcp-rsize |[RFC5506] | 2920 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2921 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2922 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2923 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2924 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2925 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2926 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2927 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 2928 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2929 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2930 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2932 Table 23: 5.2.11 SDP Offer 2934 +===============================================================================================+========================================+ 2935 |Answer SDP Contents |RFC#/Notes | 2936 +===============================================================================================+========================================+ 2937 |v=0 |[RFC4566] | 2938 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2939 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 2940 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2941 |s=- |[RFC4566] | 2942 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2943 |t=0 0 |[RFC4566] | 2944 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2945 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2946 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2947 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 2948 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2949 |a=ice-options:ice2 |[RFC8445] | 2950 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2951 |****** Audio m=line ********* |***************************** | 2952 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2953 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 2954 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2955 |c=IN IP4 203.0.113.77 |[RFC4566] | 2956 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2957 |a=mid:audio |[RFC5888] | 2958 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2959 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 2960 | |MediaStreamTrack ID (ta) | 2961 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2962 |a=sendrecv |[RFC3264] | 2963 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2964 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 2965 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2966 |a=maxptime:120 |[RFC4566] | 2967 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2968 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 2969 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2970 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 2971 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2972 |a=fingerprint:sha-256 |[RFC8122] | 2973 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 2974 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2975 |a=setup:active |[RFC5763] | 2976 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2977 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 2978 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2979 |a=rtcp-mux |[RFC5761] | 2980 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2981 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 2982 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2983 |a=rtcp-rsize |[RFC5506] | 2984 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2985 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 2986 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2987 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 2988 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2989 |a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 2990 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2991 |a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 2992 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2993 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 2994 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 2996 Table 24: 5.2.10 SDP Answer 2998 +===============================================================================================+========================================+ 2999 |Updated Offer SDP Contents |RFC#/Notes | 3000 +===============================================================================================+========================================+ 3001 |v=0 |[RFC4566] | 3002 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3003 |o=- 20518 1 IN IP4 0.0.0.0 |Version number incremented [RFC4566] | 3004 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3005 |s=- |[RFC4566] | 3006 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3007 |t=0 0 |[RFC4566] | 3008 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3009 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3010 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3011 |a=group:LS audio video |[RFC5888] | 3012 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3013 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3014 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3015 |a=ice-options:ice2 |[RFC8445] | 3016 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3017 |****** Audio m=line ********* |***************************** | 3018 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3019 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3020 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3021 |c=IN IP4 203.0.113.141 |[RFC4566] | 3022 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3023 |a=mid:audio |[RFC5888] | 3024 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3025 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3026 | |MediaStreamTrack ID (ta) | 3027 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3028 |a=sendrecv |[RFC3264] | 3029 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3030 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3031 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3032 |a=maxptime:120 |[RFC4566] | 3033 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3034 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 3035 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3036 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 3037 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3038 |a=fingerprint:sha-256 |[RFC8122] | 3039 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 3040 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3041 |a=setup:actpass |[RFC5763] | 3042 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3043 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp]Alice wants to| 3044 | |use the same DTLS association | 3045 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3046 |a=rtcp-mux |[RFC5761] | 3047 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3048 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 3049 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3050 |a=rtcp-rsize |[RFC5506] | 3051 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3052 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3053 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3054 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3055 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3056 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3057 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3058 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 3059 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3060 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3061 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3062 |****** Video m=line ********* |***************************** | 3063 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3064 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 3065 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3066 |c=IN IP4 203.0.113.141 |[RFC4566] | 3067 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3068 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3069 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3070 |a=mid:video |[RFC5888] | 3071 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3072 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 3073 | |MediaStreamTrack ID (tb) | 3074 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3075 |a=sendrecv |[RFC3264] | 3076 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3077 |a=rtpmap:120 VP8/90000 |[RFC7741] | 3078 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3079 |a=rtcp-fb:120 nack |[RFC4585] | 3080 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3081 |a=rtcp-fb:120 nack pli |[RFC4585] | 3082 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3083 |a=rtcp-fb:120 ccm fir |[RFC5104] | 3084 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3085 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3086 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3088 Table 25: 5.2.11 SDP Updated Offer 3090 +===============================================================================================+========================================+ 3091 |Updated Answer SDP Contents |RFC#/Notes | 3092 +===============================================================================================+========================================+ 3093 |v=0 |[RFC4566] Version number incremented | 3094 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3095 |o=- 16833 1 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 3096 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3097 |s=- |[RFC4566] | 3098 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3099 |t=0 0 |[RFC4566] | 3100 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3101 |a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3102 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3103 |a=group:LS audio video |[RFC5888] | 3104 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3105 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3106 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3107 |a=ice-options:ice2 |[RFC8445] | 3108 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3109 |****** Audio m=line ********* |***************************** | 3110 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3111 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3112 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3113 |c=IN IP4 203.0.113.77 |[RFC4566] | 3114 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3115 |a=mid:audio |[RFC5888] | 3116 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3117 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3118 | |MediaStreamTrack ID (ta) | 3119 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3120 |a=sendrecv |[RFC3264] | 3121 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3122 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3123 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3124 |a=maxptime:120 |[RFC4566] | 3125 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3126 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 3127 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3128 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 3129 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3130 |a=fingerprint:sha-256 |[RFC8122] | 3131 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 3132 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3133 |a=setup:active |[RFC5763] | 3134 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3135 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] - Bob agrees | 3136 | |to use the same DTLS association | 3137 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3138 |a=rtcp-mux |[RFC5761] | 3139 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3140 |a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] | 3141 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3142 |a=rtcp-rsize |[RFC5506] | 3143 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3144 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3145 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3146 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3147 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3148 |a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3149 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3150 |a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 3151 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3152 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3153 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3154 |****** Video m=line ********* |***************************** | 3155 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3156 |m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] | 3157 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3158 |c=IN IP4 203.0.113.77 |[RFC4566] | 3159 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3160 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3161 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3162 |a=mid:video |[RFC5888] | 3163 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3164 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 3165 | |MediaStreamTrack ID (tb) | 3166 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3167 |a=sendrecv |[RFC3264] | 3168 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3169 |a=rtpmap:120 VP8/90000 |[RFC7741] | 3170 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3171 |a=rtcp-fb:120 nack |[RFC4585] | 3172 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3173 |a=rtcp-fb:120 nack pli |[RFC4585] | 3174 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3175 |a=rtcp-fb:120 ccm fir |[RFC5104] | 3176 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3177 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3178 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3180 Table 26: 5.2.11 SDP Updated Answer 3182 5.3. MultiResolution, RTX, FEC Examples 3184 This section provides examples related to multi-source, multi-stream 3185 negotiation such as layered coding and simulcast. Further included 3186 are a few examples that cover techniques to deal with providing 3187 robustness against transmission errors such as FEC and RTX. Also, 3188 mechanisms such as FEC and RTX could be envisioned in the above basic 3189 scenarios as well. 3191 5.3.1. Send-only Simulcast Session with 2 Cameras and 2 Encodings per 3192 Camera 3194 The SDP example below shows an offer/answer exchange with one audio 3195 and two video sources (say 2 video cameras). Each of the video 3196 sources can be sent at two different resolutions. 3198 One video source corresponds to VP8 encoding, while the other 3199 corresponds to H.264 encoding. 3201 The [I-D.ietf-mmusic-rid] framework is used to further constrain the 3202 media format encodings and map the payload types (PT) to the 'rid' 3203 identifiers. 3205 The [I-D.ietf-mmusic-sdp-simulcast] framework identifies the 3206 simulcast streams via their 'rid' identifiers. 3208 The bundle-only attribute is used for the video sources in the offer 3209 to ensure enabling video sources solely in the context of BUNDLE 3210 alone. 3212 The BUNDLE grouping framework enables multiplexing of all 5 Source 3213 RTP Streams (1 audio stream + 4 video streams) over a single RTP 3214 session. 3216 Also, the audio and one video source RTP stream form a lip sync group 3217 while the other video source RTP stream represents non-interactive 3218 media data. 3220 One-way Successful Simulcast w/BUNDLE 3222 Alice Bob 3223 | | 3224 | | 3225 | Alice offers 2 send-only video sources | 3226 | with 2 simulcast encodings per source | 3227 | and bundle-only for video | 3228 | | 3229 | | 3230 | offer(Audio:Opus,Video1:VP8,Video2:H.264) | 3231 |------------------------------------------------>| 3232 | | 3233 | | 3234 | answer(Audio:Opus Video1:VP8,Video2:H.264) | 3235 |<------------------------------------------------| 3236 | | 3237 |One-way 1 Opus, 2 H.264, and 2 VP8 video streams,| 3238 | all multiplexed | 3239 |.................................................| 3240 | | 3241 | | 3243 +===============================================================================================+========================================+ 3244 |Offer SDP Contents |RFC#/Notes | 3245 +===============================================================================================+========================================+ 3246 |v=0 |[RFC4566] | 3247 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3248 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 3249 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3250 |s=- |[RFC4566] | 3251 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3252 |t=0 0 |[RFC4566] | 3253 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3254 |a=group:BUNDLE m0 m1 m2 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3255 | |Alice supports grouping of m=lines under| 3256 | |BUNDLE semantics | 3257 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3258 |a=group:LS m0 m1 |[RFC5888] | 3259 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3260 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3261 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3262 |a=ice-options:ice2 |[RFC8445] | 3263 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3264 |****** Audio m=line ********* |***************************** | 3265 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3266 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3267 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3268 |c=IN IP4 203.0.113.141 |[RFC4566] | 3269 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3270 |a=mid:m0 |[RFC5888] | 3271 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3272 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3273 | |MediaStreamTrack ID (ta) | 3274 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3275 |a=sendonly |[RFC3264] | 3276 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3277 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3278 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3279 |a=maxptime:120 |[RFC4566] | 3280 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3281 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 3282 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3283 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 3284 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3285 |a=fingerprint:sha-256 |[RFC8122] | 3286 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 3287 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3288 |a=setup:actpass |[RFC5763] | 3289 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3290 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 3291 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3292 |a=rtcp-mux |[RFC5761] | 3293 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3294 |a=rtcp-rsize |[RFC5506] | 3295 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3296 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3297 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3298 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3299 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3300 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3301 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3302 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 3303 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3304 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3305 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3306 |****** Video-1 m=line ********* |***************************** | 3307 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3308 |m=video 0 UDP/TLS/RTP/SAVPF 98 100 |bundle-only video line with port number | 3309 | |set to zero | 3310 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3311 |c=IN IP4 203.0.113.141 |[RFC4566] | 3312 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3313 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3314 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3315 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 3316 | |group | 3317 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3318 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 3319 | |MediaStreamTrack ID (tb) | 3320 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3321 |a=sendonly |[RFC3264] - Send-only video stream | 3322 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3323 |a=rtpmap:98 VP8/90000 |[RFC7741] | 3324 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3325 |a=fmtp:98 max-fr=30 |[RFC4566] | 3326 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3327 |a=rtpmap:100 VP8/90000 |[RFC7741] | 3328 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3329 |a=fmtp:100 max-fr=15 |[RFC4566] | 3330 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3331 |a=rtcp-fb:* nack |[RFC4585] | 3332 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3333 |a=rtcp-fb:* nack pli |[RFC4585] | 3334 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3335 |a=rtcp-fb:* ccm fir |[RFC5104] | 3336 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3337 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3338 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3339 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 3340 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3341 |a=rid:1 send pt=98;max-width=1280;max-height=720 |[I-D.ietf-mmusic-rid] 1:1 rid mapping to| 3342 | |payload type and specify resolution | 3343 | |constraints | 3344 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3345 |a=rid:2 send pt=100;max-width=640;max-height=480 |[I-D.ietf-mmusic-rid] 1:1 rid mapping to| 3346 | |payload type and specify resolution | 3347 | |constraints | 3348 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3349 |a=simulcast:send 1;~2 |[I-D.ietf-mmusic-sdp-simulcast] Alice | 3350 | |can send 2 resolutions identified by the| 3351 | |'rid' identifiers Also, the second | 3352 | |stream is initially paused. | 3353 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3354 |****** Video-2 m=line ********* |***************************** | 3355 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3356 |m=video 0 UDP/TLS/RTP/SAVPF 101 102 |bundle-only video line with port number | 3357 | |set to zero | 3358 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3359 |c=IN IP4 203.0.113.141 |[RFC4566] | 3360 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3361 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3362 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3363 |a=mid:m2 |[RFC5888] Video m=line part of BUNDLE | 3364 | |group | 3365 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3366 |a=msid:ma tc |Identifies MediaStream ID (ma) and | 3367 | |MediaStreamTrack ID (tc) | 3368 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3369 |a=sendonly |[RFC3264] - Send only video stream | 3370 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3371 |a=rtpmap:101 H264/90000 |[RFC6184] | 3372 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3373 |a=rtpmap:102 H264/90000 |[RFC6184] | 3374 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3375 |a=fmtp:101 profile-level-id=42401f;packetization-mode=0 |[RFC6184]Camera-2,Encoding-1 | 3376 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3377 |a=fmtp:102 profile-level-id=42401f;packetization-mode=1 |[RFC6184]Camera-2,Encoding-2 | 3378 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3379 |a=rtcp-fb:* nack |[RFC4585] | 3380 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3381 |a=rtcp-fb:* nack pli |[RFC4585] | 3382 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3383 |a=rtcp-fb:* ccm fir |[RFC5104] | 3384 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3385 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3386 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3387 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 3388 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3389 |a=rid:3 send pt=101;max-width=1280;max-height=720;max-fr=30 |[I-D.ietf-mmusic-rid] 1:1 rid mapping to| 3390 | |payload type and specify resolution | 3391 | |constraints | 3392 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3393 |a=rid:4 send pt=102;max-width=640;max-height=360;max-fr=15 |[I-D.ietf-mmusic-rid] 1:1 rid mapping to| 3394 | |payload type and specify resolution | 3395 | |constraints | 3396 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3397 |a=simulcast:send 3;4 |[I-D.ietf-mmusic-sdp-simulcast] Alice | 3398 | |can send 2 resolutions identified by the| 3399 | |'rid' identifiers | 3400 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3402 Table 27: 5.3.1 SDP Offer 3404 +===============================================================================================+========================================+ 3405 |Answer SDP Contents |RFC#/Notes | 3406 +===============================================================================================+========================================+ 3407 |v=0 |[RFC4566] | 3408 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3409 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 3410 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3411 |s=- |[RFC4566] | 3412 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3413 |t=0 0 |[RFC4566] | 3414 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3415 |a=group:BUNDLE m0 m1 m2 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3416 | |Alice supports grouping of m=lines under| 3417 | |BUNDLE semantics | 3418 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3419 |a=group:LS m0 m1 |[RFC5888] | 3420 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3421 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3422 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3423 |a=ice-options:ice2 |[RFC8445] | 3424 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3425 |****** Audio m=line ********* |***************************** | 3426 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3427 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3428 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3429 |c=IN IP4 203.0.113.77 |[RFC4566] | 3430 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3431 |a=mid:m0 |[RFC5888] | 3432 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3433 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3434 | |MediaStreamTrack ID (ta) | 3435 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3436 |a=recvonly |[RFC3264] | 3437 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3438 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3439 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3440 |a=maxptime:120 |[RFC4566] | 3441 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3442 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 3443 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3444 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 3445 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3446 |a=fingerprint:sha-256 |[RFC8122] | 3447 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 3448 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3449 |a=setup:active |[RFC5763] | 3450 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3451 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 3452 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3453 |a=rtcp-mux |[RFC5761] | 3454 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3455 |a=rtcp-rsize |[RFC5506] | 3456 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3457 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3458 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3459 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3460 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3461 |a=candidate:0 1 UDP 2113667327 198.51.100.7 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3462 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3463 |a=candidate:1 1 UDP 694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 3464 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3465 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3466 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3467 |****** Video-1 m=line ********* |***************************** | 3468 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3469 |m=video 0 UDP/TLS/RTP/SAVPF 98 100 |BUNDLE accepted | 3470 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3471 |c=IN IP4 203.0.113.77 |[RFC4566] | 3472 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3473 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3474 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3475 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 3476 | |group | 3477 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3478 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 3479 | |MediaStreamTrack ID (tb) | 3480 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3481 |a=recvonly |[RFC3264] - receive only video stream | 3482 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3483 |a=rtpmap:98 VP8/90000 |[RFC7741] | 3484 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3485 |a=rtpmap:100 VP8/90000 |[RFC7741] | 3486 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3487 |a=fmtp:98 max-fr=30 |[RFC4566] | 3488 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3489 |a=fmtp:100 max-fr=15 |[RFC4566] | 3490 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3491 |a=rtcp-fb:* nack |[RFC4585] | 3492 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3493 |a=rtcp-fb:* nack pli |[RFC4585] | 3494 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3495 |a=rtcp-fb:* ccm fir |[RFC5104] | 3496 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3497 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3498 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3499 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 3500 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3501 |a=rid:1 recv pt=98;max-width=1280;max-height=720 |[I-D.ietf-mmusic-rid] Bob accepts the | 3502 | |offered payload format constraints | 3503 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3504 |a=rid:2 recv pt=100;max-width=640;max-height=480 |[I-D.ietf-mmusic-rid] Bob accepts the | 3505 | |offered payload format constraints | 3506 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3507 |a=simulcast:recv 1;2 |[I-D.ietf-mmusic-sdp-simulcast] Bob | 3508 | |accepts the offered simulcast streams | 3509 | |and removes the paused state of stream | 3510 | |with 'rid' value 2. | 3511 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3512 |****** Video-2 m=line ********* |***************************** | 3513 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3514 |m=video 0 UDP/TLS/RTP/SAVPF 101 102 |BUNDLE accepted | 3515 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3516 |c=IN IP4 203.0.113.77 |[RFC4566] | 3517 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3518 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3519 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3520 |a=mid:m2 |[RFC5888] Video m=line part of BUNDLE | 3521 | |group | 3522 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3523 |a=msid:ma tc |Identifies MediaStream ID (ma) and | 3524 | |MediaStreamTrack ID (tc) | 3525 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3526 |a=recvonly |[RFC3264] | 3527 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3528 |a=rtpmap:101 H264/90000 |[RFC6184] | 3529 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3530 |a=rtpmap:102 H264/90000 |[RFC6184] | 3531 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3532 |a=fmtp:101 profile-level-id=42401f;packetization-mode=1 |[RFC6184] | 3533 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3534 |a=fmtp:102 profile-level-id=42401f;packetization-mode=1 |[RFC6184] | 3535 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3536 |a=rtcp-fb:* nack |[RFC4585] | 3537 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3538 |a=rtcp-fb:* nack pli |[RFC4585] | 3539 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3540 |a=rtcp-fb:* ccm fir |[RFC5104] | 3541 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3542 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3543 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3544 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 3545 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3546 |a=rid:3 recv pt=101;max-width=1280;max-height=720;max-fr=30 |[I-D.ietf-mmusic-rid] Bob accepts the | 3547 | |offered payload format constraints | 3548 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3549 |a=rid:4 recv pt=102;max-width=640;max-height=360;max-fr=15 |[I-D.ietf-mmusic-rid] Bob accepts the | 3550 | |offered payload format constraints | 3551 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3552 |a=simulcast:recv 3;4 |[I-D.ietf-mmusic-sdp-simulcast] Bob | 3553 | |accepts the offered simulcast streams. | 3554 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3555 Table 28: 5.3.1 SDP Answer 3557 5.3.2. Successful SVC Video Session 3559 This section shows an SDP offer/answer for a session with an audio 3560 and a single video source. The video source is being encoded both as 3561 non-scalable and scalable H.264-SVC RTP streams (in the SST mode). 3563 The answerer picks the payload type corresponding to scalable 3564 encoding. 3566 SVC Session - 3 Layers w/BUNDLE 3568 Alice Bob 3569 | | 3570 | | 3571 | Alice offers a send-only video stream | 3572 | with non-scalable and scalable encodings. | 3573 | | 3574 | | 3575 | offer(Audio:Opus, Video:H.264/H.264-SVC) | 3576 |------------------------------------------------>| 3577 | | 3578 | |Bob accepts Alice's 3579 | |offered codec 3580 | |operation points 3581 | |for scalable encoding 3582 | | 3583 | answer(Audio:Opus, Video:H.264-SVC) | 3584 |<------------------------------------------------| 3585 | | 3586 | One-way Opus, H.264-SVC video streams | 3587 |.................................................| 3588 | | 3589 | | 3591 +===============================================================================================+========================================+ 3592 |Offer SDP Contents |RFC#/Notes | 3593 +===============================================================================================+========================================+ 3594 |v=0 |[RFC4566] | 3595 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3596 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 3597 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3598 |s=- |[RFC4566] | 3599 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3600 |t=0 0 |[RFC4566] | 3601 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3602 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3603 | |Alice supports grouping of m=lines under| 3604 | |BUNDLE semantics | 3605 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3606 |a=group:LS m0 m1 |[RFC5888] | 3607 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3608 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3609 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3610 |a=ice-options:ice2 |[RFC8445] | 3611 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3612 |****** Audio m=line ********* |***************************** | 3613 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3614 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3615 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3616 |c=IN IP4 203.0.113.141 |[RFC4566] | 3617 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3618 |a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE | 3619 | |group with a unique port number | 3620 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3621 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3622 | |MediaStreamTrack ID (ta) | 3623 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3624 |a=sendonly |[RFC3264] | 3625 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3626 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3627 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3628 |a=maxptime:120 |[RFC4566] | 3629 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3630 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 3631 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3632 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 3633 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3634 |a=fingerprint:sha-256 |[RFC8122] | 3635 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 3636 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3637 |a=setup:actpass |[RFC5763] | 3638 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3639 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 3640 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3641 |a=rtcp-mux |[RFC5761] | 3642 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3643 |a=rtcp-rsize |[RFC5506] | 3644 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3645 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3646 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3647 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3648 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3649 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3650 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3651 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 3652 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3653 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3654 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3655 |****** Video m=line ********* |***************************** | 3656 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3657 |m=video 0 UDP/TLS/RTP/SAVPF 96 100 |bundle-only video line with port number | 3658 | |set to zero | 3659 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3660 |c=IN IP4 203.0.113.141 |[RFC4566] | 3661 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3662 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3663 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3664 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 3665 | |group | 3666 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3667 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 3668 | |MediaStreamTrack ID (tb) | 3669 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3670 |a=sendonly |[RFC3264] - Send only video stream | 3671 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3672 |a=rtpmap:96 H264/90000 |[RFC6184] | 3673 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3674 |a=fmtp:96 profile-level-id=4d0028; packetization-mode=1;max-fs=8040 |[RFC6184]H.264 Non Scalable | 3675 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3676 |a=rtpmap:100 H264-SVC/90000 |[RFC6190] | 3677 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3678 |a=fmtp:100 profile-level-id=53001f;packetization-mode=0 |[RFC6190] H.264 Scalable Encoding | 3679 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3680 |a=rtcp-fb:* nack |[RFC4585] | 3681 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3682 |a=rtcp-fb:* nack pli |[RFC4585] | 3683 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3684 |a=rtcp-fb:* ccm fir |[RFC5104] | 3685 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3686 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3687 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3689 Table 29: 5.3.2 SDP Offer with SVC 3691 +===============================================================================================+========================================+ 3692 |Answer SDP Contents |RFC#/Notes | 3693 +===============================================================================================+========================================+ 3694 |v=0 |[RFC4566] | 3695 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3696 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 3697 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3698 |s=- |[RFC4566] | 3699 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3700 |t=0 0 |[RFC4566] | 3701 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3702 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3703 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3704 |a=group:LS m0 m1 |[RFC5888] | 3705 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3706 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3707 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3708 |a=ice-options:ice2 |[RFC8445] | 3709 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3710 |****** Audio m=line ********* |***************************** | 3711 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3712 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3713 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3714 |c=IN IP4 203.0.113.77 |[RFC4566] | 3715 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3716 |a=mid:m0 |[RFC5888] | 3717 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3718 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3719 | |MediaStreamTrack ID (ta) | 3720 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3721 |a=recvonly |[RFC3264] | 3722 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3723 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3724 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3725 |a=maxptime:120 |[RFC4566] | 3726 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3727 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 3728 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3729 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 3730 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3731 |a=fingerprint:sha-256 |[RFC8122] | 3732 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 3733 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3734 |a=setup:active |[RFC5763] | 3735 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3736 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 3737 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3738 |a=rtcp-mux |[RFC5761] | 3739 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3740 |a=rtcp-rsize |[RFC5506] | 3741 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3742 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3743 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3744 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3745 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3746 |a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3747 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3748 |a=candidate:1 1 UDP 1694302206 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 3749 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3750 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3751 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3752 |****** Video m=line ********* |***************************** | 3753 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3754 |m=video 0 UDP/TLS/RTP/SAVPF 100 |BUNDLE accepted. | 3755 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3756 |c=IN IP4 203.0.113.77 |[RFC4566] | 3757 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3758 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3759 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3760 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 3761 | |group | 3762 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3763 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 3764 | |MediaStreamTrack ID (tb) | 3765 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3766 |a=recvonly |[RFC3264] - Receive only video stream | 3767 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3768 |a=rtpmap:100 H264-SVC/90000 |[RFC6190] | 3769 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3770 |a=fmtp:100 profile-level-id=53001f;packetization-mode=0 |[RFC6190] | 3771 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3772 |a=rtcp-fb:* nack |[RFC4585] | 3773 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3774 |a=rtcp-fb:* nack pli |[RFC4585] | 3775 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3776 |a=rtcp-fb:* ccm fir |[RFC5104] | 3777 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3778 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3779 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3781 Table 30: 5.3.2 SDP Answer with SVC 3783 5.3.3. Successful Simulcast Video Session with Retransmission 3785 This section shows an SDP offer/answer exchange for a simulcast 3786 scenario with 3 resolutions and has [RFC4588]-style retransmission 3787 flows. 3789 The [I-D.ietf-mmusic-rid] framework is used to specify all the (3) 3790 resolution constraints mapped to a single Payload Type (98). 3792 The [I-D.ietf-mmusic-sdp-simulcast] framework identifies the 3793 simulcast streams via their 'rid' identifiers. 3795 Simulcast Streams with Retransmission 3797 Alice Bob 3798 | | 3799 | | 3800 |Alice offers single audio and simulcasted video streams | 3801 | | 3802 | | 3803 | offer(Audio:Opus Video:VP8 with 3 resolutions) | 3804 | and RTX stream | 3805 |-------------------------------------------------------->| 3806 | | 3807 | | 3808 | answer (Bob accepts Alice's offer) | 3809 |<--------------------------------------------------------| 3810 | | 3811 | | 3812 |One-way 1 Opus, 3 VP8 and RTX video streams, all muxed | 3813 |.........................................................| 3814 | | 3815 | | 3817 +===============================================================================================+========================================+ 3818 |Offer SDP Contents |RFC#/Notes | 3819 +===============================================================================================+========================================+ 3820 |v=0 |[RFC4566] | 3821 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3822 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 3823 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3824 |s=- |[RFC4566] | 3825 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3826 |t=0 0 |[RFC4566] | 3827 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3828 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3829 | |Alice supports grouping of m=lines under| 3830 | |BUNDLE semantics | 3831 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3832 |a=group:LS m0 m1 |[RFC5888] | 3833 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3834 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3835 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3836 |a=ice-options:ice2 |[RFC8445] | 3837 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3838 |****** Audio m=line ********* |***************************** | 3839 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3840 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3841 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3842 |c=IN IP4 203.0.113.141 |[RFC4566] | 3843 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3844 |a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE | 3845 | |group with a unique port number | 3846 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3847 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3848 | |MediaStreamTrack ID (ta) | 3849 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3850 |a=sendonly |[RFC3264] | 3851 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3852 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3853 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3854 |a=maxptime:120 |[RFC4566] | 3855 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3856 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 3857 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3858 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 3859 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3860 |a=fingerprint:sha-256 |[RFC8122] | 3861 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 3862 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3863 |a=setup:actpass |[RFC5763] | 3864 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3865 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 3866 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3867 |a=rtcp-mux |[RFC5761] | 3868 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3869 |a=rtcp-rsize |[RFC5506] | 3870 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3871 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3872 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3873 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3874 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3875 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3876 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3877 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 3878 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3879 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3880 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3881 |****** Video m=line ********* |***************************** | 3882 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3883 |m=video 0 UDP/TLS/RTP/SAVPF 98 103 |bundle-only video line with port number | 3884 | |set to zero | 3885 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3886 |c=IN IP4 203.0.113.141 |[RFC4566] | 3887 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3888 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3889 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3890 |a=mid:m1 |[RFC5888] | 3891 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3892 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 3893 | |MediaStreamTrack ID (tb) | 3894 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3895 |a=sendonly |[RFC3264] | 3896 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3897 |a=rtpmap:98 VP8/90000 |[RFC7741] | 3898 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3899 |a=fmtp:98 max-fr=30 |[RFC4566] | 3900 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3901 |a=rtpmap:103 rtx/90000 |[RFC4588] | 3902 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3903 |a=fmtp:103 apt=98;rtx-time=200 |[RFC4588] | 3904 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3905 |a=rtcp-fb:* nack |[RFC4585] | 3906 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3907 |a=rtcp-fb:* nack pli |[RFC4585] | 3908 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3909 |a=rtcp-fb:* ccm fir |[RFC5104] | 3910 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3911 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3912 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3913 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 3914 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3915 |a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] | 3916 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3917 |a=rid:1 send pt=98;max-fs=921600;max-fr=30 |[I-D.ietf-mmusic-rid] | 3918 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3919 |a=rid:2 send pt=98;max-fs=614400;max-fr=15 |[I-D.ietf-mmusic-rid] | 3920 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3921 |a=rid:3 send pt=98;max-fs=230400;max-fr=30 |[I-D.ietf-mmusic-rid] | 3922 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3923 |a=simulcast:send 1;2;3 |[I-D.ietf-mmusic-sdp-simulcast] Alice | 3924 | |can send all the simulcast streams | 3925 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3927 Table 31: 5.3.3 SDP Offer w/Simulcast, RTX 3929 +===============================================================================================+========================================+ 3930 |Answer SDP Contents |RFC#/Notes | 3931 +===============================================================================================+========================================+ 3932 |v=0 |[RFC4566] | 3933 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3934 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 3935 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3936 |s=- |[RFC4566] | 3937 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3938 |t=0 0 |[RFC4566] | 3939 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3940 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3941 | |Bob supports grouping of m=lines under | 3942 | |BUNDLE semantics | 3943 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3944 |a=group:LS m0 m1 |[RFC5888] | 3945 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3946 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 3947 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3948 |a=ice-options:ice2 |[RFC8445] | 3949 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3950 |****** Audio m=line ********* |***************************** | 3951 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3952 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 3953 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3954 |c=IN IP4 203.0.113.77 |[RFC4566] | 3955 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3956 |a=mid:m0 |[RFC5888] | 3957 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3958 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 3959 | |MediaStreamTrack ID (ta) | 3960 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3961 |a=recvonly |[RFC3264] | 3962 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3963 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 3964 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3965 |a=maxptime:120 |[RFC4566] | 3966 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3967 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 3968 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3969 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 3970 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3971 |a=fingerprint:sha-256 |[RFC8122] | 3972 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 3973 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3974 |a=setup:active |[RFC5763] | 3975 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3976 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 3977 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3978 |a=rtcp-mux |[RFC5761] | 3979 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3980 |a=rtcp-rsize |[RFC5506] | 3981 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3982 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 3983 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3984 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3985 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3986 |a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 3987 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3988 |a=candidate:1 1 UDP 1694302206 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 3989 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3990 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 3991 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3992 |****** Video m=line ********* |***************************** | 3993 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3994 |m=video 0 UDP/TLS/RTP/SAVPF 98 103 |BUNDLE accepted | 3995 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3996 |c=IN IP4 203.0.113.77 |[RFC4566] | 3997 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 3998 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 3999 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4000 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 4001 | |group | 4002 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4003 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 4004 | |MediaStreamTrack ID (tb) | 4005 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4006 |a=recvonly |[RFC3264] | 4007 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4008 |a=rtpmap:98 VP8/90000 |[RFC7741] | 4009 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4010 |a=fmtp:98 max-fr=30 |[RFC4566] | 4011 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4012 |a=rtpmap:103 rtx/90000 |[RFC4588] | 4013 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4014 |a=fmtp:103 apt=98;rtx-time=200 |[RFC4588] | 4015 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4016 |a=rtcp-fb:* nack |[RFC4585] | 4017 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4018 |a=rtcp-fb:* nack pli |[RFC4585] | 4019 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4020 |a=rtcp-fb:* ccm fir |[RFC5104] | 4021 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4022 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4023 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4024 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 4025 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4026 |a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] | 4027 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4028 |a=rid:1 recv pt=98;max-fs=921600;max-fr=30 |[I-D.ietf-mmusic-rid] | 4029 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4030 |a=rid:2 recv pt=98;max-fs=614400;max-fr=15 |[I-D.ietf-mmusic-rid] | 4031 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4032 |a=rid:3 recv pt=98;max-fs=230400;max-fr=30 |[I-D.ietf-mmusic-rid] | 4033 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4034 |a=simulcast:recv 1;2;3 |[I-D.ietf-mmusic-sdp-simulcast] Bob | 4035 | |accepts the offered simulcast streams | 4036 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4038 Table 32: 5.3.3 SDP Answer w/Simulcast, RTX 4040 5.3.4. Successful One-way Simulcast Session with 2 resolutions and RTX 4041 - One resolution rejected 4043 This section shows an SDP offer/answer exchange for a simulcast 4044 scenario with two resolutions. 4046 It also showcases where Bob rejects one of the Simulcast Video 4047 streams, which results in the rejection of the associated repair 4048 stream implicitly. 4050 Simulcast Streams with Retransmission Rejected 4052 Alice Bob 4053 | | 4054 | | 4055 |Alice offers single audio and simulcasted video streams | 4056 | with bundle-only for video | 4057 | | 4058 | | 4059 |offer(Audio:Opus Video:VP8 with 2 resolutions,RTX Stream)| 4060 |-------------------------------------------------------->| 4061 | | 4062 | |Bob accepts 1 4063 | |simulcast,rtx 4064 | |rejects the 4065 | |other 4066 | answer(Audio:Opus Video:VP8 with 1 res & RTX Stream) | 4067 |<--------------------------------------------------------| 4068 | | 4069 | | 4070 | One-way audio and video session and its associated | 4071 | RTX stream, all multiplexed | 4072 |.........................................................| 4073 | | 4074 | | 4075 +===============================================================================================+========================================+ 4076 |Offer SDP Contents |RFC#/Notes | 4077 +===============================================================================================+========================================+ 4078 |v=0 |[RFC4566] | 4079 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4080 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 4081 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4082 |s=- |[RFC4566] | 4083 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4084 |t=0 0 |[RFC4566] | 4085 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4086 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4087 | |Alice supports grouping of m=lines under| 4088 | |BUNDLE semantics | 4089 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4090 |a=group:LS m0 m1 |[RFC5888] | 4091 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4092 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4093 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4094 |a=ice-options:ice2 |[RFC8445] | 4095 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4096 |****** Audio m=line ********* |***************************** | 4097 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4098 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 4099 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4100 |c=IN IP4 203.0.113.141 |[RFC4566] | 4101 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4102 |a=mid:m0 |[RFC5888] | 4103 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4104 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4105 | |MediaStreamTrack ID (ta) | 4106 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4107 |a=sendonly |[RFC3264] | 4108 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4109 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4110 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4111 |a=maxptime:120 |[RFC4566] | 4112 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4113 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 4114 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4115 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 4116 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4117 |a=fingerprint:sha-256 |[RFC8122] | 4118 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 4119 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4120 |a=setup:actpass |[RFC5763] | 4121 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4122 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 4123 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4124 |a=rtcp-mux |[RFC5761] | 4125 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4126 |a=rtcp-rsize |[RFC5506] | 4127 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4128 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 4129 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4130 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4131 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4132 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4133 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4134 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 4135 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4136 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4137 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4138 |****** Video m=line ********* |***************************** | 4139 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4140 |m=video 0 UDP/TLS/RTP/SAVPF 98 100 101 103 |bundle-only video line with port number | 4141 | |set to zero | 4142 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4143 |c=IN IP4 203.0.113.141 |[RFC4566] | 4144 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4145 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4146 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4147 |a=mid:m1 |[RFC5888] | 4148 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4149 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 4150 | |MediaStreamTrack ID (tb | 4151 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4152 |a=sendonly |[RFC3264] | 4153 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4154 |a=rtpmap:98 VP8/90000 |[RFC7741] | 4155 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4156 |a=rtpmap:100 VP8/90000 |[RFC7741] | 4157 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4158 |a=rtpmap:101 rtx/90000 |[RFC4588] | 4159 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4160 |a=rtpmap:103 rtx/90000 |[RFC4588] | 4161 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4162 |a=fmtp:98 max-fr=30;max-fs=8040 |[RFC4566] | 4163 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4164 |a=fmtp:100 max-fr=15;max-fs=1200 |[RFC4566] | 4165 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4166 |a=fmtp:101 apt=98;rtx-time=200 |[RFC4588] | 4167 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4168 |a=fmtp:103 apt=100;rtx-time=200 |[RFC4588] | 4169 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4170 |a=rtcp-fb:* nack |[RFC4585] | 4171 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4172 |a=rtcp-fb:* nack pli |[RFC4585] | 4173 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4174 |a=rtcp-fb:* ccm fir |[RFC5104] | 4175 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4176 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4177 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4178 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 4179 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4180 |a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] | 4181 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4182 |a=rid:1 send pt=98 |[I-D.ietf-mmusic-rid] 1:1 mapping | 4183 | |between the PT and the 'rid' identifier | 4184 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4185 |a=rid:2 send pt=100 |[I-D.ietf-mmusic-rid] 1:1 mapping | 4186 | |between the PT and the 'rid' identifier | 4187 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4188 |a=simulcast:send 1;2 |[I-D.ietf-mmusic-sdp-simulcast] | 4189 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4191 Table 33: 5.3.4 SDP Offer w/Simulcast, RTX 4193 +===============================================================================================+========================================+ 4194 |Answer SDP Contents |RFC#/Notes | 4195 +===============================================================================================+========================================+ 4196 |v=0 |[RFC4566] | 4197 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4198 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 4199 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4200 |s=- |[RFC4566] | 4201 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4202 |t=0 0 |[RFC4566] | 4203 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4204 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4205 | |Bob supports grouping of m=lines under | 4206 | |BUNDLE semantics | 4207 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4208 |a=group:LS m0 m1 |[RFC5888] | 4209 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4210 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4211 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4212 |a=ice-options:ice2 |[RFC8445] | 4213 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4214 |****** Audio m=line ********* |***************************** | 4215 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4216 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 4217 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4218 |c=IN IP4 203.0.113.77 |[RFC4566] | 4219 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4220 |a=mid:m0 |[RFC5888] | 4221 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4222 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4223 | |MediaStreamTrack ID (ta) | 4224 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4225 |a=recvonly |[RFC3264] | 4226 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4227 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4228 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4229 |a=maxptime:120 |[RFC4566] | 4230 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4231 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 4232 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4233 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 4234 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4235 |a=fingerprint:sha-256 |[RFC8122] | 4236 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 4237 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4238 |a=setup:active |[RFC5763] | 4239 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4240 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 4241 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4242 |a=rtcp-mux |[RFC5761] | 4243 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4244 |a=rtcp-rsize |[RFC5506] | 4245 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4246 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 4247 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4248 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4249 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4250 |a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4251 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4252 |a=candidate:1 1 UDP 1694302206 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 4253 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4254 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4255 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4256 |****** Video m=line ********* |***************************** | 4257 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4258 |m=video 0 UDP/TLS/RTP/SAVPF 98 101 |BUNDLE accepted | 4259 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4260 |c=IN IP4 203.0.113.77 |[RFC4566] | 4261 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4262 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4263 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4264 |a=mid:m1 |[RFC5888] | 4265 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4266 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 4267 | |MediaStreamTrack ID (tb) | 4268 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4269 |a=recvonly |[RFC3264] | 4270 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4271 |a=rtpmap:98 VP8/90000 |[RFC7741] | 4272 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4273 |a=rtpmap:101 rtx/90000 |[RFC4588] | 4274 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4275 |a=fmtp:101 apt=98;rtx-time=200 |[RFC4588] | 4276 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4277 |a=rtcp-fb:* nack |[RFC4585] | 4278 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4279 |a=rtcp-fb:* nack pli |[RFC4585] | 4280 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4281 |a=rtcp-fb:* ccm fir |[RFC5104] | 4282 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4283 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4284 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4285 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 4286 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4287 |a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] | 4288 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4289 |a=rid:1 recv pt=98 |[I-D.ietf-mmusic-rid] | 4290 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4291 |a=simulcast:recv 1 |[I-D.ietf-mmusic-sdp-simulcast] Bob | 4292 | |rejects the second simulcast stream and | 4293 | |the associated rtx stream. | 4294 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4296 Table 34: 5.3.4 SDP Answer (one Simulcast Rejected) 4298 5.3.5. Simulcast Video Session with Forward Error Correction 4300 This section shows an SDP offer/answer exchange for a simulcast video 4301 stream at two resolutions with [RFC8627] based forward error 4302 correction mechanisms. 4304 On completion of the offer/answer exchange mechanism, we end up with 4305 one audio stream, 2 simulcast video streams, and associated FEC 4306 stream(s), all of which are sent over a single 5-tuple. 4308 Simulcast Streams with Forward Error Correction 4310 Alice Bob 4311 | | 4312 | | 4313 | | 4314 |Alice offers single audio and simulcasted video streams | 4315 |with bundle-only | 4316 | | 4317 | | 4318 |offer(Audio:Opus Video:VP8 with 2 resolutions with FEC Streams)| 4319 |-------------------------------------------------------------->| 4320 | | 4321 | |Bob 4322 | |accepts 4323 | |Alice's 4324 | |offer 4325 |answer(Audio:Opus Video:VP8 with 2 resolutions w/FEC Streams) | 4326 |<--------------------------------------------------------------| 4327 | | 4328 |One-way Audio,Video session with 2 video streams and | 4329 | associated FEC stream(s) | 4330 |...............................................................| 4331 | | 4332 | | 4333 | | 4335 +===============================================================================================+========================================+ 4336 |Offer SDP Contents |RFC#/Notes | 4337 +===============================================================================================+========================================+ 4338 |v=0 |[RFC4566] | 4339 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4340 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 4341 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4342 |s=- |[RFC4566] | 4343 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4344 |t=0 0 |[RFC4566] | 4345 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4346 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4347 | |Alice supports grouping of m=lines under| 4348 | |BUNDLE semantics | 4349 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4350 |a=group:LS m0 m1 |[RFC5888] | 4351 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4352 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4353 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4354 |a=ice-options:ice2 |[RFC8445] | 4355 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4356 |****** Audio m=line ********* |***************************** | 4357 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4358 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 4359 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4360 |c=IN IP4 203.0.113.141 |[RFC4566] | 4361 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4362 |a=mid:m0 |[RFC5888] | 4363 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4364 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4365 | |MediaStreamTrack ID (ta) | 4366 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4367 |a=sendonly |[RFC3264] | 4368 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4369 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4370 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4371 |a=maxptime:120 |[RFC4566] | 4372 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4373 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 4374 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4375 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 4376 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4377 |a=fingerprint:sha-256 |[RFC8122] | 4378 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 4379 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4380 |a=setup:actpass |[RFC5763] | 4381 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4382 |a=rtcp-mux |[RFC5761] | 4383 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4384 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 4385 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4386 |a=rtcp-rsize |[RFC5506] | 4387 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4388 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 4389 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4390 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4391 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4392 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4393 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4394 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 4395 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4396 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4397 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4398 |****** Video m=line ********* |***************************** | 4399 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4400 |m=video 0 UDP/TLS/RTP/SAVPF 98 100 101 |bundle-only video line with port number | 4401 | |set to zero | 4402 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4403 |c=IN IP4 203.0.113.141 |[RFC4566] | 4404 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4405 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4406 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4407 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 4408 | |group | 4409 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4410 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 4411 | |MediaStreamTrack ID (tb) | 4412 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4413 |a=sendonly |[RFC3264] | 4414 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4415 |a=rtpmap:98 VP8/90000 |[RFC7741] | 4416 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4417 |a=rtpmap:100 VP8/90000 |[RFC7741] | 4418 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4419 |a=rtpmap:101 flexfec/90000 |[RFC8627] | 4420 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4421 |a=fmtp:98 max-fr=30;max-fs=8040 |[RFC4566] | 4422 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4423 |a=fmtp:100 max-fr=15;max-fs=1200 |[RFC4566] | 4424 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4425 |a=fmtp:101 repair-window=200000 |[RFC8627] | 4426 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4427 |a=rtcp-fb:* nack pli |[RFC4585] | 4428 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4429 |a=rtcp-fb:* ccm fir |[RFC5104] | 4430 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4431 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4432 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4433 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 4434 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4435 |a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] | 4436 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4437 |a=rid:1 send pt=98 |[I-D.ietf-mmusic-rid] 1:1 mapping | 4438 | |between the PT and the 'rid' identifier | 4439 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4440 |a=rid:2 send pt=100 |[I-D.ietf-mmusic-rid] 1:1 mapping | 4441 | |between the PT and the 'rid' identifier | 4442 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4443 |a=simulcast:send 1;2 |[I-D.ietf-mmusic-sdp-simulcast] | 4444 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4446 Table 35: 5.3.5 SDP Offer 4448 +===============================================================================================+========================================+ 4449 |Answer SDP Contents |RFC#/Notes | 4450 +===============================================================================================+========================================+ 4451 |v=0 |[RFC4566] | 4452 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4453 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 4454 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4455 |s=- |[RFC4566] | 4456 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4457 |t=0 0 |[RFC4566] | 4458 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4459 |a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4460 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4461 |a=group:LS m0 m1 |[RFC5888] | 4462 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4463 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4464 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4465 |a=ice-options:ice2 |[RFC8445] | 4466 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4467 |****** Audio m=line ********* |***************************** | 4468 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4469 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 4470 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4471 |c=IN IP4 203.0.113.77 |[RFC4566] | 4472 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4473 |a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE | 4474 | |group with a unique port number | 4475 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4476 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4477 | |MediaStreamTrack ID (ta) | 4478 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4479 |a=recvonly |[RFC3264] | 4480 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4481 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4482 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4483 |a=maxptime:120 |[RFC4566] | 4484 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4485 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 4486 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4487 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 4488 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4489 |a=fingerprint:sha-256 |[RFC8122] | 4490 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 4491 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4492 |a=setup:active |[RFC5763] | 4493 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4494 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 4495 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4496 |a=rtcp-mux |[RFC5761] | 4497 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4498 |a=rtcp-rsize |[RFC5506] | 4499 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4500 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 4501 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4502 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4503 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4504 |a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4505 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4506 |a=candidate:1 1 UDP 1694302206 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 4507 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4508 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4509 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4510 |****** Video m=line ********* |***************************** | 4511 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4512 |m=video 0 UDP/TLS/RTP/SAVPF 98 100 101 |BUNDLE accepted. | 4513 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4514 |c=IN IP4 203.0.113.77 |[RFC4566] | 4515 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4516 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4517 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4518 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 4519 | |group | 4520 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4521 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 4522 | |MediaStreamTrack ID (tb) | 4523 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4524 |a=recvonly |[RFC3264] | 4525 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4526 |a=rtpmap:98 VP8/90000 |[RFC7741] | 4527 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4528 |a=rtpmap:100 VP8/90000 |[RFC7741] | 4529 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4530 |a=rtpmap:101 flexfec/90000 |[RFC8627] | 4531 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4532 |a=fmtp:98 max-fr=30;max-fs=8040 |[RFC4566] | 4533 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4534 |a=fmtp:100 max-fr=15;max-fs=1200 |[RFC4566] | 4535 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4536 |a=fmtp:101 repair-window=200000 |[RFC8627] | 4537 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4538 |a=rtcp-fb:* nack pli |[RFC4585] | 4539 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4540 |a=rtcp-fb:* ccm fir |[RFC5104] | 4541 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4542 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4543 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4544 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] | 4545 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4546 |a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] | 4547 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4548 |a=rid:1 recv pt=98 |[I-D.ietf-mmusic-rid] | 4549 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4550 |a=rid:2 recv pt=100 |[I-D.ietf-mmusic-rid] | 4551 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4552 |a=simulcast:recv 1;2 |[I-D.ietf-mmusic-sdp-simulcast] | 4553 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4555 Table 36: 5.3.5 SDP Answer 4557 5.4. Others 4559 The examples in this section provide SDP offer/answer exchanges for a 4560 variety of scenarios related to RTP Header extensions for conference 4561 usages, Legacy Interop scenarios, and more. 4563 5.4.1. Audio Session - Voice Activity Detection 4565 This example shows Alice indicating the support of the RTP header 4566 extension to include the audio level of the audio sample carried in 4567 the RTP packet. 4569 Two-way Audio with VAD 4571 Alice Bob 4572 | | 4573 | | 4574 |Alice indicates support for including | 4575 |audio level in RTP header | 4576 | | 4577 | offer(Audio:Opus,PCMU,PCMA) | 4578 |---------------------------------------->| 4579 | | 4580 | | 4581 | answer(Audio:Opus,PCMU,PCMA) | 4582 |<----------------------------------------| 4583 | | 4584 | |Bob accepts and 4585 | |indicates his 4586 | |support as well 4587 | | 4588 | Two-way Opus Audio | 4589 |.........................................| 4590 | | 4591 |Per packet audio-level is included in the| 4592 |RTP header | 4593 | | 4595 +===============================================================================================+========================================+ 4596 |Offer SDP Contents |RFC#/Notes | 4597 +===============================================================================================+========================================+ 4598 |v=0 |[RFC4566] | 4599 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4600 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] | 4601 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4602 |s=- |[RFC4566] | 4603 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4604 |t=0 0 |[RFC4566] | 4605 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4606 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4607 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4608 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4609 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4610 |a=ice-options:ice2 |[RFC8445] | 4611 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4612 |****** Audio m=line ********* |***************************** | 4613 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4614 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 4615 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4616 |c=IN IP4 203.0.113.141 |[RFC4566] | 4617 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4618 |a=mid:audio |[RFC5888] | 4619 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4620 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4621 | |MediaStreamTrack ID (ta) | 4622 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4623 |a=sendrecv |[RFC3264] | 4624 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4625 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4626 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4627 |a=rtpmap:0 PCMU/8000 |[RFC3551] | 4628 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4629 |a=rtpmap:8 PCMA/8000 |[RFC3551] | 4630 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4631 |a=maxptime:120 |[RFC4566] | 4632 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4633 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 4634 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4635 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 4636 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4637 |a=fingerprint:sha-256 |[RFC8122] | 4638 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 4639 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4640 |a=setup:actpass |[RFC5763] | 4641 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4642 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 4643 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4644 |a=rtcp-mux |[RFC5761] | 4645 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4646 |a=rtcp-rsize |[RFC5506] | 4647 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4648 |a=rtcp-fb:* nack |[RFC4585] | 4649 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4650 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 4651 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4652 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4653 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4654 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4655 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4656 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 4657 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4658 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4659 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4661 Table 37: 5.4.1 SDP Offer 4663 +===============================================================================================+========================================+ 4664 |Answer SDP Contents |RFC#/Notes | 4665 +===============================================================================================+========================================+ 4666 |v=0 |[RFC4566] | 4667 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4668 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] | 4669 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4670 |s=- |[RFC4566] | 4671 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4672 |t=0 0 |[RFC4566] | 4673 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4674 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4675 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4676 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4677 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4678 |a=ice-options:ice2 |[RFC8445] | 4679 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4680 |****** Audio m=line ********* |***************************** | 4681 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4682 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 4683 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4684 |c=IN IP4 203.0.113.77 |[RFC4566] | 4685 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4686 |a=mid:audio |[RFC5888] | 4687 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4688 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4689 | |MediaStreamTrack ID (ta) | 4690 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4691 |a=sendrecv |[RFC3264] - Bob can send and recv audio | 4692 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4693 |a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts only Opus Codec | 4694 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4695 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec | 4696 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4697 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec | 4698 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4699 |a=maxptime:120 |[RFC4566] | 4700 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4701 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 4702 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4703 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 4704 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4705 |a=fingerprint:sha-256 |[RFC8122] | 4706 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 4707 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4708 |a=setup:active |[RFC5763] | 4709 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4710 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 4711 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4712 |a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP | 4713 | |Muxing on port 49203 | 4714 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4715 |a=rtcp-rsize |[RFC5506] | 4716 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4717 |a=rtcp-fb:* nack |[RFC4585] | 4718 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4719 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 4720 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4721 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4722 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4723 |a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4724 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4725 |a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 4726 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4727 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4728 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4730 Table 38: 5.4.1 SDP Answer 4732 5.4.2. Audio Conference - Voice Activity Detection 4734 This example of SDP highlights the RTP header RTP header extension 4735 that allows RTP-level mixers in audio conferences to deliver 4736 information about the audio level of individual participants. 4738 Audio Conference with VAD Support 4740 Alice Mixer 4741 | | 4742 |Alice indicates her interest in audio | 4743 |levels for the contributing sources | 4744 | | 4745 |offer(Audio:Opus,PCMU,PCMA) | 4746 |---------------------------------------->| 4747 | | 4748 | | 4749 |answer(Audio:Opus,PCMU,PCMA) | 4750 |<----------------------------------------| 4751 | | 4752 | |Mixer indicates 4753 | |it can provide 4754 | |audio-levels 4755 |Two-way Opus Audio | 4756 |.........................................| 4757 | | 4758 |audio-levels per CSRCS are included in | 4759 |the RTP header | 4760 | | 4762 +===============================================================================================+========================================+ 4763 |Offer SDP Contents |RFC#/Notes | 4764 +===============================================================================================+========================================+ 4765 |v=0 |[RFC4566] | 4766 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4767 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 4768 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4769 |s=- |[RFC4566] | 4770 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4771 |t=0 0 |[RFC4566] | 4772 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4773 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4774 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4775 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4776 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4777 |a=ice-options:ice2 |[RFC8445] | 4778 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4779 |****** Audio m=line ********* |***************************** | 4780 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4781 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 4782 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4783 |c=IN IP4 203.0.113.141 |[RFC4566] | 4784 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4785 |a=mid:audio |[RFC5888] | 4786 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4787 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4788 | |MediaStreamTrack ID (ta) | 4789 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4790 |a=sendrecv |[RFC3264] - Alice can send and recv | 4791 | |audio | 4792 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4793 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4794 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4795 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec | 4796 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4797 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec | 4798 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4799 |a=maxptime:120 |[RFC4566] | 4800 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4801 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 4802 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4803 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 4804 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4805 |a=fingerprint:sha-256 |[RFC8122] | 4806 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 4807 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4808 |a=setup:actpass |[RFC5763] | 4809 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4810 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 4811 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4812 |a=rtcp-mux |[RFC5761] | 4813 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4814 |a=rtcp-rsize |[RFC5506] | 4815 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4816 |a=rtcp-fb:* nack |[RFC4585] | 4817 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4818 |a=extmap:1/recvonly urn:ietf:params:rtp-hdrext:csrc-audio-level |[RFC6465] | 4819 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4820 |a=extmap:2 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 4821 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4822 |a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4823 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4824 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4825 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4826 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 4827 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4828 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4829 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4831 Table 39: 5.4.2 SDP Offer 4833 +===============================================================================================+========================================+ 4834 |Answer SDP Contents |RFC#/Notes | 4835 +===============================================================================================+========================================+ 4836 |v=0 |[RFC4566] | 4837 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4838 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information | 4839 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4840 |s=- |[RFC4566] | 4841 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4842 |t=0 0 |[RFC4566] | 4843 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4844 |a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4845 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4846 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4847 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4848 |a=ice-options:ice2 |[RFC8445] | 4849 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4850 |****** Audio m=line ********* |***************************** | 4851 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4852 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] | 4853 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4854 |c=IN IP4 203.0.113.77 |[RFC4566] | 4855 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4856 |a=mid:audio |[RFC5888] | 4857 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4858 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4859 | |MediaStreamTrack ID (ta) | 4860 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4861 |a=sendrecv |[RFC3264] | 4862 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4863 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4864 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4865 |a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec | 4866 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4867 |a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec | 4868 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4869 |a=maxptime:120 |[RFC4566] | 4870 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4871 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] | 4872 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4873 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] | 4874 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4875 |a=fingerprint:sha-256 |[RFC8122] | 4876 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 4877 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4878 |a=setup:active |[RFC5763] | 4879 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4880 |a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] | 4881 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4882 |a=rtcp-mux |[RFC5761] | 4883 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4884 |a=rtcp-rsize |[RFC5506] | 4885 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4886 |a=rtcp-fb:* nack |[RFC4585] | 4887 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4888 |a=extmap:1/sendonly urn:ietf:params:rtp-hdrext:csrc-audio-level |[RFC6465] | 4889 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4890 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4891 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4892 |a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 4893 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4894 |a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp] | 4895 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4896 |a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] | 4897 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4899 Table 40: 5.4.2 SDP Answer 4901 5.4.3. Successful Legacy Interop Fallback with bundle-only 4903 In the scenario described below, Alice is a multi-stream capable 4904 WebRTC endpoint, while Bob is a legacy VOIP endpoint. The SDP offer/ 4905 answer exchange demonstrates successful session setup with fallback 4906 to an audio-only stream negotiated via the bundle-only framework 4907 between the endpoints. Specifically: 4909 * The offer from Alice describes 2 cameras via 2 video m=lines with 4910 both marked as bundle-only. 4912 * Bob doesn't recognize the BUNDLE mechanism and since Alice has 4913 marked both the video m=lines with port 0, Bob accepts just the 4914 audio stream from Alice. 4916 NOTE: Alice is unaware of whether Bob supports the BUNDLE framework. 4917 Alice includes separate RTP/RTCP ports and candidate information. 4919 Successful Two-way WebRTC <-> VOIP Interop 4921 Alice Bob 4922 | | 4923 | | 4924 | Alice is a multistream capable WebRTC endpoint | 4925 | & Bob is behind a legacy VOIP system | 4926 | | 4927 |offer(Audio:Opus Video:1 VP8,1 H.264 Stream) with | 4928 | bundle-only | 4929 |---------------------------------------------------------->| 4930 | Alice marks both the video streams as bundle-only | 4931 | | 4932 | | 4933 | answer(Audio:Opus) | 4934 |<----------------------------------------------------------| 4935 | |Bob 4936 | |accepts the 4937 | |audio 4938 | |stream, 4939 | |since he 4940 | |doesn't 4941 | |recognize 4942 | |bundle-only 4943 | | 4944 | Two-way Opus Audio | 4945 |...........................................................| 4946 | | 4947 | | 4949 +===============================================================================================+========================================+ 4950 |Offer SDP Contents |RFC#/Notes | 4951 +===============================================================================================+========================================+ 4952 |v=0 |[RFC4566] | 4953 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4954 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 4955 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4956 |s=- |[RFC4566] | 4957 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4958 |t=0 0 |[RFC4566] | 4959 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4960 |a=group:BUNDLE m0 m1 m2 |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 4961 | |Alice supports grouping of m=lines under| 4962 | |BUNDLE semantics | 4963 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4964 |a=group:LS m0 m1 |[RFC5888] | 4965 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4966 |a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] | 4967 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4968 |a=ice-options:ice2 |[RFC8445] | 4969 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4970 |****** Audio m=line ********* |***************************** | 4971 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4972 |m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 4973 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4974 |c=IN IP4 203.0.113.141 |[RFC4566] | 4975 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4976 |a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE | 4977 | |group with a unique port number | 4978 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4979 |a=msid:ma ta |Identifies MediaStream ID (ma) and | 4980 | |MediaStreamTrack ID (ta) | 4981 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4982 |a=sendrecv |[RFC3264] | 4983 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4984 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 4985 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4986 |a=maxptime:120 |[RFC4566] | 4987 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4988 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] | 4989 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4990 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] | 4991 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4992 |a=fingerprint:sha-256 |[RFC8122] | 4993 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 4994 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4995 |a=setup:actpass |[RFC5763] | 4996 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4997 |a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] | 4998 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 4999 |a=rtcp-mux |[RFC5761] | 5000 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5001 |a=rtcp:64678 IN IP4 203.0.113.141 |[RFC3605] | 5002 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5003 |a=rtcp-rsize |[RFC5506] | 5004 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5005 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 5006 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5007 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 5008 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5009 |a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 5010 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5011 |a=candidate:1 1 UDP 694302207 203.0.113.141 54609 typ srflx raddr 192.0.2.4 rport 61665 |[I-D.ietf-mmusic-ice-sip-sdp] | 5012 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5013 |a=candidate:0 1 UDP 2113667326 192.0.2.4 61667 typ host |[I-D.ietf-mmusic-ice-sip-sdp] | 5014 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5015 |a=candidate:1 1 UDP 1694302206 203.0.113.141 64678 typ srflx raddr 192.0.2.4 rport 61667 |[I-D.ietf-mmusic-ice-sip-sdp] | 5016 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5017 |****** Video-1 m=line ********* |***************************** | 5018 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5019 |m=video 0 UDP/TLS/RTP/SAVPF 98 |bundle-only video line with port number | 5020 | |set to zero | 5021 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5022 |c=IN IP4 203.0.113.141 |[RFC4566] | 5023 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5024 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 5025 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5026 |a=mid:m1 |[RFC5888] Video m=line part of BUNDLE | 5027 | |group | 5028 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5029 |a=msid:ma tb |Identifies MediaStream ID (ma) and | 5030 | |MediaStreamTrack ID (tb) | 5031 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5032 |a=sendrecv |[RFC3264] | 5033 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5034 |a=rtpmap:98 VP8/90000 |[RFC7741] | 5035 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5036 |a=imageattr:98 [x=1280,y=720] |[RFC6236] | 5037 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5038 |a=fmtp:98 max-fr=30 |[RFC4566] | 5039 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5040 |a=rtcp-fb:* nack |[RFC4585] | 5041 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5042 |a=rtcp-fb:* nack pli |[RFC4585] | 5043 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5044 |a=rtcp-fb:* ccm fir |[RFC5104] | 5045 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5046 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 5047 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5048 |****** Video-2 m=line ********* |***************************** | 5049 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5050 |m=video 0 UDP/TLS/RTP/SAVPF 101 |bundle-only video line with port number | 5051 | |set to zero | 5052 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5053 |c=IN IP4 203.0.113.141 |[RFC4566] | 5054 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5055 |a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 5056 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5057 |a=mid:m2 |[RFC5888] Video m=line part of BUNDLE | 5058 | |group | 5059 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5060 |a=msid:ma tc |Identifies MediaStream ID (ma) and | 5061 | |MediaStreamTrack ID (tc) | 5062 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5063 |a=sendrecv |[RFC3264] | 5064 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5065 |a=rtpmap:101 H264/90000 |[RFC6184] | 5066 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5067 |a=fmtp:101 profile-level-id=4d0028;packetization-mode=1 |[RFC6184]Camera-2,Encoding-1 Resolution | 5068 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5069 |a=rtcp-fb:* nack |[RFC4585] | 5070 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5071 |a=rtcp-fb:* nack pli |[RFC4585] | 5072 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5073 |a=rtcp-fb:* ccm fir |[RFC5104] | 5074 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5075 |a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]| 5076 +-----------------------------------------------------------------------------------------------+----------------------------------------+ 5078 Table 41: 5.4.3 SDP Simulcast bundle-only 5080 +===============================================================================================+=============================+ 5081 |Answer SDP Contents |RFC#/Notes | 5082 +===============================================================================================+=============================+ 5083 |v=0 |[RFC4566] | 5084 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5085 |o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] | 5086 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5087 |s=- |[RFC4566] | 5088 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5089 |t=0 0 |[RFC4566] | 5090 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5091 |****** Audio m=line ********* |*****************************| 5092 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5093 |m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] | 5094 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5095 |c=IN IP4 203.0.113.141 |[RFC4566] | 5096 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5097 |a=rtcp:60065 IN IP4 203.0.113.141 |[RFC3605] | 5098 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5099 |a=sendrecv |[RFC3264] | 5100 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5101 |a=rtpmap:109 opus/48000/2 |[RFC7587] | 5102 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5103 |a=maxptime:120 |[RFC4566] | 5104 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5105 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp]| 5106 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5107 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]| 5108 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5109 |a=fingerprint:sha-256 |[RFC8122] | 5110 |6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08| | 5111 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5112 |a=setup:active |[RFC5763] | 5113 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5114 |a=rtcp-rsize |[RFC5506] | 5115 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5116 |a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] | 5117 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5118 |a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5119 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5120 |a=candidate:1 1 UDP 694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 51556 |[I-D.ietf-mmusic-ice-sip-sdp]| 5121 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5122 |a=candidate:0 2 UDP 2113667326 198.51.100.7 51558 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5123 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5124 |a=candidate:1 2 UDP 1694302206 203.0.113.77 60065 typ srflx raddr 198.51.100.7 rport 51558 |[I-D.ietf-mmusic-ice-sip-sdp]| 5125 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5126 |****** Video m=line ********* |*****************************| 5127 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5128 |m=video 0 UDP/TLS/RTP/SAVPF 98 |Bob doesn't recognize bundle-| 5129 | |only and hence the m=line is | 5130 | |rejected implicitly due to | 5131 | |port 0 | 5132 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5133 |****** Video m=line ********* |*****************************| 5134 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5135 |m=video 0 UDP/TLS/RTP/SAVPF 101 |Bob doesn't recognize bundle-| 5136 | |only and hence the m=line is | 5137 | |rejected implicitly due to | 5138 | |port 0 | 5139 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5141 Table 42: 5.4.3 SDP Answer 5143 5.4.4. Legacy Interop with RTP/AVP profile 5145 In the scenario described below, Alice is a legacy endpoint that 5146 sends an [RFC3264] offer with RTP/AVP-based audio and video 5147 descriptions along with a DTLS fingerprint and RTCP feedback 5148 information. 5150 On the other hand, Bob, being a WebRTC endpoint, follows the 5151 procedures in section 5.1.2 of [I-D.ietf-rtcweb-jsep] and accepts the 5152 Alice's offer for a DTLS-SRTP-based session with RTCP feedback. 5154 Successful Two-way WebRTC <-> VOIP Interop 5156 Alice Bob 5157 | | 5158 | | 5159 |Alice is a legacy VOIP endpoint & Bob is a WebRTC endpoint | 5160 | | 5161 | | 5162 | | 5163 | offer(Audio:Opus Video:H.264) | 5164 |----------------------------------------------------------->| 5165 | | 5166 | | 5167 |Alice includes : | 5168 |Legacy-compliant media description (RTP/AVP) with DTLS | 5169 |fingerprint and RTCP feedback support | 5170 | | 5171 | answer(Audio:Opus, Video:H.264) | 5172 |<-----------------------------------------------------------| 5173 | |Bob 5174 | |accepts 5175 | |"legacy 5176 | |-compliant" 5177 | |m=line 5178 | | 5179 | | 5180 | Two-way Opus Audio, H.264 Video | 5181 |............................................................| 5182 | Session also supports RTP/RTCP Mux, RTCP Feedback | 5183 | | 5185 +===============================================================================================+=============================+ 5186 |Offer SDP Contents |RFC#/Notes | 5187 +===============================================================================================+=============================+ 5188 |v=0 |[RFC4566] | 5189 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5190 |o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] | 5191 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5192 |s=- |[RFC4566] | 5193 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5194 |t=0 0 |[RFC4566] | 5195 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5196 |a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp]| 5197 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5198 |a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp]| 5199 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5200 |a=rtcp-rsize |[RFC5506] | 5201 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5202 |****** Audio m=line ********* |*****************************| 5203 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5204 |m=audio 54732 RTP/AVP 109 |[RFC4566]Alice includes RTP/ | 5205 | |AVP audio stream description | 5206 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5207 |c=IN IP4 203.0.113.141 |[RFC4566] | 5208 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5209 |a=fingerprint:sha-256 |[RFC8122] | 5210 |19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04:BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2| | 5211 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5212 |a=rtpmap:109 opus/48000 | | 5213 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5214 |a=ptime:20 | | 5215 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5216 |a=sendrecv |[RFC3264] | 5217 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5218 |a=rtcp-mux |[RFC5761]Alice still includes| 5219 | |RTP/RTCP Mux support | 5220 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5221 |a=rtcp:64678 IN IP4 203.0.113.141 |[RFC3605] | 5222 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5223 |a=candidate:0 1 UDP 2113667327 192.0.2.4 54732 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5224 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5225 |a=candidate:1 1 UDP 694302207 203.0.113.141 54732 typ srflx raddr 192.0.2.4 rport 54732 |[I-D.ietf-mmusic-ice-sip-sdp]| 5226 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5227 |a=candidate:0 2 UDP 2113667326 192.0.2.4 64678 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5228 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5229 |a=candidate:1 2 UDP 1694302206 203.0.113.141 64678 typ srflx raddr 192.0.2.4 rport 64678 |[I-D.ietf-mmusic-ice-sip-sdp]| 5230 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5231 |****** Video m=line ********* |*****************************| 5232 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5233 |m=video 62445 RTP/AVP 120 |[RFC4566]Alice includes RTP/ | 5234 | |AVP video stream description | 5235 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5236 |c=IN IP4 203.0.113.141 |[RFC4566] | 5237 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5238 |a=fingerprint:sha-256 |[RFC8122] | 5239 |DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08:6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35| | 5240 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5241 |a=rtpmap:120 VP8/90000 |[RFC7741] | 5242 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5243 |a=sendrecv |[RFC3264] | 5244 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5245 |a=rtcp-mux |[RFC5761]Alice intends to | 5246 | |perform RTP/RTCP Mux | 5247 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5248 |a=rtcp:54721 IN IP4 203.0.113.141 |[RFC3605] | 5249 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5250 |a=candidate:0 1 UDP 2113667327 192.0.2.4 62445 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5251 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5252 |a=candidate:1 1 UDP 1694302207 203.0.113.141 62537 typ srflx raddr 192.0.2.4 rport 62445 |[I-D.ietf-mmusic-ice-sip-sdp]| 5253 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5254 |a=candidate:0 2 UDP 2113667326 192.0.2.4 54721 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5255 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5256 |a=candidate:1 2 UDP 1694302206 203.0.113.141 54721 typ srflx raddr 192.0.2.4 rport 54721 |[I-D.ietf-mmusic-ice-sip-sdp]| 5257 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5258 |a=rtcp-fb:120 nack pli |[RFC4585] Alice indicates | 5259 | |support for Picture Loss | 5260 | |Indication and NACK RTCP | 5261 | |feedback | 5262 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5263 |a=rtcp-fb:120 ccm fir |[RFC5104] | 5264 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5266 Table 43: 5.4.5 SDP Offer 5268 +===============================================================================================+=============================+ 5269 |Answer SDP Contents |RFC#/Notes | 5270 +===============================================================================================+=============================+ 5271 |v=0 |[RFC4566] | 5272 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5273 |o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] | 5274 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5275 |s=- |[RFC4566] | 5276 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5277 |t=0 0 |[RFC4566] | 5278 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5279 |****** Audio m=line ********* |*****************************| 5280 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5281 |m=audio 49203 RTP/AVP 109 |[RFC4566] Bob accepts RTP/ | 5282 | |AVP-based audio stream | 5283 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5284 |c=IN IP4 203.0.113.77 |[RFC4566] | 5285 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5286 |a=rtpmap:109 opus/48000 | | 5287 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5288 |a=ptime:20 | | 5289 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5290 |a=sendrecv |[RFC3264] | 5291 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5292 |a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp]| 5293 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5294 |a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]| 5295 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5296 |a=fingerprint:sha-256 |[RFC8122] | 5297 |BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2:19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04| | 5298 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5299 |a=rtcp-mux |[RFC5761] | 5300 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5301 |a=candidate:0 1 UDP 2113667327 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5302 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5303 |a=candidate:1 1 UDP 1694302207 203.0.113.77 49203 typ srflx raddr 198.51.100.7 rport 49203 |[I-D.ietf-mmusic-ice-sip-sdp]| 5304 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5305 |****** Video m=line ********* |*****************************| 5306 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5307 |m=video 63130 RTP/AVP 120 |[RFC4566] Bob accepts RTP/ | 5308 | |AVP-based video stram | 5309 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5310 |c=IN IP4 203.0.113.77 |[RFC4566] | 5311 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5312 |a=rtpmap:120 VP8/90000 |[RFC7741] | 5313 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5314 |a=sendrecv |[RFC3264] | 5315 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5316 |a=ice-ufrag:e39091na |[I-D.ietf-mmusic-ice-sip-sdp]| 5317 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5318 |a=ice-pwd:dbc325921d5dd29e4e99147efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]| 5319 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5320 |a=fingerprint:sha-256 |[RFC8122] | 5321 |BB:0A:0E:05:E9:26:33:E8:70:88:A2:2F:70:9F:04:19:E2:1C:3B:4B:9F:81:56:2F:70:9F:04:F4:A5:A8:D8 | | 5322 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5323 |a=rtcp-mux |[RFC5761] | 5324 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5325 |a=candidate:0 1 UDP 2113667327 198.51.100.7 63130 typ host |[I-D.ietf-mmusic-ice-sip-sdp]| 5326 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5327 |a=candidate:1 1 UDP 1694302207 203.0.113.77 63130 typ srflx raddr 198.51.100.7 rport 63130 |[I-D.ietf-mmusic-ice-sip-sdp]| 5328 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5329 |a=rtcp-fb:120 nack pli |[RFC4585] | 5330 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5331 |a=rtcp-fb:120 ccm fir |[RFC5104] | 5332 +-----------------------------------------------------------------------------------------------+-----------------------------+ 5334 Table 44: 5.4.5 SDP Answer 5336 6. IANA Considerations 5338 This document requires no actions from IANA. 5340 7. Security Considerations 5342 The IETF has published separate documents 5343 [I-D.ietf-rtcweb-security-arch] [I-D.ietf-rtcweb-security] describing 5344 the security architecture for WebRTC as a whole. 5346 In addition, since the SDP offer and answer messages can contain 5347 private information about addresses and sessions to be established 5348 between parties, if this information needs to be kept private, some 5349 security mechanism (using the TLS transport, for example) in the 5350 protocol used to carry the offers and answers must be used. 5352 8. Acknowledgments 5354 We would like to thank Justin Uberti, Chris Flo, Paul Kyzivat, Nils 5355 Ohlmeier, Flemming Andreason, Magnus Westerlund for their detailed 5356 review and inputs. Thanks to Adam Roach for providing a syntax 5357 validation script to help highlight syntax and formatting errors. 5359 Thanks to experts at IESG for careful review and feedback. 5361 Thanks to Peter Yee for a detailed Genart review and suggestions. 5363 9. Change Log 5365 [RFC EDITOR NOTE: Please remove this section when publishing] 5367 Changes from draft-ietf-rtcweb-sdp-11 5369 * Address Magnus Westerlund Review comments. 5371 * Remove reference to RFC5245 and use ice-sip-sdp instead. 5373 * Add an ice2 example for RFC8445. 5375 Changes from draft-ietf-rtcweb-sdp-09 5377 * Review feedback incorporated from Flemming Andreason in 5378 Section 5.4 5380 Changes from draft-ietf-rtcweb-sdp-08 5382 * Fixed formatting and syntax issues pointed out by Adam Roach's 5383 validator script. List of issues are here: 5384 https://github.com/fluffy/ietf/issues?q=is%3Aissue+is%3Aclosed 5386 * Align examples to match latest bundle specification as pointed by 5387 Christer Holmberg 5389 Changes from draft-ietf-rtcweb-sdp-07 5391 * Incorporate review from Nils. 5393 Changes from draft-ietf-rtcweb-sdp-06 5395 * Keep Alive Version. 5397 Changes from draft-ietf-rtcweb-sdp-05 5399 * Title change. 5401 Changes from draft-ietf-rtcweb-sdp-04 5403 * Add IPv6 Example. 5405 * Add a=rtcp-mux-only and fix a=rtcp in examples. 5407 * Fix Idnits. 5409 * Add Security Considerations section. 5411 Changes from draft-ietf-rtcweb-sdp-02 to draft-ietf-rtcweb-sdp-04 5413 * Alignment with JSEP-19. 5415 * Added a=identity example. 5417 * Added a=dtls-id, a=group:LS in the examples. 5419 * Added Appendix section to capture list of checklists for the 5420 attributes. 5422 * Removed SSRC lines to match JSEP-19. 5424 * Closed open issues on a=fingerprint, a=rtcp and a=rtcp-mux-only 5425 from ietf96 to reflect JSEP-19. 5427 * Simplied Inter-op example 5429 Changes from draft-ietf-rtcweb-sdp-02 5431 * Version increment to avoid expiry 5433 Changes from draft-ietf-rtcweb-sdp-01 5435 * Complete face-lift 5436 * Added visual markers around m=lines to indicate their type, added 5437 spacing between tables for aiding readers 5439 * Updated table names to indicate offer vs answer 5441 * Attempted to align to latest versions of SCTP, BUNDLE, MSID drafts 5443 * Added mid header extensions to all the lines 5445 * Harmonized BUNDLE semantics and conventions updated. 5447 Changes from draft-ietf-rtcweb-sdp-00 5449 * Updated Simulcast/FEC/RTX examples to use RID framework 5451 * Fixed BUNDLE references for a=bundle-only 5453 Changes from draft-nandakumar-rtcweb-sdp-08 5455 * Fixed typos 5457 * Moved to a WG version 5459 Changes from draft-nandakumar-rtcweb-sdp-06 and draft-nandakumar- 5460 rtcweb-sdp-07 5462 * Added clarification on Call-Flow diagram usage 5464 * More cleanups 5466 Changes from draft-nandakumar-rtcweb-sdp-05 5468 * Added Ascii chart for all the SDP Eaxamples 5470 * Improved text and updated SDP Examples for Simulcast and FEC 5472 * Fixed MediaStream ID Semantics SDP Errors 5474 Changes from draft-nandakumar-rtcweb-sdp-04 5476 * Interim version of the draft to avert expiry 5478 * Corrected placement of c= line as per RFC4566 5480 * Updated simulcast SDP to reflect draft-westerlund-avtcore-rtp- 5481 simulcast-04 5483 Changes from draft-nandakumar-rtcweb-sdp-03 5484 * Aligned more closely with JSEP version -05 5486 * Added Conventions to help readability 5488 * Add more examples to clarify BUNDLE use cases 5490 Changes from draft-nandakumar-rtcweb-sdp-02 5492 * Major refactoring was done to group the examples in to categories 5494 * SDP was updated through out to reflect JSEP-04 style of defining 5495 attributes per m=line than at the session level. 5497 * Added 8 new examples. 5499 * Updated references for Trickle, Unified Plan 5501 * Add section to explain the syntax conventions followed in the 5502 examples. 5504 Changes from draft-nandakumar-rtcweb-sdp-01 5506 * Updated references to OPUS RTP Payload Specification. 5508 * Updated BUNDLE examples based on the latest draft-ietf-mmusic-sdp- 5509 bundle-negotiation. 5511 * Added examples for multiple audio and video flows based on Unified 5512 Plan. 5514 * Added new examples for RTX and FEC streams 5516 * Updated Simulcast and SVC examples 5518 Changes from draft-nandakumar-rtcweb-sdp-00 5520 * Fixed editorial comments on the mailing list. 5522 * Updated Data-channel SDP information based on draft-ietf-mmusic- 5523 sctp-sdp. 5525 * Updated BUNDLE examples based on draft-ietf-mmusic-sdp-bundle- 5526 negotiation. 5528 * Added examples for few more BUNDLE variants 5530 * Added new examples for Simulcast and SVC 5532 10. Informative References 5534 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 5535 with Session Description Protocol (SDP)", RFC 3264, 5536 DOI 10.17487/RFC3264, June 2002, 5537 . 5539 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 5540 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 5541 July 2006, . 5543 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 5544 Requirement Levels", BCP 14, RFC 2119, 5545 DOI 10.17487/RFC2119, March 1997, 5546 . 5548 [RFC5506] Johansson, I. and M. Westerlund, "Support for Reduced-Size 5549 Real-Time Transport Control Protocol (RTCP): Opportunities 5550 and Consequences", RFC 5506, DOI 10.17487/RFC5506, April 5551 2009, . 5553 [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and 5554 Video Conferences with Minimal Control", STD 65, RFC 3551, 5555 DOI 10.17487/RFC3551, July 2003, 5556 . 5558 [RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description 5559 Protocol (SDP) Content Attribute", RFC 4796, 5560 DOI 10.17487/RFC4796, February 2007, 5561 . 5563 [RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and 5564 Control Packets on a Single Port", RFC 5761, 5565 DOI 10.17487/RFC5761, April 2010, 5566 . 5568 [RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework 5569 for Establishing a Secure Real-time Transport Protocol 5570 (SRTP) Security Context Using Datagram Transport Layer 5571 Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May 5572 2010, . 5574 [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman, 5575 "Codec Control Messages in the RTP Audio-Visual Profile 5576 with Feedback (AVPF)", RFC 5104, DOI 10.17487/RFC5104, 5577 February 2008, . 5579 [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, 5580 "Extended RTP Profile for Real-time Transport Control 5581 Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, 5582 DOI 10.17487/RFC4585, July 2006, 5583 . 5585 [RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R. 5586 Hakenberg, "RTP Retransmission Payload Format", RFC 4588, 5587 DOI 10.17487/RFC4588, July 2006, 5588 . 5590 [RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description 5591 Protocol (SDP) Grouping Framework", RFC 5888, 5592 DOI 10.17487/RFC5888, June 2010, 5593 . 5595 [RFC6236] Johansson, I. and K. Jung, "Negotiation of Generic Image 5596 Attributes in the Session Description Protocol (SDP)", 5597 RFC 6236, DOI 10.17487/RFC6236, May 2011, 5598 . 5600 [RFC6184] Wang, Y.-K., Even, R., Kristensen, T., and R. Jesup, "RTP 5601 Payload Format for H.264 Video", RFC 6184, 5602 DOI 10.17487/RFC6184, May 2011, 5603 . 5605 [RFC6190] Wenger, S., Wang, Y.-K., Schierl, T., and A. 5606 Eleftheriadis, "RTP Payload Format for Scalable Video 5607 Coding", RFC 6190, DOI 10.17487/RFC6190, May 2011, 5608 . 5610 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 5611 Jacobson, "RTP: A Transport Protocol for Real-Time 5612 Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, 5613 July 2003, . 5615 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 5616 A., Peterson, J., Sparks, R., Handley, M., and E. 5617 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 5618 DOI 10.17487/RFC3261, June 2002, 5619 . 5621 [RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute 5622 in Session Description Protocol (SDP)", RFC 3605, 5623 DOI 10.17487/RFC3605, October 2003, 5624 . 5626 [RFC4733] Schulzrinne, H. and T. Taylor, "RTP Payload for DTMF 5627 Digits, Telephony Tones, and Telephony Signals", RFC 4733, 5628 DOI 10.17487/RFC4733, December 2006, 5629 . 5631 [RFC6464] Lennox, J., Ed., Ivov, E., and E. Marocco, "A Real-time 5632 Transport Protocol (RTP) Header Extension for Client-to- 5633 Mixer Audio Level Indication", RFC 6464, 5634 DOI 10.17487/RFC6464, December 2011, 5635 . 5637 [RFC6465] Ivov, E., Ed., Marocco, E., Ed., and J. Lennox, "A Real- 5638 time Transport Protocol (RTP) Header Extension for Mixer- 5639 to-Client Audio Level Indication", RFC 6465, 5640 DOI 10.17487/RFC6465, December 2011, 5641 . 5643 [RFC7587] Spittka, J., Vos, K., and JM. Valin, "RTP Payload Format 5644 for the Opus Speech and Audio Codec", RFC 7587, 5645 DOI 10.17487/RFC7587, June 2015, 5646 . 5648 [RFC7656] Lennox, J., Gross, K., Nandakumar, S., Salgueiro, G., and 5649 B. Burman, Ed., "A Taxonomy of Semantics and Mechanisms 5650 for Real-Time Transport Protocol (RTP) Sources", RFC 7656, 5651 DOI 10.17487/RFC7656, November 2015, 5652 . 5654 [RFC7741] Westin, P., Lundin, H., Glover, M., Uberti, J., and F. 5655 Galligan, "RTP Payload Format for VP8 Video", RFC 7741, 5656 DOI 10.17487/RFC7741, March 2016, 5657 . 5659 [RFC7826] Schulzrinne, H., Rao, A., Lanphier, R., Westerlund, M., 5660 and M. Stiemerling, Ed., "Real-Time Streaming Protocol 5661 Version 2.0", RFC 7826, DOI 10.17487/RFC7826, December 5662 2016, . 5664 [RFC8122] Lennox, J. and C. Holmberg, "Connection-Oriented Media 5665 Transport over the Transport Layer Security (TLS) Protocol 5666 in the Session Description Protocol (SDP)", RFC 8122, 5667 DOI 10.17487/RFC8122, March 2017, 5668 . 5670 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 5671 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 5672 May 2017, . 5674 [RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive 5675 Connectivity Establishment (ICE): A Protocol for Network 5676 Address Translator (NAT) Traversal", RFC 8445, 5677 DOI 10.17487/RFC8445, July 2018, 5678 . 5680 [RFC8627] Zanaty, M., Singh, V., Begen, A., and G. Mandyam, "RTP 5681 Payload Format for Flexible Forward Error Correction 5682 (FEC)", RFC 8627, DOI 10.17487/RFC8627, July 2019, 5683 . 5685 [I-D.ietf-mmusic-sdp-bundle-negotiation] 5686 Holmberg, C., Alvestrand, H., and C. Jennings, 5687 "Negotiating Media Multiplexing Using the Session 5688 Description Protocol (SDP)", Work in Progress, Internet- 5689 Draft, draft-ietf-mmusic-sdp-bundle-negotiation-54, 14 5690 December 2018, . 5693 [I-D.ietf-mmusic-sdp-simulcast] 5694 Burman, B., Westerlund, M., Nandakumar, S., and M. Zanaty, 5695 "Using Simulcast in SDP and RTP Sessions", Work in 5696 Progress, Internet-Draft, draft-ietf-mmusic-sdp-simulcast- 5697 14, 5 March 2019, . 5700 [I-D.ietf-mmusic-rid] 5701 Roach, A., "RTP Payload Format Restrictions", Work in 5702 Progress, Internet-Draft, draft-ietf-mmusic-rid-15, 15 May 5703 2018, . 5706 [I-D.ietf-mmusic-ice-sip-sdp] 5707 Petit-Huguenin, M., Nandakumar, S., Holmberg, C., Keranen, 5708 A., and R. Shpount, "Session Description Protocol (SDP) 5709 Offer/Answer procedures for Interactive Connectivity 5710 Establishment (ICE)", Work in Progress, Internet-Draft, 5711 draft-ietf-mmusic-ice-sip-sdp-39, 13 August 2019, 5712 . 5715 [I-D.ietf-rtcweb-jsep] 5716 Uberti, J., Jennings, C., and E. Rescorla, "JavaScript 5717 Session Establishment Protocol", Work in Progress, 5718 Internet-Draft, draft-ietf-rtcweb-jsep-26, 27 February 5719 2019, . 5722 [I-D.ietf-mmusic-trickle-ice] 5723 Ivov, E., Rescorla, E., and J. Uberti, "Trickle ICE: 5724 Incremental Provisioning of Candidates for the Interactive 5725 Connectivity Establishment (ICE) Protocol", Work in 5726 Progress, Internet-Draft, draft-ietf-mmusic-trickle-ice- 5727 02, 15 January 2015, . 5730 [I-D.ietf-mmusic-msid] 5731 Alvestrand, H., "WebRTC MediaStream Identification in the 5732 Session Description Protocol", Work in Progress, Internet- 5733 Draft, draft-ietf-mmusic-msid-17, 13 December 2018, 5734 . 5737 [I-D.ietf-mmusic-sctp-sdp] 5738 Holmberg, C., Shpount, R., Loreto, S., and G. Camarillo, 5739 "Session Description Protocol (SDP) Offer/Answer 5740 Procedures For Stream Control Transmission Protocol (SCTP) 5741 over Datagram Transport Layer Security (DTLS) Transport.", 5742 Work in Progress, Internet-Draft, draft-ietf-mmusic-sctp- 5743 sdp-26, 20 April 2017, . 5746 [I-D.ietf-rtcweb-data-channel] 5747 Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data 5748 Channels", Work in Progress, Internet-Draft, draft-ietf- 5749 rtcweb-data-channel-13, 4 January 2015, 5750 . 5753 [I-D.ietf-mmusic-mux-exclusive] 5754 Holmberg, C., "Indicating Exclusive Support of RTP/RTCP 5755 Multiplexing using SDP", Work in Progress, Internet-Draft, 5756 draft-ietf-mmusic-mux-exclusive-12, 5 May 2017, 5757 . 5760 [I-D.ietf-mmusic-dtls-sdp] 5761 Holmberg, C. and R. Shpount, "Session Description Protocol 5762 (SDP) Offer/Answer Considerations for Datagram Transport 5763 Layer Security (DTLS) and Transport Layer Security (TLS)", 5764 Work in Progress, Internet-Draft, draft-ietf-mmusic-dtls- 5765 sdp-32, 29 October 2017, . 5768 [I-D.ietf-rtcweb-security-arch] 5769 Rescorla, E., "WebRTC Security Architecture", Work in 5770 Progress, Internet-Draft, draft-ietf-rtcweb-security-arch- 5771 20, 22 July 2019, . 5774 [I-D.ietf-rtcweb-security] 5775 Rescorla, E., "Security Considerations for WebRTC", Work 5776 in Progress, Internet-Draft, draft-ietf-rtcweb-security- 5777 12, 5 July 2019, . 5780 [I-D.ietf-avtext-rid] 5781 Roach, A., Nandakumar, S., and P. Thatcher, "RTP Stream 5782 Identifier Source Description (SDES)", Work in Progress, 5783 Internet-Draft, draft-ietf-avtext-rid-09, 6 October 2016, 5784 . 5787 [WebRTC] W3C, "WebRTC 1.0: Real-time Communication Between 5788 Browsers", 5789 . 5791 Appendix A. Appendix 5793 A.1. JSEP SDP Attributes Checklist 5795 This section compiles a high-level checklist of the required SDP 5796 attributes to be verified against the examples defined in this 5797 specification. The goal here is to ensure that the examples are 5798 compliant with the rules defined in section 5 of the 5799 [I-D.ietf-rtcweb-jsep] specification. 5801 A.1.1. Common Checklist 5803 This subsection lists SDP attributes that mostly apply at the session 5804 level. 5806 * v=0 MUST be the first SDP line. 5808 * o= line MUST follow with values '-' for username, a 64-bit value 5809 for session id and dummy values for 'nettype', 'addrtype', and 5810 'unicast-address' (for example: IN IP4 0.0.0.0). 5812 * o= line MUST have the session version incremented in the case of 5813 subsequent offers. 5815 * s= MUST be the third line and have the value of '-'. 5817 * t= line MUST follow with the values for 'start-time' and 'stop- 5818 time' set to zeroes. 5820 * a=identity line MUST be included at the session level if WebRTC 5821 Identity mechanism is being used. 5823 * a=ice-options:trickle MUST be present at the session level in all 5824 offers and answers when supported. 5826 * a=ice-options:ice3 MUST be present at the session level in all 5827 offers and answers when supported. 5829 A.1.2. RTP Media Description Checklist 5831 The following set of checklist items apply to RTP audio and video 5832 media descriptions. 5834 * The media description's port value MUST either be set to the dummy 5835 value of '9' or MUST use the port from the default candidate, if 5836 available. 5838 * The media description's proto value MUST be 'UDP/TLS/RTP/SAVPF' 5839 for JSEP offers. 5841 * The JSEP answerer MUST support any combination of "RTP/[S]AVP[F]" 5842 for interoperability scenarios as defined in section 5 of 5843 [I-D.ietf-rtcweb-jsep] 5845 * c= line MUST be the first line in a media description. A dummy 5846 value of 'IN IP 0.0.0.0' is set if there are no candidates 5847 gathered or its value MUST match the default candidate. 5849 * a=mid attribute MUST be included. 5851 * One of a=sendrecv/a=sendonly/a=recvonly/a=inactive SDP direction 5852 attributes MUST be present. 5854 * a=rtpmap and a=fmtp attributes per primary, retransmission, and 5855 forward error correction media format MUST be included. 5857 * a=rtcp-fb lines for each supported feedback mechanism MUST be 5858 included when using RTP with feedback. 5860 * a=imageattr can be optionally present for video media 5861 descriptions. 5863 * a=msid line MUST be included for all the media senders identifying 5864 the MediaStreamTrack (i.e., when a=sendonly/a=sendrecv attribute 5865 is present). 5867 * a=extmap line identifying the RTP MID header extension" MUST be 5868 present. 5870 * a=extmap line for other supported RTP header extensions MUST be 5871 included. 5873 * a=rid line 'per encoding' with the direction of 'send' MUST be 5874 included when further constraining the media format or multiple 5875 encodings per media format is needed. 5877 * a=simulcast line MUST be present if there exists more than one 5878 'a=rid' lines for the media senders. 5880 * a=bundle-only attribute MUST be present for media descriptions 5881 that are impacted by various bundle policies (such as max-bundle/ 5882 balanced) 5884 * For media descriptions that aren't "a=bundle-only" and that have 5885 unique address, the following attributes MUST be present: 5887 - a=ice-ufrag and a=ice-pwd 5889 - a=fingerprint 5891 - a=setup with value 'actpass' in the offers and a value of 5892 'active'/'passive' in the answerer. 5894 - a=tls-id 5896 - a=rtcp 5898 - a=rtcp-mux 5900 - For offerers requiring RTCP to be multiplexed, 'a=rtcp-mux- 5901 only' line 5903 - a=rtcp-rsize 5905 * a=group:BUNDLE line with all the 'mid' identifiers part of the 5906 BUNDLE group is included at the session-level. 5908 * a=group:LS session level attribute MUST be included wth the 'mid' 5909 identifiers that are part of the same lip sync group. 5911 A.1.3. Data Channel Media Description checklist 5913 If a data channel is required, an 'application' type media 5914 description MUST be included with the following properties: 5916 * Media description's proto value MUST be 'UDP/DTLS/SCTP' in the 5917 JSEP offers. 5919 * A JSEP answerer MUST support reception of 5920 'UDP/DTLS/SCTP'/'TCP/DTLS/SCTP'/'DTLS/SCTP' for backward 5921 compatibility reasons. 5923 * A value of 'webrtc-datachannel' MUST be used for the media 5924 description 'fmt' value. 5926 * a=mid line MUST be present. 5928 * a=sctp-port with an SCTP port number MUST be included. 5930 * a=max-message-size MAY be included, if appropriate. 5932 Authors' Addresses 5934 Suhas Nandakumar 5935 Cisco 5936 170 West Tasman Drive 5937 San Jose, CA 95134 5938 United States of America 5940 Email: snandaku@cisco.com 5942 Cullen Jennings 5943 Cisco 5944 170 West Tasman Drive 5945 San Jose, CA 95134 5946 United States of America 5948 Phone: +1 408 421-9990 5949 Email: fluffy@cisco.com