Skip to main content

Describing multiple RTP media streams in SDP
draft-even-mmusic-multiple-streams-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Roni Even , Jonathan Lennox , Qin Wu
Last updated 2013-02-04
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-even-mmusic-multiple-streams-01
MMUSIC WG                                                        R. Even
Internet-Draft                                       Huawei Technologies
Intended status: Informational                                 J. Lennox
Expires: August 9, 2013                                            Vidyo
                                                                   Q. Wu
                                                     Huawei Technologies
                                                        February 5, 2013

              Describing multiple RTP media streams in SDP
               draft-even-mmusic-multiple-streams-01.txt

Abstract

   This document describes issues when describing multiple RTP streams
   in a single RTP session using SDP.  The document looks at current
   solutions and provides paths toward addressing the issues.

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 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 August 9, 2013.

Copyright Notice

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

   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

Even, et al.             Expires August 9, 2013                 [Page 1]
Internet-Draft         Multiple RTP streams in SDP         February 2013

   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Review of current directions in MMUSIC, AVText and AVTcore . .  5
   4.  Capabilities and limitations of SDP  . . . . . . . . . . . . .  7
   5.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  8
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  8
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  8
     8.1.  Normative References . . . . . . . . . . . . . . . . . . .  8
     8.2.  Informative References . . . . . . . . . . . . . . . . . .  8
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10

Even, et al.             Expires August 9, 2013                 [Page 2]
Internet-Draft         Multiple RTP streams in SDP         February 2013

1.  Introduction

   Communication systems can send and receive multiple RTP media
   streams.  The streams can be multiple video streams from the same
   source/camera representing, for example, different resolutions
   (simulcast, scalable video (SVC)) or repair streams (FEC).  They can
   be different streams from the same endpoint but from different
   cameras, for example a Telepresence system sending two views of the
   room from two different cameras.  They can also be multiple streams
   from separate original endpoints, sent by a middlebox.

   RTP [RFC3550] and [I-D.ietf-avtcore-multi-media-rtp-session] allow
   the multiplexing of multiple media of the same and different types
   (video with video and audio with video] in a single RTP session
   identified by a single transport address.  The RTP streams are
   identified by their synchronization source identifiers (SSRC).

   SIP offer answer [RFC3264] uses SDP [RFC4566] to negotiate RTP
   [RFC3550] media streams.  This document discusses the capabilities
   and limitations of SDP when describing SSRC multiplexed streams.

   When looking at the following offer

   m=video 10000 RTP/AVP 31 32

   a=rtpmap:31 H261/90000

   a=rtpmap:32 MPV/90000

   What does it mean: One RTP session is offered with H.261 or MPV
   codecs for the same content or one RTP session is offered with H.261
   and MPV codecs each with different content.

   This offer should really mean "arbitrarily many streams, with
   potentially different content, any of which could use either H.261 or
   MPV, potentially switching dynamically between them."  Now how do we
   provide enough information in SDP to allow the receiver to get a
   better understanding of what the offer is.

   Reading some text from RFC3264 it may look like a Media stream is
   defined as a single media instance

   "The offer will contain zero or more media streams (each media stream
   is described by an "m=" line and its associated attributes)."

   "In all cases, the formats in the "m=" line MUST be listed in order
   of preference, with the first format listed being preferred.  In this
   case, preferred means that the recipient of the offer SHOULD use the

