Skip to main content

Forward Error Correction Grouping Semantics in the Session Description Protocol
draft-ietf-mmusic-rfc4756bis-10

The information below is for an old version of the document that is already published as an RFC.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 5956.
Author Ali C. Begen
Last updated 2015-10-14 (Latest revision 2010-06-09)
Replaces draft-begen-mmusic-rfc4756bis
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Proposed Standard
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state (None)
Document shepherd (None)
IESG IESG state Became RFC 5956 (Proposed Standard)
Action Holders
(None)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD Robert Sparks
Send notices to (None)
draft-ietf-mmusic-rfc4756bis-10
MMUSIC                                                          A. Begen
Internet-Draft                                                     Cisco
Obsoletes:  4756                                            June 9, 2010
(if approved)
Intended status:  Standards Track
Expires:  December 11, 2010

   Forward Error Correction Grouping Semantics in Session Description
                                Protocol
                    draft-ietf-mmusic-rfc4756bis-10

Abstract

   This document defines the semantics for grouping the associated
   source and Forward Error Correction (FEC)-based repair flows in the
   Session Description Protocol (SDP).  The semantics defined in this
   document are to be used with the SDP Grouping Framework (RFC
   3388bis).  These semantics allow the description of grouping
   relationships between the source and repair flows when one or more
   source and/or repair flow are associated in the same group, and they
   provide support for additive repair flows.  Synchronization Source
   (SSRC)-level grouping semantics are also defined in this document for
   Real-time Transport Protocol (RTP) streams using SSRC multiplexing.

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 December 11, 2010.

Copyright Notice

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

Begen                   Expires December 11, 2010               [Page 1]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

   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
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Requirements Notation  . . . . . . . . . . . . . . . . . . . .  5
   3.  Requirements and Changes from RFC 4756 . . . . . . . . . . . .  5
     3.1.  FEC Grouping Requirements  . . . . . . . . . . . . . . . .  5
     3.2.  Source and Repair Flow Associations  . . . . . . . . . . .  6
     3.3.  Support for Additivity . . . . . . . . . . . . . . . . . .  6
   4.  FEC Grouping . . . . . . . . . . . . . . . . . . . . . . . . .  7
     4.1.  "FEC-FR" Grouping Semantics  . . . . . . . . . . . . . . .  7
     4.2.  SDP Example  . . . . . . . . . . . . . . . . . . . . . . .  7
     4.3.  FEC Grouping for SSRC-Multiplexed RTP Streams  . . . . . .  9
     4.4.  "FEC" Grouping Semantics . . . . . . . . . . . . . . . . . 10
     4.5.  SDP Offer/Answer Model and RFC 4756
           Backward-Compatibility Considerations  . . . . . . . . . . 11
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 12
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 12
   7.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 13
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 13
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 14
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14

Begen                   Expires December 11, 2010               [Page 2]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

1.  Introduction

   Any application that needs a reliable transmission over an unreliable
   packet network has to cope with packet losses.  Forward Error
   Correction (FEC) is an effective approach that improves the
   reliability of the transmission particularly in multicast and
   broadcast applications where the feedback from the receiver(s) is
   potentially limited.

   In a nutshell, FEC groups source packets into blocks and applies
   protection to generate a desired number of repair packets.  These
   repair packets may be sent on demand or independently of any receiver
   feedback.  The choice depends on the FEC scheme, the packet loss
   characteristics of the underlying network, the transport scheme
   (e.g., unicast, multicast and broadcast) and the application.  At the
   receiver side, lost packets can be recovered by erasure decoding
   provided that a sufficient number of source and repair packets have
   been received.

   For example, one of the most basic FEC schemes is the parity codes,
   where an exclusive OR (XOR) operation is applied to a group of
   packets (i.e., source block) to generate a single repair packet.  At
   the receiver side, this scheme provides a full recovery if only one
   packet is lost within the source block and the repair packet is
   received.  There are various other ways of generating repair packets,
   possibly with different loss-recovery capabilities.

   The FEC Framework [I-D.ietf-fecframe-framework] outlines a general
   framework for using FEC codes in multimedia applications that stream
   audio, video or other types of multimedia content.  The FEC Framework
   specification states that source and repair packets must be carried
   in different streams, which are referred to as the source and repair
   flows, respectively.  At the receiver side, the receivers should know
   which flows are the source flows and which ones are the repair flows.
   The receivers should also know the exact association of the source
   and repair flows so that they can use the correct data to repair the
   original content in case there is a packet loss.  SDP [RFC4566] uses
   [I-D.ietf-mmusic-rfc3388bis] and this RFC for this purpose.

   In order to provide applications more flexibility, the FEC Framework
   [I-D.ietf-fecframe-framework] allows a source flow to be protected by
   multiple FEC schemes, each of which requires an instance of the FEC
   Framework.  Thus, multiple instances of the FEC Framework may exist
   at the sender and the receiver(s).  Furthermore, within a single FEC
   Framework instance, multiple source flows may be grouped and
   protected by one or more repair flows.

   The FEC Framework requires the source and repair packets to be

