rfc-5506

Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities and Consequences

I. Johansson, M. Westerlund
date2009-04 streamIETF arearai wgavt statusPROPOSED STANDARD pages17 canonicalhttps://www.rfc-editor.org/rfc/rfc5506 doi10.17487/RFC5506 errataview
This memo discusses benefits and issues that arise when allowing Real-time Transport Protocol (RTCP) packets to be transmitted with reduced size. The size can be reduced if the rules on how to create compound packets outlined in RFC 3550 are removed or changed. Based on that analysis, this memo defines certain changes to the rules to allow feedback messages to be sent as Reduced-Size RTCP packets under certain conditions when using the RTP/AVPF (Real-time Transport Protocol / Audio-Visual Profile with Feedback) profile (RFC 4585). This document updates RFC 3550, RFC 3711, and RFC 4585. [STANDARDS-TRACK]

updates

Extracted elements (25)

design-rationale §4.2.1

Delivery verification is required for Reduced-Size RTCP because middle boxes and legacy endpoints may silently discard it. SR delivery can be verified via echoed timestamps in received RRs; feedback message delivery can often be inferred from protocol responses (e.g., retransmission following NACK, TMMBN following TMMBR).

rtp, realtime

design-rationale §3.3

On low-bitrate radio links optimized for compressed speech, minimal compound RTCP is 2–3× larger than an RTP speech packet. If the speech packet loss probability is p, the compound RTCP loss probability is 1-(1-p)^x where x is the number of link-layer fragments, making Reduced-Size RTCP substantially more reliable under poor channel conditions.

rtp, realtime

design-rationale §4

Reduced-Size RTCP is restricted to AVPF/SAVPF Early RTCP and Immediate Feedback modes because those modes enable event-driven, time-sensitive feedback. In these modes, the AVPF scheduling algorithm already ensures regular compound RTCP is sent, so Reduced-Size RTCP is only used for supplemental transmissions.

rtp, realtime

design-rationale §3.1

RFC 3550 mandates compound RTCP to ensure SR/RR packets reach all participants for session-size estimation and RTCP bandwidth bounding, and to deliver CNAME SDES items needed for media synchronization and SSRC collision detection. These functions require regular transmission and are the primary reason Reduced-Size RTCP cannot replace compound RTCP entirely.

rtp, realtime

interoperability-note §3.4.1

Middle boxes may discard RTCP that does not begin with payload type 200 or 201 (SR or RR). When Reduced-Size RTCP starts with a different payload type, such boxes may treat it as unknown and drop it while passing compound RTCP through.

rtp, realtime

interoperability-note §3.4.2

Old RTP receivers without updated packet validation code will discard Reduced-Size RTCP, causing them to miss feedback messages. This can result in session partitioning where old receivers may send duplicate feedback for events already reported via Reduced-Size RTCP.

rtp, realtime

interoperability-note §3.4.3

RFC 3711 (SRTP) requires that 'SRTCP MUST be given packets according to that requirement in the sense that the first part MUST be a sender report or a receiver report.' Although SRTP has no real functional dependency on this, changes in SRTP implementations MAY become necessary to support Reduced-Size RTCP.

rtp, realtime, security

interoperability-note §3.4.5

RoHC (RFC 3095) classifies RTP vs RTCP by payload type when multiplexed on the same port. The classification algorithm must be updated to acknowledge that the first RTCP packet in a Reduced-Size RTCP may have a payload type other than 200 or 201.

rtp, realtime

interoperability-note §3.4.4

When multiplexing RTP and RTCP on the same port, de-multiplexing must handle Reduced-Size RTCP correctly. Reduced-Size RTCP increases the number of payload type values representing RTCP, reducing the available RTP payload type space.

rtp, realtime

normative-requirement §4.1 MUST NOT

A Reduced-Size RTCP packet MUST NOT be used for Regular (scheduled) RTCP report purposes and MUST NOT be used with the RTP/AVP profile (RFC 3551) or the RTP/SAVP profile (RFC 3711).

rtp, realtime

normative-requirement §4.2.1 MUST