Even, et al.             Expires August 9, 2013                 [Page 3]
Internet-Draft         Multiple RTP streams in SDP         February 2013

   format with the highest preference that is acceptable to it."

   "For each "m=" line in the offer, there MUST be a corresponding "m="
   line in the answer.  The answer MUST contain exactly the same number
   of "m=" lines as the offer.  This allows for streams to be matched up
   based on their order"

   Since SDP and [RFC3264] offer/answer describe RTP sessions, SDP's
   term "media stream" is poorly chosen.  Careful reading reveals that a
   single SDP "media stream" can be used by arbitrarily many RTP
   streams.  (Indeed, historically this was the case in SAP, the first
   usage of SDP, which was used to describe loosely-coupled RTP
   multicast sessions with arbitrarily many participants.)

   The logic of RFC3264 about the preference does not work if you have
   multiple RTP streams in the same m-line unless the same preference
   applies to all the RTP streams.  So when we look at solution we will
   also need to clarify the text in RFC3264 and most probably will need
   to have the right terminology for RTP session, media session across
   the different documents.

   SDP [RFC4566] is used to describe the multimedia session.  The basic
   model uses a two level hierarchy, consisting of session level and
   media level.

   SDP support of multiplexing multiple media streams in one RTP session
   based on the RTP stream SSRC did not provide enough capabilities to
   allow each of the multiplex RTP streams identified by its SSRC to
   have unique attribute, for example different bandwidth.  Furthermore
   when an offer had multiple payload type in a single media level
   descriptor (m-line) this is identified as option to receive all this
   payload types multiplexed.

   SDP provides a framework to define grouping relations between SDP
   media streams [RFC5888].  This framework specifies the grouping based
   on the SDP media session and not on RTP stream.

   Some tools for supporting RTP stream level attributes per RTP streams
   as well as support for simulcast were proposed and this document will
   look at them.  It was not a major problem so far since most endpoints
   are using a single audio and video stream and are using SDP media
   level descriptors (m-lines) to describe each of the streams.  Some of
   the existing implementation when offering multiple payload types in a
   single m-line are doing a second offer/answer exchange offering only
   one of the payload types removing the rest in order to indicate that
   they can only receive one media type encoding at a time.  Every
   change of media type requires an offer / answer exchange.

Even, et al.             Expires August 9, 2013                 [Page 4]
Internet-Draft         Multiple RTP streams in SDP         February 2013

   Currently both RTCweb and CLUE WGs have interest in better support
   for multiplexing either multiple RTP media streams from the same type
   or different types.  The work in
   [draft-ietf-mmusic-sdp-bundle-negotiation-01] and
   [draft-holmberg-mmusic-sdp-mmt-negotiation-00] provides two different
   directions for initial bundling support options for SDP negotiation
   of multiplexing different media types but the problem of identifying
   different RTP streams with different attributes is still not fully
   solved.  There is a dependency between what will be the bundling
   approach and the solution for describing individual RTP streams
   attributes.

   This document will try to describe existing tools and see what they
   provide and how they can be extended to provide better SDP support
   for SSRC multiplexed RTP streams.

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 RFC2119[RFC2119] and
   indicate requirement levels for compliant RTP implementations.

3.  Review of current directions in MMUSIC, AVText and AVTcore

   This section provides an overview of the RFCs and drafts that tries
   to provide more information about RTP streams based on their SSRC and
   can be helpful to assign attribute to individual RTP streams that are
   multiplexed to a single transport address.

   When looking at the available tools based on current work in MMUSIC,
   AVTcore and AVText for supporting SSRC multiplexing at the SDP level
   the following documents are considered to be relevant.

   SDP Source attribute [RFC5576] mechanisms to describe specific
   attributes of RTP sources based on their SSRC.  This document defines
   a mechanism to describe RTP sources, identified by their
   synchronization source(SSRC) identifier, in SDP, to associate
   attributes with these sources, and to express relationships among
   individual sources.  It also defines a number of new SDP attributes
   that apply to individual sources ("source-level" attributes),
   describes how a number of existing media stream ("media-level")
   attributes can also be applied at the source level, and establishes
   IANA registries for source-level attributes and source grouping
   semantics.  This mechanism provides an extensible framework but that
   implies that there will be a need to specify source level attributes

