Earlier in the Telecommunications traffic, Erlang article, I described trunk number calculation for given call load. Nowadays, it's more common to have office PBX connected to an external network via VOIP trunks instead of E1/T1 ones. Unlike E1/T1, VOIP trunks have no fixed range of channels; instead, your telecommunications provider must dedicate some network bandwidth to transmit VOIP load.
The following calculator estimates the bandwidth required to handle a given number of calls with a given audio codec. You may find calculation details just below the calculator.
VOIP traffic bandwidth includes useful audio 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:
where - audio data encoded by a codec, - protocol stack overhead (see below), - number of packets per seconds
VOIP packet size
Depending on the codec, there are 20 or 30 milliseconds of audio data in the VOIP packet, and 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. Every packet contains stack protocol overhead, the more packets, and the more relative protocol stack overhead.
The following picture demonstrates the VOIP packet structure with each layer overhead for the 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
Bandwidth:(38+58)*50*8/1000=38.4 Kilobits per second
I used the following handbooks to create this calculator:
You may insert your codecs and network specifications, and the data will be automatically reflected in the calculator over time.