Begen                   Expires December 11, 2010               [Page 3]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

   carried in different streams.  When Real-time Transport Protocol
   (RTP) [RFC3550] is used to carry the source and repair streams, the
   FEC Framework recommends that each stream is carried in its own RTP
   session.  This provides flexibility in using FEC in a backward-
   compatible manner.  However, in some scenarios, a single RTP session
   may be desired to carry multiple RTP streams via Synchronization
   Source (SSRC) multiplexing in order to reduce the port usage.  For
   such scenarios, appropriate grouping semantics are also required.

   A basic example scenario is shown in Figure 1.  Here, the source flow
   S1 is protected by the repair flow R1.  Also, the source flows S1 and
   S2 are grouped and protected together by the repair flow R2.

               SOURCE FLOWS             | FEC FRAMEWORK INSTANCE #1
             | S1: Source Flow |--------| R1: Repair Flow
         +---|
         |   | S2: Source Flow
         |
         +______________________________| FEC FRAMEWORK INSTANCE #2
                                        | R2: Repair Flow

   Figure 1: Example scenario with two FEC Framework instances where R1
            protects S1, and R2 protects the group of S1 and S2

   Grouping source flows before applying FEC protection may allow us to
   achieve a better coding performance.  As a typical scenario, suppose
   that source flows S1 and S2 in Figure 1 correspond to the base and
   enhancement layers in a layered video content, respectively.  The
   repair flow R2 protects the combination of the base and enhancement
   layers for the receivers that receive both layers, whereas the repair
   flow R1 protects the base layer only, for the receivers that want the
   base layer only, or receive both layers but prefer FEC protection for
   the base layer only due to a bandwidth or any other limitation.

   The grouping semantics defined in this document offer the flexibility
   to determine how source streams are grouped together prior to
   applying FEC protection.  However, not all FEC schemes may support
   the full range of the possible scenarios (e.g., when the source
   streams carry different top-level media types such as audio and
   video).

   Using multiple FEC Framework instances for a single source flow
   provides flexibility to the receivers.  An example scenario is
   sketched in Figure 2.  Different instances may offer repair flows
   that are generated by different FEC schemes, and receivers choose to
   receive the appropriate repair flow(s) that they can support and
   decode.  Alternatively, different instances (whether they use the

Begen                   Expires December 11, 2010               [Page 4]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

   same FEC scheme or not) may use larger and smaller source block
   sizes, which accommodate the receivers that have looser and tighter
   latency requirements, respectively.  In addition, different instances
   may also provide FEC protection at different redundancy levels.  This
   is particularly useful in multicast scenarios where different
   receivers may experience different packet loss rates and each
   receiver can choose the repair flow that is tailored to its needs.

           SOURCE FLOWS              | FEC FRAMEWORK INSTANCE #1
           S3: Source Flow |---------| R3: Repair Flow
                           |
                           |---------| FEC FRAMEWORK INSTANCE #2
                                     | R4: Repair Flow

     Figure 2: Example scenario with two FEC Framework instances, each
       with a single repair flow protecting the same source flow S3

2.  Requirements Notation

   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.  Requirements and Changes from RFC 4756