Even, et al.             Expires August 9, 2013                 [Page 5]
Internet-Draft         Multiple RTP streams in SDP         February 2013

   and probably to change the IANA procedure for attribute registration
   adding the requirement to specify if it is also source level
   attribute ( currently [RFC4566] requires for type of attribute to
   specify (session level, media level, or both))

   [I-D.westerlund-mmusic-max-ssrc] a signaling solution for how to use
   multiple SSRCs within one RTP session.  This document also defines
   two new SDP attributes, "max-send-ssrc" and" max-recv-ssrc".  The
   attributes allows an entity to, for a given media description,
   indicate sending and receiving capabilities of multiple media
   sources, based on codec usage .  Since the number of payload type
   numbers in an SDP m-line specifies that all these payloads can be
   received this draft provides a way to specify how many can be sent
   and received simultaneously.  Still if there are more payload type
   numbers in the m-line it is still implies that a receiver must be
   able to receive any subset at any given time but no more than max-
   ssrc.

   A proposed solution to support simulcast is defined in
   [I-D.westerlund-avtcore-rtp-simulcast].  Simulcast is an application
   usage where multiple media streams derived from the same media source
   may be sent simultaneously.  The document discusses the best way of
   accomplishing this in RTP using a session-based solution.  The
   document describes a solution where each stream from the unicast
   stream will use a separate RTP session.  Section 4.2 of the document
   looks at using a single RTP session using RFC5576 [RFC5576] and the
   proposed source name attribute specified in
   [I-D.westerlund-avtext-rtcp-sdes-srcname].  Another way for a single
   seesion support may be by using a different payload type numbers but
   section 4.1 of [I-D.westerlund-avtcore-rtp-simulcast] discourages
   such usage.

   [I-D.westerlund-avtext-rtcp-sdes-srcname] provides an extension that
   may be send in SDP, as an RTCP SDES information or as an RTP header
   extension that uniquely identifies a single media source.  It defines
   a hierarchical order of the SRCNAME parameter that can be used, for
   example, to describe multiple resolutions from the same source (see
   section 5.1 of [I-D.westerlund-avtcore-rtp-simulcast]).  Still all
   the examples are using RTP session multiplexing and there is no
   description of using a single RTP session.  This can probably be
   addressed using bundle with separate m-line for each resolution.

   Other documents that discusses the media source issue and may be
   required as part of the solution includes:

   [I-D.lennox-mmusic-sdp-source-selection] specifies how participants
   in a multimedia session can request a specific source from a remote
   party.

Even, et al.             Expires August 9, 2013                 [Page 6]
Internet-Draft         Multiple RTP streams in SDP         February 2013

   [I-D.westerlund-avtext-codec-operation-point] extends the codec
   control messages by specifying messages that let participants
   communicate a set of codec configuration parameters.

   Negotiation of generic image attributes in SDP [RFC6236] provides the
   means to negotiate the image size.  The image attribute can be used
   to offer different image parameters like size but in order to offer
   multiple RTP streams with different resolutions it does it using
   separate RTP session for each image option.

4.  Capabilities and limitations of SDP

   When two endpoints with multiple sources communicate with each other
   and requires multiplexing multiple media types in the same RTP
   session, a set of capabilities or combination of those capabilities
   for the session and its associated media stream components, can be
   supported by each side.  The capability indications by each side do
   not imply a commitment to use the capabilities in the session.  These
   capabilities include but are not limited to:

   o  Indicating group relationships among sources of an RTP session

   o  Identifying Stream among sources of an RTP session

   o  Indicating the maximum number of Sources and Receivers

   o  Negotiating Codec Configuration parameters

   o  Indicating the interests in transmission of sources

   o  Indicating the priority of transmission of sources

   o  Indicating support of multiple media type multiplexing

   As the default behavior, Group relationship among sources of an RTP
   session can be indicated by extending the Session Description
   Protocol (SDP) Grouping Framework [RFC5888].  However the Session
   Description Protocol (SDP) Grouping Framework is limited to One media
   description per RTP session and media type and does not support
   multiplexing multiple media types in one RTP session.  Alternatively,
   Group relationship among sources of an RTP session can be implicitly
   indicated using hierarchical order of the SRCNAME parameter defined
   in [I-D.westerlund-avtext-rtcp-sdes-srcname].  However the SRCNAME
   parameter applies to both SSRC multiplexing and Session multiplexing.

   Normally each RTP stream in the multiplexed RTP streams is identified
   by its SSRC.  However in some cases, one media stream may include

