Network Working Group A. Li Request for Comments: 4756 Hyervision Category: Standards Track November 2006Forward Error Correction Grouping Semantics in Session Description Protocol
Li Standards Track [Page 1]
RFC 4756 FEC Grouping Semantics in SDP November 2006 1. IntroductionThe media lines in an SDP [3] session may be associated with each other in various ways. SDP itself does not provide methods to convey the relationships between the media lines. Such relationships are indicated by the extension to SDP as defined in "Grouping of Media Lines in the Session Description Protocol" (RFC 3388) [2]. RFC 3388 defines two types of semantics: Lip Synchronization and Flow Identification.
2. Terminology
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 RFC 2119 [1].
3. Forward Error Correction (FEC)
Forward Error Correction (FEC) is a common technique to achieve robust communication in error-prone environments. In FEC, communication uses a bandwidth that is more than payload to send redundantly coded payload information. The receivers can readily recover the original payload even when some communication is lost in the transmission. Compared to other error correction techniques (such as retransmission), FEC can achieve much lower transmission delay, and it does not have the problem of implosion from retransmission requests in various multicast scenarios.
Li Standards Track [Page 2]
RFC 4756 FEC Grouping Semantics in SDP November 2006 4. FEC Grouping 4.1. FEC GroupEach "a=group" line is used to indicate an association relationship between the FEC streams and the payload streams. The streams included in one "a=group" line are called a "FEC Group".
4.2. Offer / Answer Consideration
The backward compatibility in offer / answer is generally handled as specified in RFC 3388 [2].
4.3. Example of FEC Grouping
The following example shows a session description of a multicast conference. The first media stream (mid:1) contains the audio stream. The second media stream (mid:2) contains the Generic FEC [5] protection for the audio stream. These two streams form an FEC group. The relationship between the two streams is indicated by the "a=group:FEC 1 2" line. The FEC stream is sent to the same multicast group and has the same Time to Live (TTL) as the audio, but on a port number two higher. Likewise, the video stream (mid:3) and its Generic FEC protection stream (mid:4) form another FEC group. The relationship between the two streams is indicated by the "a=group:FEC 3 4" line. The FEC stream is sent to a different multicast address, but has the same port number (30004) as the payload video stream.
Li Standards Track [Page 3]
RFC 4756 FEC Grouping Semantics in SDP November 2006
v=0 o=adam 289083124 289083124 IN IP4 host.example.com s=ULP FEC Seminar t=0 0 c=IN IP4 224.2.17.12/127 a=group:FEC 1 2 a=group:FEC 3 4 m=audio 30000 RTP/AVP 0 a=mid:1 m=audio 30002 RTP/AVP 100 a=rtpmap:100 ulpfec/8000 a=mid:2 m=video 30004 RTP/AVP 31 a=mid:3 m=video 30004 RTP/AVP 101 c=IN IP4 224.2.17.13/127 a=rtpmap:101 ulpfec/8000 a=mid:4
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 mishandling of other media payload streams. It is recommended that the receiver SHOULD do integrity check on SDP and follow the security considerations of SDP [3] to only trust SDP from trusted sources.
6. IANA Considerations
This document defines the semantics to be used with grouping of media lines in SDP as defined in RFC 3388. The semantics defined in this document are to be registered by the IANA when they are published in standards track RFCs.
Semantics Token Reference
------------------------ ----- ----------
Forward Error Correction FEC RFC 4756
Li Standards Track [Page 4]
RFC 4756 FEC Grouping Semantics in SDP November 2006 7. AcknowledgmentsThe author would like to thank Magnus Westerlund, Colin Perkins, Joerg Ott, and Cullen Jennings for their feedback on this document.
8. References 8.1. Normative References[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
8.2. Informative References
[4] Perkins, C., Kouvelas, I., Hodson, O., Hardman, V., Handley, M.,
Li Standards Track [Page 5]
RFC 4756 FEC Grouping Semantics in SDP November 2006
Full Copyright Statement