VoIP enables audio signals to be transferred over IP packets through IP networks and the Internet.
In a first step the analog audio is digitized and compressed. Second packets of data using a real-time protocol (typically RTP over UDP over IP) are created. These packets are sent as payload across the TCP/IP networks. The IP packets contain a header (for control communication) and the payload to transport the data.
Because of the architecture of TCP/IP networks and the Internet some problems occur: voice data communication must be a real time stream and this is in contrast with the Internet heterogeneous architecture. The way of the data packets can be made of many routers step by step to go to the receiver and can have a very high round trip time (RTT).
At the receiving end, after get connected, packets must be disassembled, data must be extracted and reconverted to analog audio.
Some of the used standards:
ITU-T G.711 (bandwidth 4 kHz, using 12 or 13 bits)
ITU-T G.726 (converts only the difference between the actual and the previous voice packet, requiring 32 kbps)
ITU-T G.729 and G.729a
G.723.1 (6.3 kbps)
ITU-T G.723.1 (5.3 kbps)
LPC-10 (down to 2.5 kbps)
the signaling protocol to call users is the ITU-T H323
RTP is the Real Time Transport Protocol, it defines how the data is encapsulated into the TCP/IP stack. VoIP data packets are part of the RTP (Real-Time Transport Protocol) packets which are inside the UDP-IP packets. VoIP uses UDP instead of TCP, because TCP is too 'heavy' for real time applications. But also UDP has no control over the order in which the packets arrive at the receiver's end. These are very important parameters for realtime audio transmission. The RTP protocol solves this problem by enabling the receiver to put the packets back into the correct order and forget about packets that arrive too late. Other than in graphic content (Internet), the too late information rather disturbs and should be ignored.