draft-ietf-mmusic-msid-11.txt   draft-ietf-mmusic-msid-12.txt 
Network Working Group H. Alvestrand Network Working Group H. Alvestrand
Internet-Draft Google Internet-Draft Google
Intended status: Standards Track October 1, 2015 Intended status: Standards Track March 18, 2016
Expires: April 3, 2016 Expires: September 19, 2016
WebRTC MediaStream Identification in the Session Description Protocol WebRTC MediaStream Identification in the Session Description Protocol
draft-ietf-mmusic-msid-11 draft-ietf-mmusic-msid-12
Abstract Abstract
This document specifies a Session Description Protocol (SDP) Grouping This document specifies a Session Description Protocol (SDP) Grouping
mechanism for RTP media streams that can be used to specify relations mechanism for RTP media streams that can be used to specify relations
between media streams. between media streams.
This mechanism is used to signal the association between the SDP This mechanism is used to signal the association between the SDP
concept of "media description" and the WebRTC concept of concept of "media description" and the WebRTC concept of
"MediaStream" / "MediaStreamTrack" using SDP signaling. "MediaStream" / "MediaStreamTrack" using SDP signaling.
skipping to change at page 1, line 45 skipping to change at page 1, line 45
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 April 3, 2016. This Internet-Draft will expire on September 19, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 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.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Structure Of This Document . . . . . . . . . . . . . . . 3 1.1. Structure Of This Document . . . . . . . . . . . . . . . 3
1.2. Why A New Mechanism Is Needed . . . . . . . . . . . . . . 3 1.2. Why A New Mechanism Is Needed . . . . . . . . . . . . . . 3
1.3. The WEBRTC MediaStream . . . . . . . . . . . . . . . . . 4 1.3. The WEBRTC MediaStream . . . . . . . . . . . . . . . . . 4
2. The Msid Mechanism . . . . . . . . . . . . . . . . . . . . . 4 2. The Msid Mechanism . . . . . . . . . . . . . . . . . . . . . 4
3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Handling of non-signalled tracks . . . . . . . . . . . . 6 3.1. Handling of non-signalled tracks . . . . . . . . . . . . 7
3.2. Detailed Offer/Answer Procedures . . . . . . . . . . . . 8 3.2. Detailed Offer/Answer Procedures . . . . . . . . . . . . 8
3.2.1. Generating the initial offer . . . . . . . . . . . . 8 3.2.1. Generating the initial offer . . . . . . . . . . . . 8
3.2.2. Answerer processing of the Offer . . . . . . . . . . 8 3.2.2. Answerer processing of the Offer . . . . . . . . . . 8
3.2.3. Generating the answer . . . . . . . . . . . . . . . . 8 3.2.3. Generating the answer . . . . . . . . . . . . . . . . 8
3.2.4. Offerer processing of the answer . . . . . . . . . . 8 3.2.4. Offerer processing of the answer . . . . . . . . . . 9
3.2.5. Modifying the session . . . . . . . . . . . . . . . . 9 3.2.5. Modifying the session . . . . . . . . . . . . . . . . 9
3.3. Example SDP description . . . . . . . . . . . . . . . . . 9 3.3. Example SDP description . . . . . . . . . . . . . . . . . 9
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
4.1. Attribute registration in existing registries . . . . . . 10 4.1. Attribute registration in existing registries . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.1. Normative References . . . . . . . . . . . . . . . . . . 11 7.1. Normative References . . . . . . . . . . . . . . . . . . 11
7.2. Informative References . . . . . . . . . . . . . . . . . 11 7.2. Informative References . . . . . . . . . . . . . . . . . 12
Appendix A. Design considerations, rejected alternatives . . . . 12 Appendix A. Design considerations, rejected alternatives . . . . 12
Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 12 Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 12
B.1. Changes from alvestrand-rtcweb-msid-00 to -01 . . . . . . 12 B.1. Changes from alvestrand-rtcweb-msid-00 to -01 . . . . . . 12
B.2. Changes from alvestrand-rtcweb-msid-01 to -02 . . . . . . 12 B.2. Changes from alvestrand-rtcweb-msid-01 to -02 . . . . . . 13
B.3. Changes from alvestrand-rtcweb-msid-02 to mmusic-msid-00 12 B.3. Changes from alvestrand-rtcweb-msid-02 to mmusic-msid-00 13
B.4. Changes from alvestrand-mmusic-msid-00 to -01 . . . . . . 13 B.4. Changes from alvestrand-mmusic-msid-00 to -01 . . . . . . 13
B.5. Changes from alvestrand-mmusic-msid-01 to -02 . . . . . . 13 B.5. Changes from alvestrand-mmusic-msid-01 to -02 . . . . . . 13
B.6. Changes from alvestrand-mmusic-msid-02 to ietf-mmusic-00 13 B.6. Changes from alvestrand-mmusic-msid-02 to ietf-mmusic-00 14
B.7. Changes from mmusic-msid-00 to -01 . . . . . . . . . . . 13 B.7. Changes from mmusic-msid-00 to -01 . . . . . . . . . . . 14
B.8. Changes from mmusic-msid-01 to -02 . . . . . . . . . . . 13 B.8. Changes from mmusic-msid-01 to -02 . . . . . . . . . . . 14
B.9. Changes from mmusic-msid-02 to -03 . . . . . . . . . . . 14 B.9. Changes from mmusic-msid-02 to -03 . . . . . . . . . . . 14
B.10. Changes from mmusic-msid-03 to -04 . . . . . . . . . . . 14 B.10. Changes from mmusic-msid-03 to -04 . . . . . . . . . . . 14
B.11. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 14 B.11. Changes from -04 to -05 . . . . . . . . . . . . . . . . . 15
B.12. Changes from -05 to -06 . . . . . . . . . . . . . . . . . 14 B.12. Changes from -05 to -06 . . . . . . . . . . . . . . . . . 15
B.13. Changes from -06 to -07 . . . . . . . . . . . . . . . . . 15 B.13. Changes from -06 to -07 . . . . . . . . . . . . . . . . . 15
B.14. Changes from -07 to -08 . . . . . . . . . . . . . . . . . 15 B.14. Changes from -07 to -08 . . . . . . . . . . . . . . . . . 15
B.15. Changes from -08 to -09 . . . . . . . . . . . . . . . . . 15 B.15. Changes from -08 to -09 . . . . . . . . . . . . . . . . . 16
B.16. Changes from -09 to -10 . . . . . . . . . . . . . . . . . 15 B.16. Changes from -09 to -10 . . . . . . . . . . . . . . . . . 16
B.17. Changes from -10 to -11 . . . . . . . . . . . . . . . . . 16 B.17. Changes from -10 to -11 . . . . . . . . . . . . . . . . . 16
B.18. Changes from -11 to -12 . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
1.1. Structure Of This Document 1.1. Structure Of This Document
This document adds a new Session Description Protocol (SDP) [RFC4566] This document adds a new Session Description Protocol (SDP) [RFC4566]
mechanism that can associate application layer identifiers with the mechanism that can associate application layer identifiers with the
binding between media streams, attaching identifiers to the media binding between media streams, attaching identifiers to the media
streams and attaching identifiers to the groupings they form. It is streams and attaching identifiers to the groupings they form. It is
skipping to change at page 5, line 37 skipping to change at page 5, line 37
This represents the case where a single MediaStreamTrack is present This represents the case where a single MediaStreamTrack is present
in multiple MediaStreams; the value of "msid-appdata" MUST be in multiple MediaStreams; the value of "msid-appdata" MUST be
identical for all occurences. identical for all occurences.
Multiple media descriptions with the same value for msid-id and msid- Multiple media descriptions with the same value for msid-id and msid-
appdata is not permitted. appdata is not permitted.
Endpoints can update the associations between RTP media streams as Endpoints can update the associations between RTP media streams as
expressed by msid attributes at any time. expressed by msid attributes at any time.
The msid attributes depend on the association of RTP media streams
with media descriptions, but does not depend on the association of
RTP media streams with RTP transports; therefore, its mux category is
NORMAL - the process of deciding on MSID attributes doesn't have to
take into consideration whether the media streams are bundled or not.
3. Procedures 3. Procedures
This section describes the procedures for associating media This section describes the procedures for associating media
descriptions representing MediaStreamTracks within MediaStreams as descriptions representing MediaStreamTracks within MediaStreams as
defined in [W3C.WD-webrtc-20150210]. defined in [W3C.WD-webrtc-20150210].
In the Javascript API, each MediaStream and MediaStreamTrack has an In the Javascript API, each MediaStream and MediaStreamTrack has an
"id" attribute, which is a DOMString. "id" attribute, which is a DOMString.
The value of the "msid-id" field in the msid consists of the "id" The value of the "msid-id" field in the msid consists of the "id"
skipping to change at page 10, line 31 skipping to change at page 10, line 31
o Subject to charset: The attribute value contains only ASCII o Subject to charset: The attribute value contains only ASCII
characters, and is therefore not subject to the charset attribute. characters, and is therefore not subject to the charset attribute.
o Purpose: The attribute can be used to signal the relationship o Purpose: The attribute can be used to signal the relationship
between a WebRTC MediaStream and a set of media descriptions. between a WebRTC MediaStream and a set of media descriptions.
o Appropriate values: The details of appropriate values are given in o Appropriate values: The details of appropriate values are given in
RFC XXXX. RFC XXXX.
o MUX category: NORMAL
The MUX category is defined in [I-D.ietf-mmusic-sdp-mux-attributes]
with registration procedures in [I-D.ietf-mmusic-rfc4566bis].
5. Security Considerations 5. Security Considerations
An adversary with the ability to modify SDP descriptions has the An adversary with the ability to modify SDP descriptions has the
ability to switch around tracks between media streams. This is a ability to switch around tracks between media streams. This is a
special case of the general security consideration that modification special case of the general security consideration that modification
of SDP descriptions needs to be confined to entities trusted by the of SDP descriptions needs to be confined to entities trusted by the
application. application.
If implementing buffering as mentioned in Section 3.1, the amount of If implementing buffering as mentioned in Section 3.1, the amount of
buffering should be limited to avoid memory exhaustion attacks. buffering should be limited to avoid memory exhaustion attacks.
skipping to change at page 11, line 9 skipping to change at page 11, line 19
Special thanks to Flemming Andreassen, Miguel Garcia, Martin Thomson, Special thanks to Flemming Andreassen, Miguel Garcia, Martin Thomson,
Ted Hardie, Adam Roach, Magnus Westerlund and Paul Kyzivat for their Ted Hardie, Adam Roach, Magnus Westerlund and Paul Kyzivat for their
work in reviewing this draft, with many specific language work in reviewing this draft, with many specific language
suggestions. suggestions.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-mmusic-rfc4566bis]
Handley, M., Jacobson, V., Perkins, C., and A. Begen,
"SDP: Session Description Protocol", draft-ietf-mmusic-
rfc4566bis-16 (work in progress), November 2015.
[I-D.ietf-mmusic-sdp-mux-attributes]
Nandakumar, S., "A Framework for SDP Attributes when
Multiplexing", draft-ietf-mmusic-sdp-mux-attributes-12
(work in progress), January 2016.
[I-D.ietf-rtcweb-jsep] [I-D.ietf-rtcweb-jsep]
Uberti, J., Jennings, C., and E. Rescorla, "Javascript Uberti, J., Jennings, C., and E. Rescorla, "Javascript
Session Establishment Protocol", draft-ietf-rtcweb-jsep-07 Session Establishment Protocol", draft-ietf-rtcweb-jsep-08
(work in progress), July 2014. (work in progress), October 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003. Applications", STD 64, RFC 3550, July 2003.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006. Description Protocol", RFC 4566, July 2006.
skipping to change at page 11, line 44 skipping to change at page 12, line 15
7.2. Informative References 7.2. Informative References
[I-D.ietf-mmusic-sdp-bundle-negotiation] [I-D.ietf-mmusic-sdp-bundle-negotiation]
Holmberg, C., Alvestrand, H., and C. Jennings, Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session "Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle- Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-
negotiation-07 (work in progress), April 2014. negotiation-07 (work in progress), April 2014.
[I-D.ietf-rtcweb-overview] [I-D.ietf-rtcweb-overview]
Alvestrand, H., "Overview: Real Time Protocols for Alvestrand, H., "Overview: Real Time Protocols for
Browser-based Applications", draft-ietf-rtcweb-overview-10 Browser-based Applications", draft-ietf-rtcweb-overview-13
(work in progress), June 2014. (work in progress), November 2014.
[RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and [RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and
Control Packets on a Single Port", RFC 5761, April 2010. Control Packets on a Single Port", RFC 5761, April 2010.
[RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description [RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description
Protocol (SDP) Grouping Framework", RFC 5888, June 2010. Protocol (SDP) Grouping Framework", RFC 5888, June 2010.
Appendix A. Design considerations, rejected alternatives Appendix A. Design considerations, rejected alternatives
One suggested mechanism has been to use CNAME instead of a new One suggested mechanism has been to use CNAME instead of a new
skipping to change at page 15, line 46 skipping to change at page 16, line 21
others. others.
Changed the term "m-line" to "media description", since that is the Changed the term "m-line" to "media description", since that is the
term used in RFC 4566. term used in RFC 4566.
Tried to make sure this document does not describe the API to the Tried to make sure this document does not describe the API to the
application. application.
B.16. Changes from -09 to -10 B.16. Changes from -09 to -10
Language clarifications. Addressed review comments from Paul Kyzivat.
Removed more leftover traces of wms-semantic.
B.17. Changes from -10 to -11 B.17. Changes from -10 to -11
Defined the semantics of multiple MSIDs in a media section to be a Defined the semantics of multiple MSIDs in a media section to be a
MediaStreamTrack present in multiple MediaStreams. MediaStreamTrack present in multiple MediaStreams.
Made an explicit note that MediaStreamTracks are unidirectional. Made an explicit note that MediaStreamTracks are unidirectional.
Disallowed the option of sending multiple media sections with the Disallowed the option of sending multiple media sections with the
same msid (id and appdata identical). same msid (id and appdata identical).
B.18. Changes from -11 to -12
Added mux-category to the IANA considerations section.
Author's Address Author's Address
Harald Alvestrand Harald Alvestrand
Google Google
Kungsbron 2 Kungsbron 2
Stockholm 11122 Stockholm 11122
Sweden Sweden
Email: harald@alvestrand.no Email: harald@alvestrand.no
 End of changes. 20 change blocks. 
25 lines changed or deleted 49 lines changed or added

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