Internet DRAFT - draft-ietf-rtcweb-sdp
draft-ietf-rtcweb-sdp
Network Working Group S. Nandakumar
Internet-Draft C. Jennings
Intended status: Informational Cisco
Expires: 20 June 2021 17 December 2020
Annotated Example SDP for WebRTC
draft-ietf-rtcweb-sdp-14
Abstract
The Web Real Time Communications (WebRTC) family of protocols defines
mechanism for direct interactive rich communication using audio,
video, and data between two peers' web browsers. With in the WebRTC
framework, the Session Description Protocol (SDP) is used for
negotiating session capabilities between the peers. Such a
negotiation happens based on the SDP offer/answer exchange mechanism
This document provides an informational reference in describing the
role of SDP and the offer/answer exchange mechanism for the most
common WebRTC use cases.
This document makes no changes to the SDP offer/answer exchange
mechanism.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 20 June 2021.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
Nandakumar & Jennings Expires 20 June 2021 [Page 1]
Internet-Draft SDP4WebRTC December 2020
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. SDP and WebRTC . . . . . . . . . . . . . . . . . . . . . . . 3
4. Offer/Answer and the WebRTC . . . . . . . . . . . . . . . . . 6
5. WebRTC Session Description Examples . . . . . . . . . . . . . 6
5.1. Some Conventions . . . . . . . . . . . . . . . . . . . . 7
5.2. Basic Examples . . . . . . . . . . . . . . . . . . . . . 9
5.2.1. Audio Only Session . . . . . . . . . . . . . . . . . 9
5.2.2. Audio/Video Session . . . . . . . . . . . . . . . . . 13
5.2.2.1. IPv4 Audio/Video Session . . . . . . . . . . . . 14
5.2.2.2. Dual Stack Audio/Video Session . . . . . . . . . 19
5.2.3. Data-only Session . . . . . . . . . . . . . . . . . . 24
5.2.4. Audio Call On Hold . . . . . . . . . . . . . . . . . 26
5.2.5. Audio with DTMF Session . . . . . . . . . . . . . . . 30
5.2.6. One-way Audio/Video Session - Document Camera . . . . 34
5.2.7. Audio, Video Session with BUNDLE Support Unknown . . 39
5.2.8. Audio, Video, and Data Session . . . . . . . . . . . 45
5.2.9. Audioa andVideo Session with BUNDLE Unsupported . . . 50
5.2.10. Audio, Video BUNDLED, but Data Not BUNDLED . . . . . 56
5.2.11. Audio Only, Add Video to BUNDLE . . . . . . . . . . . 62
5.3. MultiResolution, RTX, FEC Examples . . . . . . . . . . . 70
5.3.1. Send-only Simulcast Session with 2 Cameras and 2
Encodings per Camera . . . . . . . . . . . . . . . . 70
5.3.2. Successful SVC Video Session . . . . . . . . . . . . 78
5.3.3. Successful Simulcast Video Session with
Retransmission . . . . . . . . . . . . . . . . . . . 82
5.3.4. Successful One-way Simulcast Session with 2 resolutions
and RTX - One resolution rejected . . . . . . . . . . 88
5.3.5. Simulcast Video Session with Forward Error
Correction . . . . . . . . . . . . . . . . . . . . . 93
5.4. Others . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.4.1. Audio Session - Voice Activity Detection . . . . . . 99
5.4.2. Audio Conference - Voice Activity Detection . . . . . 103
5.4.3. Successful Legacy Interop Fallback with
bundle-only . . . . . . . . . . . . . . . . . . . . . 107
5.4.4. Legacy Interop with RTP/AVP profile . . . . . . . . . 112
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 116
Nandakumar & Jennings Expires 20 June 2021 [Page 2]
Internet-Draft SDP4WebRTC December 2020
7. Security Considerations . . . . . . . . . . . . . . . . . . . 117
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 117
9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 117
10. Informative References . . . . . . . . . . . . . . . . . . . 121
Appendix A. Appendix . . . . . . . . . . . . . . . . . . . . . . 126
A.1. JSEP SDP Attributes Checklist . . . . . . . . . . . . . . 126
A.1.1. Common Checklist . . . . . . . . . . . . . . . . . . 126
A.1.2. RTP Media Description Checklist . . . . . . . . . . . 127
A.1.3. Data Channel Media Description checklist . . . . . . 129
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 129
1. Introduction
JavaScript Session Establishment Protocol (JSEP)
[I-D.ietf-rtcweb-jsep] specifies a generic protocol needed to
generate [RFC3264] SDP offers and answers negotiated between the
[WebRTC] peers for setting up, updating, and tearing down a WebRTC
session. For this purpose, SDP is used for describing (media and
non-media) streams as appropriate for the recipients of the session
description to participate in the session.
The remainder of this document is organized as follows: Sections 3
and 4 provide an overview of SDP and the offer/answer exchange
mechanism. Section 5 provides sample SDP generated for the most
common WebRTC use cases.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Readers should be familiar with the terminology defined in [RFC3264]
and in [RFC7656].
3. SDP and WebRTC
The purpose of this section is to provide a general overview of SDP
and its components. For a more in-depth understanding, the readers
are advised to refer to [RFC4566].
Nandakumar & Jennings Expires 20 June 2021 [Page 3]
Internet-Draft SDP4WebRTC December 2020
The Session Description Protocol (SDP) [RFC4566] describes a
multimedia session, which can contain audio, video, whiteboard, fax,
modem, and other streams. SDP provides a general purpose, standard
representation to describe various aspects of multimedia sessions
such as media capabilities, transport addresses, and related metadata
in a transport agnostic manner, for the purposes of session
announcement, session invitation, and parameter negotiation.
SDP is widely used in the context of Session Initiation Protocol
[RFC3261], Real-time Transport Protocol [RFC3550], and Real-time
Streaming Protocol [RFC7826] applications.
Figure 1 introduces a high-level breakup of SDP into components that
semantically describe a multimedia session, in our case, a WebRTC
session [WebRTC]. It by no means captures everything about SDP and
hence, should be used for informational purposes only.
+---------------------+
| v= |
+---------------------+
+---------------------+ +---------------------+
==== | Session Metadata | ===== | o= |
| +---------------------+ +----------------------
| +---------------------+
| | t= |
| +---------------------+
|
|
| +---------------------+
| | c= |
| +---------------------+
| +---------------------+
==== | Network Description | =====
| +---------------------+
| +---------------------+
| | a=candidate |
| +---------------------+
|
|
| +---------------------+
| | m= |
| +---------------------+
| +---------------------+ +---------------------+
==== | Stream Description | ===== | a=rtpmap |
| +---------------------+ +----------------------
| +---------------------+
| | a=fmtp |
| +---------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 4]
Internet-Draft SDP4WebRTC December 2020
| +---------------------+
| | a=sendrecv.. |
| +---------------------+
+---------------+
| SEMANTIC |
| COMPONENTS OF |
| SDP |
+---------------+
| +---------------------+
| | a=crypto |
| +---------------------+
| +---------------------+ +---------------------+
==== |Security Descriptions| =====| a=ice-frag |
| +---------------------+ +----------------------
| +---------------------+
| | a=ice-pwd |
| +---------------------+
| +---------------------+
| | a=fingerprint |
| +---------------------+
|
|
|
| +---------------------+
| | a=rtcp-fb |
| +---------------------+
| +---------------------+ +---------------------+
==== | Qos,Grouping | | |
| Descriptions | =====| a=group |
+---------------------+ +----------------------
+---------------------+
| a=rtcpmux |
+---------------------+
Figure 1: Semantic Components of SDP
[WebRTC] is architected in such a way that the design of the control
plane is specified and implemented by the JavaScript application, as
described in the JSEP specification [I-D.ietf-rtcweb-jsep]. JSEP
provides mechanisms to create session characterization and media
definition information to conduct the session based on SDP exchanges.
In this context, SDP serves two purposes:
Nandakumar & Jennings Expires 20 June 2021 [Page 5]
Internet-Draft SDP4WebRTC December 2020
1. Provide grammatical structure syntactically.
2. Semantically convey a participant's intention and capabilities
required to successfully negotiate a session.
4. Offer/Answer and the WebRTC
This section introduces the SDP offer/answer Exchange mechanism
mandated by WebRTC for negotiating session capabilities while setting
up, updating, and tearing down a WebRTC session. This section is
intentionally brief in nature, and interested readers are recommended
to refer to [RFC3264] for specific details on the protocol
operations.
The offer/answer [RFC3264] model specifies rules for the bilateral
exchange of Session Description Protocol (SDP) messages for creation
of multimedia streams. It defines a protocol with the involved
participants exchanging desired session characteristics with each
other constructed as SDP messages to negotiate the session between
them.
In the most basic form, the protocol operation begins by one of the
participants sending an initial SDP offer describing its intent to
start a multimedia communication session. The participant receiving
the offer may generate an SDP answer accepting the offer or it may
reject the offer. If the session is accepted the offer/answer model
provides a common view of the multimedia session between the
participants.
Within the context of WebRTC, the offer/answer model defines the
state-machinery for WebRTC peers to negotiate session descriptions
between themselves during the initial setup stages as well as for
eventual session updates. The JSEP specification
[I-D.ietf-rtcweb-jsep] for WebRTC provides the mechanism for
generating [RFC3264] SDP offers and answers in order for both sides
of the session to agree upon the details such as the list of media
formats to be sent/received, bandwidth information, crypto
parameters, and transport parameters, for example.
5. WebRTC Session Description Examples
A typical web-based real-time multimedia communication session can be
characterized as follows:
* It has zero or more audio-only, video-only or audio/video RTP
sessions,
* may contain zero or more non-media data sessions,
Nandakumar & Jennings Expires 20 June 2021 [Page 6]
Internet-Draft SDP4WebRTC December 2020
* All the sessions are secured with DTLS-SRTP,
* Supports NAT traversal using the ICE mechanism,
* Provides RTCP-based feedback mechanisms,
* Sessions can be over IPv4-only or IPv6-only or dual-stack based
clients,
* Supports BUNDLE-based grouping of media streams over a single
5-tuple transport.
5.1. Some Conventions
The examples given in this document follow the conventions listed
below:
* In all the examples, Alice and Bob are assumed to be the WebRTC
peers.
* It is assumed that for most of the examples, the support for
[I-D.ietf-mmusic-sdp-bundle-negotiation] is established a priori
either out-of-band or as a consequence of a successful offer/
answer negotiation between Alice and Bob, unless explicitly stated
otherwise.
* Call-flow diagrams that accompany the use cases capture only the
prominent aspects of the system behavior and intentionally are not
detailed, to improve readability.
* Even though the call-flow diagrams show SDP being exchanged
between the parties, it doesn't represent the only way an WebRTC
setup is expected to work. Other approaches may involve WebRTC
applications to exchange the media setup information via non-SDP
mechanisms as long as they conform to the [I-D.ietf-rtcweb-jsep]
API specification.
* The SDP examples deviate from actual on-the-wire SDP notation in
several ways. This is done to facilitate readability and to
conform to the restrictions imposed by the RFC formatting rules.
- Visual markers/Empty lines in any SDP example are inserted to
make functional divisions in the SDP clearer, and are not
actually part of the SDP syntax.
- Excepting the above two conventions, line endings are to be
interpreted as <CR><LF> pairs (that is, a US-ASCII 13 followed
by a US-ASCII 10).
Nandakumar & Jennings Expires 20 June 2021 [Page 7]
Internet-Draft SDP4WebRTC December 2020
* Against each SDP line, pointers to the appropriate RFCs are
provided for further informational reference. Also an attempt has
been made to provide explanatory notes to enable better
understanding of the SDP usage, wherever appropriate.
* The following SDP details are common across all the use cases
defined in this document unless mentioned otherwise.
- DTLS fingerprint for SRTP (a=fingerprint)
- RTP/RTCP Multiplexing (a=rtcp-mux)
- RTCP Feedback support (a=rtcp-fb)
- Host and server-reflexive candidate lines (a=candidate)
- DTLS-SRTP Setup framework parameters (a=setup)
- RTCP attribute (a=rtcp)
- RTP header extension indicating audio-levels from client to the
mixer
For specific details, readers must refer to the
[I-D.ietf-rtcweb-jsep] specification.
* The term "session" is used rather loosely in this document to
refer to either a "communication session" or an "RTP session" or a
"RTP stream" depending on the context.
* Payload type 109 is usually used for OPUS, 0 for PCMU, 8 for PCMA,
99 for H.264, and 120 for VP8 in most of the examples to maintain
uniformity.
* The IP Address:Port combinations '192.0.2.4:61665' (host) and
'203.0.113.141:54609' (Server Reflexive) are typically used for
Alice.
* The IP Address:Port combinations '198.51.100.7:51556' (host) and
'203.0.113.77:49203' (Server Reflexive) are typically used for
Bob.
* The IPv6 addresses 2001:db8:8101:3a55:4858:a2a9:22ff:99b9 and
2001:db8:30c:1266:5916:3779:22f6:77f7 are used to represent Alice
and Bob's host addresses respectively.
Nandakumar & Jennings Expires 20 June 2021 [Page 8]
Internet-Draft SDP4WebRTC December 2020
* In actual use the values that represent SSRCs, ICE candidate
foundations, WebRTC MediaStream, and MediaStreamTrack IDs values
shall be much larger than and/or random in comparison to the ones
shown in the examples.
* tls-id attribute values 89J2LRATQ3ULA24G9AHWVR31VJWSLB68 and
UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ are used for Alice. The values
CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 and
9AIFS8AQ009IXF5D6QQUJ7P8BXPEZJ8G are used for Bob.
* identity attribute values are split across multiple lines to
enhance readability, thus any line breaks and indentations in the
value must be ignored.
* SDP attributes in the examples closely follow the checklist
defined in Appendix A.1.
5.2. Basic Examples
5.2.1. Audio Only Session
This common scenario shows the SDP for a secure two-way audio session
with Alice offering Opus, PCMU, PCMA and Bob accepting all the
offered audio codecs.
This example also shows the endpoints being [RFC8445] compliant by
including "ice2" ice-options attribute.
Two-way Audio Only Session
Alice Bob
| |
| |
| offer(Audio:Opus,PCMU,PCMA) |
|------------------------------------>|
| |
| |
| answer(Audio:Opus,PCMU,PCMA) |
|<------------------------------------|
| |
| |
|Two-way Opus Audio (preferred-codec) |
|.....................................|
| |
| |
Nandakumar & Jennings Expires 20 June 2021 [Page 9]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=identity:eyJpZHAiOnsiZG9tYWluIjoibmlpZi5odSIsInByb3RvY29sIjoiaWRwLmh0bWwifSwiYXNzZXJ0a |Section 7.4 of |
|W9uIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJblI1Y0NJNklrcFhVeUo5LmV5SmpiMjUwWlc1MGN5STZleUptYVc1b |[I-D.ietf-rtcweb-security-arch] |
|lpYSndjbWx1ZENJNlczc2lZV3huYjNKcGRHaHRJam9pYzJoaExUSTFOaUlzSW1ScFoyVnpkQ0k2SWprek9rTXdPa | |
|kl6T2pKR09rRXlPakF3T2pBd09qQkVPalV4T2tGRE9rUXlPalUwT2pZMU9rWTBPak5DT2pkRU9qa3lPa1JET2pnN | |
|E9qTXpPalV4T2pJek9qUXdPamN5T2preE9qZ3pPalZDT2pBeE9qSkdPalV3T2pjNE9qTkdJbjFkZlN3aWFXUmxib | |
|lJwZEhraU9pSnRhWE5wUUc1cGFXWXVhSFVpZlEuSTVQdGhKNFFDT05TOFVXd25OOUh3MEdaTDl3d0RBVGRrTWtFW | |
|llmdlNVTTJ6Umd5R09WSGgzRmpnc2FPZklkRnFsNUx6azBFbndVOTNQOUlCQ0xZOWtia3V1c0V1S25YRGVNLTNIN | |
|WFmdTJvZl9CTlZjUnB3MmdBdlNBbVR6SlltcEpqMFEtdmV0TmtVT1huZE9HLUIzT3ZGb3QwZVNENlZSNUdhb2wyc | |
|GduS3FSTktOd3dacEZ1eUZZbFRodHJIdGNiT19WV3o4QnZpTThKS25OdExWd1JxNUhMX2ZLTlRCNzFDYkoyWmh5W | |
|XU1UEdwWDhXcXJMWC1ybm5YSFY3RnhoTTh5OHdrLWd5cnRZazVnbFlZeUFrcTVqZklSXzRzWER5d19Qc1BWTW1aZ | |
|XltenVGV3BQTzVFWlJYR0ZpRjFET0o4Q0Q3Z3Zta2dUdlBXSWpkemtBIn0= | |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 |
| |channels |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 10]
Internet-Draft SDP4WebRTC December 2020
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user|
| |fragment |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp:60065 IN IP4 203.0.113.141 |[RFC3605] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] - Alice intends to use reduced|
| |size RTCP for this session |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] Alice supports RTP header |
| |extension to indicate audio levels |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP Host|
| |Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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 |
| |Server Reflexive ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 2 UDP 2122194687 192.0.2.4 61667 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP |
| |Host Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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 |
| |Server Reflexive ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 1: 5.2.1 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 11]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=identity:ew0KICAiaWRwIjp7DQogICAgImRvbWFpbiI6ICJjaXNjb3NwYXJrLmNvbSIsDQogICAg |Section 7.4 of |
|InByb3RvY29sIjogImRlZmF1bHQiDQogIH0sDQogICJhc3NlcnRpb24iOiAibEp3WkVocmFVOXBTblJo |[I-D.ietf-rtcweb-security-arch] |
|V0U1d1VVYzFjR0ZYV1hWaFNGVnBabEV1U1RWUWRHaEtORkZEVDA1VE9GVlhkMjVPT1VoM01FZGFURGwz | |
|ZDBSQlZHUnJUV3RGVw0KICAgICAgICAgICAgICBsbG1kbE5WVFRKNlVtZDVSMDlXU0dnelJtcG5jMkZQ | |
|Wmtsa1JuRnNOVXg2YXpCRmJuZFZPVE5RT1VsQ1EweFpPV3RpYTNWMWMwVjFTMjVZUkdWTkxUTklODQog | |
|ICAgICAgICAgICAgIFdGbWRUSnZabDlDVGxaalVuQjNNbWRCZGxOQmJWUjZTbGx0Y0VwcU1GRXRkbVYw | |
|VG10VlQxaHVaRTlITFVJelQzWkdiM1F3WlZORU5sWlNOVWRoYjJ3eWMNCiAgICAgICAgICAgICAgR2R1 | |
|UzNGU1RrdE9kM2RhY0VaMWVVWlpiRlJvZEhKSWRHTmlUMTlXVjNvNFFuWnBUVGhLUzI1T2RFeFdkMUp4 | |
|TlVoTVgyWkxUbFJDTnpGRFlrb3lXbWg1VyINCn0= | |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |[I-D.ietf-mmusic-msid] Identifies |
| |MediaStream ID (ma) and MediaStreamTrack|
| |ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and recv audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] Opus Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 12]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:05067423 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user|
| |fragment |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:1747d1ee3474a28a397a4c3f3af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password parameter |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP |
| |Muxing on port 49203 |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] - Bob intends to use reduced |
| |size RTCP for this session |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] Bob supports audio level RTP |
| |header extension as well |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP|
| |Host ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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|
| |Server Reflexive ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 2: 5.2.1 SDP Answer
5.2.2. Audio/Video Session
Alice and Bob establish a two-way audio and video session with Opus
as the audio codec and H.264 as the video codec.
Nandakumar & Jennings Expires 20 June 2021 [Page 13]
Internet-Draft SDP4WebRTC December 2020
Two-way Audio/Video Session
Alice Bob
| |
| |
|offer(Audio:Opus,PCMU,PCMA Video:H.264,VP8) |
|------------------------------------------->|
| |
| |
| answer(Audio:Opus,Video:H.264) |
|<-------------------------------------------|
| |
| |
| Two-way Opus Audio, H.264 Video |
|............................................|
| |
5.2.2.1. IPv4 Audio/Video Session
This section shows the IPv4-only offer/answer exchange.
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] - Alice wants to lip sync her |
| |audio and video streams |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 14]
Internet-Draft SDP4WebRTC December 2020
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |[I-D.ietf-mmusic-msid] Identifies |
| |MediaStream ID (ma) and MediaStreamTrack|
| |ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 |
| |channels |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user|
| |fragment |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password parameter |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] - Alice intends to use reduced|
| |size RTCP for this session |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP|
| |Host Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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|
Nandakumar & Jennings Expires 20 June 2021 [Page 15]
Internet-Draft SDP4WebRTC December 2020
| |Server Reflexive ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 99 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |video |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:99 H264/90000 |[RFC6184] - H.264 Video Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] - VP8 video codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack |[RFC4585] - Indicates NACK RTCP feedback|
| |support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for |
| |Picture loss Indication and NACK |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Frame Request- |
| |Codec Control Message support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] - Indicates NACK RTCP feedback|
| |support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] - Indicates support for |
| |Picture loss Indication and NACK |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] - Full Intra Request-Codec |
| |Control Message support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 3: 5.2.2.1 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 16]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] - Bob agrees to do the same |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and recv audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts only Opus Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |username frag |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
Nandakumar & Jennings Expires 20 June 2021 [Page 17]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] - Bob intends to use reduced |
| |size RTCP for this session |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 3618095783 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP|
| |Host ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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|
| |Server Reflexive ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 99 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and recv video |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:99 H264/90000 |[RFC6184] - Bob accepts H.264 Video |
| |Codec. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack |[RFC4585] - Indicates support for NACK- |
| |based RTCP feedback |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for |
| |Picture loss Indication and NACK |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Request-Codec |
Nandakumar & Jennings Expires 20 June 2021 [Page 18]
Internet-Draft SDP4WebRTC December 2020
| |Control Message support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 4: 5.2.2.1 SDP Answer
5.2.2.2. Dual Stack Audio/Video Session
This section captures offer/answer exchange when Alice and Bob
support both IPv4 and IPv6 host addresses.
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] - Alice wants to lip sync her |
| |audio and video streams |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 |
Nandakumar & Jennings Expires 20 June 2021 [Page 19]
Internet-Draft SDP4WebRTC December 2020
| |channels |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user|
| |fragment |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password parameter |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] - Alice intends to use reduced|
| |size RTCP for this session |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP|
| |Host Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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|
| |IPv6 Host Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 99 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 20]
Internet-Draft SDP4WebRTC December 2020
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |video |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:99 H264/90000 |[RFC6184] - H.264 Video Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] - VP8 video codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack |[RFC4585] - Indicates NACK RTCP feedback|
| |support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for |
| |Picture loss Indication and NACK |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Request-Codec |
| |Control Message support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] - Indicates NACK RTCP feedback|
| |support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] - Indicates support for |
| |Picture loss Indication and NACK |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] - Full Intra Request-Codec |
| |Control Message support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 5: 5.2.2.2 SDP Offer
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 21]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] - Bob agrees to do the same |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and recv audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts only Opus Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |username frag |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] - Bob intends to use reduced |
| |size RTCP for this session |
Nandakumar & Jennings Expires 20 June 2021 [Page 22]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 3618095783 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP/RTCP|
| |Host ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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|
| |IPv6 Host ICE Candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 99 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and recv video |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:99 H264/90000 |[RFC6184] - Bob accepts H.264 Video |
| |Codec. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:99 profile-level-id=4d0028;packetization-mode=1 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack |[RFC4585] - Indicates support for NACK- |
| |based RTCP feedback |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 nack pli |[RFC4585] - Indicates support for |
| |Picture loss Indication and NACK |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:99 ccm fir |[RFC5104] - Full Intra Request- Codec |
| |Control Message support |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 6: 5.2.2.2 SDP Answer
Nandakumar & Jennings Expires 20 June 2021 [Page 23]
Internet-Draft SDP4WebRTC December 2020
5.2.3. Data-only Session
This scenario illustrates the SDP negotiated to set up a data-only
session based on the SCTP Data Channel, thus enabling use cases such
as file transfer or real-time game control, for example.
Two-way Data channel Session
Alice Bob
| |
| |
| |
| offer(Data Channel) |
|-------------------------------->|
| |
| |
| answer(Data Channel) |
|<--------------------------------|
| |
| |
| Two-way SCTP-based data channel |
|.................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE data |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Application m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=application 54609 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-rtcweb-data-channel] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 24]
Internet-Draft SDP4WebRTC December 2020
|a=mid:data |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv non-|
| |media data |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - Session |
| |Level ICE parameter |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - Session |
| |Level ICE parameter |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - Session DTLS Fingerprint for|
|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 |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 7: 5.2.3 SDP Offer
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE data |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Application m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 25]
Internet-Draft SDP4WebRTC December 2020
|m=application 49203 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:data |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and recv non- |
| |media data |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - Session |
| |Level ICE username frag |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - Session |
| |Level ICE password |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - Session DTLS Fingerprint for|
|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 |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 8: 5.2.3 SDP Answer
5.2.4. Audio Call On Hold
Alice calls Bob, but when Bob answers he places Alice on hold by
setting the SDP direction attribute to a=inactive in the answer.
Nandakumar & Jennings Expires 20 June 2021 [Page 26]
Internet-Draft SDP4WebRTC December 2020
Audio On Hold
Alice Bob
| |
| |
| offer(Audio:Opus) |
|-------------------------------->|
| |
| |
| answer(Audio:Opus,a=inactive) |
|<--------------------------------|
| |
| |
| One-way Opus Audio |
|.................................|
| |
|
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |audio |
Nandakumar & Jennings Expires 20 June 2021 [Page 27]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 |
| |channels |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user|
| |fragment |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 9: 5.2.4 SDP Offer
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 28]
Internet-Draft SDP4WebRTC December 2020
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=inactive |[RFC3264] - Bob puts call On Hold |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts Opus Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |username frag |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - Host |
Nandakumar & Jennings Expires 20 June 2021 [Page 29]
Internet-Draft SDP4WebRTC December 2020
| |candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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 |
| |Reflexive candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 10: 5.2.4 SDP Answer
5.2.5. Audio with DTMF Session
In this example, Alice wishes to establish two separate audio
streams, one for normal audio and the other for telephone-events.
Alice offers the first audio stream with three codecs and the other
with [RFC4733] tones (for DTMF). Bob accepts both the audio streams
by choosing Opus as the audio codec and telephone-event for the other
stream.
Audio Session with DTMF
Alice Bob
| |
| |
| |
| offer(Audio:Opus,PCMU,PCMA Audio:telephone-event)|
|-------------------------------------------------->|
| |
| |
| answer(Audio:Opus, Audio:telephone-event) |
|<--------------------------------------------------|
| |
| |
| Opus audio stream and telephone-event stream |
|...................................................|
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 30]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio dtmf |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Opus Codec 48 kHz, 2 |
| |channels |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE user|
| |fragment |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password parameter |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - DTLS Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Alice can perform RTP/RTCP |
| |Muxing |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
Nandakumar & Jennings Expires 20 June 2021 [Page 31]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** DTMF m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 0 UDP/TLS/RTP/SAVPF 126 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:dtmf |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] - Alice can send DTMF Events |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:126 telephone-event/8000 |[RFC4733] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 11: 5.2.5 SDP Offer
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio dtmf |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
Nandakumar & Jennings Expires 20 June 2021 [Page 32]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and receive |
| |Opus audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts Opus Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |username frag |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] - ICE |
| |password |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] - Fingerprint for SRTP |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP |
| |Muxing on port 49203 |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] - Alice intends to use |
| |reduced-size RTCP for this session |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 33]
Internet-Draft SDP4WebRTC December 2020
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** DTMF m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 0 UDP/TLS/RTP/SAVPF 126 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:dtmf |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] - Alice can receive DTMF |
| |events |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:126 telephone-event/8000 |[RFC4733] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 12: 5.2.5 SDP Answer
5.2.6. One-way Audio/Video Session - Document Camera
In this scenario Alice and Bob engage in a One-way audio and video
session with Bob receiving Alice's audio and her presentation slides
as video stream.
Nandakumar & Jennings Expires 20 June 2021 [Page 34]
Internet-Draft SDP4WebRTC December 2020
One-way Audio & Video Session - Document Camera
Alice Bob
| |
| |
| |
| Alice offers send-only audio and video streams. |
| The video stream corresponds to her presentation |
| |
| offer(Audio:Opus, Video: VP8) |
|----------------------------------------------------->|
| |
| |
| (Audio:Opus, Video: VP8) |
|<-----------------------------------------------------|
| |
| |
| One-way Opus Audio, VP8 Video |
|......................................................|
| Bob can hear Alice and see her presentation slides.|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 35]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] - Send-only audio stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 203.0.113.141 54609 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 36]
Internet-Draft SDP4WebRTC December 2020
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] - Send-only video stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=content:slides |[RFC4796] - Alice's presentation video |
| |stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 13: 5.2.6 SDP Offer
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
Nandakumar & Jennings Expires 20 June 2021 [Page 37]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] - Receive-only audio stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 203.0.113.77 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 38]
Internet-Draft SDP4WebRTC December 2020
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=content:slides |[RFC4796] - presentation stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 14: 5.2.6 SDP Answer
5.2.7. Audio, Video Session with BUNDLE Support Unknown
In this example, since Alice is unsure of the Bob's support of the
BUNDLE framework, the following steps are performed in order to
negotiate and set up a BUNDLE Address for the session.
* An SDP offer, in which Alice assigns unique addresses to each "m="
line in the BUNDLE group, and requests the answerer to select the
offerer's BUNDLE address.
* An SDP answer, in which Bob indicates support for BUNDLE, selects
the offerer's BUNDLE address, selects its own BUNDLE address and
associates it with each BUNDLED m=line within the BUNDLE group.
Once the offer/answer exchange completes, both Alice and Bob each end
up using a single RTP session for both of the media streams.
Nandakumar & Jennings Expires 20 June 2021 [Page 39]
Internet-Draft SDP4WebRTC December 2020
Two-way Secure Audio and Video with BUNDLE support unknown
Alice Bob
| |
| |
| Alice offers BUNDLE support with unique addresses |
| for the audio and video m-line |
| |
| |
| offer(Audio:Opus Video:VP8) |
|----------------------------------------------------->|
| |Bob
| |supports
| |BUNDLE,
| |Uses
| |identical
| |address
| answer(Audio:Opus Video:VP8) |
|<-----------------------------------------------------|
| |
| Two-way Call with Audio and Video Multiplexed |
|......................................................|
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 40]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] Audio m=line part of BUNDLE |
| |group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp:54610 IN IP4 203.0.113.141 |[RFC3605] - RTCP port different from RTP|
| |Port |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP host|
| |candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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 |
| |Server Reflexive candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 2 UDP 2122194687 192.0.2.4 61666 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP |
| |host candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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 |
Nandakumar & Jennings Expires 20 June 2021 [Page 41]
Internet-Draft SDP4WebRTC December 2020
| |Server Reflexive candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 62537 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] Video m=line part of the |
| |Bundle group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:6550074c |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:74af08a068a28a397a4c3f31747d1ee34 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp:62538 IN IP4 203.0.113.141 |[RFC3605] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61886 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTP Host|
| |candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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 |
Nandakumar & Jennings Expires 20 June 2021 [Page 42]
Internet-Draft SDP4WebRTC December 2020
| |Server Reflexive candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 2 UDP 2122194687 192.0.2.4 61888 typ host |[I-D.ietf-mmusic-ice-sip-sdp] - RTCP |
| |host candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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 |
| |Server Reflexive candidate |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 15: 5.2.7 SDP Offer w/BUNDLE
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Bob supports BUNDLE semantics. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] Audio m=line part of the |
| |BUNDLE group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 43]
Internet-Draft SDP4WebRTC December 2020
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS client |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] Video m=line part of the |
| |BUNDLE group with the port from audio |
| |line repeated |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 44]
Internet-Draft SDP4WebRTC December 2020
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 16: 5.2.7 SDP Answer w/BUNDLE
5.2.8. Audio, Video, and Data Session
This example shows SDP for negotiating a session with Audio, Video
and data streams between Alice and Bob with BUNDLE support known.
Audio,Video, and Data with BUNDLE support known
Alice Bob
| |
| |
| Alice indicates BUNDLE support with an |
| identical address across all the m=lines |
| |
| |
| offer(Audio:Opus Video:VP8 Data) |
|------------------------------------------->|
| |Bob does
| |the same
| answer(Audio:Opus,Video:VP8 Data) |
|<-------------------------------------------|
| |
| |
| |
| Two-way Audio,Video, Data multiplexed |
|............................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video data |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
Nandakumar & Jennings Expires 20 June 2021 [Page 45]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
Nandakumar & Jennings Expires 20 June 2021 [Page 46]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Application m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=application 0 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-rtcweb-data-channel] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:data |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 17: 5.2.8 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 47]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video data |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
Nandakumar & Jennings Expires 20 June 2021 [Page 48]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Application m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=application 0 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 49]
Internet-Draft SDP4WebRTC December 2020
|a=mid:data |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 18: 5.2.8 SDP Answer
5.2.9. Audioa andVideo Session with BUNDLE Unsupported
This use case illustrates SDP offer/answer exchange where the far-end
(Bob) either doesn't support media bundling or doesn't want to group
m=lines over a single 5-tuple.
This is indicated by dropping the "a=group:BUNDLE" line and BUNDLE
RTP header extension in the answer SDP.
On successful offer/answer exchange, Alice and Bob each end up using
unique 5-tuple for audio and video media streams respectively.
Nandakumar & Jennings Expires 20 June 2021 [Page 50]
Internet-Draft SDP4WebRTC December 2020
Two-way Secure Audio and Video with BUNDLE Unsupported
Alice Bob
| |
| |
| Alice offers BUNDLE support with unique address |
| for the audio and video m-line |
| |
| |
| offer(Audio:Opus Video:VP8) |
|----------------------------------------------------->|
| |Bob
| |doesn't
| |support
| |BUNDLE
| answer(Audio:Opus Video:VP8) |
|<-----------------------------------------------------|
| |Bob uses
| |unique
| |addresses
| |across the
| |m=lines
| |
| Two-way Call with Audio and Video on |
| different 5-tuples |
|......................................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 51]
Internet-Draft SDP4WebRTC December 2020
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] Audio m=line part of BUNDLE |
| |group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp:55232 IN IP4 203.0.113.141 |[RFC3605] - RTCP port different from RTP|
| |port |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 2 UDP 2122194687 192.0.2.4 61666 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
Nandakumar & Jennings Expires 20 June 2021 [Page 52]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 54332 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] Video m=line part of the |
| |BUNDLE group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:7872093 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:ee3474af08a068a28a397a4c3f31747d1 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] - Alice can act as DTLS client|
| |or server |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp:60052 IN IP4 203.0.113.141 |[RFC3605] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2122194687 192.0.2.4 71775 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
Nandakumar & Jennings Expires 20 June 2021 [Page 53]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 2 UDP 2122194687 192.0.2.4 71776 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 19: 5.2.9 SDP Offer w/BUNDLE
+===============================================================================================+=============================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+=============================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Audio m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=audio 53214 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=msid:ma ta |Identifies MediaStream ID |
| |(ma) and MediaStreamTrack ID |
| |(ta) |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 54]
Internet-Draft SDP4WebRTC December 2020
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS |
| |client |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 1 UDP 2122194687 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 2 UDP 2122194687 198.51.100.7 51558 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Video m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=video 58679 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=msid:ma tb |Identifies MediaStream ID |
| |(ma) and MediaStreamTrack ID |
| |(tb) |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-ufrag:85bC300 |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-pwd:325921d5d47efbabd9a2de4e99bd291c |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=fingerprint:sha-256 6B:8B:F0:65:5F:78:E2:51:3B:AC:6F:F3:3F:46:1B:35 |[RFC8122] |
|:DC:B8:5F:64:1A:24:C2:43:F0:A1:58:D0:A1:2C:19:08 | |
Nandakumar & Jennings Expires 20 June 2021 [Page 55]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=setup:active |[RFC5763] - Bob is the DTLS |
| |client |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=tls-id:9AIFS8AQ009IXF5D6QQUJ7P8BXPEZJ8G |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 1 UDP 2122194687 198.51.100.7 61556 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
Table 20: 5.2.9 SDP Answer without BUNDLE
5.2.10. Audio, Video BUNDLED, but Data Not BUNDLED
This example showcases SDP for negotiating a session with audio,
video, and the data streams between Alice and Bob with data stream
not being part of the BUNDLE group. This is shown by assigning a
unique port for the data media section and not adding the "mid"
identification tag to the BUNDLE group.
Nandakumar & Jennings Expires 20 June 2021 [Page 56]
Internet-Draft SDP4WebRTC December 2020
Audio, Video, with Data (Not in BUNDLE)
Alice Bob
| |
| |
|Alice wants to multiplex audio, video but not data |
| |
| |
| offer(Audio:Opus Video:VP8, Data(not in BUNDLE)) |
|----------------------------------------------------->|
| |
| |
| answer(Audio:Opus Video:VP8, Data) |
|<-----------------------------------------------------|
| |
| |
|Two-way Call with Audio, Video Multiplexed except data|
|......................................................|
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice wants to BUNDLE only audio and |
| |video media. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
Nandakumar & Jennings Expires 20 June 2021 [Page 57]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 54609 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 58]
Internet-Draft SDP4WebRTC December 2020
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Application m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=application 10000 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-rtcweb-data-channel] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:data |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:UKA29UQLTF69OJW4WNPNUO2Y0GF1FJOZ |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:89819013 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:1747d1ee3474af08a068a28a397a4c3f3 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 10000 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 21: 5.2.10 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 59]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
Nandakumar & Jennings Expires 20 June 2021 [Page 60]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Application m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=application 20000 UDP/DTLS/SCTP webrtc-datachannel |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:data |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sctp-port:5000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 61]
Internet-Draft SDP4WebRTC December 2020
|a=max-message-size:100000 |[I-D.ietf-mmusic-sctp-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:9AIFS8AQ009IXF5D6QQUJ7P8BXPEZJ8G |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:991Ca2a5e |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:921d5d47efbabd9a2de4e99bd291c325 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 20000 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 22: 5.2.10 SDP Answer
5.2.11. Audio Only, Add Video to BUNDLE
This example involves 2 offer/answer exchanges. The first one is
used to negotiate and set up BUNDLE support for audio-only session
followed by an updated offer/answer exchange to add video stream to
the ongoing session. Also the newly added video stream is BUNDLED
with the audio stream.
Nandakumar & Jennings Expires 20 June 2021 [Page 62]
Internet-Draft SDP4WebRTC December 2020
Audio, Add Video and BUNDLE
Alice Bob
| |
| |
| Alice indicates support for BUNDLE |
| |
| offer(Audio:Opus) |
|----------------------------------------------------->|
| |Bob
| |supports
| |BUNDLE
| answer(Audio:Opus) |
|<-----------------------------------------------------|
| |Alice adds
| |video stream
| Updated offer(Audio:Opus, Video:VP8) |to BUNDLE
|----------------------------------------------------->|
| |
| |Bob accepts
| Updated answer(Audio:Opus, Video:VP8) |
|<-----------------------------------------------------|
| |
| Two-way Call with Audio and Video Multiplexed |
|......................................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice adds audio m=line to the BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
Nandakumar & Jennings Expires 20 June 2021 [Page 63]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 23: 5.2.11 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 64]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
Nandakumar & Jennings Expires 20 June 2021 [Page 65]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 24: 5.2.10 SDP Answer
+===============================================================================================+========================================+
|Updated Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 1 IN IP4 0.0.0.0 |Version number incremented [RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
Nandakumar & Jennings Expires 20 June 2021 [Page 66]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp]Alice wants to|
| |use the same DTLS association |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 67]
Internet-Draft SDP4WebRTC December 2020
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 25: 5.2.11 SDP Updated Offer
+===============================================================================================+========================================+
|Updated Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] Version number incremented |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 1 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio video |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS audio video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 68]
Internet-Draft SDP4WebRTC December 2020
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] - Bob agrees |
| |to use the same DTLS association |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux-only |[I-D.ietf-mmusic-mux-exclusive] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:video |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack |[RFC4585] |
Nandakumar & Jennings Expires 20 June 2021 [Page 69]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 26: 5.2.11 SDP Updated Answer
5.3. MultiResolution, RTX, FEC Examples
This section provides examples related to multi-source, multi-stream
negotiation such as layered coding and simulcast. Further included
are a few examples that cover techniques to deal with providing
robustness against transmission errors such as FEC and RTX. Also,
mechanisms such as FEC and RTX could be envisioned in the above basic
scenarios as well.
5.3.1. Send-only Simulcast Session with 2 Cameras and 2 Encodings per
Camera
The SDP example below shows an offer/answer exchange with one audio
and two video sources (say 2 video cameras). Each of the video
sources can be sent at two different resolutions.
One video source corresponds to VP8 encoding, while the other
corresponds to H.264 encoding.
The [I-D.ietf-mmusic-rid] framework is used to further constrain the
media format encodings and map the payload types (PT) to the 'rid'
identifiers.
The [I-D.ietf-mmusic-sdp-simulcast] framework identifies the
simulcast streams via their 'rid' identifiers.
The bundle-only attribute is used for the video sources in the offer
to ensure enabling video sources solely in the context of BUNDLE
alone.
The BUNDLE grouping framework enables multiplexing of all 5 Source
RTP Streams (1 audio stream + 4 video streams) over a single RTP
session.
Also, the audio and one video source RTP stream form a lip sync group
while the other video source RTP stream represents non-interactive
media data.
Nandakumar & Jennings Expires 20 June 2021 [Page 70]
Internet-Draft SDP4WebRTC December 2020
One-way Successful Simulcast w/BUNDLE
Alice Bob
| |
| |
| Alice offers 2 send-only video sources |
| with 2 simulcast encodings per source |
| and bundle-only for video |
| |
| |
| offer(Audio:Opus,Video1:VP8,Video2:H.264) |
|------------------------------------------------>|
| |
| |
| answer(Audio:Opus Video1:VP8,Video2:H.264) |
|<------------------------------------------------|
| |
|One-way 1 Opus, 2 H.264, and 2 VP8 video streams,|
| all multiplexed |
|.................................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 m2 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 71]
Internet-Draft SDP4WebRTC December 2020
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video-1 m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 100 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
Nandakumar & Jennings Expires 20 June 2021 [Page 72]
Internet-Draft SDP4WebRTC December 2020
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] - Send-only video stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:100 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:100 max-fr=15 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 send pt=98;max-width=1280;max-height=720 |[I-D.ietf-mmusic-rid] 1:1 rid mapping to|
| |payload type and specify resolution |
| |constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:2 send pt=100;max-width=640;max-height=480 |[I-D.ietf-mmusic-rid] 1:1 rid mapping to|
| |payload type and specify resolution |
| |constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:send 1;~2 |[I-D.ietf-mmusic-sdp-simulcast] Alice |
| |can send 2 resolutions identified by the|
| |'rid' identifiers Also, the second |
| |stream is initially paused. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video-2 m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 101 102 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m2 |[RFC5888] Video m=line part of BUNDLE |
Nandakumar & Jennings Expires 20 June 2021 [Page 73]
Internet-Draft SDP4WebRTC December 2020
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tc |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tc) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] - Send only video stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:101 H264/90000 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:102 H264/90000 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:101 profile-level-id=42401f;packetization-mode=0 |[RFC6184]Camera-2,Encoding-1 |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:102 profile-level-id=42401f;packetization-mode=1 |[RFC6184]Camera-2,Encoding-2 |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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|
| |payload type and specify resolution |
| |constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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|
| |payload type and specify resolution |
| |constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:send 3;4 |[I-D.ietf-mmusic-sdp-simulcast] Alice |
| |can send 2 resolutions identified by the|
| |'rid' identifiers |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 27: 5.3.1 SDP Offer
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 74]
Internet-Draft SDP4WebRTC December 2020
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 m2 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 75]
Internet-Draft SDP4WebRTC December 2020
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video-1 m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 100 |BUNDLE accepted |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] - receive only video stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:100 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:100 max-fr=15 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 recv pt=98;max-width=1280;max-height=720 |[I-D.ietf-mmusic-rid] Bob accepts the |
| |offered payload format constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:2 recv pt=100;max-width=640;max-height=480 |[I-D.ietf-mmusic-rid] Bob accepts the |
| |offered payload format constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 76]
Internet-Draft SDP4WebRTC December 2020
|a=simulcast:recv 1;2 |[I-D.ietf-mmusic-sdp-simulcast] Bob |
| |accepts the offered simulcast streams |
| |and removes the paused state of stream |
| |with 'rid' value 2. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video-2 m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 101 102 |BUNDLE accepted |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m2 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tc |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tc) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:101 H264/90000 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:102 H264/90000 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:101 profile-level-id=42401f;packetization-mode=1 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:102 profile-level-id=42401f;packetization-mode=1 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:3 recv pt=101;max-width=1280;max-height=720;max-fr=30 |[I-D.ietf-mmusic-rid] Bob accepts the |
| |offered payload format constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:4 recv pt=102;max-width=640;max-height=360;max-fr=15 |[I-D.ietf-mmusic-rid] Bob accepts the |
| |offered payload format constraints |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:recv 3;4 |[I-D.ietf-mmusic-sdp-simulcast] Bob |
| |accepts the offered simulcast streams. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 77]
Internet-Draft SDP4WebRTC December 2020
Table 28: 5.3.1 SDP Answer
5.3.2. Successful SVC Video Session
This section shows an SDP offer/answer for a session with an audio
and a single video source. The video source is being encoded both as
non-scalable and scalable H.264-SVC RTP streams (in the SST mode).
The answerer picks the payload type corresponding to scalable
encoding.
SVC Session - 3 Layers w/BUNDLE
Alice Bob
| |
| |
| Alice offers a send-only video stream |
| with non-scalable and scalable encodings. |
| |
| |
| offer(Audio:Opus, Video:H.264/H.264-SVC) |
|------------------------------------------------>|
| |
| |Bob accepts Alice's
| |offered codec
| |operation points
| |for scalable encoding
| |
| answer(Audio:Opus, Video:H.264-SVC) |
|<------------------------------------------------|
| |
| One-way Opus, H.264-SVC video streams |
|.................................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 78]
Internet-Draft SDP4WebRTC December 2020
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE |
| |group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
Nandakumar & Jennings Expires 20 June 2021 [Page 79]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 96 100 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] - Send only video stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:96 H264/90000 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:96 profile-level-id=4d0028; packetization-mode=1;max-fs=8040 |[RFC6184]H.264 Non Scalable |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:100 H264-SVC/90000 |[RFC6190] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:100 profile-level-id=53001f;packetization-mode=0 |[RFC6190] H.264 Scalable Encoding |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 29: 5.3.2 SDP Offer with SVC
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 80]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
Nandakumar & Jennings Expires 20 June 2021 [Page 81]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 100 |BUNDLE accepted. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] - Receive only video stream |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:100 H264-SVC/90000 |[RFC6190] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:100 profile-level-id=53001f;packetization-mode=0 |[RFC6190] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 30: 5.3.2 SDP Answer with SVC
5.3.3. Successful Simulcast Video Session with Retransmission
This section shows an SDP offer/answer exchange for a simulcast
scenario with 3 resolutions and has [RFC4588]-style retransmission
flows.
The [I-D.ietf-mmusic-rid] framework is used to specify all the (3)
resolution constraints mapped to a single Payload Type (98).
Nandakumar & Jennings Expires 20 June 2021 [Page 82]
Internet-Draft SDP4WebRTC December 2020
The [I-D.ietf-mmusic-sdp-simulcast] framework identifies the
simulcast streams via their 'rid' identifiers.
Simulcast Streams with Retransmission
Alice Bob
| |
| |
|Alice offers single audio and simulcasted video streams |
| |
| |
| offer(Audio:Opus Video:VP8 with 3 resolutions) |
| and RTX stream |
|-------------------------------------------------------->|
| |
| |
| answer (Bob accepts Alice's offer) |
|<--------------------------------------------------------|
| |
| |
|One-way 1 Opus, 3 VP8 and RTX video streams, all muxed |
|.........................................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 83]
Internet-Draft SDP4WebRTC December 2020
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE |
| |group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 103 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 84]
Internet-Draft SDP4WebRTC December 2020
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:103 rtx/90000 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:103 apt=98;rtx-time=200 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 send pt=98;max-fs=921600;max-fr=30 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:2 send pt=98;max-fs=614400;max-fr=15 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:3 send pt=98;max-fs=230400;max-fr=30 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:send 1;2;3 |[I-D.ietf-mmusic-sdp-simulcast] Alice |
| |can send all the simulcast streams |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 31: 5.3.3 SDP Offer w/Simulcast, RTX
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 85]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Bob supports grouping of m=lines under |
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
Nandakumar & Jennings Expires 20 June 2021 [Page 86]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 103 |BUNDLE accepted |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:103 rtx/90000 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:103 apt=98;rtx-time=200 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 recv pt=98;max-fs=921600;max-fr=30 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:2 recv pt=98;max-fs=614400;max-fr=15 |[I-D.ietf-mmusic-rid] |
Nandakumar & Jennings Expires 20 June 2021 [Page 87]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:3 recv pt=98;max-fs=230400;max-fr=30 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:recv 1;2;3 |[I-D.ietf-mmusic-sdp-simulcast] Bob |
| |accepts the offered simulcast streams |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 32: 5.3.3 SDP Answer w/Simulcast, RTX
5.3.4. Successful One-way Simulcast Session with 2 resolutions and RTX
- One resolution rejected
This section shows an SDP offer/answer exchange for a simulcast
scenario with two resolutions.
It also showcases where Bob rejects one of the Simulcast Video
streams, which results in the rejection of the associated repair
stream implicitly.
Simulcast Streams with Retransmission Rejected
Alice Bob
| |
| |
|Alice offers single audio and simulcasted video streams |
| with bundle-only for video |
| |
| |
|offer(Audio:Opus Video:VP8 with 2 resolutions,RTX Stream)|
|-------------------------------------------------------->|
| |
| |Bob accepts 1
| |simulcast,rtx
| |rejects the
| |other
| answer(Audio:Opus Video:VP8 with 1 res & RTX Stream) |
|<--------------------------------------------------------|
| |
| |
| One-way audio and video session and its associated |
| RTX stream, all multiplexed |
|.........................................................|
| |
| |
Nandakumar & Jennings Expires 20 June 2021 [Page 88]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
Nandakumar & Jennings Expires 20 June 2021 [Page 89]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 100 101 103 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:100 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:101 rtx/90000 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:103 rtx/90000 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30;max-fs=8040 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:100 max-fr=15;max-fs=1200 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:101 apt=98;rtx-time=200 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:103 apt=100;rtx-time=200 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
Nandakumar & Jennings Expires 20 June 2021 [Page 90]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 send pt=98 |[I-D.ietf-mmusic-rid] 1:1 mapping |
| |between the PT and the 'rid' identifier |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:2 send pt=100 |[I-D.ietf-mmusic-rid] 1:1 mapping |
| |between the PT and the 'rid' identifier |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:send 1;2 |[I-D.ietf-mmusic-sdp-simulcast] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 33: 5.3.4 SDP Offer w/Simulcast, RTX
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Bob supports grouping of m=lines under |
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 91]
Internet-Draft SDP4WebRTC December 2020
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 101 |BUNDLE accepted |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 92]
Internet-Draft SDP4WebRTC December 2020
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:101 rtx/90000 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:101 apt=98;rtx-time=200 |[RFC4588] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 recv pt=98 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:recv 1 |[I-D.ietf-mmusic-sdp-simulcast] Bob |
| |rejects the second simulcast stream and |
| |the associated rtx stream. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 34: 5.3.4 SDP Answer (one Simulcast Rejected)
5.3.5. Simulcast Video Session with Forward Error Correction
This section shows an SDP offer/answer exchange for a simulcast video
stream at two resolutions with [RFC8627] based forward error
correction mechanisms.
On completion of the offer/answer exchange mechanism, we end up with
one audio stream, 2 simulcast video streams, and associated FEC
stream(s), all of which are sent over a single 5-tuple.
Nandakumar & Jennings Expires 20 June 2021 [Page 93]
Internet-Draft SDP4WebRTC December 2020
Simulcast Streams with Forward Error Correction
Alice Bob
| |
| |
| |
|Alice offers single audio and simulcasted video streams |
|with bundle-only |
| |
| |
|offer(Audio:Opus Video:VP8 with 2 resolutions with FEC Streams)|
|-------------------------------------------------------------->|
| |
| |Bob
| |accepts
| |Alice's
| |offer
|answer(Audio:Opus Video:VP8 with 2 resolutions w/FEC Streams) |
|<--------------------------------------------------------------|
| |
|One-way Audio,Video session with 2 video streams and |
| associated FEC stream(s) |
|...............................................................|
| |
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 94]
Internet-Draft SDP4WebRTC December 2020
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 100 101 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 95]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:100 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:101 flexfec/90000 |[RFC8627] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30;max-fs=8040 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:100 max-fr=15;max-fs=1200 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:101 repair-window=200000 |[RFC8627] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 send pt=98 |[I-D.ietf-mmusic-rid] 1:1 mapping |
| |between the PT and the 'rid' identifier |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:2 send pt=100 |[I-D.ietf-mmusic-rid] 1:1 mapping |
| |between the PT and the 'rid' identifier |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:send 1;2 |[I-D.ietf-mmusic-sdp-simulcast] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 35: 5.3.5 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 96]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE |
| |group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 97]
Internet-Draft SDP4WebRTC December 2020
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667326 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 100 101 |BUNDLE accepted. |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=recvonly |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:100 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:101 flexfec/90000 |[RFC8627] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30;max-fs=8040 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:100 max-fr=15;max-fs=1200 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:101 repair-window=200000 |[RFC8627] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 98]
Internet-Draft SDP4WebRTC December 2020
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id |[I-D.ietf-avtext-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:1 recv pt=98 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rid:2 recv pt=100 |[I-D.ietf-mmusic-rid] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=simulcast:recv 1;2 |[I-D.ietf-mmusic-sdp-simulcast] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 36: 5.3.5 SDP Answer
5.4. Others
The examples in this section provide SDP offer/answer exchanges for a
variety of scenarios related to RTP Header extensions for conference
usages, Legacy Interop scenarios, and more.
5.4.1. Audio Session - Voice Activity Detection
This example shows Alice indicating the support of the RTP header
extension to include the audio level of the audio sample carried in
the RTP packet.
Nandakumar & Jennings Expires 20 June 2021 [Page 99]
Internet-Draft SDP4WebRTC December 2020
Two-way Audio with VAD
Alice Bob
| |
| |
|Alice indicates support for including |
|audio level in RTP header |
| |
| offer(Audio:Opus,PCMU,PCMA) |
|---------------------------------------->|
| |
| |
| answer(Audio:Opus,PCMU,PCMA) |
|<----------------------------------------|
| |
| |Bob accepts and
| |indicates his
| |support as well
| |
| Two-way Opus Audio |
|.........................................|
| |
|Per packet audio-level is included in the|
|RTP header |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
Nandakumar & Jennings Expires 20 June 2021 [Page 100]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 37: 5.4.1 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 101]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Bob can send and recv audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] - Bob accepts only Opus Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
Nandakumar & Jennings Expires 20 June 2021 [Page 102]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] - Bob can perform RTP/RTCP |
| |Muxing on port 49203 |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 38: 5.4.1 SDP Answer
5.4.2. Audio Conference - Voice Activity Detection
This example of SDP highlights the RTP header RTP header extension
that allows RTP-level mixers in audio conferences to deliver
information about the audio level of individual participants.
Nandakumar & Jennings Expires 20 June 2021 [Page 103]
Internet-Draft SDP4WebRTC December 2020
Audio Conference with VAD Support
Alice Mixer
| |
|Alice indicates her interest in audio |
|levels for the contributing sources |
| |
|offer(Audio:Opus,PCMU,PCMA) |
|---------------------------------------->|
| |
| |
|answer(Audio:Opus,PCMU,PCMA) |
|<----------------------------------------|
| |
| |Mixer indicates
| |it can provide
| |audio-levels
|Two-way Opus Audio |
|.........................................|
| |
|audio-levels per CSRCS are included in |
|the RTP header |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
Nandakumar & Jennings Expires 20 June 2021 [Page 104]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] - Alice can send and recv |
| |audio |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1/recvonly urn:ietf:params:rtp-hdrext:csrc-audio-level |[RFC6465] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 39: 5.4.2 SDP Offer
Nandakumar & Jennings Expires 20 June 2021 [Page 105]
Internet-Draft SDP4WebRTC December 2020
+===============================================================================================+========================================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] - Session Origin Information |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE audio |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 0 8 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:audio |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:0 PCMU/8000 |[RFC3551] PCMU Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:8 PCMA/8000 |[RFC3551] PCMA Audio Codec |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:CJ6FF9ZZMJW7MDRJIR7XVIQM48GE1G31 |[I-D.ietf-mmusic-dtls-sdp] |
Nandakumar & Jennings Expires 20 June 2021 [Page 106]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1/sendonly urn:ietf:params:rtp-hdrext:csrc-audio-level |[RFC6465] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=end-of-candidates |[I-D.ietf-mmusic-trickle-ice] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 40: 5.4.2 SDP Answer
5.4.3. Successful Legacy Interop Fallback with bundle-only
In the scenario described below, Alice is a multi-stream capable
WebRTC endpoint, while Bob is a legacy VOIP endpoint. The SDP offer/
answer exchange demonstrates successful session setup with fallback
to an audio-only stream negotiated via the bundle-only framework
between the endpoints. Specifically:
* The offer from Alice describes 2 cameras via 2 video m=lines with
both marked as bundle-only.
* Bob doesn't recognize the BUNDLE mechanism and since Alice has
marked both the video m=lines with port 0, Bob accepts just the
audio stream from Alice.
NOTE: Alice is unaware of whether Bob supports the BUNDLE framework.
Alice includes separate RTP/RTCP ports and candidate information.
Nandakumar & Jennings Expires 20 June 2021 [Page 107]
Internet-Draft SDP4WebRTC December 2020
Successful Two-way WebRTC <-> VOIP Interop
Alice Bob
| |
| |
| Alice is a multistream capable WebRTC endpoint |
| & Bob is behind a legacy VOIP system |
| |
|offer(Audio:Opus Video:1 VP8,1 H.264 Stream) with |
| bundle-only |
|---------------------------------------------------------->|
| Alice marks both the video streams as bundle-only |
| |
| |
| answer(Audio:Opus) |
|<----------------------------------------------------------|
| |Bob
| |accepts the
| |audio
| |stream,
| |since he
| |doesn't
| |recognize
| |bundle-only
| |
| Two-way Opus Audio |
|...........................................................|
| |
| |
+===============================================================================================+========================================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+========================================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:BUNDLE m0 m1 m2 |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
| |Alice supports grouping of m=lines under|
| |BUNDLE semantics |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=group:LS m0 m1 |[RFC5888] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:trickle |[I-D.ietf-mmusic-trickle-ice] |
Nandakumar & Jennings Expires 20 June 2021 [Page 108]
Internet-Draft SDP4WebRTC December 2020
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-options:ice2 |[RFC8445] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Audio m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=audio 54609 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m0 |[RFC5888] Audio m=line part of BUNDLE |
| |group with a unique port number |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma ta |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (ta) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=setup:actpass |[RFC5763] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=tls-id:89J2LRATQ3ULA24G9AHWVR31VJWSLB68 |[I-D.ietf-mmusic-dtls-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp:64678 IN IP4 203.0.113.141 |[RFC3605] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 61665 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=candidate:0 1 UDP 2113667326 192.0.2.4 61667 typ host |[I-D.ietf-mmusic-ice-sip-sdp] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 109]
Internet-Draft SDP4WebRTC December 2020
|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] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video-1 m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m1 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tb |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tb) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:98 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=imageattr:98 [x=1280,y=720] |[RFC6236] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:98 max-fr=30 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|****** Video-2 m=line ********* |***************************** |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 101 |bundle-only video line with port number |
| |set to zero |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=bundle-only |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=mid:m2 |[RFC5888] Video m=line part of BUNDLE |
| |group |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=msid:ma tc |Identifies MediaStream ID (ma) and |
| |MediaStreamTrack ID (tc) |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 110]
Internet-Draft SDP4WebRTC December 2020
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtpmap:101 H264/90000 |[RFC6184] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=fmtp:101 profile-level-id=4d0028;packetization-mode=1 |[RFC6184]Camera-2,Encoding-1 Resolution |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=rtcp-fb:* ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+----------------------------------------+
|a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid |[I-D.ietf-mmusic-sdp-bundle-negotiation]|
+-----------------------------------------------------------------------------------------------+----------------------------------------+
Table 41: 5.4.3 SDP Simulcast bundle-only
+===============================================================================================+=============================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+=============================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|o=- 20519 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Audio m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=audio 49203 UDP/TLS/RTP/SAVPF 109 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp:60065 IN IP4 203.0.113.141 |[RFC3605] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtpmap:109 opus/48000/2 |[RFC7587] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=maxptime:120 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
Nandakumar & Jennings Expires 20 June 2021 [Page 111]
Internet-Draft SDP4WebRTC December 2020
|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| |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=setup:active |[RFC5763] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level |[RFC6464] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 51556 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 2 UDP 2113667326 198.51.100.7 51558 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Video m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 98 |Bob doesn't recognize bundle-|
| |only and hence the m=line is |
| |rejected implicitly due to |
| |port 0 |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Video m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=video 0 UDP/TLS/RTP/SAVPF 101 |Bob doesn't recognize bundle-|
| |only and hence the m=line is |
| |rejected implicitly due to |
| |port 0 |
+-----------------------------------------------------------------------------------------------+-----------------------------+
Table 42: 5.4.3 SDP Answer
5.4.4. Legacy Interop with RTP/AVP profile
In the scenario described below, Alice is a legacy endpoint that
sends an [RFC3264] offer with RTP/AVP-based audio and video
descriptions along with a DTLS fingerprint and RTCP feedback
information.
On the other hand, Bob, being a WebRTC endpoint, follows the
procedures in section 5.1.2 of [I-D.ietf-rtcweb-jsep] and accepts the
Alice's offer for a DTLS-SRTP-based session with RTCP feedback.
Nandakumar & Jennings Expires 20 June 2021 [Page 112]
Internet-Draft SDP4WebRTC December 2020
Successful Two-way WebRTC <-> VOIP Interop
Alice Bob
| |
| |
|Alice is a legacy VOIP endpoint & Bob is a WebRTC endpoint |
| |
| |
| |
| offer(Audio:Opus Video:H.264) |
|----------------------------------------------------------->|
| |
| |
|Alice includes : |
|Legacy-compliant media description (RTP/AVP) with DTLS |
|fingerprint and RTCP feedback support |
| |
| answer(Audio:Opus, Video:H.264) |
|<-----------------------------------------------------------|
| |Bob
| |accepts
| |"legacy
| |-compliant"
| |m=line
| |
| |
| Two-way Opus Audio, H.264 Video |
|............................................................|
| Session also supports RTP/RTCP Mux, RTCP Feedback |
| |
+===============================================================================================+=============================+
|Offer SDP Contents |RFC#/Notes |
+===============================================================================================+=============================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|o=- 20518 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-ufrag:074c6550 |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-pwd:a28a397a4c3f31747d1ee3474af08a068 |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-rsize |[RFC5506] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 113]
Internet-Draft SDP4WebRTC December 2020
|****** Audio m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=audio 54732 RTP/AVP 109 |[RFC4566]Alice includes RTP/ |
| |AVP audio stream description |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtpmap:109 opus/48000 | |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ptime:20 | |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-mux |[RFC5761]Alice still includes|
| |RTP/RTCP Mux support |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp:64678 IN IP4 203.0.113.141 |[RFC3605] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 1 UDP 2113667327 192.0.2.4 54732 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 2 UDP 2113667326 192.0.2.4 64678 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Video m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=video 62445 RTP/AVP 120 |[RFC4566]Alice includes RTP/ |
| |AVP video stream description |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|c=IN IP4 203.0.113.141 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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| |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-mux |[RFC5761]Alice intends to |
| |perform RTP/RTCP Mux |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp:54721 IN IP4 203.0.113.141 |[RFC3605] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
Nandakumar & Jennings Expires 20 June 2021 [Page 114]
Internet-Draft SDP4WebRTC December 2020
|a=candidate:0 1 UDP 2113667327 192.0.2.4 62445 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 2 UDP 2113667326 192.0.2.4 54721 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] Alice indicates |
| |support for Picture Loss |
| |Indication and NACK RTCP |
| |feedback |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
Table 43: 5.4.5 SDP Offer
+===============================================================================================+=============================+
|Answer SDP Contents |RFC#/Notes |
+===============================================================================================+=============================+
|v=0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|o=- 16833 0 IN IP4 0.0.0.0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|s=- |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|t=0 0 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Audio m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=audio 49203 RTP/AVP 109 |[RFC4566] Bob accepts RTP/ |
| |AVP-based audio stream |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtpmap:109 opus/48000 | |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ptime:20 | |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-ufrag:c300d85b |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-pwd:de4e99bd291c325921d5d47efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
Nandakumar & Jennings Expires 20 June 2021 [Page 115]
Internet-Draft SDP4WebRTC December 2020
|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| |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 49203 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|****** Video m=line ********* |*****************************|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|m=video 63130 RTP/AVP 120 |[RFC4566] Bob accepts RTP/ |
| |AVP-based video stram |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|c=IN IP4 203.0.113.77 |[RFC4566] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtpmap:120 VP8/90000 |[RFC7741] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=sendrecv |[RFC3264] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-ufrag:e39091na |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=ice-pwd:dbc325921d5dd29e4e99147efbabd9a2 |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=fingerprint:sha-256 |[RFC8122] |
|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 | |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-mux |[RFC5761] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=candidate:0 1 UDP 2113667327 198.51.100.7 63130 typ host |[I-D.ietf-mmusic-ice-sip-sdp]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|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]|
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-fb:120 nack pli |[RFC4585] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
|a=rtcp-fb:120 ccm fir |[RFC5104] |
+-----------------------------------------------------------------------------------------------+-----------------------------+
Table 44: 5.4.5 SDP Answer
6. IANA Considerations
This document requires no actions from IANA.
Nandakumar & Jennings Expires 20 June 2021 [Page 116]
Internet-Draft SDP4WebRTC December 2020
7. Security Considerations
The IETF has published separate documents
[I-D.ietf-rtcweb-security-arch] [I-D.ietf-rtcweb-security] describing
the security architecture for WebRTC as a whole.
In addition, since the SDP offer and answer messages can contain
private information about addresses and sessions to be established
between parties, if this information needs to be kept private, some
security mechanism (using the TLS transport, for example) in the
protocol used to carry the offers and answers must be used.
8. Acknowledgments
We would like to thank Justin Uberti, Chris Flo, Paul Kyzivat, Nils
Ohlmeier, Flemming Andreason, Magnus Westerlund for their detailed
review and inputs. Thanks to Adam Roach for providing a syntax
validation script to help highlight syntax and formatting errors.
Thanks to experts at IESG for careful review and feedback.
Thanks to Peter Yee for a detailed Genart review and suggestions.
9. Change Log
[RFC EDITOR NOTE: Please remove this section when publishing]
Changes from draft-ietf-rtcweb-sdp-11
* Address Magnus Westerlund Review comments.
* Remove reference to RFC5245 and use ice-sip-sdp instead.
* Add an ice2 example for RFC8445.
Changes from draft-ietf-rtcweb-sdp-09
* Review feedback incorporated from Flemming Andreason in
Section 5.4
Changes from draft-ietf-rtcweb-sdp-08
* Fixed formatting and syntax issues pointed out by Adam Roach's
validator script. List of issues are here:
https://github.com/fluffy/ietf/issues?q=is%3Aissue+is%3Aclosed
* Align examples to match latest bundle specification as pointed by
Christer Holmberg
Nandakumar & Jennings Expires 20 June 2021 [Page 117]
Internet-Draft SDP4WebRTC December 2020
Changes from draft-ietf-rtcweb-sdp-07
* Incorporate review from Nils.
Changes from draft-ietf-rtcweb-sdp-06
* Keep Alive Version.
Changes from draft-ietf-rtcweb-sdp-05
* Title change.
Changes from draft-ietf-rtcweb-sdp-04
* Add IPv6 Example.
* Add a=rtcp-mux-only and fix a=rtcp in examples.
* Fix Idnits.
* Add Security Considerations section.
Changes from draft-ietf-rtcweb-sdp-02 to draft-ietf-rtcweb-sdp-04
* Alignment with JSEP-19.
* Added a=identity example.
* Added a=dtls-id, a=group:LS in the examples.
* Added Appendix section to capture list of checklists for the
attributes.
* Removed SSRC lines to match JSEP-19.
* Closed open issues on a=fingerprint, a=rtcp and a=rtcp-mux-only
from ietf96 to reflect JSEP-19.
* Simplied Inter-op example
Changes from draft-ietf-rtcweb-sdp-02
* Version increment to avoid expiry
Changes from draft-ietf-rtcweb-sdp-01
* Complete face-lift
Nandakumar & Jennings Expires 20 June 2021 [Page 118]
Internet-Draft SDP4WebRTC December 2020
* Added visual markers around m=lines to indicate their type, added
spacing between tables for aiding readers
* Updated table names to indicate offer vs answer
* Attempted to align to latest versions of SCTP, BUNDLE, MSID drafts
* Added mid header extensions to all the lines
* Harmonized BUNDLE semantics and conventions updated.
Changes from draft-ietf-rtcweb-sdp-00
* Updated Simulcast/FEC/RTX examples to use RID framework
* Fixed BUNDLE references for a=bundle-only
Changes from draft-nandakumar-rtcweb-sdp-08
* Fixed typos
* Moved to a WG version
Changes from draft-nandakumar-rtcweb-sdp-06 and draft-nandakumar-
rtcweb-sdp-07
* Added clarification on Call-Flow diagram usage
* More cleanups
Changes from draft-nandakumar-rtcweb-sdp-05
* Added Ascii chart for all the SDP Eaxamples
* Improved text and updated SDP Examples for Simulcast and FEC
* Fixed MediaStream ID Semantics SDP Errors
Changes from draft-nandakumar-rtcweb-sdp-04
* Interim version of the draft to avert expiry
* Corrected placement of c= line as per RFC4566
* Updated simulcast SDP to reflect draft-westerlund-avtcore-rtp-
simulcast-04
Changes from draft-nandakumar-rtcweb-sdp-03
Nandakumar & Jennings Expires 20 June 2021 [Page 119]
Internet-Draft SDP4WebRTC December 2020
* Aligned more closely with JSEP version -05
* Added Conventions to help readability
* Add more examples to clarify BUNDLE use cases
Changes from draft-nandakumar-rtcweb-sdp-02
* Major refactoring was done to group the examples in to categories
* SDP was updated through out to reflect JSEP-04 style of defining
attributes per m=line than at the session level.
* Added 8 new examples.
* Updated references for Trickle, Unified Plan
* Add section to explain the syntax conventions followed in the
examples.
Changes from draft-nandakumar-rtcweb-sdp-01
* Updated references to OPUS RTP Payload Specification.
* Updated BUNDLE examples based on the latest draft-ietf-mmusic-sdp-
bundle-negotiation.
* Added examples for multiple audio and video flows based on Unified
Plan.
* Added new examples for RTX and FEC streams
* Updated Simulcast and SVC examples
Changes from draft-nandakumar-rtcweb-sdp-00
* Fixed editorial comments on the mailing list.
* Updated Data-channel SDP information based on draft-ietf-mmusic-
sctp-sdp.
* Updated BUNDLE examples based on draft-ietf-mmusic-sdp-bundle-
negotiation.
* Added examples for few more BUNDLE variants
* Added new examples for Simulcast and SVC
Nandakumar & Jennings Expires 20 June 2021 [Page 120]
Internet-Draft SDP4WebRTC December 2020
10. Informative References
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
DOI 10.17487/RFC3264, June 2002,
<https://www.rfc-editor.org/info/rfc3264>.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
July 2006, <https://www.rfc-editor.org/info/rfc4566>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC5506] Johansson, I. and M. Westerlund, "Support for Reduced-Size
Real-Time Transport Control Protocol (RTCP): Opportunities
and Consequences", RFC 5506, DOI 10.17487/RFC5506, April
2009, <https://www.rfc-editor.org/info/rfc5506>.
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551,
DOI 10.17487/RFC3551, July 2003,
<https://www.rfc-editor.org/info/rfc3551>.
[RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description
Protocol (SDP) Content Attribute", RFC 4796,
DOI 10.17487/RFC4796, February 2007,
<https://www.rfc-editor.org/info/rfc4796>.
[RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and
Control Packets on a Single Port", RFC 5761,
DOI 10.17487/RFC5761, April 2010,
<https://www.rfc-editor.org/info/rfc5761>.
[RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework
for Establishing a Secure Real-time Transport Protocol
(SRTP) Security Context Using Datagram Transport Layer
Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May
2010, <https://www.rfc-editor.org/info/rfc5763>.
[RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman,
"Codec Control Messages in the RTP Audio-Visual Profile
with Feedback (AVPF)", RFC 5104, DOI 10.17487/RFC5104,
February 2008, <https://www.rfc-editor.org/info/rfc5104>.
Nandakumar & Jennings Expires 20 June 2021 [Page 121]
Internet-Draft SDP4WebRTC December 2020
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
"Extended RTP Profile for Real-time Transport Control
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
DOI 10.17487/RFC4585, July 2006,
<https://www.rfc-editor.org/info/rfc4585>.
[RFC4588] Rey, J., Leon, D., Miyazaki, A., Varsa, V., and R.
Hakenberg, "RTP Retransmission Payload Format", RFC 4588,
DOI 10.17487/RFC4588, July 2006,
<https://www.rfc-editor.org/info/rfc4588>.
[RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description
Protocol (SDP) Grouping Framework", RFC 5888,
DOI 10.17487/RFC5888, June 2010,
<https://www.rfc-editor.org/info/rfc5888>.
[RFC6236] Johansson, I. and K. Jung, "Negotiation of Generic Image
Attributes in the Session Description Protocol (SDP)",
RFC 6236, DOI 10.17487/RFC6236, May 2011,
<https://www.rfc-editor.org/info/rfc6236>.
[RFC6184] Wang, Y.-K., Even, R., Kristensen, T., and R. Jesup, "RTP
Payload Format for H.264 Video", RFC 6184,
DOI 10.17487/RFC6184, May 2011,
<https://www.rfc-editor.org/info/rfc6184>.
[RFC6190] Wenger, S., Wang, Y.-K., Schierl, T., and A.
Eleftheriadis, "RTP Payload Format for Scalable Video
Coding", RFC 6190, DOI 10.17487/RFC6190, May 2011,
<https://www.rfc-editor.org/info/rfc6190>.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, <https://www.rfc-editor.org/info/rfc3550>.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002,
<https://www.rfc-editor.org/info/rfc3261>.
[RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute
in Session Description Protocol (SDP)", RFC 3605,
DOI 10.17487/RFC3605, October 2003,
<https://www.rfc-editor.org/info/rfc3605>.
Nandakumar & Jennings Expires 20 June 2021 [Page 122]
Internet-Draft SDP4WebRTC December 2020
[RFC4733] Schulzrinne, H. and T. Taylor, "RTP Payload for DTMF
Digits, Telephony Tones, and Telephony Signals", RFC 4733,
DOI 10.17487/RFC4733, December 2006,
<https://www.rfc-editor.org/info/rfc4733>.
[RFC6464] Lennox, J., Ed., Ivov, E., and E. Marocco, "A Real-time
Transport Protocol (RTP) Header Extension for Client-to-
Mixer Audio Level Indication", RFC 6464,
DOI 10.17487/RFC6464, December 2011,
<https://www.rfc-editor.org/info/rfc6464>.
[RFC6465] Ivov, E., Ed., Marocco, E., Ed., and J. Lennox, "A Real-
time Transport Protocol (RTP) Header Extension for Mixer-
to-Client Audio Level Indication", RFC 6465,
DOI 10.17487/RFC6465, December 2011,
<https://www.rfc-editor.org/info/rfc6465>.
[RFC7587] Spittka, J., Vos, K., and JM. Valin, "RTP Payload Format
for the Opus Speech and Audio Codec", RFC 7587,
DOI 10.17487/RFC7587, June 2015,
<https://www.rfc-editor.org/info/rfc7587>.
[RFC7656] Lennox, J., Gross, K., Nandakumar, S., Salgueiro, G., and
B. Burman, Ed., "A Taxonomy of Semantics and Mechanisms
for Real-Time Transport Protocol (RTP) Sources", RFC 7656,
DOI 10.17487/RFC7656, November 2015,
<https://www.rfc-editor.org/info/rfc7656>.
[RFC7741] Westin, P., Lundin, H., Glover, M., Uberti, J., and F.
Galligan, "RTP Payload Format for VP8 Video", RFC 7741,
DOI 10.17487/RFC7741, March 2016,
<https://www.rfc-editor.org/info/rfc7741>.
[RFC7826] Schulzrinne, H., Rao, A., Lanphier, R., Westerlund, M.,
and M. Stiemerling, Ed., "Real-Time Streaming Protocol
Version 2.0", RFC 7826, DOI 10.17487/RFC7826, December
2016, <https://www.rfc-editor.org/info/rfc7826>.
[RFC8122] Lennox, J. and C. Holmberg, "Connection-Oriented Media
Transport over the Transport Layer Security (TLS) Protocol
in the Session Description Protocol (SDP)", RFC 8122,
DOI 10.17487/RFC8122, March 2017,
<https://www.rfc-editor.org/info/rfc8122>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
Nandakumar & Jennings Expires 20 June 2021 [Page 123]
Internet-Draft SDP4WebRTC December 2020
[RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive
Connectivity Establishment (ICE): A Protocol for Network
Address Translator (NAT) Traversal", RFC 8445,
DOI 10.17487/RFC8445, July 2018,
<https://www.rfc-editor.org/info/rfc8445>.
[RFC8627] Zanaty, M., Singh, V., Begen, A., and G. Mandyam, "RTP
Payload Format for Flexible Forward Error Correction
(FEC)", RFC 8627, DOI 10.17487/RFC8627, July 2019,
<https://www.rfc-editor.org/info/rfc8627>.
[I-D.ietf-mmusic-sdp-bundle-negotiation]
Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", Work in Progress, Internet-
Draft, draft-ietf-mmusic-sdp-bundle-negotiation-54, 14
December 2018, <http://www.ietf.org/internet-drafts/draft-
ietf-mmusic-sdp-bundle-negotiation-54.txt>.
[I-D.ietf-mmusic-sdp-simulcast]
Burman, B., Westerlund, M., Nandakumar, S., and M. Zanaty,
"Using Simulcast in SDP and RTP Sessions", Work in
Progress, Internet-Draft, draft-ietf-mmusic-sdp-simulcast-
14, 5 March 2019, <http://www.ietf.org/internet-drafts/
draft-ietf-mmusic-sdp-simulcast-14.txt>.
[I-D.ietf-mmusic-rid]
Roach, A., "RTP Payload Format Restrictions", Work in
Progress, Internet-Draft, draft-ietf-mmusic-rid-15, 15 May
2018, <http://www.ietf.org/internet-drafts/draft-ietf-
mmusic-rid-15.txt>.
[I-D.ietf-mmusic-ice-sip-sdp]
Petit-Huguenin, M., Nandakumar, S., Holmberg, C., Keranen,
A., and R. Shpount, "Session Description Protocol (SDP)
Offer/Answer procedures for Interactive Connectivity
Establishment (ICE)", Work in Progress, Internet-Draft,
draft-ietf-mmusic-ice-sip-sdp-39, 13 August 2019,
<http://www.ietf.org/internet-drafts/draft-ietf-mmusic-
ice-sip-sdp-39.txt>.
[I-D.ietf-rtcweb-jsep]
Uberti, J., Jennings, C., and E. Rescorla, "JavaScript
Session Establishment Protocol", Work in Progress,
Internet-Draft, draft-ietf-rtcweb-jsep-26, 27 February
2019, <http://www.ietf.org/internet-drafts/draft-ietf-
rtcweb-jsep-26.txt>.
Nandakumar & Jennings Expires 20 June 2021 [Page 124]
Internet-Draft SDP4WebRTC December 2020
[I-D.ietf-mmusic-trickle-ice]
Ivov, E., Rescorla, E., and J. Uberti, "Trickle ICE:
Incremental Provisioning of Candidates for the Interactive
Connectivity Establishment (ICE) Protocol", Work in
Progress, Internet-Draft, draft-ietf-mmusic-trickle-ice-
02, 15 January 2015, <http://www.ietf.org/internet-drafts/
draft-ietf-mmusic-trickle-ice-02.txt>.
[I-D.ietf-mmusic-msid]
Alvestrand, H., "WebRTC MediaStream Identification in the
Session Description Protocol", Work in Progress, Internet-
Draft, draft-ietf-mmusic-msid-17, 13 December 2018,
<http://www.ietf.org/internet-drafts/draft-ietf-mmusic-
msid-17.txt>.
[I-D.ietf-mmusic-sctp-sdp]
Holmberg, C., Shpount, R., Loreto, S., and G. Camarillo,
"Session Description Protocol (SDP) Offer/Answer
Procedures For Stream Control Transmission Protocol (SCTP)
over Datagram Transport Layer Security (DTLS) Transport.",
Work in Progress, Internet-Draft, draft-ietf-mmusic-sctp-
sdp-26, 20 April 2017, <http://www.ietf.org/internet-
drafts/draft-ietf-mmusic-sctp-sdp-26.txt>.
[I-D.ietf-rtcweb-data-channel]
Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data
Channels", Work in Progress, Internet-Draft, draft-ietf-
rtcweb-data-channel-13, 4 January 2015,
<http://www.ietf.org/internet-drafts/draft-ietf-rtcweb-
data-channel-13.txt>.
[I-D.ietf-mmusic-mux-exclusive]
Holmberg, C., "Indicating Exclusive Support of RTP/RTCP
Multiplexing using SDP", Work in Progress, Internet-Draft,
draft-ietf-mmusic-mux-exclusive-12, 5 May 2017,
<http://www.ietf.org/internet-drafts/draft-ietf-mmusic-
mux-exclusive-12.txt>.
[I-D.ietf-mmusic-dtls-sdp]
Holmberg, C. and R. Shpount, "Session Description Protocol
(SDP) Offer/Answer Considerations for Datagram Transport
Layer Security (DTLS) and Transport Layer Security (TLS)",
Work in Progress, Internet-Draft, draft-ietf-mmusic-dtls-
sdp-32, 29 October 2017, <http://www.ietf.org/internet-
drafts/draft-ietf-mmusic-dtls-sdp-32.txt>.
Nandakumar & Jennings Expires 20 June 2021 [Page 125]
Internet-Draft SDP4WebRTC December 2020
[I-D.ietf-rtcweb-security-arch]
Rescorla, E., "WebRTC Security Architecture", Work in
Progress, Internet-Draft, draft-ietf-rtcweb-security-arch-
20, 22 July 2019, <http://www.ietf.org/internet-drafts/
draft-ietf-rtcweb-security-arch-20.txt>.
[I-D.ietf-rtcweb-security]
Rescorla, E., "Security Considerations for WebRTC", Work
in Progress, Internet-Draft, draft-ietf-rtcweb-security-
12, 5 July 2019, <http://www.ietf.org/internet-drafts/
draft-ietf-rtcweb-security-12.txt>.
[I-D.ietf-avtext-rid]
Roach, A., Nandakumar, S., and P. Thatcher, "RTP Stream
Identifier Source Description (SDES)", Work in Progress,
Internet-Draft, draft-ietf-avtext-rid-09, 6 October 2016,
<http://www.ietf.org/internet-drafts/draft-ietf-avtext-
rid-09.txt>.
[WebRTC] W3C, "WebRTC 1.0: Real-time Communication Between
Browsers",
<http://dev.w3.org/2011/webrtc/editor/webrtc.html> .
Appendix A. Appendix
A.1. JSEP SDP Attributes Checklist
This section compiles a high-level checklist of the required SDP
attributes to be verified against the examples defined in this
specification. The goal here is to ensure that the examples are
compliant with the rules defined in section 5 of the
[I-D.ietf-rtcweb-jsep] specification.
A.1.1. Common Checklist
This subsection lists SDP attributes that mostly apply at the session
level.
* v=0 MUST be the first SDP line.
* o= line MUST follow with values '-' for username, a 64-bit value
for session id and dummy values for 'nettype', 'addrtype', and
'unicast-address' (for example: IN IP4 0.0.0.0).
* o= line MUST have the session version incremented in the case of
subsequent offers.
* s= MUST be the third line and have the value of '-'.
Nandakumar & Jennings Expires 20 June 2021 [Page 126]
Internet-Draft SDP4WebRTC December 2020
* t= line MUST follow with the values for 'start-time' and 'stop-
time' set to zeroes.
* a=identity line MUST be included at the session level if WebRTC
Identity mechanism is being used.
* a=ice-options:trickle MUST be present at the session level in all
offers and answers when supported.
* a=ice-options:ice3 MUST be present at the session level in all
offers and answers when supported.
A.1.2. RTP Media Description Checklist
The following set of checklist items apply to RTP audio and video
media descriptions.
* The media description's port value MUST either be set to the dummy
value of '9' or MUST use the port from the default candidate, if
available.
* The media description's proto value MUST be 'UDP/TLS/RTP/SAVPF'
for JSEP offers.
* The JSEP answerer MUST support any combination of "RTP/[S]AVP[F]"
for interoperability scenarios as defined in section 5 of
[I-D.ietf-rtcweb-jsep]
* c= line MUST be the first line in a media description. A dummy
value of 'IN IP 0.0.0.0' is set if there are no candidates
gathered or its value MUST match the default candidate.
* a=mid attribute MUST be included.
* One of a=sendrecv/a=sendonly/a=recvonly/a=inactive SDP direction
attributes MUST be present.
* a=rtpmap and a=fmtp attributes per primary, retransmission, and
forward error correction media format MUST be included.
* a=rtcp-fb lines for each supported feedback mechanism MUST be
included when using RTP with feedback.
* a=imageattr can be optionally present for video media
descriptions.
Nandakumar & Jennings Expires 20 June 2021 [Page 127]
Internet-Draft SDP4WebRTC December 2020
* a=msid line MUST be included for all the media senders identifying
the MediaStreamTrack (i.e., when a=sendonly/a=sendrecv attribute
is present).
* a=extmap line identifying the RTP MID header extension" MUST be
present.
* a=extmap line for other supported RTP header extensions MUST be
included.
* a=rid line 'per encoding' with the direction of 'send' MUST be
included when further constraining the media format or multiple
encodings per media format is needed.
* a=simulcast line MUST be present if there exists more than one
'a=rid' lines for the media senders.
* a=bundle-only attribute MUST be present for media descriptions
that are impacted by various bundle policies (such as max-bundle/
balanced)
* For media descriptions that aren't "a=bundle-only" and that have
unique address, the following attributes MUST be present:
- a=ice-ufrag and a=ice-pwd
- a=fingerprint
- a=setup with value 'actpass' in the offers and a value of
'active'/'passive' in the answerer.
- a=tls-id
- a=rtcp
- a=rtcp-mux
- For offerers requiring RTCP to be multiplexed, 'a=rtcp-mux-
only' line
- a=rtcp-rsize
* a=group:BUNDLE line with all the 'mid' identifiers part of the
BUNDLE group is included at the session-level.
* a=group:LS session level attribute MUST be included wth the 'mid'
identifiers that are part of the same lip sync group.
Nandakumar & Jennings Expires 20 June 2021 [Page 128]
Internet-Draft SDP4WebRTC December 2020
A.1.3. Data Channel Media Description checklist
If a data channel is required, an 'application' type media
description MUST be included with the following properties:
* Media description's proto value MUST be 'UDP/DTLS/SCTP' in the
JSEP offers.
* A JSEP answerer MUST support reception of
'UDP/DTLS/SCTP'/'TCP/DTLS/SCTP'/'DTLS/SCTP' for backward
compatibility reasons.
* A value of 'webrtc-datachannel' MUST be used for the media
description 'fmt' value.
* a=mid line MUST be present.
* a=sctp-port with an SCTP port number MUST be included.
* a=max-message-size MAY be included, if appropriate.
Authors' Addresses
Suhas Nandakumar
Cisco
170 West Tasman Drive
San Jose, CA 95134
United States of America
Email: snandaku@cisco.com
Cullen Jennings
Cisco
170 West Tasman Drive
San Jose, CA 95134
United States of America
Phone: +1 408 421-9990
Email: fluffy@cisco.com
Nandakumar & Jennings Expires 20 June 2021 [Page 129]