What is RTP (Real-time Transport Protocol)?
The Real-time Transport Protocol is a network protocol used to deliver streaming audio and video media over the internet, thereby enabling the Voice Over Internet Protocol (VoIP).
RTP is generally used with a signaling protocol, such as SIP, which sets up connections across the network. RTP applications can use the Transmission Control Protocol (TCP), but most use the User Datagram protocol (UDP) instead because UDP allows for faster delivery of data.
What is RTCP (Real-time Transport Control Protocol)?
While RTP allows for real-time data transfer, RTCP provides out-of-band statistics and control information for any given RTP session. It doesn't actually transport any media data, but rather helps with quality control.
SSRC and CSRC: How do they work with RTP?
SSRC (Synchronization Source) values are randomly assigned in order to keep track of synchronization sources within a given RTP session. No two sources within the same session will have the same SSRC identifiers; users can spot and trace looping audio paths if overlaps do occur.
CSRC (Contributing Source) values make up the full array of up to 15 contributing sources for a given packet payload within an RTP session. For example, if multiple audio sources are mixing together on a conference call, CSRC can help differentiate between those sources.