draft-ietf-fecframe-sdp-elements-05.txt   draft-ietf-fecframe-sdp-elements-06.txt 
FEC Framework A. Begen FEC Framework A. Begen
Internet-Draft Cisco Systems Internet-Draft Cisco
Intended status: Standards Track April 4, 2010 Intended status: Standards Track April 28, 2010
Expires: October 6, 2010 Expires: October 30, 2010
SDP Elements for FEC Framework SDP Elements for FEC Framework
draft-ietf-fecframe-sdp-elements-05 draft-ietf-fecframe-sdp-elements-06
Abstract Abstract
This document specifies the use of Session Description Protocol (SDP) This document specifies the use of Session Description Protocol (SDP)
to describe the parameters required to signal the Forward Error to describe the parameters required to signal the Forward Error
Correction (FEC) Framework Configuration Information between the Correction (FEC) Framework Configuration Information between the
sender(s) and receiver(s). This document also provides examples that sender(s) and receiver(s). This document also provides examples that
show the semantics for grouping multiple source and repair flows show the semantics for grouping multiple source and repair flows
together for the applications that simultaneously use multiple together for the applications that simultaneously use multiple
instances of the FEC Framework. instances of the FEC Framework.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 6, 2010. This Internet-Draft will expire on October 30, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 23 skipping to change at page 3, line 23
4. SDP Descriptors for FEC Framework . . . . . . . . . . . . . . 7 4. SDP Descriptors for FEC Framework . . . . . . . . . . . . . . 7
4.1. Transport Protocol Identifiers . . . . . . . . . . . . . . 8 4.1. Transport Protocol Identifiers . . . . . . . . . . . . . . 8
4.2. Media Stream Grouping . . . . . . . . . . . . . . . . . . 8 4.2. Media Stream Grouping . . . . . . . . . . . . . . . . . . 8
4.3. Source IP Addresses . . . . . . . . . . . . . . . . . . . 9 4.3. Source IP Addresses . . . . . . . . . . . . . . . . . . . 9
4.4. Source Flows . . . . . . . . . . . . . . . . . . . . . . . 10 4.4. Source Flows . . . . . . . . . . . . . . . . . . . . . . . 10
4.5. Repair Flows . . . . . . . . . . . . . . . . . . . . . . . 10 4.5. Repair Flows . . . . . . . . . . . . . . . . . . . . . . . 10
4.6. Repair Window . . . . . . . . . . . . . . . . . . . . . . 11 4.6. Repair Window . . . . . . . . . . . . . . . . . . . . . . 11
4.7. Bandwidth Specification . . . . . . . . . . . . . . . . . 12 4.7. Bandwidth Specification . . . . . . . . . . . . . . . . . 12
5. Scenarios and Examples . . . . . . . . . . . . . . . . . . . . 13 5. Scenarios and Examples . . . . . . . . . . . . . . . . . . . . 13
5.1. Declarative Considerations . . . . . . . . . . . . . . . . 13 5.1. Declarative Considerations . . . . . . . . . . . . . . . . 13
5.2. Offer/Answer Model Considerations . . . . . . . . . . . . 13 5.2. Offer/Answer Model Considerations . . . . . . . . . . . . 14
5.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3.1. One Source Flow, One Repair Flow and One FEC Scheme . 14 5.3.1. One Source Flow, One Repair Flow and One FEC Scheme . 14
5.3.2. Two Source Flows, One Repair Flow and One FEC 5.3.2. Two Source Flows, One Repair Flow and One FEC
Scheme . . . . . . . . . . . . . . . . . . . . . . . . 15 Scheme . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.3. Two Source Flows, Two Repair Flows and Two FEC 5.3.3. Two Source Flows, Two Repair Flows and Two FEC
Schemes . . . . . . . . . . . . . . . . . . . . . . . 16 Schemes . . . . . . . . . . . . . . . . . . . . . . . 16
6. Security Considerations . . . . . . . . . . . . . . . . . . . 17 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
7.1. Transport Protocols . . . . . . . . . . . . . . . . . . . 17 7.1. Transport Protocols . . . . . . . . . . . . . . . . . . . 18
7.2. Attribute Names . . . . . . . . . . . . . . . . . . . . . 18 7.2. Attribute Names . . . . . . . . . . . . . . . . . . . . . 18
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19
9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 19 9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.1. draft-ietf-fecframe-sdp-elements-05 . . . . . . . . . . . 19 9.1. draft-ietf-fecframe-sdp-elements-06 . . . . . . . . . . . 19
9.2. draft-ietf-fecframe-sdp-elements-04 . . . . . . . . . . . 19 9.2. draft-ietf-fecframe-sdp-elements-05 . . . . . . . . . . . 19
9.3. draft-ietf-fecframe-sdp-elements-03 . . . . . . . . . . . 19 9.3. draft-ietf-fecframe-sdp-elements-04 . . . . . . . . . . . 19
9.4. draft-ietf-fecframe-sdp-elements-02 . . . . . . . . . . . 19 9.4. draft-ietf-fecframe-sdp-elements-03 . . . . . . . . . . . 19
9.5. draft-ietf-fecframe-sdp-elements-01 . . . . . . . . . . . 19 9.5. draft-ietf-fecframe-sdp-elements-02 . . . . . . . . . . . 20
9.6. draft-ietf-fecframe-sdp-elements-00 . . . . . . . . . . . 20 9.6. draft-ietf-fecframe-sdp-elements-01 . . . . . . . . . . . 20
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20 9.7. draft-ietf-fecframe-sdp-elements-00 . . . . . . . . . . . 20
10.1. Normative References . . . . . . . . . . . . . . . . . . . 20 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
10.1. Normative References . . . . . . . . . . . . . . . . . . . 21
10.2. Informative References . . . . . . . . . . . . . . . . . . 21 10.2. Informative References . . . . . . . . . . . . . . . . . . 21
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 21 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
The Forward Error Correction (FEC) Framework, described in The Forward Error Correction (FEC) Framework, described in
[I-D.ietf-fecframe-framework], outlines a general framework for using [I-D.ietf-fecframe-framework], outlines a general framework for using
FEC-based error recovery in packet flows carrying media content. FEC-based error recovery in packet flows carrying media content.
While a continuous signaling between the sender(s) and receiver(s) is While a continuous signaling between the sender(s) and receiver(s) is
not required for a Content Delivery Protocol (CDP) that uses the FEC not required for a Content Delivery Protocol (CDP) that uses the FEC
Framework, a set of parameters pertaining to the FEC Framework MUST Framework, a set of parameters pertaining to the FEC Framework MUST
be initially communicated between the sender(s) and receiver(s). A be initially communicated between the sender(s) and receiver(s). A
skipping to change at page 11, line 5 skipping to change at page 11, line 5
A repair flow MUST contain only repair packets formatted as described A repair flow MUST contain only repair packets formatted as described
in [I-D.ietf-fecframe-framework] for a single FEC Framework instance. in [I-D.ietf-fecframe-framework] for a single FEC Framework instance.
In other words, packets belonging to source flows or other repair In other words, packets belonging to source flows or other repair
flows from a different FEC Framework instance MUST NOT be sent within flows from a different FEC Framework instance MUST NOT be sent within
this flow. We introduce the attribute 'fec-repair-flow' to describe this flow. We introduce the attribute 'fec-repair-flow' to describe
the repair flows. the repair flows.
The syntax for the new attribute in ABNF is as follows: The syntax for the new attribute in ABNF is as follows:
fec-repair-flow-line = "a=fec-repair-flow:" fec-encoding-id fec-repair-flow-line = "a=fec-repair-flow:" SP fec-encoding-id
[";" SP flow-preference] [";" SP flow-preference]
[";" SP sender-side-scheme-specific] [";" SP sender-side-scheme-specific]
[";" SP scheme-specific] CRLF [";" SP scheme-specific] CRLF
fec-encoding-id = "encoding-id=" enc-id fec-encoding-id = "encoding-id=" enc-id
enc-id = 1*DIGIT ; FEC Encoding ID enc-id = 1*DIGIT ; FEC Encoding ID
flow-preference = "preference-lvl=" preference-level-of-the-flow flow-preference = "preference-lvl=" preference-level-of-the-flow
preference-level-of-the-flow = *DIGIT preference-level-of-the-flow = *DIGIT
skipping to change at page 11, line 51 skipping to change at page 11, line 51
communicated in the container specified by the parameter 'ss-fssi'. communicated in the container specified by the parameter 'ss-fssi'.
Any other FSSI MUST be communicated in the container specified by the Any other FSSI MUST be communicated in the container specified by the
parameter 'fssi'. In both containers, FSSI is transmitted in the parameter 'fssi'. In both containers, FSSI is transmitted in the
form of textual representation and MAY contain multiple distinct form of textual representation and MAY contain multiple distinct
elements. If the FEC scheme does not require any specific elements. If the FEC scheme does not require any specific
information, the 'ss-fssi' and 'fssi' parameters MAY be null and information, the 'ss-fssi' and 'fssi' parameters MAY be null and
ignored. ignored.
4.6. Repair Window 4.6. Repair Window
An FEC encoder processes a block of source packets and generates a Repair window is the time that spans an FEC block, which consists of
number of repair packets, which are then transmitted within a certain the source block and the corresponding repair packets.
duration. At the receiver side, the FEC decoder tries to decode all
the packets received within the repair window to recover the missing At the sender side, the FEC encoder processes a block of source
packets, if there are any. Repair window stands for the time that packets and generates a number of repair packets. Then both the
spans the source packets and the corresponding repair packets. source and repair packets are transmitted within a certain duration
Assuming that there is no issue of delay variation, the FEC decoder not larger than the value of the repair window. The value of the
SHOULD NOT wait longer than the repair window since additional repair window impacts the maximum number of source packets that can
waiting would not help the recovery process. be included in an FEC block.
At the receiver side, the FEC decoder should wait at least for the
duration of the repair window after getting the first packet in an
FEC block to allow all the repair packets to arrive (The waiting time
can be adjusted if there are mising packets at the beginning of the
FEC block). The FEC decoder may start decoding the already received
packets sooner, however, it SHOULD NOT register an FEC decoding
failure until it waits at least for the repair-window duration.
This document specifies a new attribute to describe the size of the This document specifies a new attribute to describe the size of the
repair window in milliseconds and microseconds. repair window in milliseconds and microseconds.
The syntax for the attribute in ABNF is as follows: The syntax for the attribute in ABNF is as follows:
repair-window-line = "a=repair-window:" window-size repair-window-line = "a=repair-window:" window-size
[unit] CRLF [unit] CRLF
window-size = 1*DIGIT window-size = 1*DIGIT
skipping to change at page 12, line 35 skipping to change at page 12, line 43
Currently, two units are defined: 'ms', which stands for Currently, two units are defined: 'ms', which stands for
milliseconds and 'us', which stands for microseconds. The default milliseconds and 'us', which stands for microseconds. The default
unit is 'ms'. Alternative units MAY be defined in the future by unit is 'ms'. Alternative units MAY be defined in the future by
registering them with IANA. registering them with IANA.
The 'a=repair-window' attribute is a media-level attribute since each The 'a=repair-window' attribute is a media-level attribute since each
repair flow MAY have a different repair window size. repair flow MAY have a different repair window size.
Specifying the repair window size in an absolute time value may not Specifying the repair window size in an absolute time value may not
correspond to an integer number of packets or exactly match with the correspond to an integer number of packets or exactly match with the
clock rate used in RTP (in case of RTP transport) causing mismatchs clock rate used in RTP (in case of RTP transport) causing mismatches
among subsequent repair windows. However, in practice, this mismatch among subsequent repair windows. However, in practice, this mismatch
does not break anything in the FEC decoding process. does not break anything in the FEC decoding process.
4.7. Bandwidth Specification 4.7. Bandwidth Specification
The bandwidth specification as defined in [RFC4566] denotes the The bandwidth specification as defined in [RFC4566] denotes the
proposed bandwidth to be used by the session or media. The proposed bandwidth to be used by the session or media. The
specification of bandwidth is OPTIONAL. specification of bandwidth is OPTIONAL.
In the context of the FEC Framework, the bandwidth specification can In the context of the FEC Framework, the bandwidth specification can
skipping to change at page 17, line 46 skipping to change at page 17, line 46
Such attacks may result in failure of FEC protection and/or Such attacks may result in failure of FEC protection and/or
mishandling of other media streams. It is RECOMMENDED that the mishandling of other media streams. It is RECOMMENDED that the
receiver SHOULD do integrity check on SDP and follow the security receiver SHOULD do integrity check on SDP and follow the security
considerations of SDP [RFC4566] to only trust SDP from trusted considerations of SDP [RFC4566] to only trust SDP from trusted
sources. For other general security considerations related to SDP, sources. For other general security considerations related to SDP,
refer to [RFC4566]. For the security considerations related to the refer to [RFC4566]. For the security considerations related to the
use of source address filters in SDP, refer to [RFC4570]. use of source address filters in SDP, refer to [RFC4570].
7. IANA Considerations 7. IANA Considerations
The following contact information shall be used for all registrations
in this document:
Ali Begen
abegen@cisco.com
7.1. Transport Protocols 7.1. Transport Protocols
The 'proto' sub-field of the media description line ("m=") describes The 'proto' sub-field of the media description line ("m=") describes
the transport protocol used. This document registers the following the transport protocol used. This document registers the following
values: values:
UDP/FEC UDP/FEC
7.2. Attribute Names 7.2. Attribute Names
As recommended by [RFC4566], the following attribute names should be As recommended by [RFC4566], the following attribute names should be
registered with IANA. registered with IANA.
The contact information for the registrations is: Note to the RFC Editor: In the following, please replace "XXXX" with
the number of this document prior to publication as an RFC.
Ali Begen
abegen@cisco.com
SDP Attribute ("att-field"): SDP Attribute ("att-field"):
Attribute name: fec-source-flow Attribute name: fec-source-flow
Long form: Pointer to FEC Source Flow Long form: Pointer to FEC Source Flow
Type of name: att-field Type of name: att-field
Type of attribute: Media level Type of attribute: Media level
Subject to charset: No Subject to charset: No
Purpose: See this document Purpose: See this document
Reference: This document Reference: [RFCXXXX]
Values: See this document Values: See this document
SDP Attribute ("att-field"): SDP Attribute ("att-field"):
Attribute name: fec-repair-flow Attribute name: fec-repair-flow
Long form: Pointer to FEC Repair Flow Long form: Pointer to FEC Repair Flow
Type of name: att-field Type of name: att-field
Type of attribute: Media level Type of attribute: Media level
Subject to charset: No Subject to charset: No
Purpose: See this document Purpose: See this document
Reference: This document Reference: [RFCXXXX]
Values: See this document Values: See this document
SDP Attribute ("att-field"): SDP Attribute ("att-field"):
Attribute name: repair-window Attribute name: repair-window
Long form: Repair Window Size Long form: Repair Window Size
Type of name: att-field Type of name: att-field
Type of attribute: Media level Type of attribute: Media level
Subject to charset: No Subject to charset: No
Purpose: See this document Purpose: See this document
Reference: This document Reference: [RFCXXXX]
Values: See this document Values: See this document
8. Acknowledgments 8. Acknowledgments
The author would like to thank the FEC Framework Design Team for The author would like to thank the FEC Framework Design Team for
their inputs, suggestions and contributions. their inputs, suggestions and contributions.
9. Change Log 9. Change Log
9.1. draft-ietf-fecframe-sdp-elements-05 9.1. draft-ietf-fecframe-sdp-elements-06
The following are the major changes compared to version 05:
o Addressed the comments received during the WGLC.
9.2. draft-ietf-fecframe-sdp-elements-05
The following are the major changes compared to version 04: The following are the major changes compared to version 04:
o Updated boilerplate. o Updated boilerplate.
9.2. draft-ietf-fecframe-sdp-elements-04 9.3. draft-ietf-fecframe-sdp-elements-04
The following are the major changes compared to version 03: The following are the major changes compared to version 03:
o Incorporated final outstanding issues for the WGLC. o Incorporated final outstanding issues for the WGLC.
9.3. draft-ietf-fecframe-sdp-elements-03 9.4. draft-ietf-fecframe-sdp-elements-03
The following are the major changes compared to version 02: The following are the major changes compared to version 02:
o Now referencing to 3388bis and 4756bis instead of RFC 3388 and RFC o Now referencing to 3388bis and 4756bis instead of RFC 3388 and RFC
4756, respectively. Also cleaned up the editor's notes regarding 4756, respectively. Also cleaned up the editor's notes regarding
the grouping issues. the grouping issues.
o Parameter "priority" has been replaced with "preference-lvl" for o Parameter "priority" has been replaced with "preference-lvl" for
the repair flows. the repair flows.
9.4. draft-ietf-fecframe-sdp-elements-02 9.5. draft-ietf-fecframe-sdp-elements-02
The following are the major changes compared to version 01: The following are the major changes compared to version 01:
o Clarified the definitions for the FSSI fields. o Clarified the definitions for the FSSI fields.
o Hostnames in the SDP examples are fixed. o Hostnames in the SDP examples are fixed.
9.5. draft-ietf-fecframe-sdp-elements-01 9.6. draft-ietf-fecframe-sdp-elements-01
The following are the major changes compared to version 00: The following are the major changes compared to version 00:
o Additive repair flows can now be from different instances. The o Additive repair flows can now be from different instances. The
sender may also assign different levels of priorities to each sender may also assign different levels of priorities to each
repair flow regardless of whether the repair flows are additive or repair flow regardless of whether the repair flows are additive or
not. not.
o SDP examples are fixed. o SDP examples are fixed.
o Comments posted in the mailing list are incorporated. o Comments posted in the mailing list are incorporated.
9.6. draft-ietf-fecframe-sdp-elements-00 9.7. draft-ietf-fecframe-sdp-elements-00
This is the initial version, which is based on an earlier individual This is the initial version, which is based on an earlier individual
submission. The following are the major changes compared to that submission. The following are the major changes compared to that
document: document:
o The opaque container in the FEC Framework Configuration o The opaque container in the FEC Framework Configuration
Information (FEC-Scheme-Specific Information) is now divided into Information (FEC-Scheme-Specific Information) is now divided into
two parts: information needed only by the sender and information two parts: information needed only by the sender and information
needed by the receiver. The repair flow descriptors are also needed by the receiver. The repair flow descriptors are also
updated accordingly. updated accordingly.
skipping to change at page 21, line 38 skipping to change at page 22, line 13
(work in progress), February 2010. (work in progress), February 2010.
[I-D.ietf-mmusic-sdp-capability-negotiation] [I-D.ietf-mmusic-sdp-capability-negotiation]
Andreasen, F., "SDP Capability Negotiation", Andreasen, F., "SDP Capability Negotiation",
draft-ietf-mmusic-sdp-capability-negotiation-13 (work in draft-ietf-mmusic-sdp-capability-negotiation-13 (work in
progress), March 2010. progress), March 2010.
Author's Address Author's Address
Ali Begen Ali Begen
Cisco Systems Cisco
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
USA USA
Email: abegen@cisco.com Email: abegen@cisco.com
 End of changes. 23 change blocks. 
42 lines changed or deleted 61 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/