3.1.  FEC Grouping Requirements

   As illustrated in the introduction and based on the FEC Framework
   [I-D.ietf-fecframe-framework], the SDP grouping semantics for FEC
   must support the ability to indicate that:

   1.  A given source flow is protected by multiple different FEC
       schemes.

   2.  Multiple repair flows are associated with a given FEC scheme.

   3.  Multiple source flows are grouped prior to applying FEC
       protection.

   4.  One or more repair flow(s) protect a group of source flows.

Begen                   Expires December 11, 2010               [Page 5]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

3.2.  Source and Repair Flow Associations

   The FEC grouping semantics defined in this document and the SDP
   'group' attribute defined in [I-D.ietf-mmusic-rfc3388bis] are used to
   associate source and repair flows.  This document also specifies how
   the 'group' attribute is used to group multiple repair flows with one
   or more source flows.

   Note that [I-D.ietf-mmusic-rfc3388bis] obsoleted [RFC3388] to allow
   an "m" line identified by its 'mid' attribute to appear in more than
   one "a=group" line using the same semantics.  With this change and
   the definitions contained in this document the FEC grouping
   semantics, a sender can indicate the specific associations between
   the source and repair flows, and a receiver can determine which
   repair flow(s) protect which source flow(s).

   This document defines the FEC grouping semantics and obsoletes
   [RFC4756].  Implementations compliant with this document MUST use the
   semantics introduced in Section 4.1 and Section 4.3.  In addition to
   complying with the requirements defined in Section 4.1 and
   Section 4.3, implementations are RECOMMENDED to support the "FEC"
   semantics specified in Section 4.4 for backward compatibility reasons
   in scenarios described in Section 4.5.

3.3.  Support for Additivity

   The FEC Framework [I-D.ietf-fecframe-framework] describes support for
   additive repair flows.  Additivity among the repair flows means that
   multiple repair flows may be decoded jointly to improve the recovery
   chances of the missing packets in a single or the same set of source
   flows.  Additive repair flows can be generated by the same FEC scheme
   or different FEC schemes.

   For example, in Figure 3, the repair flows R5 and R6 may be additive
   within the FEC Framework instance #1.  Alternatively, all three
   repair flows R5, R6 and R7 could be additive, too.

Begen                   Expires December 11, 2010               [Page 6]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

           SOURCE FLOWS              | FEC FRAMEWORK INSTANCE #1
           S4: Source Flow |---------| R5: Repair Flow
                           |         | R6: Repair Flow
                           |
                           |---------| FEC FRAMEWORK INSTANCE #2
                                     | R7: Repair Flow

    Figure 3: Example scenario with two FEC Framework instances, where
    two repair flows in the first instance and a single repair flow in
            the second instance protect the same source flow S4

   This document defines the mechanisms to support additive repair flows
   that were not included in [RFC4756].

4.  FEC Grouping

4.1.  "FEC-FR" Grouping Semantics

   Each "a=group" line is used to indicate an association relationship
   between the source and repair flows.  The flows included in one
   "a=group" line are called an FEC Group.  If there is more than one
   repair flow included in an FEC group, they MUST be considered to be
   additive.  Repair flows that are not additive MUST be indicated in
   separate FEC groups.  However, if two (or more) repair flows are
   additive in an FEC group, it does not necessarily mean that these
   repair flows will also be additive in any other FEC group.
   Generally, in order to express multiple relations between the source
   and repair flows, each source and repair flow MAY appear in more than
   one FEC group.

   Using the framework in [I-D.ietf-mmusic-rfc3388bis], this document
   defines "FEC-FR" as the grouping semantics to indicate support for
   the FEC Framework features.

   The "a=group:FEC-FR" semantics MUST be used to associate the source
   and repair flows except when the source and repair flows are
   specified in the same media description, i.e., in the same "m" line
   (See Section 4.3).  Note that additivity is not necessarily a
   transitive relationship.  Thus, each set of additive repair flows
   MUST be stated explicitly in SDP as illustrated in the example below.

4.2.  SDP Example

   For the scenario sketched in Figure 1, we need to write the following
   SDP:

