Internet DRAFT - draft-holmberg-mmusic-sdp-mmt-negotiation

draft-holmberg-mmusic-sdp-mmt-negotiation





MMUSIC Working Group                                         C. Holmberg
Internet-Draft                                                  Ericsson
Intended status: Standards Track                           H. Alvestrand
Expires: April 11, 2013                                           Google
                                                               J. Lennox
                                                                   Vidyo
                                                         October 8, 2012


 Multiplexed Media Types (MMT) Using Session Description Protocol (SDP)
                              Port Numbers
            draft-holmberg-mmusic-sdp-mmt-negotiation-00.txt

Abstract

   This specification defines a new SDP Grouping Framework SDP grouping
   framework extension, "MMT", and a new SDP media type, "anymedia".
   Together they can be used with the Session Description Protocol (SDP)
   Offer/Answer mechanism to negotiate the usage of multiplexed media
   types, which refers to the usage of a single 5-tuple for different
   media types.

   This specification also defined a new SDP attribute, "mmtype", which
   can be used within a "anymedia" SDP Media Description to map PT
   (Payload Type) values to a specific media type.

Status of this Memo

   This Internet-Draft is submitted to IETF 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 http://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 April 11, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.




Holmberg, et al.         Expires April 11, 2013                 [Page 1]

Internet-Draft           Multiplexed media types            October 2012


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://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  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4.  Applicability Statement  . . . . . . . . . . . . . . . . . . .  4
   5.  SDP Grouping Framework MMT Extension Semantics . . . . . . . .  4
     5.1.  General  . . . . . . . . . . . . . . . . . . . . . . . . .  4
     5.2.  Usage  . . . . . . . . . . . . . . . . . . . . . . . . . .  5
       5.2.1.  General  . . . . . . . . . . . . . . . . . . . . . . .  5
       5.2.2.  SDP Offer/Answer Usage . . . . . . . . . . . . . . . .  5
   6.  anymedia SDP Media Type  . . . . . . . . . . . . . . . . . . .  6
     6.1.  General  . . . . . . . . . . . . . . . . . . . . . . . . .  6
     6.2.  SDP Extensions . . . . . . . . . . . . . . . . . . . . . .  6
     6.3.  SDP Attributes . . . . . . . . . . . . . . . . . . . . . .  6
     6.4.  Bandwidth  . . . . . . . . . . . . . . . . . . . . . . . .  7
     6.5.  ICE Usage  . . . . . . . . . . . . . . . . . . . . . . . .  7
     6.6.  RTP Sessions . . . . . . . . . . . . . . . . . . . . . . .  7
   7.  mmtype SDP attribute . . . . . . . . . . . . . . . . . . . . .  7
     7.1.  General  . . . . . . . . . . . . . . . . . . . . . . . . .  7
     7.2.  Syntax . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     7.3.  Usage  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
       7.3.1.  General  . . . . . . . . . . . . . . . . . . . . . . .  7
       7.3.2.  SDP Offer/Answer Usage . . . . . . . . . . . . . . . .  8
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   9.  Example  . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
   12. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 11
   13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
     13.1. Normative References . . . . . . . . . . . . . . . . . . . 11
     13.2. Informative References . . . . . . . . . . . . . . . . . . 11
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12







Holmberg, et al.         Expires April 11, 2013                 [Page 2]

Internet-Draft           Multiplexed media types            October 2012