Even, et al.             Expires August 9, 2013                 [Page 7]
Internet-Draft         Multiple RTP streams in SDP         February 2013

   multiple sub-stream sharing the same properties, e.g., scalable
   media.  In such cases, the capability to identify each sub-stream
   among sources of an RTP session is required.
   [I-D.westerlund-avtext-codec-operation-point] provides a means for
   sub-stream identification.  However such means are too much codec
   specific and used together with codec control messages.

5.  Acknowledgements

   Place Holder

6.  IANA Considerations

   TBD

7.  Security Considerations

   TBD.

8.  References

8.1.  Normative References

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

8.2.  Informative References

   [I-D.ietf-avtcore-multi-media-rtp-session]
              Westerlund, M., Perkins, C., and J. Lennox, "Multiple
              Media Types in an RTP Session",
              draft-ietf-avtcore-multi-media-rtp-session-01 (work in
              progress), October 2012.

   [I-D.lennox-mmusic-sdp-source-selection]
              Lennox, J. and H. Schulzrinne, "Mechanisms for Media
              Source Selection in the Session Description Protocol
              (SDP)", draft-lennox-mmusic-sdp-source-selection-04 (work
              in progress), March 2012.

   [I-D.westerlund-avtcore-rtp-simulcast]
              Westerlund, M., Burman, B., Lindqvist, M., and F. Jansson,
              "Using Simulcast in RTP sessions",
              draft-westerlund-avtcore-rtp-simulcast-01 (work in

Even, et al.             Expires August 9, 2013                 [Page 8]
Internet-Draft         Multiple RTP streams in SDP         February 2013

              progress), July 2012.

   [I-D.westerlund-avtext-codec-operation-point]
              Westerlund, M., Burman, B., and L. Hamm, "Codec Operation
              Point RTCP Extension",
              draft-westerlund-avtext-codec-operation-point-00 (work in
              progress), March 2012.

   [I-D.westerlund-avtext-rtcp-sdes-srcname]
              Westerlund, M., Burman, B., and P. Sandgren, "RTCP SDES
              Item SRCNAME to Label Individual Sources",
              draft-westerlund-avtext-rtcp-sdes-srcname-01 (work in
              progress), July 2012.

   [I-D.westerlund-mmusic-max-ssrc]
              Holmberg, C., Westerlund, M., Burman, B., and F. Jansson,
              "Multiple Synchronization Sources (SSRC) in SDP Media
              Descriptions", draft-westerlund-mmusic-max-ssrc-00 (work
              in progress), September 2012.

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

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

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

   [RFC4575]  Rosenberg, J., Schulzrinne, H., and O. Levin, "A Session
              Initiation Protocol (SIP) Event Package for Conference
              State", RFC 4575, August 2006.

   [RFC4796]  Hautakorpi, J. and G. Camarillo, "The Session Description
              Protocol (SDP) Content Attribute", RFC 4796,
              February 2007.

   [RFC5104]  Wenger, S., Chandra, U., Westerlund, M., and B. Burman,
              "Codec Control Messages in the RTP Audio-Visual Profile
              with Feedback (AVPF)", RFC 5104, February 2008.

   [RFC5117]  Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117,
              January 2008.

   [RFC5285]  Singer, D. and H. Desineni, "A General Mechanism for RTP
              Header Extensions", RFC 5285, July 2008.

Even, et al.             Expires August 9, 2013                 [Page 9]
Internet-Draft         Multiple RTP streams in SDP         February 2013

   [RFC5576]  Lennox, J., Ott, J., and T. Schierl, "Source-Specific
              Media Attributes in the Session Description Protocol
              (SDP)", RFC 5576, June 2009.

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

   [RFC6236]  Johansson, I. and K. Jung, "Negotiation of Generic Image
              Attributes in the Session Description Protocol (SDP)",
              RFC 6236, May 2011.

Authors' Addresses

   Roni Even
   Huawei Technologies
   Tel Aviv,
   Israel

   Email: roni.even@mail01.huawei.com

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

   Email: jonathan@vidyo.com

   Qin Wu
   Huawei Technologies

   Email: bill.wu@huawei.com

Even, et al.             Expires August 9, 2013                [Page 10]