Begen                   Expires December 11, 2010               [Page 7]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

        v=0
        o=ali 1122334455 1122334466 IN IP4 fec.example.com
        s=FEC Grouping Semantics
        t=0 0
        a=group:FEC-FR S1 R1
        a=group:FEC-FR S1 S2 R2
        m=video 30000 RTP/AVP 100
        c=IN IP4 233.252.0.1/127
        a=rtpmap:100 MP2T/90000
        a=mid:S1
        m=video 30000 RTP/AVP 101
        c=IN IP4 233.252.0.2/127
        a=rtpmap:101 MP2T/90000
        a=mid:S2
        m=application 30000 RTP/AVP 110
        c=IN IP4 233.252.0.3/127
        a=rtpmap:110 1d-interleaved-parityfec/90000
        a=fmtp:110 L=5; D=10; repair-window=200000
        a=mid:R1
        m=application 30000 RTP/AVP 111
        c=IN IP4 233.252.0.4/127
        a=rtpmap:111 1d-interleaved-parityfec/90000
        a=fmtp:111 L=10; D=10; repair-window=400000
        a=mid:R2

   In this example, the source and repair flows are carried in their own
   RTP sessions and the grouping is achieved through the "a=group:
   FEC-FR" lines.

   For the additivity example, let us consider the scenario sketched in
   Figure 3.  Suppose that repair flows R5 and R6 are additive but
   repair flow R7 is not additive with any of the other repair flows.
   In this case, we must write

        a=group:FEC-FR S4 R5 R6
        a=group:FEC-FR S4 R7

   If none of the repair flows is additive, we must write

        a=group:FEC-FR S4 R5
        a=group:FEC-FR S4 R6
        a=group:FEC-FR S4 R7

Begen                   Expires December 11, 2010               [Page 8]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

4.3.  FEC Grouping for SSRC-Multiplexed RTP Streams

   [RFC5576] defines an SDP media-level attribute, called 'ssrc-group',
   for grouping the RTP streams that are SSRC multiplexed and carried in
   the same RTP session.  The grouping is based on the Synchronization
   Source (SSRC) identifiers.  Since SSRC-multiplexed RTP streams are
   defined in the same "m" line, the 'group' attribute cannot be used.

   This section specifies how FEC is applied to source and repair flows
   for SSRC-multiplexed streams using the 'ssrc-group' attribute
   [RFC5576].  Thi section also specifies how the additivity of the
   repair flows is expressed for the SSRC-multiplexed streams.

   The semantics of "FEC-FR" for the 'ssrc-group' attribute are the same
   as the one defined for the 'group' attribute except that the SSRC
   identifiers are used to designate the FEC grouping associations:
   a=ssrc-group:FEC-FR *(SP ssrc-id) [RFC5576].

   The SSRC identifiers for the RTP streams that are carried in the same
   RTP session MUST be unique per [RFC3550].  However, the SSRC
   identifiers are not guaranteed to be unique among different RTP
   sessions.  Thus, the 'ssrc-group' attribute MUST only be used at the
   media level [RFC5576].

   Let us consider the following scenario where there are two source
   flows (e.g., one video and one audio) and a single repair flow that
   protects only one of the source flows (e.g., video).  Suppose that
   all these flows are separate RTP streams that are SSRC multiplexed in
   the same RTP session.

                  SOURCE FLOWS             | FEC FRAMEWORK INSTANCE #1
                  S5: Source Flow |--------| R8: Repair Flow
                  S6: Source Flow

    Figure 4: Example scenario with one FEC Framework instance, where a
         single repair flow protects only one of the source flows

   The following SDP describes the scenario sketched in Figure 4.