1.  Introduction

   In the IETF RTCWEB WG, a need to use a single 5-tuple for sending and
   receiving media associated with multiple SDP Media Descriptions
   [RFC4566] has been identified.  This would e.g. allow the usage of a
   single set of Interactive Connectivity Establishment (ICE) [RFC5245]
   candidates for multiple media descriptions.  Normally different media
   types (audio, video etc) will be described using different SDP Media
   Descriptions.

   As defined in RFC 4566 [RFC4566], the semantics of using the same
   port number for multiple SDP Media Descriptions is undefined.
   Therefore, in order to be able to use the same port value for
   multiple media types, it must be possible to describe multiple media
   types within a single SDP Media Description.

   This specification defines a new SDP Grouping Framework SDP grouping
   framework [RFC5888] extension, "MMT", and a new SDP media type,
   "anymedia".  Together they can be used with the Session Description
   Protocol (SDP) Offer/Answer mechanism [RFC3264] to negotiate the
   usage of multiplexed media types, which refers to the usage of a
   single 5-tuple for different media types.

   This specification also defined a new SDP attribute, "mmtype", which
   can be used within a "anymedia" SDP Media Description to map PT
   (Payload Type) values to a specific media type.

   When an endpoint generates an SDP Offer or SDP Answer, which
   includeds one or more "MMT" groups, each group will contain one
   "anymedia" SDP Media Description and one or more SDP Media
   Descriptions for specific media types (audio, video, etc).

   When media is transported using the Real-Time Protocol (RTP)
   [RFC3550], each SDP Media Description is assumed to form a separate
   RTP Session [RFC3550].  The same applies to media associated with a
   "anymedia" SDP Media Description, ie all media types associated with
   a "anymedia" SDP Media Description is by default assumed to form a
   single RTP Session.

   The mechanism is backward compatible.  Entities that do not support
   (or, for a given session, are not willing to use) the "MMT" grouping
   extension and the "anymedia" media type, are expected to generate an
   SDP Answer, which does not contain a "MMT" group, and where the
   "anymedia" SDP Media Description is rejected.







Holmberg, et al.         Expires April 11, 2013                 [Page 3]

Internet-Draft           Multiplexed media types            October 2012


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   5-tuple: A collection of the following values: source address, source
   port, destination address, destination port and protocol.

   Multiplexed media types: Two or more RTP streams, possibly of
   different media types, using a single 5-tuple.  The RTCP streams
   associated with the RTP streams also use a single 5-tuple, which
   might be the same, but can also be different, as the one used by the
   RTP streams.


3.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119
   [RFC2119].


4.  Applicability Statement

   The mechanism in this specification only applies to the Session
   Description Protocol (SDP) [RFC4566], when used together with the SDP
   Offer/Answer mechanism [RFC3264].


5.  SDP Grouping Framework MMT Extension Semantics

5.1.  General

   This section defines a new SDP Grouping Framework extension, "MMT".

   The "MMT" extension can be indicated using a "group" SDP session-
   level attribute.  Each SDP Media Description ("m=" line) that is
   grouped together, using a "mid" SDP media-level attribute, is part of
   a specific "MMT" group.

   A "MMT" group is not usable standalone.  It MUST be used together
   with a "anymedia" SDP Media Description.







Holmberg, et al.         Expires April 11, 2013                 [Page 4]

Internet-Draft           Multiplexed media types            October 2012


5.2.  Usage

5.2.1.  General

   A "MMT" group MUST contain a "anymedia" SDP Media Description, and at
   least one SDP Media Description for a specific SDP Media Type (audio,
   video, etc).

   An SDP Offerer [RFC3264] uses the "MMT" group to offer at least one
   SDP Media Description for specific SDP Media Types, and a "anymedia"
   SDP Media Description, which can contain multiple SDP Media Types
   sharing a single SDP Media Description.  From a "MMT" group the SDP
   Answerer [RFC3264] will accept either the SDP Media Descriptions for
   the specific SDP Media Types, or the "anymedia" SDP Media
   Description.

   It is RECOMMENDED that the capabilities of the "anymedia" SDP Media
   Description match the capabilities (codecs, RTCP multiplexing etc) of
   the SDP Media Descriptions for the specific SDP Media Types, in order
   to provide the same capabilities no matter whether SDP Media
   Descriptions for specific SDP Media Types, or the "anymedia" SDP
   Media Description, is used to establish the session.

   NOTE: An SDP Message Body can contain multiple "MMT" groups.

