6.4 Understanding VoIP Header Overhead

The total required bandwidth shown in the “Added Call Bandwidth” field of the Modeled Links table is probably considerably larger than the codec would seem to need. The “Added Call Bandwidth” calculation includes not only the bandwidth the codec requires, but also any overhead associated with the protocol used (RTP), plus Layer-3 overhead (the IP and UDP headers), and the overhead associated with the network architecture. For example, a PPP link adds 56 extra bits.

Thus, when you select the G.729 codec, for example, the codec itself purports to use only 8 kbps (8,000 bits) of bandwidth. However, 320 bits of overhead must be added to each packet, as discussed in Section 6.1.3, RTP Header Compression. And then, to calculate the bandwidth, you must add the header size associated with the link type. The following tables provide details:

Link Type

Header Size

PPP

56 bits

DS1

40 bits

E1

40 bits

DS3

40 bits

Prop PointToPoint Serial (Cisco HDLC)

56 bits

Serial

56 bits

Frame Relay

56 bits

For ATM links, a separate calculation must be performed to account for the requirements specific to ATM. When VoIP data travels over ATM, each packet is placed into 53-byte ATM cells, of which 48 bytes are payload data. No partial ATM cells are sent, so if a VoIP packet requires multiple ATM cells, any remaining cell space is padded with unused data. A 40-bit header is assumed for the ATM architecture. The calculation then uses default packet sizes based on the selected codec, breaks them into the 48-byte ATM payload size, and rounds up the number of bytes based on the ATM header and the extra cells needed to transport the data, with padding.

The following is an illustration of bandwidth usage over a PPP link:

Codec

Data Rate

Total Bandwidth

G.711u, G.711a

64 kbps

82.8 kbps

G.726

32 kbps

50.8 kbps

G.729, G.729A

8 kbps

26.8 kbps

G.723.1 MPMLQ

6.3 kbps

18.7 kbps

G.723.1 ACELP

5.3 kbps

17.7 kbps

Other factors such as silence suppression and the number of packets sent per second, controlled by the “Delay between datagrams” parameter defined in Section 7.10.1, Adding a Call Script, are used in these bandwidth calculations as well.