Begen                   Expires December 11, 2010               [Page 9]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

        v=0
        o=ali 1122334455 1122334466 IN IP4 fec.example.com
        s=FEC Grouping Semantics for SSRC Multiplexing
        t=0 0
        m=video 30000 RTP/AVP 100 101 110
        c=IN IP4 233.252.0.1/127
        a=rtpmap:100 JPEG/90000
        a=rtpmap:101 L16/32000/2
        a=rtpmap:110 1d-interleaved-parityfec/90000
        a=fmtp:110 L=5; D=10; repair-window=200000
        a=ssrc:1000 cname:fec@example.com
        a=ssrc:1010 cname:fec@example.com
        a=ssrc:2110 cname:fec@example.com
        a=ssrc-group:FEC-FR 1000 2110
        a=mid:Group1

   Note that in actual use, SSRC values, which are random 32-bit
   numbers, may be much larger than the ones shown in this example.
   Also note that before receiving an RTP packet for each stream, the
   receiver cannot know which SSRC identifier is associated with which
   payload type.

   The additivity of the repair flows is handled in the same way as
   described in Section 4.2.  In other words, the repair flows that are
   included in an "a=ssrc-group" line MUST be additive.  Repair flows
   that are not additive MUST be indicated in separate "a=ssrc-group"
   lines.

4.4.  "FEC" Grouping Semantics

   This document deprecates the usage of the "FEC" semantics.  Sessions
   negotiated between two endpoints implementing this specification MUST
   use the "FEC-FR" semantics and not the "FEC" semantics.  Section 4.5
   details how an implementation supporting this specification detects
   peers that do not support this specification (based on their SDP
   answer to the initial offer).  When this occurs, the offering
   implementation SHOULD initiate a new offer using the "FEC" semantics
   as defined in this section.

   The "FEC" grouping semantics had been originally introduced in
   [RFC4756].  The "FEC" semantics used the "a=group" line from
   [RFC3388] to form an FEC Group to indicate the association
   relationship between the source and repair flows.

   In the "FEC" semantics, a source or repair flow can only appear in a
   single "a=group:FEC" line.  Thus, all the source and repair flows
   that are somehow related to each other have to be listed in the same
   "a=group:FEC" line.  For example, for the scenario sketched in

Begen                   Expires December 11, 2010              [Page 10]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

   Figure 1, we have to write "a=group:FEC S1 S2 R1 R2" regardless of
   which repair flows protect which particular source flows.  Similarly,
   for the scenario sketched in Figure 3, we have to write "a=group:FEC
   S4 R5 R6 R7" regardless of which repair flows are additive.  However,
   the interpretation of these lines would be ambiguous.

   In certain simple scenarios such as where there is one source flow
   and one repair flow, these limitations may not be a concern.  In
   Offer/Answer model scenarios, when the "FEC-FR" semantics are not
   understood by the answerer, the "FEC" semantics can be offered
   provided that the "FEC" semantics provide an exact association among
   the source and repair flows and do not create any ambiguity.  See
   Section 4.5 for details.

4.5.  SDP Offer/Answer Model and RFC 4756 Backward-Compatibility
      Considerations

   When offering FEC grouping using SDP in an Offer/Answer model
   [RFC3264], the following considerations apply.

   A node that is receiving an offer from a sender may or may not
   understand line grouping.  It is also possible that the node
   understands line grouping but it does not understand the "FEC-FR"
   semantics.  From the viewpoint of the sender of the offer, these
   cases are indistinguishable.

   Implementations are RECOMMENDED to support the "FEC" semantics
   specified in Section 4.4 for backward compatibility reasons.  If the
   sender of the offer supports the "FEC" semantics, it SHOULD fall back
   to using the "FEC" semantics when the "FEC-FR" semantics are not
   understood by the node.

   When a node is offered a session with the "FEC-FR" grouping semantics
   but it does not support line grouping or the FEC grouping semantics,
   as per [I-D.ietf-mmusic-rfc3388bis], the node responds to the offer
   either:

   o  With an answer that ignores the grouping attribute.

      In this case, if the original sender of the offer

      *  does support the "FEC" semantics described in Section 4.4, it
         MUST first check whether using the "FEC" semantics will create
         any ambiguity or not.  If using the "FEC" semantics still
         provides an exact association among the source and repair
         flows, the sender SHOULD send a new offer using the "FEC"
         semantics.  However, if an exact association cannot be
         described, it MUST send a new offer without FEC.