5.2.2.  SDP Offer/Answer Usage

5.2.2.1.  SDP Offererer Procedures

   When an SDP Offerer generates an SDP Offer, which contains one or
   more "MMT" groups, for each "MMT" group the SDP Offerer MUST:

   1) Include a "anymedia" SDP Media Description; and

   2) Include at least one SDP Media Description for a specific media
   type (audio, video, etc).

5.2.2.2.  SDP Answerer Procedures

   When an SDP Answerer generates an SDP Answer, for each "MMT" group in
   the associated SDP Offer it MUST either:

   1) Accept the "anymedia" SDP Media Description, and reject all other
   SDP Media Descriptions associated with the "MMT" group; or

   2) Reject the "anymedia" SDP Media Description, and accept some or
   all of the other SDP Media Descriptions associated with the MMT
   group.



Holmberg, et al.         Expires April 11, 2013                 [Page 5]

Internet-Draft           Multiplexed media types            October 2012


   NOTE: As described in [RFC3264], an SDP Media Description can be
   rejected by setting the port value of the associated m- line to zero
   in the SDP Answer.

   NOTE: As described in [RFC3264] the SDP Answer must contain the same
   number of SDP Media Descriptions as the associated SDP Offer.


6.  anymedia SDP Media Type

6.1.  General

   This section describes a new SDP media type [RFC4566], "anymedia",
   for SDP Media Descriptions [RFC4566]. "anymedia" does not refer to a
   specific media type, but allows multiple media types (audio, video
   etc) to be associated with a single SDP Media Description.  All media
   associated with a "anymedia" SDP Media Description will share the
   same IP address+port, protocol (e.g.  RTP/AVP) and other information
   (e.g.  ICE candidates) associated with the SDP Media Description.  It
   allows, if both endpoints support the mechanism, multiple media typex
   to be multiplexed on a single 5-tuple.  PT (Payload Type) values will
   be listed in a normal fashion in the format list of the SDP Media
   Description.  The SDP rtpmap attribute [RFC4566] will be used in a
   normal fashion to map each PT to a codec, and the SDP mmtype
   attribute will be used to map each PT to a specific media type (e.g.
   audio, video, etc).

   Within a "anymedia" SDP Media Description, each PT value SHOULD be
   described using an "rtpmap" SDP Attribute [RFC4566], even if the PT
   value is static.  In addition, as it might not always be possible to
   retreive the media type from the "rtpmap" SDP Attribute value, each
   PT value MUST be mapped to a specific media type, using the "mmtype"
   SDP Attribute.

6.2.  SDP Extensions

   OPEN ISSUE: Which, if any, SDP Extensions shall we require support
   of?

6.3.  SDP Attributes

   In a normal fashion, any media level SDP Attribute (e.g. the
   directionality attributes) associated with the "anymedia" SDP Media
   Description applies to all media associated with the SDP Media
   Description.

   NOTE: Additional extensions are needed in order to specify SDP
   Attribute values for individual media types, or individual media



Holmberg, et al.         Expires April 11, 2013                 [Page 6]

Internet-Draft           Multiplexed media types            October 2012


   sources, associated with the "anymedia" SDP Media Description.

6.4.  Bandwidth

   The SDP bandwidth parameter, b=, is used in a normal fashion, as
   described in [RFC4566]

   NOTE: Additional extensions are needed in order to specify SDP
   Bandwidth values for individual media types, and for a specific media
   direction.

6.5.  ICE Usage

   ICE [RFC5245], if supported, will be used in a normal fashion, and
   the ICE Candidate information will apply to all media types
   associated with the "anymedia" SDP Media Description.

6.6.  RTP Sessions

   By default, all media associated with a "anymedia" SDP Media
   Description is considered to be part of a single RTP Session
   [RFC3550].


7.  mmtype SDP attribute

