While protocols like MGCP, SIP, H.323 (H.225/H.225 RAS/H.245), and SCCP provide signalling in VoIP/IP telephony/unified communications networks, the Real Time Transport Protocol (RTP) is used to transport the voice and video media packets.
RTP has a number of important characteristics, including the following:
- RTP is transported over UDP rather than TCP for a number of reasons including the fact that TCP retransmission is not appropriate - any retransmitted voice or video packets would arrive too late to be useful.
- RTP includes timestamps and sequencing information in order to detect packet loss and ensure correct playout timing.
- QoS statistics for RTP flows, including packet loss, jitter, and round-trip time are provided using the Real Time Transport Control Protocol (RTCP).
As previously mentioned, RTP is carried over UDP, and the IP, UDP, and RTP headers that encapsulate voice/video media traffic total 40 bytes. These 40 bytes of overhead are significant because the media payload itself is often considerably smaller - if you are using the G.729 codec, for example, then the media payload may only be 20 bytes.
On slow links, it may be advantageous to compress the IP/UDP/RTP headers using Compressed RTP (cRTP). If you use cRTP then the 40 bytes of overhead incurred by the IP/UDP/RTP headers can typically be compressed down to 2 to 4 bytes (2 bytes when no UDP checksums are sent, and 4 bytes when checksums are sent).
The bandwidth savings when using cRTP can be considerable. If, for example, you use the G.711 codec (default payload 160 bytes), with MLP at 50 pps, then without cRTP you'd require bandwidth of 82.8 kbps, but with cRTP you'd only require bandwidth of 67.6 kbps. So, the bandwidth saving would be 18.36%.