Earlier in the Telecommunications traffic, Erlang
article I described trunk number calculation for given call load. Novadays it's more common to have office PBX connected to external network via VOIP trunks instead of E1/T1 ones. VOIP trunks unlike E1/T1 have no fixed range of channels, instead you telecommunications provider must dedicate some network bandwidth to transmit VOIP load.
The following calculator estimates the bandwidth required to handle given number of calls with given audio codec. You may find calculation details just below the calculator.
VOIP traffic bandwidth includes useful audo data payload and protocol stack overhead (RTP, UDP, IP, and network L2, L1 overhead). Our calculator gives bandwidth value in kilobits per second (Kbps).
The algorithm is quite simple:
- audio data encoded by a codec,
- protocol stack overhead (see below),
- number of packets per seconds
VOIP packet size
Depending on codec,there are 20 or 30 milliseconds audo data in VOIP packet, it's from 1 to 6 codec samples (see handbook Audio codecs
). Therefore, the less packet duration the more packets are required to send every second. Due to every packet contains stack protocol overhead, the more packets the more relative protocol stack overhead.
The following picture demonstrates VOIP packet structure with each layer overhead for IPv4 Ethernet network.
Example calculation for ilbc (15.2Kbps) audio codec (up to network L2 layer):
- VOIP data size: 38(codec sample size)*1(samples per packet) = 38 bytes
- Protocol stack overhead RTP-L2:12(RTP)+8(UDP)+20(IP)+18(L2)=58 bytes
- Packets per second: 1000(milliseconds in a second)/20(packet duration in ms) = 50 packets
:(38+58)*50*8/1000=38.4 Kilobits per second
I used the following handbooks to create this calculator:Network typesAudio codecs
You may insert there your codecs and network specifications, the data will be automatically reflected in the calculator over time.