One document matched: draft-roach-mmusic-groupid-00.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!-- vim: set tw=69 : -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4566 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4566.xml">
<!ENTITY RFC5234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5234.xml">
<!ENTITY RFC5888 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5888.xml">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc colonspace="no" ?>
<?rfc rfcedstyle="no" ?>
<?rfc tocdepth="4"?>
<rfc category="std"
     updates="5888"
     docName="draft-roach-mmusic-groupid-00"
     ipr="trust200902">
  <front>
    <title abbrev="Group Identifiers">
      An Extension for Identification of Groups in the Session
      Description Protocol (SDP).
    </title>

    <author fullname="Adam Roach" initials="A. B." surname="Roach">
      <organization>Mozilla</organization>
      <address>
        <postal>
          <street></street>
          <city>Dallas</city>
          <region>TX</region>
          <code></code>
          <country>US</country>
        </postal>
        <phone>+1 650 903 0800 x863</phone>
        <email>adam@nostrum.com</email>
      </address>
    </author>

    <author fullname="Martin Thomson" initials="M." surname="Thomson">
      <organization>Mozilla</organization>
      <address>
        <postal>
          <street>650 Castro St. Suite 300</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94041-2021</code>
          <country>US</country>
        </postal>
        <phone>+1 650 903 0800</phone>
        <email>mt@moilla.com</email>
      </address>
    </author>

    <date day="2" month="December" year="2013" />

    <area>RAI</area>

    <abstract>
      <t>
        RFC 5888 defines a mechanism for semantically grouping media
        sections in the Session Description Protocol (SDP). One
        difficulty that has arisen in several applications of SDP is
        the need to uniquely identify these groups either in other
        protocols or elsewhere in the SDP itself.
      </t>
      <t>
        This document proposes a simple, backwards-compatible
        mechanism that provides unambiguous identifiers for RFC 5888 
        groups.
      </t>
      <t>
        This document updates RFC 5888.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>
        <xref target="RFC5888"/> defines a mechanism for semantically grouping
        media sections in the Session Description Protocol (SDP)
        <xref target="RFC4566"/> for
        purposes such as lip sync and flow identification. That
        mechanism, however, defines anonymous groupings, which makes
        it impossible to reliably and unambiguously refer to such
        groups at a later time (e.g. elsewhere in the SDP, or in an
        application-layer protocol).  This document defines a new
        attribute, "group-id", that can be used to attach identifiers
        to SDP groups.
      </t>
    </section>
    <section title="Terminology">
      <t>
        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 <xref
        target="RFC2119"/>.
      </t>
    </section>

    <section title="Mechanism Description">
      <t>
        The mechanism used to assign identifiers to group is very
        simple and straightforward: implementations that wish to
        assign an identifier to groups include a single "group-id"
        attribute immediately before each "group" attribute in the
        session. Importantly, it retains backwards-compatible with
        existing <xref target="RFC5888"/> implementations.
        This "group-id" attribute contains a single token,
        unique within the session, that unambiguously identifies the
        group defined on the following line. Each media section included in
        that group additionally MUST contain an "in-group" attribute that
        includes the <xref target="RFC5888"/> semantic identifier and
        group-id. This "in-group" identifier is intended to allow media
        sections to be self-describing when they appear outside
        the context of a full session.
      </t>
      <t>
        For clarity: if an implementation includes a
        group-id for any groups in a session, that implementation
        MUST include a group-id for every group in that session.
        Implementations MUST NOT include any attributes between a
        "group-id" attribute and the "group" attribute it identifies.
        Recipients of such SDP in which a "group-id" appears followed
        by anything other than the "group" attribute MUST ignore
        the errant "group-id" line.
      </t>
      <t>
        A simple example of the new group-id syntax follows. This
        example defines a single lip-sync group, and identifies it
        with the group identifier "abc."
      </t>
      <figure>
        <artwork align="left" xml:space="preserve"><![CDATA[
          v=0
          o=Laura 289083124 289083124 IN IP4 eight.example.com
          c=IN IP4 192.0.2.1
          t=0 0
          a=group-id:abc
          a=group:LS 1 2
          m=audio 30000 RTP/AVP 0
          a=mid:1
          a=in-group:LS abc
          m=audio 30000 RTP/AVP 8
          a=mid:2
          a=in-group:LS abc
]]></artwork></figure>

    </section>

    <section title="Syntax">
      <t>
        The new attributes introduced by this mechanism are defined
        by the following ABNF <xref target="RFC5234"/>:
      </t>
      <figure>
        <artwork align="left" xml:space="preserve"><![CDATA[
           groupid-attribute = "a=group-id:" group-id

           group-id          = token ; token is defined in RFC 4566

           in-group-attr     = "a=in-group:" semantics SP group-id
                               ; semantics is defined in RFC 5888
]]></artwork></figure>
    </section>

    <section anchor="sec.security" title="Security Considerations">
      <t>
        This mechanism does not introduce any security issues
        beyond those discussed in <xref target="RFC5888"/>.
      </t>
    </section>

    <section anchor="sec.iana" title="IANA Considerations">
      <t>
        This document defines two SDP attributes: "group-id" and
        "in-group". They are to be registered by IANA in the "SDP
        Parameters" registry as follows:
      </t>
      <figure>
        <artwork align="left" xml:space="preserve"><![CDATA[
   SDP Attribute ("att-field"):

     Attribute name:     group-id
     Long form:          Group ID
     Type of name:       att-field
     Type of attribute:  session level
     Subject to charset: no
     Purpose:            Identification of SDP groups
     Reference:          this document
     Values:             any token
]]></artwork></figure>
      <figure>
        <artwork align="left" xml:space="preserve"><![CDATA[
   SDP Attribute ("att-field"):

     Attribute name:     in-group
     Long form:          Add media section to group
     Type of name:       att-field
     Type of attribute:  media level
     Subject to charset: no
     Purpose:            Associating media sections with groups
     Reference:          this document
     Values:             semantic type followed by group identifier
]]></artwork></figure>
    </section>

  </middle>

  <back>
    <references title="Normative References">
      &RFC2119;
      &RFC4566;
      &RFC5234;
      &RFC5888;
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 02:38:14