An Introduction to RTCP (Real-Time Transport Control Protocol) [MiniTool Wiki]
What Is RTCP?
What is RTCP? RTCP refers to Real-Time Transmission Control Protocol. It is a protocol that works with Real-Time Protocol (RTP) to monitor data transmission on large multicast networks.
The purpose of monitoring delivery is to determine whether RTP provides the necessary quality of service (QoS) and compensates for delays if needed. RTCP is used for Voice over IP (VoIP) and Internet Protocol Television (IPTV), streaming, and video conferencing.
RTCP transmits statistics and control data, while RTP transmits data. RTCP statistics typically include bytes sent, packets sent, packets lost, and round-trip latency between endpoints.
RTCP provides the basic functionality expected in all RTP sessions:
The main function of RTCP is to collect statistics about the quality of media distribution during a session and transmit this data to the session media sources and other session participants. Such information can be sourced for adaptive media encoding (codec) and detection of transmission failures. Allows non-intrusive session quality monitoring if the session is transmitted over a multicast network.
RTCP provides canonical endpoint identifiers (CNAMEs) to all session participants. Although the source identifier (SSRC) of an RTP stream is expected to be unique, the transient binding of a source identifier to an endpoint may change during a session. CNAMEs establish unique identities of endpoints across application instances (multiple uses of media tools) and third-party monitoring.
Provides session control functionality. RTCP is a convenient way to contact all session participants, whereas RTP itself is not. RTP is only transported by media sources.
Type of RTCP Report
RTCP can use five different packet types to carry statistics and control data. The packets are RR (Receiver Report), SR (Sender Report), SDES (Source Description Item), BYE (Bye Message), and APP (Application-Specific Function).
1. Receiver Report
Passive participants are those that do not send RTP packets and use Receiver reporting for them. This report is used to inform senders and other receivers about the quality of service.
2. Sender Report
Sender reports are sent by active senders in a conference after a fixed time interval to report transmission and reception statistics for all RTP packets sent during that period. The report sent by the sender contains details of the absolute timestamp, which is the number of seconds since midnight on January 1, 1970.
After the receiver receives the RTP message, these absolute timestamp details help the receiver to synchronize processing. This is very important in audio-video transmission to find relative timestamps.
3. Source Description Message
Sources send source description messages at regular intervals to provide some additional information about themselves. It contains details about the source name, its mail ID, contact number, or source controller.
4. Bye Message
To close the stream, the source sends a message called a goodbye message. Feeds are used to announce departures from meetings. This message is a direct announcement from other sources stating that there is no source. It can be used to combine different media files.
5. Application-Specific Message
If we want our application to be extensible, then RTCP allows application-specific RTCP packets introduced by RTC 3611. It can be used to extend the type of application.
Here is all the information about the RTCP. I hope that this post can be helpful to you.