rfc-7104

Duplication Grouping Semantics in the Session Description Protocol

A. Begen, Y. Cai, H. Ou
date2014-01 streamIETF areaart wgmmusic statusPROPOSED STANDARD pages10 canonicalhttps://www.rfc-editor.org/rfc/rfc7104 doi10.17487/RFC7104
Packet loss is undesirable for real-time multimedia sessions, but it can occur due to congestion or other unplanned network outages. This is especially true for IP multicast networks, where packet loss patterns can vary greatly between receivers. One technique that can be used to recover from packet loss without incurring unbounded delay for all the receivers is to duplicate the packets and send them in separate redundant streams. This document defines the semantics for grouping redundant streams in the Session Description Protocol (SDP). The semantics defined in this document are to be used with the SDP Grouping Framework. Grouping semantics at the Synchronization Source (SSRC) level are also defined in this document for RTP streams using SSRC multiplexing.

Extracted elements (14)

design-rationale §1

Packet duplication across separate redundant streams is chosen as a loss recovery technique because it avoids unbounded delay for all receivers — an inherent problem with retransmission-based approaches — making it particularly suitable for large-scale IP multicast deployments.

realtime, rtp, multicast

design-rationale §3.2

The 'ssrc-group' attribute (RFC 5576) is used instead of 'group' for SSRC-multiplexed streams because SSRC-multiplexed streams are defined within the same 'm' line, and the session-level 'group' attribute cannot reference streams within a single media description.

realtime, rtp

interoperability-note §3.3

When a node receiving a DUP grouping offer does not support line grouping or DUP semantics, it responds either by omitting the grouping attribute in the answer or by refusing the request (e.g., '488 Not Acceptable Here' or '606 Not Acceptable' in SIP). The original sender must then send a new offer without duplication grouping.

realtime, rtp, sip

normative-requirement §3.3 SHOULD

If a node receiving a DUP grouping offer does not support the semantics and refuses the request, the sender should retry with an offer without duplication grouping if it still wishes to establish the session.

realtime, rtp, sip

normative-requirement §3.1 RECOMMENDED

It is RECOMMENDED that the stream listed first in an 'a=group:DUP' or 'a=ssrc-group:DUP' line be sent first, with the other stream(s) being the (time-delayed) duplicate(s), though ordering does not strictly indicate transmission order.

realtime, rtp

normative-requirement §3.1 MUST

The 'a=group:DUP' semantics MUST be used to group redundant streams when the streams are specified in different media descriptions (different 'm' lines).

realtime, rtp

protocol-element §3.2

For SSRC-multiplexed RTP streams defined in the same 'm' line, the 'a=ssrc-group:DUP' attribute (from RFC 5576) is used instead of 'a=group:DUP', with SSRC identifiers designating the duplication grouping associations.

realtime, rtp

protocol-element §4.2

Separate destination address duplication: redundant streams have different IP destination addresses and are grouped at the session level using 'a=group:DUP S1a S1b' with separate 'm' lines for each stream.

realtime, rtp, multicast

protocol-element §4.1

Separate source address duplication: redundant streams share the same IP destination address but originate from different source addresses, requiring the receiver to join both SSM sessions separately. Demonstrated with 'a=ssrc-group:DUP 1000 1010'.

realtime, rtp, multicast

protocol-element §4.3

Temporal redundancy: redundant streams share the same IP source and destination addresses (same SSM session), with the duplicate transmitted after a delay (e.g., 50 ms) indicated by the 'duplication-delay' attribute. Both streams are SSRC-multiplexed and grouped with 'a=ssrc-group:DUP'.

realtime, rtp, multicast

protocol-element §3.1

The 'DUP' grouping semantics are defined for use with the SDP Grouping Framework (RFC 5888) to associate redundant streams into a 'Duplication Group' via 'a=group:DUP' lines. Each 'a=group' line indicates an association relationship between the redundant streams.

realtime, rtp

registry §6

This document registers 'DUP' (Duplication) in the 'Semantics for the "ssrc-group" SDP Attribute' subregistry under the 'Session Description Protocol (SDP) Parameters' registry.

registry, realtime

security-consideration §5

If confidentiality of the SDP description is desired, a secure encrypted transport method should be used to carry the SDP. End-to-end protection using S/MIME (RFC 5652, RFC 5751) is one recommended approach.

security, realtime, crypto

security-consideration §5

There is a weak threat that duplication grouping information in the SDP description can be modified to indicate relationships that do not exist, potentially causing failure of duplication mechanisms or mishandling of media streams. SDP integrity protection and source authentication (e.g., S/MIME, HTTPS, or SAP authentication) are required to mitigate this.

security, realtime