draft-ietf-mmusic-sdp-bundle-negotiation-45.txt   draft-ietf-mmusic-sdp-bundle-negotiation-46.txt 
MMUSIC Working Group C. Holmberg MMUSIC Working Group C. Holmberg
Internet-Draft Ericsson Internet-Draft Ericsson
Updates: 3264 (if approved) H. Alvestrand Updates: 3264 (if approved) H. Alvestrand
Intended status: Standards Track Google Intended status: Standards Track Google
Expires: June 17, 2018 C. Jennings Expires: June 18, 2018 C. Jennings
Cisco Cisco
December 14, 2017 December 15, 2017
Negotiating Media Multiplexing Using the Session Description Protocol Negotiating Media Multiplexing Using the Session Description Protocol
(SDP) (SDP)
draft-ietf-mmusic-sdp-bundle-negotiation-45.txt draft-ietf-mmusic-sdp-bundle-negotiation-46.txt
Abstract Abstract
This specification defines a new Session Description Protocol (SDP) This specification defines a new Session Description Protocol (SDP)
Grouping Framework extension, 'BUNDLE'. The extension can be used Grouping Framework extension, 'BUNDLE'. The extension can be used
with the SDP Offer/Answer mechanism to negotiate the usage of a with the SDP Offer/Answer mechanism to negotiate the usage of a
single transport (5-tuple) for sending and receiving media described single transport (5-tuple) for sending and receiving media described
by multiple SDP media descriptions ("m=" sections). Such transport by multiple SDP media descriptions ("m=" sections). Such transport
is referred to as a BUNDLE transport, and the media is referred to as is referred to as a BUNDLE transport, and the media is referred to as
bundled media. The "m=" sections that use the BUNDLE transport form bundled media. The "m=" sections that use the BUNDLE transport form
skipping to change at page 2, line 10 skipping to change at page 2, line 10
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 17, 2018. This Internet-Draft will expire on June 18, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Applicability Statement . . . . . . . . . . . . . . . . . . . 7 4. Applicability Statement . . . . . . . . . . . . . . . . . . . 7
5. SDP Grouping Framework BUNDLE Extension . . . . . . . . . . . 7 5. SDP Grouping Framework BUNDLE Extension . . . . . . . . . . . 7
6. SDP 'bundle-only' Attribute . . . . . . . . . . . . . . . . . 8 6. SDP 'bundle-only' Attribute . . . . . . . . . . . . . . . . . 8
7. SDP Information Considerations . . . . . . . . . . . . . . . 9 7. SDP Information Considerations . . . . . . . . . . . . . . . 9
7.1. Connection Data (c=) . . . . . . . . . . . . . . . . . . 9 7.1. Connection Data (c=) . . . . . . . . . . . . . . . . . . 9
7.2. Bandwidth (b=) . . . . . . . . . . . . . . . . . . . . . 9 7.2. Bandwidth (b=) . . . . . . . . . . . . . . . . . . . . . 9
8. SDP Offer/Answer Procedures . . . . . . . . . . . . . . . . . 9 8. SDP Offer/Answer Procedures . . . . . . . . . . . . . . . . . 9
8.1. Mux Category Considerations . . . . . . . . . . . . . . . 10 8.1. Mux Category Considerations . . . . . . . . . . . . . . . 10
8.2. Generating the Initial SDP Offer . . . . . . . . . . . . 11 8.2. Generating the Initial SDP Offer . . . . . . . . . . . . 11
8.2.1. Suggesting the Offerer BUNDLE Address . . . . . . . . 12 8.2.1. Suggesting the Offerer BUNDLE Address . . . . . . . . 11
8.2.2. Example: Initial SDP Offer . . . . . . . . . . . . . 12 8.2.2. Example: Initial SDP Offer . . . . . . . . . . . . . 12
8.3. Generating the SDP Answer . . . . . . . . . . . . . . . . 13 8.3. Generating the SDP Answer . . . . . . . . . . . . . . . . 13
8.3.1. Answerer Selection of Offerer BUNDLE Address . . . . 14 8.3.1. Answerer Selection of Offerer BUNDLE Address . . . . 14
8.3.2. Answerer Selection of Answerer BUNDLE Address . . . . 15 8.3.2. Answerer Selection of Answerer BUNDLE Address . . . . 14
8.3.3. Moving A Media Description Out Of A BUNDLE Group . . 15 8.3.3. Moving A Media Description Out Of A BUNDLE Group . . 15
8.3.4. Rejecting a Media Description in a BUNDLE Group . . . 16 8.3.4. Rejecting a Media Description in a BUNDLE Group . . . 15
8.3.5. Example: SDP Answer . . . . . . . . . . . . . . . . . 17 8.3.5. Example: SDP Answer . . . . . . . . . . . . . . . . . 16
8.4. Offerer Processing of the SDP Answer . . . . . . . . . . 17 8.4. Offerer Processing of the SDP Answer . . . . . . . . . . 17
8.5. Modifying the Session . . . . . . . . . . . . . . . . . . 18 8.5. Modifying the Session . . . . . . . . . . . . . . . . . . 17
8.5.1. Suggesting a New Offerer BUNDLE Address . . . . . . . 18 8.5.1. Suggesting a New Offerer BUNDLE Address . . . . . . . 18
8.5.2. Adding a Media Description to a BUNDLE group . . . . 18 8.5.2. Adding a Media Description to a BUNDLE group . . . . 18
8.5.3. Moving a Media Description Out of a BUNDLE Group . . 19 8.5.3. Moving a Media Description Out of a BUNDLE Group . . 19
8.5.4. Disabling a Media Description in a BUNDLE Group . . . 19 8.5.4. Disabling a Media Description in a BUNDLE Group . . . 19
9. Protocol Identification . . . . . . . . . . . . . . . . . . . 20 9. Protocol Identification . . . . . . . . . . . . . . . . . . . 20
9.1. STUN, DTLS, SRTP . . . . . . . . . . . . . . . . . . . . 20 9.1. STUN, DTLS, SRTP . . . . . . . . . . . . . . . . . . . . 20
10. RTP Considerations . . . . . . . . . . . . . . . . . . . . . 21 10. RTP Considerations . . . . . . . . . . . . . . . . . . . . . 21
10.1. Single RTP Session . . . . . . . . . . . . . . . . . . . 21 10.1. Single RTP Session . . . . . . . . . . . . . . . . . . . 21
10.1.1. Payload Type (PT) Value Reuse . . . . . . . . . . . 22 10.1.1. Payload Type (PT) Value Reuse . . . . . . . . . . . 21
10.2. Associating RTP/RTCP Streams with Correct SDP Media 10.2. Associating RTP/RTCP Streams with Correct SDP Media
Description . . . . . . . . . . . . . . . . . . . . . . 22 Description . . . . . . . . . . . . . . . . . . . . . . 22
10.3. RTP/RTCP Multiplexing . . . . . . . . . . . . . . . . . 28 10.3. RTP/RTCP Multiplexing . . . . . . . . . . . . . . . . . 27
10.3.1. SDP Offer/Answer Procedures . . . . . . . . . . . . 28 10.3.1. SDP Offer/Answer Procedures . . . . . . . . . . . . 28
11. ICE Considerations . . . . . . . . . . . . . . . . . . . . . 30 11. ICE Considerations . . . . . . . . . . . . . . . . . . . . . 30
11.1. SDP Offer/Answer Procedures . . . . . . . . . . . . . . 31 11.1. SDP Offer/Answer Procedures . . . . . . . . . . . . . . 31
12. DTLS Considerations . . . . . . . . . . . . . . . . . . . . . 31 12. DTLS Considerations . . . . . . . . . . . . . . . . . . . . . 31
13. RTP Header Extensions Consideration . . . . . . . . . . . . . 32 13. RTP Header Extensions Consideration . . . . . . . . . . . . . 32
14. Update to RFC 3264 . . . . . . . . . . . . . . . . . . . . . 32 14. Update to RFC 3264 . . . . . . . . . . . . . . . . . . . . . 32
14.1. Original text of section 5.1 (2nd paragraph) of RFC 3264 33 14.1. Original text of section 5.1 (2nd paragraph) of RFC 3264 32
14.2. New text replacing section 5.1 (2nd paragraph) of RFC 14.2. New text replacing section 5.1 (2nd paragraph) of RFC
3264 . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3264 . . . . . . . . . . . . . . . . . . . . . . . . . . 33
14.3. Original text of section 6 (4th paragraph) of RFC 3264 . 33 14.3. Original text of section 6 (4th paragraph) of RFC 3264 . 33
14.4. New text replacing section 6 (4th paragraph) of RFC 3264 34 14.4. New text replacing section 6 (4th paragraph) of RFC 3264 33
14.5. Original text of section 8.2 (2nd paragraph) of RFC 3264 34 14.5. Original text of section 8.2 (2nd paragraph) of RFC 3264 34
14.6. New text replacing section 8.2 (2nd paragraph) of RFC 14.6. New text replacing section 8.2 (2nd paragraph) of RFC
3264 . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3264 . . . . . . . . . . . . . . . . . . . . . . . . . . 34
14.7. Original text of section 8.4 (6th paragraph) of RFC 3264 34 14.7. Original text of section 8.4 (6th paragraph) of RFC 3264 34
14.8. New text replacing section 8.4 (6th paragraph) of RFC 14.8. New text replacing section 8.4 (6th paragraph) of RFC
3264 . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3264 . . . . . . . . . . . . . . . . . . . . . . . . . . 34
15. RTP/RTCP extensions for identification-tag transport . . . . 35 15. RTP/RTCP extensions for identification-tag transport . . . . 35
15.1. RTCP MID SDES Item . . . . . . . . . . . . . . . . . . . 36 15.1. RTCP MID SDES Item . . . . . . . . . . . . . . . . . . . 36
15.2. RTP SDES Header Extension For MID . . . . . . . . . . . 36 15.2. RTP SDES Header Extension For MID . . . . . . . . . . . 36
16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37
16.1. New SDES item . . . . . . . . . . . . . . . . . . . . . 37 16.1. New SDES item . . . . . . . . . . . . . . . . . . . . . 37
16.2. New RTP SDES Header Extension URI . . . . . . . . . . . 37 16.2. New RTP SDES Header Extension URI . . . . . . . . . . . 37
16.3. New SDP Attribute . . . . . . . . . . . . . . . . . . . 38 16.3. New SDP Attribute . . . . . . . . . . . . . . . . . . . 38
16.4. New SDP Group Semantics . . . . . . . . . . . . . . . . 38 16.4. New SDP Group Semantics . . . . . . . . . . . . . . . . 38
17. Security Considerations . . . . . . . . . . . . . . . . . . . 39 17. Security Considerations . . . . . . . . . . . . . . . . . . . 38
18. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 40 18. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 40
18.1. Example: Bundle Address Selection . . . . . . . . . . . 40 18.1. Example: Bundle Address Selection . . . . . . . . . . . 40
18.2. Example: BUNDLE Extension Rejected . . . . . . . . . . . 42 18.2. Example: BUNDLE Extension Rejected . . . . . . . . . . . 42
18.3. Example: Offerer Adds a Media Description to a BUNDLE 18.3. Example: Offerer Adds a Media Description to a BUNDLE
Group . . . . . . . . . . . . . . . . . . . . . . . . . 43 Group . . . . . . . . . . . . . . . . . . . . . . . . . 43
18.4. Example: Offerer Moves a Media Description Out of a 18.4. Example: Offerer Moves a Media Description Out of a
BUNDLE Group . . . . . . . . . . . . . . . . . . . . . . 45 BUNDLE Group . . . . . . . . . . . . . . . . . . . . . . 45
18.5. Example: Offerer Disables a Media Description Within a 18.5. Example: Offerer Disables a Media Description Within a
BUNDLE Group . . . . . . . . . . . . . . . . . . . . . . 47 BUNDLE Group . . . . . . . . . . . . . . . . . . . . . . 47
19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 48 19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 48
20. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 49 20. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 49
21. References . . . . . . . . . . . . . . . . . . . . . . . . . 59 21. References . . . . . . . . . . . . . . . . . . . . . . . . . 59
21.1. Normative References . . . . . . . . . . . . . . . . . . 59 21.1. Normative References . . . . . . . . . . . . . . . . . . 59
21.2. Informative References . . . . . . . . . . . . . . . . . 61 21.2. Informative References . . . . . . . . . . . . . . . . . 61
Appendix A. Design Considerations . . . . . . . . . . . . . . . 62 Appendix A. Design Considerations . . . . . . . . . . . . . . . 63
A.1. UA Interoperability . . . . . . . . . . . . . . . . . . . 63 A.1. UA Interoperability . . . . . . . . . . . . . . . . . . . 63
A.2. Usage of Port Number Value Zero . . . . . . . . . . . . . 64 A.2. Usage of Port Number Value Zero . . . . . . . . . . . . . 65
A.3. B2BUA And Proxy Interoperability . . . . . . . . . . . . 65 A.3. B2BUA And Proxy Interoperability . . . . . . . . . . . . 65
A.3.1. Traffic Policing . . . . . . . . . . . . . . . . . . 65 A.3.1. Traffic Policing . . . . . . . . . . . . . . . . . . 66
A.3.2. Bandwidth Allocation . . . . . . . . . . . . . . . . 65 A.3.2. Bandwidth Allocation . . . . . . . . . . . . . . . . 66
A.4. Candidate Gathering . . . . . . . . . . . . . . . . . . . 66 A.4. Candidate Gathering . . . . . . . . . . . . . . . . . . . 66
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 67
1. Introduction 1. Introduction
When multimedia communications are established, each transport When multimedia communications are established, each transport
(5-tuple) reserved for an individual media stream consume additional (5-tuple) reserved for an individual media stream consume additional
resources (especially when Interactive Connectivity Establishment resources (especially when Interactive Connectivity Establishment
(ICE) [I-D.ietf-ice-rfc5245bis] is used). For this reason, it is (ICE) [I-D.ietf-ice-rfc5245bis] is used). For this reason, it is
attractive to use a single transport for multiple media streams. attractive to use a single transport for multiple media streams.
This specification defines a way to use a single transport (BUNDLE This specification defines a way to use a single transport (BUNDLE
skipping to change at page 8, line 20 skipping to change at page 8, line 13
identification-tag list is associated with a given BUNDLE group. identification-tag list is associated with a given BUNDLE group.
SDP bodies can contain multiple BUNDLE groups. Any given bundled SDP bodies can contain multiple BUNDLE groups. Any given bundled
"m=" section MUST NOT be associated with more than one BUNDLE group "m=" section MUST NOT be associated with more than one BUNDLE group
at any given time. at any given time.
NOTE: The order of the "m=" sections listed in the SDP 'group:BUNDLE' NOTE: The order of the "m=" sections listed in the SDP 'group:BUNDLE'
attribute identification-tag list does not have to be the same as the attribute identification-tag list does not have to be the same as the
order in which the "m=" sections occur in the SDP. order in which the "m=" sections occur in the SDP.
The mux category [I-D.ietf-mmusic-sdp-mux-attributes] for the
'group:BUNDLE' attribute is 'NORMAL'.
Section 8 defines the detailed SDP Offer/Answer procedures for the Section 8 defines the detailed SDP Offer/Answer procedures for the
BUNDLE extension. BUNDLE extension.
6. SDP 'bundle-only' Attribute 6. SDP 'bundle-only' Attribute
This section defines a new SDP media-level attribute [RFC4566], This section defines a new SDP media-level attribute [RFC4566],
'bundle-only'. 'bundle-only' is a property attribute [RFC4566], and 'bundle-only'. 'bundle-only' is a property attribute [RFC4566], and
hence has no value. hence has no value.
Name: bundle-only Name: bundle-only
skipping to change at page 49, line 28 skipping to change at page 49, line 28
Thanks to Magnus Westerlund, Colin Perkins and Jonathan Lennox for Thanks to Magnus Westerlund, Colin Perkins and Jonathan Lennox for
providing help and text on the RTP/RTCP procedures. providing help and text on the RTP/RTCP procedures.
Thanks to Spotify for providing music for the countless hours of Thanks to Spotify for providing music for the countless hours of
document editing. document editing.
20. Change Log 20. Change Log
[RFC EDITOR NOTE: Please remove this section when publishing] [RFC EDITOR NOTE: Please remove this section when publishing]
Changes from draft-ietf-mmusic-sdp-bundle-negotiation-45
o Mux category for SDP 'group:BUNDLE' attribute added.
o https://github.com/cdh4u/draft-sdp-bundle/pull/54
o Pre-RFC5378 disclaimer removed.
Changes from draft-ietf-mmusic-sdp-bundle-negotiation-44 Changes from draft-ietf-mmusic-sdp-bundle-negotiation-44
o Minor editorial nits based on pull request by Colin P. o Minor editorial nits based on pull request by Colin P.
o https://github.com/cdh4u/draft-sdp-bundle/pull/53 o https://github.com/cdh4u/draft-sdp-bundle/pull/53
Changes from draft-ietf-mmusic-sdp-bundle-negotiation-43 Changes from draft-ietf-mmusic-sdp-bundle-negotiation-43
o Changes based on WG chairs review. o Changes based on WG chairs review.
 End of changes. 21 change blocks. 
32 lines changed or deleted 31 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/