An algorithm to detect consistent failure of delivery of Reduced-Size RTCP MUST be used by any application using Reduced-Size RTCP. If verification fails, it is strongly RECOMMENDED that only compound RTCP per RFC 3550 is transmitted.

rtp, realtime

normative-requirement §5 MUST

An offering client that wishes to use Reduced-Size RTCP MUST include the SDP attribute 'a=rtcp-rsize' in the offer. If present in the offer, an answerer that supports Reduced-Size RTCP and wishes to use it SHALL include 'a=rtcp-rsize' in the answer.

rtp, realtime

normative-requirement §4.2.2 RECOMMENDED

For access types sensitive to packet size, it is strongly RECOMMENDED that Reduced-Size RTCP be limited to a single RTCP packet per lower-layer datagram. Large Reduced-Size RTCP packets are strongly RECOMMENDED to be transmitted as compound RTCP instead.

rtp, realtime

normative-requirement §4 MAY

In Immediate Feedback mode, all feedback messages MAY be sent as Reduced-Size RTCP. In Early RTCP mode, a feedback message scheduled as an Early RTCP MAY be sent as Reduced-Size RTCP. All RTCP scheduled as Regular RTCP SHALL be sent as compound RTCP.

rtp, realtime

normative-requirement §5 REQUIRED

It is REQUIRED that a participant that proposes the use of Reduced-Size RTCP shall itself support the reception of Reduced-Size RTCP.

rtp, realtime

normative-requirement §4.2.1 SHOULD NOT

RTCP packet types for which successful delivery cannot be detected SHOULD NOT be transmitted as Reduced-Size RTCP packets unless transmitted in the same lower-layer datagram as another RTCP packet type for which successful delivery can be detected.

rtp, realtime

normative-requirement §4 MUST

The regular transmission of compound RTCP MUST be maintained throughout an RTP session. Reduced-Size RTCP SHOULD be restricted to extra RTCP (e.g., feedback) sent when a regular compound RTCP would not otherwise have been sent.

rtp, realtime

normative-requirement §4 MUST NOT

The usage of Reduced-Size RTCP SHALL only be done in RTP sessions operating in AVPF or SAVPF Early RTCP or Immediate Feedback mode. Reduced-Size RTCP SHALL NOT be sent until at least one compound RTCP has been sent.

rtp, realtime

protocol-element §2

A Minimal Compound RTCP packet must contain an RTCP RR or SR packet and an SDES packet with the CNAME item with a specified ordering. A Full Compound RTCP conforms to minimal compound rules and contains additional RTCP packets.

rtp, realtime

protocol-element §4.1

A Reduced-Size RTCP packet contains one or more RTCP packets, allows any RTCP packet type, MUST NOT be used for Regular RTCP report purposes, and MUST NOT be used with RTP/AVP or RTP/SAVP profiles. It does not follow the compound RTCP rules from RFC 3550 Section 6.1.

rtp, realtime

protocol-element §3.1

Sender Reports (SR) carry NTP and RTP timestamp fields used in combination with the CNAME SDES item to synchronize multiple RTP streams such as audio and video; their echoed timestamps in RR can verify Reduced-Size RTCP delivery.

rtp, realtime

protocol-element §5

The 'a=rtcp-rsize' SDP media-level attribute signals that a session participant supports Reduced-Size RTCP. It is a property attribute that takes no value and is not subject to charset.

rtp, realtime

registry §7

IANA registered a new SDP attribute 'rtcp-rsize' (long form: Reduced-Size RTCP) as a media-level, property attribute not subject to charset, per RFC 4566 guidelines, at the request of RFC 5506.

registry, rtp, realtime

security-consideration §6

The reduction in packet validation strength for RTCP receivers accepting Reduced-Size RTCP may result in a higher rate of acceptance of spurious data as real RTCP. This vulnerability can be mitigated by using a security mechanism that provides authentication, such as SRTP (RFC 3711).

security, rtp, realtime

wire-format §3.3

A Receiver Report (RR) containing a report block for a single source is 32 bytes; a Sender Report (SR) is 52 bytes; an SDES packet containing a CNAME item is at least 10 bytes plus the CNAME string length. A Reduced-Size RTCP can therefore be 70–80 bytes smaller than a compound packet.

rtp, realtime