Skip to main content

RTP Stream Identifier (RID) Source Description (SDES)
draft-ietf-avtext-rid-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 8852.
Authors Adam Roach , Suhas Nandakumar , Peter Thatcher
Last updated 2016-03-03
Replaces draft-roach-avtext-rid
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state Became RFC 8852 (Proposed Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-avtext-rid-01
Network Working Group                                           A. Roach
Internet-Draft                                                   Mozilla
Intended status: Standards Track                           S. Nandakumar
Expires: September 4, 2016                                 Cisco Systems
                                                             P. Thatcher
                                                                  Google
                                                          March 03, 2016

         RTP Stream Identifier (RID) Source Description (SDES)
                        draft-ietf-avtext-rid-01

Abstract

   This document defines and registers an RTCP SDES item, RID, for
   identification of RTP streams associated with Encoded Streams and
   Dependent Streams.

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 September 4, 2016.

Copyright Notice

   Copyright (c) 2016 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

Roach, et al.           Expires September 4, 2016               [Page 1]
Internet-Draft                  RID SDES                      March 2016

   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Key Words for Requirements  . . . . . . . . . . . . . . . . .   3
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Usage of RID in RTP and RTCP  . . . . . . . . . . . . . . . .   4
     4.1.  RTCP 'RID' SDES Extension . . . . . . . . . . . . . . . .   4
     4.2.  RTCP 'RRID' SDES Extension  . . . . . . . . . . . . . . .   4
     4.3.  RTP 'RID' and 'RRID' Header Extensions  . . . . . . . . .   5
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  New RID SDES item . . . . . . . . . . . . . . . . . . . .   5
     5.2.  New RRID SDES item  . . . . . . . . . . . . . . . . . . .   5
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   RTP sessions frequently consist of multiple streams, each of which is
   identified at any given time by its SSRC; however, the SSRC
   associated with a stream is not guaranteed to be stable over its
   lifetime.  Within a session, these streams can be tagged with a
   number of identifiers, including CNAMEs and MSIDs
   [I-D.ietf-mmusic-msid].  Unfortunately, none of these have the proper
   ordinality to refer to an individual stream; all such identifiers can
   appear in more than one stream at a time.  While approaches that use
   unique Payload Types (PTs) per stream have been used in some
   applications, this is a semantic overloading of that field, and one
   for which its size is inadequate: in moderately complex systems that
   use PT to uniquely identify every potential combination of codec
   configuration and unique stream, it is possible to simply run out of
   values.

   To address this situation, we define a new RTCP SDES identifier that
   uniquely identifies a single stream.  A key motivator for defining
   this identifier is the ability to differentiate among different
   encodings of a single Source Stream that are sent simultaneously
   (i.e., simulcast).  This need for unique identification extends to
   Dependent Streams (i.e., layers used by a layered codec).

   At the same time, when Redundancy RTP Streams are in use, we also
   need an identifier that connects such streams to the RTP stream for

Roach, et al.           Expires September 4, 2016               [Page 2]
Internet-Draft                  RID SDES                      March 2016

   which they are providing redundancy.  To that end, when this new
   identifier is in use, it appears (and contains the same value) in
   both in the Redundancy RTP Stream as well as the stream it is
   correcting.

   For lack of a better term, we have elected to call this term "RID,"
   which loosely stands for "RTP stream IDentifier."  It should be noted
   that this isn't an overly-precise use of the term "RTP Stream," due
   to the lack of an existing well-defined term for the construct we are
   attempting to identify.  See Section 3 for a formal definition of the
   exact scope of a RID.

   The use of RIDs in SDP is described in [I-D.ietf-mmusic-rid].

   Finally, to accommodate the potential need to identify Redundancy RTP
   streams independently of the stream for which they are defining
   redundancy, we specify a second identifier, RRID (Redundancy RTP
   Stream IDentifier).

2.  Key Words for Requirements

   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]

3.  Terminology

   In this document, the terms "Source Stream", "Encoded Stream," "RTP
   Stream", "Source RTP Stream", "Dependent Stream", "Received RTP
   Stream", and "Redundancy RTP Stream" are used as defined in
   [RFC7656].

   For Encoded Streams, the RID refers to the "Source RTP Stream" as
   defined by [RFC7656] Section 2.1.10.  For Dependent Streams, it
   refers to the RTP Stream that, like the Source RTP Stream of an
   Encoded Stream, is the RTP Stream that is not a Redundancy RTP
   Stream.  For conciseness, we define the term "RID RTP Stream" to
   refer to this construct.

   For clarity, when RID is used, Redundancy RTP Streams that can be
   used to repair Received RTP Streams will use the same RID value as
   the Received RTP Stream they are intended to be combined with.  If
   applications want to identify individual redundancy streams, they can
   add an RRID to them instead of or in addition to the RID.

Roach, et al.           Expires September 4, 2016               [Page 3]
Internet-Draft                  RID SDES                      March 2016

