Purpose of RTCP Sender and Receiver Reports in WebRTC

This article explains the operational purposes of Real-Time Control Protocol (RTCP) Sender Reports (SR) and Receiver Reports (RR) within WebRTC applications. It covers how these control packets function to synchronize media streams, monitor network quality of service (QoS), calculate round-trip time (RTT), and facilitate congestion control to ensure smooth real-time communication.

In WebRTC, while the Real-time Transport Protocol (RTP) carries the actual audio and video data, its companion protocol, RTCP, manages the delivery quality and synchronization of these streams. The two most critical RTCP packet types used for this purpose are Sender Reports (SR) and Receiver Reports (RR).

RTCP Sender Reports (SR)

Sender Reports are generated and transmitted by active senders in a WebRTC session. Their primary operational purposes include:

RTCP Receiver Reports (RR)

Receiver Reports are sent by participants who receive media streams. Their primary operational purposes are:

Operational Synergy and Congestion Control

Together, SR and RR packets form a continuous feedback loop that WebRTC leverages for dynamic network adaptation.

The sender analyzes the packet loss and jitter reported in the RRs, combined with the calculated RTT. If the receiver reports high packet loss or rising jitter, the WebRTC congestion control algorithm (such as Google Congestion Control) instructs the media engine to lower the bitrate, reduce resolution, or adjust the frame rate. Conversely, if the RRs report zero packet loss and low latency, the sender can safely scale up the media quality to utilize the available bandwidth.