RR Receiver reports
RR (Receiver Report) is a type of control message used in Real-Time Transport Protocol (RTP) to provide feedback about the quality of a media stream received by the receiver. It allows the sender to monitor the performance of the network and make adjustments if necessary. RR receiver reports are sent from the receiver to the sender to provide valuable information about the reception quality of the media stream.
Here is a detailed explanation of RR receiver reports and the information they contain:
- Report Block: RR reports consist of one or more report blocks, where each block provides feedback about a specific source of media data (usually an RTP stream). Multiple report blocks can be included in a single RR packet to report on multiple streams.
- SSRC (Synchronization Source Identifier): Each report block includes the SSRC identifier, which uniquely identifies the RTP stream that the report block pertains to. This allows the sender to associate the feedback with the correct media stream.
- Fraction Lost: This field indicates the fraction of RTP packets that have been lost since the previous reception report. It is calculated by the receiver based on the sequence numbers of the received packets. The sender can use this information to estimate the packet loss rate and adjust its transmission strategy accordingly.
- Cumulative Number of Packets Lost: This field provides the cumulative count of packets lost since the beginning of the RTP session. It helps the sender track the overall packet loss over time.
- Extended Highest Sequence Number Received: This field specifies the highest sequence number received by the receiver since the beginning of the RTP session. It helps the sender determine if any packets have been lost and to identify the sequence number of the last packet received.
- Interarrival Jitter: Jitter refers to the variation in packet arrival times at the receiver. This field provides an estimate of the network jitter experienced by the RTP stream. It is measured in timestamp units and allows the sender to adapt its playout buffer to compensate for the variations in packet arrival times.
- Last SR (Sender Report) Timestamp: The last SR timestamp field contains the timestamp of the most recent SR packet received from the sender. The SR packet contains information about the sender's timestamp and the transmission statistics. This field helps the receiver calculate the round-trip time (RTT) between the sender and receiver.
- Delay since Last SR: This field represents the time elapsed since the receiver last received an SR packet from the sender. It provides an estimate of the RTT between the sender and receiver.
- Additional Feedback Information: RR reports can include additional feedback information, such as reception statistics for specific types of packets (e.g., RTCP packets) or feedback on specific aspects of the media stream (e.g., quality metrics like packet delay, jitter buffer occupancy, etc.).
By exchanging RR receiver reports, the sender can gain insights into the performance of the media stream and adjust its transmission parameters accordingly. For example, if the fraction lost is high or the jitter is significant, the sender might reduce the transmission rate or apply jitter buffer management techniques to improve the quality of the media stream.
Overall, RR receiver reports play a vital role in maintaining the quality and reliability of real-time media communication by facilitating feedback between the sender and receiver and enabling adaptive transmission strategies based on the network conditions.