4.  Usage of RID in RTP and RTCP

   The RTP fixed header includes the payload type number and the SSRC
   values of the RTP stream.  RTP defines how you de-multiplex streams
   within an RTP session; however, in some use cases, applications need
   further identifiers in order to effectively map the individual RID
   RTP Streams to their equivalent payload configurations in the SDP.

   This specification defines two new RTCP SDES items [RFC3550].  The
   first item is 'RID', which is used to carry RID identifiers within
   RTCP SDES packets.  This makes it possible for a receiver to
   associate received RTP packets (identifying the RID RTP Stream) with
   a media description having the format constraint specified.  The
   second is 'RRID', which can be used to carry a unique identifier to
   designate Redundancy RTP Streams independently of the stream for
   which they provide redundancy.

   This specification also uses the RTP header extension for RTCP SDES
   items [I-D.ietf-avtext-sdes-hdr-ext] to allow carrying RID and RRID
   information in RTP packets.  This allowes correlation at stream
   startup, or after stream changes where the use of RTCP may not be
   sufficiently responsive.

4.1.  RTCP 'RID' SDES Extension

        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      RID=TBD  |     length    | rid                         ...
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The rid payload is UTF-8 encoded and is not null-terminated.

      RFC EDITOR NOTE: Please replace TBD with the assigned SDES
      identifier value.

4.2.  RTCP 'RRID' SDES Extension

        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     RRID=TBD  |     length    | rrid                        ...
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The rrid payload is UTF-8 encoded and is not null-terminated.

      RFC EDITOR NOTE: Please replace TBD with the assigned SDES
      identifier value.

Roach, et al.           Expires September 4, 2016               [Page 4]
Internet-Draft                  RID SDES                      March 2016

4.3.  RTP 'RID' and 'RRID' Header Extensions

   Because recipients of RTP packets will typically need to know which
   streams they correspond to immediately upon receipt, this
   specification also defines a means of carrying RID and RRID
   identifiers in RTP extension headers, using the technique described
   in [I-D.ietf-avtext-sdes-hdr-ext].

   As described in that document, the header extension element can be
   encoded using either the one-byte or two-byte header, and the
   identification-tag payload is UTF-8 encoded, as in SDP.

   As the identification-tag is included in an RTP header extension,
   there should be some consideration about the packet expansion caused
   by the identification-tag.  To avoid Maximum Transmission Unit (MTU)
   issues for the RTP packets, the header extension's size needs to be
   taken into account when the encoding media.  Note that set of header
   extensions included in the packet needs to be padded to the next
   32-bit boundary [RFC5285].

   It is RECOMMENDED that the identification-tag is kept short.  In many
   cases, a one-byte tag will be sufficient; it is RECOMMENDED that
   implementations use the shortest identifier that fits their purposes.

5.  IANA Considerations

5.1.  New RID SDES item

      RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of
      this document.

      RFC EDITOR NOTE: Please replace TBD with the assigned SDES
      identifier value.

   This document adds the MID SDES item to the IANA "RTCP SDES item
   types" registry as follows:

              Value:          TBD
              Abbrev.:        RID
              Name:           RTP Stream Identifier
              Reference:      RFCXXXX

5.2.  New RRID SDES item

      RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of
      this document.

Roach, et al.           Expires September 4, 2016               [Page 5]
Internet-Draft                  RID SDES                      March 2016

      RFC EDITOR NOTE: Please replace TBD with the assigned SDES
      identifier value.

   This document adds the MID SDES item to the IANA "RTCP SDES item
   types" registry as follows:

              Value:          TBD
              Abbrev.:        RRID
              Name:           Redundancy RTP Stream Identifier
              Reference:      RFCXXXX

6.  Security Considerations

   The actual identifiers used for RIDs and RRIDs are expected to be
   opaque.  As such, they are not expected to contain information that
   would be sensitive, were it observed by third-parties.

7.  Acknowledgements

   Many thanks for review and input from Cullen Jennings, Magnus
   Westerlund, Colin Perkins, Peter Thatcher, Jonathan Lennox, and Paul
   Kyzivat.

8.  References

8.1.  Normative References

   [I-D.ietf-avtext-sdes-hdr-ext]
              Westerlund, M., Burman, B., Even, R., and M. Zanaty, "RTP
              Header Extension for RTCP Source Description Items",
              draft-ietf-avtext-sdes-hdr-ext-05 (work in progress),
              March 2016.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [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, <http://www.rfc-editor.org/info/rfc3550>.

   [RFC5285]  Singer, D. and H. Desineni, "A General Mechanism for RTP
              Header Extensions", RFC 5285, DOI 10.17487/RFC5285, July
              2008, <http://www.rfc-editor.org/info/rfc5285>.

Roach, et al.           Expires September 4, 2016               [Page 6]
Internet-Draft                  RID SDES                      March 2016

   [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,
              <http://www.rfc-editor.org/info/rfc7656>.

8.2.  Informative References

   [I-D.ietf-mmusic-msid]
              Alvestrand, H., "WebRTC MediaStream Identification in the
              Session Description Protocol", draft-ietf-mmusic-msid-11
              (work in progress), October 2015.

   [I-D.ietf-mmusic-rid]
              Thatcher, P., Zanaty, M., Nandakumar, S., Burman, B.,
              Roach, A., and B. Campen, "RTP Payload Format
              Constraints", draft-ietf-mmusic-rid-04 (work in progress),
              February 2016.

Authors' Addresses

   Adam Roach
   Mozilla

   Email: adam@nostrum.com

   Suhas Nandakumar
   Cisco Systems

   Email: snandaku@cisco.com

   Peter Thatcher
   Google

   Email: pthatcher@google.com

Roach, et al.           Expires September 4, 2016               [Page 7]