Forward Error Correction Grouping Semantics in Session Description Protocol
obsoleted by
- rfc-5956 — Forward Error Correction Grouping Semantics in the Session Description Protocol
Extracted elements (12)
FEC data can be sent either multiplexed with the original payload (as in RFC 2198) or as a separate stream. This document addresses only the separate-stream case, where SDP grouping is needed to indicate the association.
FEC grouping only indicates the association relationship between streams; detailed FEC protection scheme parameters (e.g., protection level and length for ULP) are conveyed in-band within the FEC stream itself, keeping SDP signaling minimal.
Backward compatibility in the SDP offer/answer exchange for FEC grouping is handled as specified in RFC 3388 (Grouping of Media Lines in SDP), which this document extends with the FEC semantics token.
A node that does not understand FEC grouping SHOULD respond to an offer containing FEC grouping either by ignoring the grouping attribute in the answer, or by refusing the request (e.g., SIP 488 or 606).
If the answerer ignores the FEC grouping attribute, the original offeror MUST establish the connection without FEC.
If the answerer refuses the offer containing FEC grouping and the offeror still wishes to establish the session, it SHOULD re-try the request with an offer that does not include FEC.
The receiver SHOULD perform an integrity check on SDP and follow the security considerations of RFC 4566 (SDP), accepting SDP only from trusted sources, to mitigate the risk of FEC grouping tampering.
A FEC Group may contain one or more FEC streams and one or more payload streams, enabling configurations such as one payload stream protected by multiple FEC streams or multiple payload streams sharing a single FEC stream.
The FEC grouping semantics use the 'a=group:FEC' line to indicate association relationships between FEC streams and the payload streams they protect. Streams included in one 'a=group' line form a 'FEC Group'.
IANA registered 'FEC' as a new semantics token for the 'group' SDP attribute under SDP Parameters, referencing RFC 4756. The full entry is: Semantics = 'Forward Error Correction', Token = 'FEC'.
There is a weak threat that an attacker could modify the FEC grouping in SDP to indicate FEC relationships that do not exist, potentially causing FEC protection to fail or mishandling of media payload streams.
The FEC group is expressed as 'a=group:FEC <mid-list>' in SDP, where each mid value in the list corresponds to an 'm' line identified by an 'a=mid' attribute. Multiple FEC groups may appear in a single session description.