One document matched: draft-burnett-rtcweb-constraints-registry-02.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc5234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5234.xml">
<!ENTITY rfc5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<?rfc compact="yes"?>
<?rfc toc="yes"?>
<rfc category="std" docName="draft-burnett-rtcweb-constraints-registry-02"
     ipr="trust200902">
  <front>
    <title abbrev="constraints-registry">IANA Registry for RTCWeb Media
    Constraints</title>

    <author fullname="Daniel C. Burnett" initials="D." surname="Burnett">
      <organization>Voxeo</organization>

      <address>
        <postal>
          <street>189 South Orange Avenue #1000</street>

          <city>Orlando</city>

          <region>FL</region>

          <code>32801</code>

          <country>USA</country>
        </postal>

        <email>dburnett@voxeo.com</email>
      </address>
    </author>

    <date day="20" month="October" year="2012" />

    <area>Real-time Applications and Infrastructure</area>

    <workgroup>RTCWEB</workgroup>

    <abstract>
      <t>Specifications in W3C's Media Capture Task Force and WebRTC Working
      Group have need of a registry in which to maintain a list of HTML media
      constraints. This document defines this registry.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="sec.introduction" title="Introduction">
      <t>There are two W3C specifications that have need of a registry in
      which to represent constraints: <xref
      target="W3C.WD-mediacapture-streams-20120628">Media Capture and Streams</xref>
      and <xref target="W3C.WD-webrtc-20120821">WebRTC 1.0: Real-time
      Communication Between Browsers</xref>. In the former, the getUserMedia()
      method on the NavigatorUserMedia interface takes a "constraints"
      argument. In the latter, the addStream() method on the RTCPeerConnection
      interface and the constructor for RTCPeerConnection both take optional
      "constraints" parameters. All three of these parameters make use of a
      data structure representing a list of constraints on the HTML media or
      media connection to be established. Additionally, both specifications
      may at some point define getCapabilities() methods that are used to
      query the web browser about its capabilities. It is possible that the
      returned data structure will specify the browser's capabilities in terms
      of constraints that it can satisfy. The data structures and their use
      are defined in the aforementioned specifications. This document
      specifies the registry used to define individual constraint names, their
      allowed values, and their meanings.</t>
    </section>

    <section title="Requirements Language">
      <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">
      RFC 2119</xref>.</t>
    </section>

    <section anchor="sec.iana" title="IANA Considerations">
      <t>This document defines a registry "RTCWeb Media Constraints" for use
      by W3C specifications needing to indicate constraints on HTML Media,
      both as used by web application authors to indicate preferences and as
      used by web browsers to indicate constraints they can satisfy.</t>

      <section anchor="sec.registry.mediacon" title="RTCWeb Media Constraints">
        <t>IANA SHALL create a new name space of "RTCWeb Media Constraints".
        All maintenance within and additions to the contents of this name
        space MUST be according to the "Specification Required with Expert
        Review" registration policy as defined in <xref
        target="RFC5226">RFC5226</xref>. The registry is initially empty. The
        registry is defined in the remainder of this section.</t>

        <t>Each registry entry consists of a Name, a Media Type, and a
        Reference (or list of references).</t>

        <t>An RTCWeb Media Constraint Name MUST satisfy the following <xref
        target="RFC5234">ABNF</xref> specification:</t>

        <figure>
          <artwork><![CDATA[
rtcweb-media-constraint = constraint-type constraint
constraint-type         = "min" / "max" / "enum"
constraint              = %x41-5A 0*constraint-char
constraint-char         = ALPHA / DIGIT

]]></artwork>
        </figure>

        <t>RTCWeb Media Constraint Names are case-sensitive.</t>

        <t>The Media Type MUST be one of the values as specified by the
        following ABNF specification:</t>

        <figure>
          <artwork><![CDATA[
rtcweb-media-type = "audio" / "video" / "RTCPeerConnection"

]]></artwork>
        </figure>

        <t></t>

        <t>A registration request MUST include the following information:</t>

        <t><list style="symbols">
            <t>The RTCWeb Media Constraint Name to be registered</t>

            <t>The applicable Media Type for the Name</t>

            <t>Name and Email address of a contact person for the
            registration</t>

            <t>Organization or individuals having the change control</t>

            <t>Reference(s) to the specification(s) defining the
            constraint</t>
          </list></t>

        <section title="Designated Expert Instructions">
          <t>RTCWeb Media Constraint Names are of unlimited length according
          to the syntax. However, it is RECOMMENDED that they be no longer
          than 80 characters in total. This is to keep them reasonable for
          humans to read and use. It is RECOMMENDED that Names use camel case,
          i.e., when a Name consists of multiple words, the first character of
          each word SHOULD be an uppercase character, with all others being
          lowercase. This recommendation only applies to the characters
          following the constraint-type.</t>

          <t>An RTCWeb Constraint MUST be relevant for the Media Type given.
          For example, a Constraint with Media Type of "audio" MUST be
          relevant to audio media streams and connections, while a Constraint
          of Media Type "video" MUST be relevant to video media streams and
          connections.</t>

          <t>A constraint MUST satisfy the following criteria based upon its
          constraint-type:</t>

          <t><list hangIndent="6" style="hanging">
              <t hangText="min"><vspace blankLines="0" />When used by a web
              application author, the constraint MUST represent the minimum
              value the author is willing to accept. When returned by a web
              browser as a capability, the constraint MUST represent the
              minimum value that the web browser could satisfy if requested to
              by the web application author. The constraint specification MUST
              clearly define the units associated with the value if the value
              itself does not specify them.</t>

              <t hangText="max"><vspace blankLines="0" />When used by a web
              application author, the constraint MUST represent the maximum
              value the author is willing to accept. When returned by a web
              browser as a capability, the constraint MUST represent the
              maximum value that the web browser could satisfy if requested to
              by the web application author. The constraint specification MUST
              clearly define the units associated with the value if the value
              itself does not specify them.</t>

              <t hangText="enum"><vspace blankLines="0" />The constraint
              specification MUST enumerate all allowed values.</t>
            </list></t>

          <t></t>

          <t>The constraint MUST be well enough defined in the given
          references that it is understandable by implementors and application
          developers that will use the constraint. The constraint SHOULD NOT
          duplicate a condition that can be achieved using constraints already
          defined in the registry. The constraint name SHOULD be appropriate
          and specific enough for the constraint.</t>
        </section>
      </section>
    </section>

    <section anchor="sec.securityConsiderations"
             title="Security Considerations">
      <t>Since the constraints envisioned for this registry are fairly generic
      in nature, it is not expected that the mere existence of this registry
      will introduce any particular security issues. Any specification
      defining one or more new constraints SHOULD address any specific
      security issues that might be introduced by the constraint(s).</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <!--Key words for use in RFCs to Indicate Requirement Levels-->

      &rfc2119;

      <!--ABNF-->

      &rfc5234;

      <!--Guidelines for Writing an IANA Considerations Section in RFCs-->

      &rfc5226;
    </references>

    <references title="Informative References">
      <!-- WebRTC -->

      <reference anchor="W3C.WD-webrtc-20120821"
                 target="http://www.w3.org/TR/2012/WD-webrtc-20120821">
        <front>
          <title>WebRTC 1.0: Real-Time Communication Between Browsers</title>

          <author fullname="Adam Bergkvist" initials="A." surname="Bergkvist">
            <organization>Ericsson</organization>
          </author>

          <author fullname="Daniel C. Burnett" initials="D." surname="Burnett">
            <organization>Voxeo</organization>
          </author>

          <author fullname="Cullen Jennings" initials="C." surname="Jennings">
            <organization>Cisco</organization>
          </author>

          <author fullname="Anant Narayanan" initials="A." surname="Narayanan">
            <organization>Mozilla</organization>
          </author>

          <date day="21" month="August" year="2012" />
        </front>

        <seriesInfo name="World Wide Web Consortium WD"
                    value="WD-webrtc-20120821" />

        <format target="http://www.w3.org/TR/2012/WD-webrtc-20120821"
                type="HTML" />
      </reference>

      <!-- getusermedia -->

      <reference anchor="W3C.WD-mediacapture-streams-20120628"
                 target="http://www.w3.org/TR/2012/WD-mediacapture-streams-20120628/">
        <front>
          <title>Media Capture and Streams</title>

          <author fullname="Daniel C. Burnett" initials="D." surname="Burnett">
            <organization>Voxeo</organization>
          </author>

          <author fullname="Anant Narayanan" initials="A." surname="Narayanan">
            <organization>Mozilla</organization>
          </author>

          <date day="28" month="June" year="2012" />
        </front>

        <seriesInfo name="World Wide Web Consortium WD"
                    value="WD-mediacapture-streams-20120628" />

        <format target="http://www.w3.org/TR/2012/WD-mediacapture-streams-20120628/"
                type="HTML" />
      </reference>
    </references>

    <section title="Acknowledgements">
      <t>The authors would like to thank the members of the W3C Media Capture
      Task Force and WebRTC Working Group, the members of the IETF RTCWEB
      Working Group, and the people who gave specific early review and
      feedback: Cullen Jennings and Travis Leithead.</t>

      <t></t>
    </section>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 04:23:29