7.1.  General

   This section defines a new SDP media level attribute [RFC4566],
   "mmtype" (Multiplexed Media Type).  The attribute is used within
   "anymedia" SDP Media Descriptions to indicate the media type
   associated with a specific PT value.

7.2.  Syntax

   a=mmtype: format media

   format and media as defined in [RFC4566].

7.3.  Usage

7.3.1.  General

   The attribute is used within "anymedia" SDP Media Descriptions to
   indicate the media type associated with a specific PT value.  This
   specification does not define the usage of the attribute within other
   types of SDP Media Descriptions.




Holmberg, et al.         Expires April 11, 2013                 [Page 7]

Internet-Draft           Multiplexed media types            October 2012


   For each instance of the "mmtype" attribute, the associated PT value
   MUST also be listed in the format list of the associated SDP m- line.
   Within a given SDP Media Description, there MUST only be one 'mmtype'
   attribute associated with a given PT value.  An entity MUST either
   reject or discard an SDP Media Description that contains 'mmtype'
   attributes with PT values not listed in the associated m- line.  An
   entity MUST either reject or discard an SDP Media Description that
   contains multiple 'mmtype' attributes for the same PT value.

7.3.2.  SDP Offer/Answer Usage

   There are no SDP Offer/Answer specific procedures defined for the
   "mmtype" SDP attribute.


8.  Security Considerations

   TBA


9.  Example

   The example below shows an SDP Offer, where multiplexed media types
   is offered.  The example also shows two SDP Answer alternatives: one
   where multiplexed media types is accepted, and one where multiplexed
   media types is rejected (or, not even supported) by the SDP Answerer.

   SDP Offer (multiplexed media types offered)

       v=0
       o=alice 2890844526 2890844526 IN IP4 host.atlanta.com
       s=
       c=IN IP4 host.atlanta.com
       t=0 0
       a=group:MMT foo bar zoe
       m=audio 10000 RTP/AVP 0 8 97
       a=mid:foo
       b=AS:200
       a=rtpmap:0 PCMU/8000
       a=rtpmap:8 PCMA/8000
       a=rtpmap:97 iLBC/8000
       m=video 20000 RTP/AVP 31 32
       a=mid:bar
       b=AS:1000
       a=rtpmap:31 H261/90000
       a=rtpmap:32 MPV/90000
       m=anymedia 30000 RTP/AVP 0 8 97 31 32
       a=mid:zoe



Holmberg, et al.         Expires April 11, 2013                 [Page 8]

Internet-Draft           Multiplexed media types            October 2012


       a=rtpmap:0 PCMU/8000
       a=rtpmap:8 PCMA/8000
       a=rtpmap:97 iLBC/8000
       a=rtpmap:31 H261/90000
       a=rtpmap:32 MPV/90000
       a=mmtype: 0 audio
       a=mmtype: 8 audio
       a=mmtype: 97 audio
       a=mmtype: 31 video
       a=mmtype: 32 video

   SDP Answer (multiplexed media types accepted)

       v=0
       o=bob 2808844564 2808844564 IN IP4 host.biloxi.com
       s=
       c=IN IP4 host.biloxi.com
       t=0 0
       a=group:MMT foo bar
       m=audio 0 RTP/AVP 0
       a=mid:foo
       a=rtpmap:0 PCMU/8000
       m=video 0 RTP/AVP 32
       a=mid:bar
       a=rtpmap:32 MPV/90000
       m=anymedia 60000 RTP/AVP 0 32
       a=mid:zoe
       a=rtpmap:0 PCMU/8000
       a=rtpmap:32 MPV/90000
       a=mmtype: 0 audio
       a=mmtype: 32 video


   SDP Answer (multiplexed media types not accepted)

       v=0
       o=bob 2808844564 2808844564 IN IP4 host.biloxi.com
       s=
       c=IN IP4 host.biloxi.com
       t=0 0
       a=group:MMT foo bar
       m=audio 40000 RTP/AVP 0
       a=mid:foo
       a=rtpmap:0 PCMU/8000
       m=video 50000 RTP/AVP 32
       a=mid:bar
       a=rtpmap:32 MPV/90000
       m=anymedia 0 RTP/AVP 0 32



