rfc-3556

Session Description Protocol (SDP) Bandwidth Modifiers for RTP Control Protocol (RTCP) Bandwidth

S. Casner
date2003-07 streamIETF arearai wgavt statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc3556 doi10.17487/RFC3556
This document defines an extension to the Session Description Protocol (SDP) to specify two additional modifiers for the bandwidth attribute. These modifiers may be used to specify the bandwidth allowed for RTP Control Protocol (RTCP) packets in a Real-time Transport Protocol (RTP) session. [STANDARDS-TRACK]

Extracted elements (15)

design-rationale §1

Independent RTCP bandwidth parameters allow rate-adaptive applications to set RTCP bandwidth consistent with a 'typical' data bandwidth lower than the session maximum, keeping RTCP under 5% of actual data bandwidth even when rate has been adapted downward.

rtp, realtime, congestion

design-rationale §1

Setting RR to zero allows RTCP reception reports to be turned off entirely for sessions on unidirectional links or sessions that do not require reception quality feedback, while keeping RS non-zero so sender reports can still be sent for inter-media synchronization.

rtp, realtime

design-rationale §2

The RS/RR bandwidth values are specified in bits per second rather than kilobits per second because the desired RTCP bandwidth may be less than 1 kb/s, making the kilobits-per-second unit impractical. Fractional values were considered but rejected in favor of changing the unit to preserve syntax compatibility.

rtp, realtime

interoperability-note §4

If RR bandwidth is specified as zero at the session level, this turns off RTCP transmission for non-data-senders across all media in the session, due to the precedence relationship between session-level and media-level specifiers.

rtp, realtime

interoperability-note §2

This specification conflicts with RFC 2327, which requires bandwidth-value for all modifiers to be an integer number of kilobits per second. The RS and RR modifiers use bits per second instead; the SDP specification was being updated to accommodate this semantic change.

rtp, realtime

normative-requirement §3 MUST

The RR and RS bandwidth values must be non-negative. The RTP specification and the appropriate RTP profile may specify additional limits.

rtp, realtime

protocol-element §3

Default values: if RS and RR are both omitted, total RTCP bandwidth is 5% of session bandwidth, with senders receiving 1.25% and receivers 3.75%. If only one modifier is omitted, its value is 5% minus the value of the other, but not less than zero.

rtp, realtime

protocol-element §2

For the RTP A/V Profile, at least RS/(RS+RR) of the RTCP bandwidth is dedicated to active data senders. When the proportion of senders exceeds RS/(RS+RR), senders get their proportion of the sum of RS and RR, meaning a sender and non-sender each get the same allocation.

rtp, realtime

protocol-element §4

Precedence order for RTCP bandwidth specifiers (highest to lowest): (1) explicit RR/RS at media level, (2) explicit RR/RS at session level, (3) default based on session bandwidth at media level, (4) default based on session bandwidth at session level.

rtp, realtime

protocol-element §2

Special cases for RS/RR values: if RR is zero, non-senders never receive RTCP bandwidth regardless of the number of senders. Setting RS to zero means data senders are treated the same as non-senders. If both RS and RR are zero, the fraction RS/(RS+RR) must not be calculated.

rtp, realtime

protocol-element §2

The RS and RR bandwidth allocation applies to the total bandwidth consumed by all RTCP packet types, including SR, RR, SDES, BYE, APP, and any future types defined.

rtp, realtime

protocol-element §2

Two new SDP bandwidth modifiers are defined: 'RS' specifies the RTCP bandwidth allocated to active data senders, and 'RR' specifies the RTCP bandwidth allocated to other participants (receivers) in an RTP session. Both use the syntax b=RS:<bandwidth-value> and b=RR:<bandwidth-value>.

rtp, realtime

registry §6

Two new bandwidth modifier names, 'RS' and 'RR', have been registered in the 'bwtype' table of the Session Description Protocol (SDP) Parameters registry.

registry, rtp, realtime

security-consideration §7

An unreasonably large bandwidth value supplied with RS or RR modifiers could cause an application to send RTCP packets at an excessive rate, resulting in a denial of service. Applications should apply validity checks to all parameters received in an SDP description, particularly unauthenticated ones.

security, rtp, realtime

wire-format §2

The bandwidth-value for RS and RR modifiers is specified in units of bits per second (not kilobits per second as with other SDP bandwidth modifiers), expressed as an integer value. This differs from the general SDP convention to allow RTCP bandwidths below 1 kb/s.

rtp, realtime