<?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 rfc3095 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3095.xml">
<!ENTITY rfc5052 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5052.xml">
<!ENTITY rfc2736 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2736.xml">
<!ENTITY rfc3550 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3550.xml">
<!ENTITY rfc4288 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4288.xml">
<!ENTITY rfc4855 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4855.xml">
<!ENTITY fecframe SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-fecframe-framework.xml">
<!ENTITY raptorschemes SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.watson-fecframe-raptor.xml">
]>
<?rfc toc="yes" ?>
<rfc category="std" docName="draft-ietf-fecframe-rtp-raptor-00"
     ipr="trust200902">
  <front>
    <title abbrev="RTP Payload Fromat for Raptor">RTP Payload Format for
    Raptor FEC</title>

    <author fullname="Mark Watson" initials="M." surname="Watson">
      <organization>Qualcomm Inc.</organization>

      <address>
        <postal>
          <street>3165 Kifer Rd.</street>

          <city>Santa Clara</city>

          <region>CA</region>

          <code>95051</code>

          <country>U.S.A.</country>
        </postal>

        <email>watson@qualcomm.com</email>
      </address>
    </author>

    <date day="4" month="March" year="2009" />

    <area>Transport</area>

    <workgroup>FEC Framework Working Group</workgroup>

    <abstract>
      <t>This document specifies an RTP Payload Format for Forward Error
      Correction repair data produced by the Raptor FEC Schemes. Raptor FEC
      Schemes are specified for use with the IETF FEC Framework which supports
      transport of repair data over both UDP and RTP. This document specifies
      the Payload Format which is required for the use of RTP to carry Raptor
      repair flows.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>The FEC Framework <xref target="I-D.ietf-fecframe-framework"></xref>
      defines a general framework for the use of Forward Error Correction in
      association with arbitrary packet flows, including flows over UDP and
      RTP. Forward Error Corrections operates by generating redundant data
      packets ("repair data") which can be sent independently from the
      original flow. At a receiver the original flow can be reconstructed
      provided a sufficient set of redundant data packets and possibly
      original data packets are received.</t>

      <t>The FEC Framework provides for independence between application
      protocols and FEC codes. The use of a particular FEC code within the
      framework is defined by means of an FEC Scheme which may then be used
      with any application protocol compliant to the framework.</t>

      <t>Repair data flows may be sent directly over a transport protocol such
      as UDP, or they may be encapsulated within RTP. In the latter case, an
      RTP Payload Format must be defined for each FEC Scheme.</t>

      <t>This document defines the RTP Payload Format for the Raptor FEC
      Schemes defined in <xref
      target="I-D.watson-fecframe-raptor"></xref>.</t>
    </section>

    <section title="Conventions, Definitions and Acronyms">
      <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"></xref>.</t>
    </section>

    <section title="Media Format Background">
      <t>The Raptor code is an efficient XOR-based block-based fountain code,
      meaning that from any group of source packets an arbitrary number of
      repair packets may be generated. The Raptor code has the property that
      the original group of source packets can be recovered with very high
      probability from any set of packets (source and repair) only slightly
      greater in number than the original number of source packets.</t>

      <t><xref target="I-D.watson-fecframe-raptor"></xref> defines three FEC
      Schemes for the use of the Raptor code with arbitary packet flows: the
      first scheme is fully applicable to arbitary packet flows. The second
      scheme is a slightly optimised version of the first scheme which is
      applicable in applications with relatively small block sizes. The third
      scheme is a variant of the second scheme which is applicable to a single
      source flow which already has some kind of identifiable sequence number.
      The presence of a sequence number in the source flow allows for
      backwards compatible operation (the source flows do not need to be
      modified in order to apply FEC). In this case in the language of the FEC
      Framework, there is no explicit FEC Source Payload Id.</t>
    </section>

    <section title="Payload Format">
      <t>The RTP Payload contains a FEC Repair Payload as defined in <xref
      target="I-D.watson-fecframe-raptor"></xref>.</t>

      <section title="RTP Header Usage">
        <t>The rules SHALL be followed for the RTP header used with FEC repair
        packets:</t>

        <t><list style="symbols">
            <t>Marker bit: The marker bit shall be set 1 for the last
            protection RTP packet sent for each source block, and otherwise
            set to 0</t>

            <t>Timestamp: The timestamp SHALL be set to a time corresponding
            to the packet's transmission time. The timestamp value has no use
            in the actual FEC protection process. It may be used for packet
            arrival timing and jitter calculations.</t>
          </list></t>
      </section>

      <section title="Payload Header">
        <t>There is no Payload Header in this Payload Format</t>
      </section>

      <section title="Payload Data">
        <t>The RTP Payload contains a FEC Repair Payload as defined in <xref
        target="I-D.ietf-fecframe-framework"></xref> and <xref
        target="I-D.watson-fecframe-raptor"></xref>.</t>
      </section>
    </section>

    <section title="Congestion Control Considerations">
      <t>See <xref target="I-D.ietf-fecframe-framework"></xref>.</t>
    </section>

    <section title="Media Types">
      <section title="Registration of the application/raptorfec media type">
        <t>This RTP payload format is identified using the
        application/raptorfec media type which is registered in accordance
        with <xref target="RFC4855"></xref> and using the template of <xref
        target="RFC4288"></xref>.</t>

        <section anchor="registration-application"
                 title="Media Type Definition">
          <t>Type name: application</t>

          <t>Subtype name: raptorfec</t>

          <t>Required parameters:</t>

          <t><list>
              <t>raptor-scheme-id: The value of this parameter is the FEC
              Scheme Id for the specific Raptor FEC Scheme that will be used
              as defined in <xref
              target="I-D.watson-fecframe-raptor"></xref></t>
            </list></t>

          <t>Optional parameters: none</t>

          <t>Encoding considerations: This media type is framed and binary,
          see section 4.8 in <xref target="RFC4288"></xref></t>

          <t>Security considerations: Please see security consideration in
          <xref target="I-D.ietf-fecframe-framework"></xref></t>

          <t>Interoperability considerations:</t>

          <t>Published specification: <xref
          target="I-D.watson-fecframe-raptor"></xref></t>

          <t>Applications that use this media type:</t>

          <t>Additional information:</t>

          <t>Magic number(s): &lt;none defined&gt;</t>

          <t>File extension(s): &lt;none defined&gt;</t>

          <t>Macintosh file type code(s): &lt;none defined&gt;</t>

          <t>Person &amp; email address to contact for further information:
          Mark Watson, mark@digitalfountain.com</t>

          <t>Intended usage: COMMON</t>

          <t>Restrictions on usage: This media type depends on RTP framing,
          and hence is only defined for transfer via RTP [<xref
          target="RFC3550"></xref>]. Transport within other framing protocols
          is not defined at this time.</t>

          <t>Author: Mark Watson, Digital Fountain</t>

          <t>Change controller: IETF Audio/Video Transport working group
          delegated from the IESG.</t>
        </section>
      </section>

      <section title="Registration of the video/raptorfec media type">
        <t>This RTP payload format is identified using the video/raptorfec
        media type which is registered in accordance with <xref
        target="RFC4855"></xref> and using the template of <xref
        target="RFC4288"></xref>.</t>

        <section anchor="registration-video" title="Media Type Definition">
          <t>Type name: video</t>

          <t>Subtype name: raptorfec</t>

          <t>Required parameters:</t>

          <t><list>
              <t>raptor-scheme-id: The value of this parameter is the FEC
              Scheme Id for the specific Raptor FEC Scheme that will be used
              as defined in <xref
              target="I-D.watson-fecframe-raptor"></xref></t>
            </list></t>

          <t>Optional parameters: none</t>

          <t>Encoding considerations: This media type is framed and binary,
          see section 4.8 in <xref target="RFC4288"></xref></t>

          <t>Security considerations: Please see security consideration in
          <xref target="I-D.ietf-fecframe-framework"></xref></t>

          <t>Interoperability considerations:</t>

          <t>Published specification: <xref
          target="I-D.watson-fecframe-raptor"></xref></t>

          <t>Applications that use this media type:</t>

          <t>Additional information:</t>

          <t>Magic number(s): &lt;none defined&gt;</t>

          <t>File extension(s): &lt;none defined&gt;</t>

          <t>Macintosh file type code(s): &lt;none defined&gt;</t>

          <t>Person &amp; email address to contact for further information:
          Mark Watson, mark@digitalfountain.com</t>

          <t>Intended usage: COMMON</t>

          <t>Restrictions on usage: This media type depends on RTP framing,
          and hence is only defined for transfer via RTP [<xref
          target="RFC3550"></xref>]. Transport within other framing protocols
          is not defined at this time.</t>

          <t>Author: Mark Watson, Digital Fountain</t>

          <t>Change controller: IETF Audio/Video Transport working group
          delegated from the IESG.</t>
        </section>
      </section>

      <section title="Registration of the audio/raptorfec media type">
        <t>This RTP payload format is identified using the audio/raptorfec
        media type which is registered in accordance with <xref
        target="RFC4855"></xref> and using the template of <xref
        target="RFC4288"></xref>.</t>

        <section anchor="registration-audio" title="Media Type Definition">
          <t>Type name: audio</t>

          <t>Subtype name: raptorfec</t>

          <t>Required parameters:</t>

          <t><list>
              <t>raptor-scheme-id: The value of this parameter is the FEC
              Scheme Id for the specific Raptor FEC Scheme that will be used
              as defined in <xref
              target="I-D.watson-fecframe-raptor"></xref></t>
            </list></t>

          <t>Optional parameters: none</t>

          <t>Encoding considerations: This media type is framed and binary,
          see section 4.8 in <xref target="RFC4288"></xref></t>

          <t>Security considerations: Please see security consideration in
          <xref target="I-D.ietf-fecframe-framework"></xref></t>

          <t>Interoperability considerations:</t>

          <t>Published specification: <xref
          target="I-D.watson-fecframe-raptor"></xref></t>

          <t>Applications that use this media type:</t>

          <t>Additional information:</t>

          <t>Magic number(s): &lt;none defined&gt;</t>

          <t>File extension(s): &lt;none defined&gt;</t>

          <t>Macintosh file type code(s): &lt;none defined&gt;</t>

          <t>Person &amp; email address to contact for further information:
          Mark Watson, mark@digitalfountain.com</t>

          <t>Intended usage: COMMON</t>

          <t>Restrictions on usage: This media type depends on RTP framing,
          and hence is only defined for transfer via RTP [<xref
          target="RFC3550"></xref>]. Transport within other framing protocols
          is not defined at this time.</t>

          <t>Author: Mark Watson, Digital Fountain</t>

          <t>Change controller: IETF Audio/Video Transport working group
          delegated from the IESG.</t>
        </section>
      </section>

      <section title="Registration of the text/raptorfec media type">
        <t>This RTP payload format is identified using the text/raptorfec
        media type which is registered in accordance with <xref
        target="RFC4855"></xref> and using the template of <xref
        target="RFC4288"></xref>.</t>

        <section anchor="registration-text" title="Media Type Definition">
          <t>Type name: text</t>

          <t>Subtype name: raptorfec</t>

          <t>Required parameters:</t>

          <t><list>
              <t>raptor-scheme-id: The value of this parameter is the FEC
              Scheme Id for the specific Raptor FEC Scheme that will be used
              as defined in <xref
              target="I-D.watson-fecframe-raptor"></xref></t>
            </list></t>

          <t>Optional parameters: none</t>

          <t>Encoding considerations: This media type is framed and binary,
          see section 4.8 in <xref target="RFC4288"></xref></t>

          <t>Security considerations: Please see security consideration in
          <xref target="I-D.ietf-fecframe-framework"></xref></t>

          <t>Interoperability considerations:</t>

          <t>Published specification: <xref
          target="I-D.watson-fecframe-raptor"></xref></t>

          <t>Applications that use this media type:</t>

          <t>Additional information:</t>

          <t>Magic number(s): &lt;none defined&gt;</t>

          <t>File extension(s): &lt;none defined&gt;</t>

          <t>Macintosh file type code(s): &lt;none defined&gt;</t>

          <t>Person &amp; email address to contact for further information:
          Mark Watson, mark@digitalfountain.com</t>

          <t>Intended usage: COMMON</t>

          <t>Restrictions on usage: This media type depends on RTP framing,
          and hence is only defined for transfer via RTP [<xref
          target="RFC3550"></xref>]. Transport within other framing protocols
          is not defined at this time.</t>

          <t>Author: Mark Watson, Digital Fountain</t>

          <t>Change controller: IETF Audio/Video Transport working group
          delegated from the IESG.</t>
        </section>
      </section>
    </section>

    <section title="Mapping to SDP">
      <t>The mapping of the above defined payload format media type and its
      parameters SHALL be done according to Section 3 of <xref
      target="RFC4855"></xref></t>
    </section>

    <section title="Offer/Answer considerations">
      <t>None.</t>
    </section>

    <section title="Declarative SDP Considerations">
      <t>None.</t>
    </section>

    <section title="IANA Considerations">
      <t>This memo requests that IANA registers application/raptorfec as
      specified in <xref target="registration-application"></xref>,
      video/raptorfec as specified in <xref
      target="registration-video"></xref>, audio/raptorfec as specified in
      <xref target="registration-audio"></xref> and text/raptorfec as
      specified in <xref target="registration-text"></xref>. The media type is
      also requested to be added to the IANA registry for "RTP Payload Format
      MIME types" (http://www.iana.org/assignments/rtp-parameters).</t>
    </section>

    <section title="Security Considerations">
      <t>See <xref target="I-D.ietf-fecframe-framework"></xref></t>
    </section>
  </middle>

  <back>
    <references>
      &rfc2119;

      &rfc3550;

      &rfc4288;

      &rfc4855;

      &fecframe;

      &raptorschemes;
    </references>
  </back>
</rfc>