Holmberg, et al.         Expires April 11, 2013                 [Page 9]

Internet-Draft           Multiplexed media types            October 2012


       a=mid:zoe


   SDP Offer with ICE (multiplexed media types offered)

       v=0
       o=alice 2890844526 2890844526 IN IP4 host.atlanta.com
       s=
       c=IN IP4 host.atlanta.com
       t=0 0
       a=group:MMT foo bar zoe
       m=audio 10000 RTP/AVP 0 8 97
       a=mid:foo
       b=AS:200
       a=rtpmap:0 PCMU/8000
       a=rtpmap:8 PCMA/8000
       a=rtpmap:97 iLBC/8000
       a=candidate:1 1 UDP 1694498815 host.atlanta.com 10000 typ host
       m=video 20000 RTP/AVP 31 32
       a=mid:bar
       b=AS:1000
       a=rtpmap:31 H261/90000
       a=rtpmap:32 MPV/90000
       a=candidate:1 1 UDP 1694498815 host.atlanta.com 20000 typ host
       m=anymedia 30000 RTP/AVP 0 8 97 31 32
       a=mid:zoe
       a=rtpmap:0 PCMU/8000
       a=rtpmap:8 PCMA/8000
       a=rtpmap:97 iLBC/8000
       a=rtpmap:31 H261/90000
       a=rtpmap:32 MPV/9000
       a=mmtype: 0 audio
       a=mmtype: 8 audio
       a=mmtype: 97 audio
       a=mmtype: 31 video
       a=mmtype: 32 video
       a=candidate:1 1 UDP 1694498815 host.atlanta.com 30000 typ host



10.  IANA Considerations

   This document requests IANA to register the new SDP Grouping semantic
   extension called MMT.







Holmberg, et al.         Expires April 11, 2013                [Page 10]

Internet-Draft           Multiplexed media types            October 2012


11.  Acknowledgements

   The usage of the SDP grouping mechanism is based on a similar
   alternative proposed by Harald Alvestrand.  The SDP examples are also
   modified versions from the ones in the Alvestrand proposal.

   The usage of a dedicated SDP media type to described multiplexed
   media types types is based on input from Jonathan Lennox.


12.  Change Log

   [RFC EDITOR NOTE: Please remove this section when publishing]

   Changes from draft-holmberg-mmusic-sdp-mmt-negotiation-xx
   o  Add change.


13.  References

13.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264,
              June 2002.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.

   [RFC5888]  Camarillo, G. and H. Schulzrinne, "The Session Description
              Protocol (SDP) Grouping Framework", RFC 5888, June 2010.

13.2.  Informative References

   [RFC3550]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, RFC 3550, July 2003.

   [RFC5245]  Rosenberg, J., "Interactive Connectivity Establishment
              (ICE): A Protocol for Network Address Translator (NAT)
              Traversal for Offer/Answer Protocols", RFC 5245,
              April 2010.






Holmberg, et al.         Expires April 11, 2013                [Page 11]

Internet-Draft           Multiplexed media types            October 2012


Authors' Addresses

   Christer Holmberg
   Ericsson
   Hirsalantie 11
   Jorvas  02420
   Finland

   Email: christer.holmberg@ericsson.com


   Harald Tveit Alvestrand
   Google
   Kungsbron 2
   Stockholm  11122
   Sweden

   Email: harald@alvestrand.no


   Jonathan Lennox
   Vidyo, Inc.
   433 Hackensack Avenue
   Seventh Floor
   Hackensack, NJ  07601
   US

   Email: jonathan@vidyo.com























Holmberg, et al.         Expires April 11, 2013                [Page 12]