Begen                   Expires December 11, 2010              [Page 11]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

      *  does not support the "FEC" semantics described in Section 4.4,
         it MUST send a new offer without FEC.

   o  With a refusal to the request (e.g., 488 Not Acceptable Here or
      606 Not Acceptable in SIP).

      In this case, if the original sender of the offer

      *  does support the "FEC" semantics and still wish to establish
         the session, it MUST first check whether using the "FEC"
         semantics will create any ambiguity or not.  If using the "FEC"
         semantics still provides an exact association among the source
         and repair flows, the sender SHOULD send a new offer using the
         "FEC" semantics.  However, if an exact association cannot be
         described, it SHOULD send a new offer without FEC.

      *  does not support the "FEC" semantics described in Section 4.4,
         it SHOULD send a new offer without FEC.

   In both cases described above, when the sender of the offer sends a
   new offer with the "FEC" semantics, and the node understands it, the
   session will be established and the rules pertaining to the "FEC"
   semantics will apply.

   As specified in [I-D.ietf-mmusic-rfc3388bis], if the node does not
   understand the "FEC" semantics, it responds to the offer, either (1)
   with an answer that ignores the grouping attribute, or (2) with a
   refusal to the request.  In the first case, the sender must send a
   new offer without FEC.  In the second case, if the sender still
   wishes to establish the session, it should retry the request with an
   offer without FEC.

5.  Security Considerations

   There is a weak threat for the receiver that the FEC grouping can be
   modified to indicate FEC relationships that do not exist.  Such
   attacks may result in failure of FEC to protect, and/or mishandle
   other media payload streams.  The receiver SHOULD do an integrity
   check on SDP and follow the security considerations of SDP [RFC4566]
   to only trust SDP from trusted sources.

6.  IANA Considerations

   This document registers the following semantics with IANA in
   Semantics for the 'group' SDP Attribute under SDP Parameters:

Begen                   Expires December 11, 2010              [Page 12]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

   Note to the RFC Editor:  In the following registrations, please
   replace "XXXX" with the number of this document prior to publication
   as an RFC.

   Note to IANA:  Please note the change in the reference for the "FEC"
   semantics.

   Semantics                              Token   Reference
   ---------------------------            ------  ---------
   Forward Error Correction (Deprecated)  FEC     [RFCXXXX]
   Forward Error Correction FR            FEC-FR  [RFCXXXX]

   This document also registers the following semantics with IANA in
   Semantics for the 'ssrc-group' SDP Attribute under SDP Parameters:

   Semantics                    Token   Reference
   ---------------------------  ------  ---------
   Forward Error Correction FR  FEC-FR  [RFCXXXX]

7.  Acknowledgments

   Some parts of this document are based on [RFC4756].  Thus, the author
   would like to thank those who contributed to [RFC4756].  Also, thanks
   to Jonathan Lennox who has contributed to Section 4.3 and Jean-
   Francois Mule who has reviewed this document in great detail and
   suggested text edits.

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.

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

   [I-D.ietf-mmusic-rfc3388bis]
              Camarillo, G. and H. Schulzrinne, "The SDP (Session
              Description Protocol) Grouping Framework",
              draft-ietf-mmusic-rfc3388bis-04 (work in progress),
              November 2009.

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

Begen                   Expires December 11, 2010              [Page 13]
Internet-Draft        FEC Grouping Semantics in SDP            June 2010

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

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

8.2.  Informative References

   [I-D.ietf-fecframe-framework]
              Watson, M., "Forward Error Correction (FEC) Framework",
              draft-ietf-fecframe-framework-08 (work in progress),
              June 2010.

   [RFC3388]  Camarillo, G., Eriksson, G., Holler, J., and H.
              Schulzrinne, "Grouping of Media Lines in the Session
              Description Protocol (SDP)", RFC 3388, December 2002.

   [RFC4756]  Li, A., "Forward Error Correction Grouping Semantics in
              Session Description Protocol", RFC 4756, November 2006.

Author's Address

   Ali Begen
   Cisco
   181 Bay Street
   Toronto, ON  M5J 2T3
   CANADA

   Email:  abegen@cisco.com

Begen                   Expires December 11, 2010              [Page 14]