Sometimes the customer is concerned about how much m of bandwidth to apply for to ensure the number of voice calls that the server can achieve. Here, I will only describe my personal understanding.
The following uses g711 encoding as an example to describe it. At the same time, we should know that the standard encoding rate of g711 encoding is 64 Kbps. In addition, it is assumed that the LAN uplink device uses a static IP address that does not contain VLAN to access the Internet (these factors need to be taken into account when calculating the "entire packet size" below ).
1. The bandwidth formula for converting a single voice call is provided first:
Bandwidth of one call X the size of the entire message (if you encrypt the media, add the encrypted padding byte)
------------------------ = Bytes -----------------------------------------------------------------------------------------------------------------------
The g711 encoding rate specifies the size of the g711 encoding load for the packaging duration (if you perform media encryption, add encrypted Padding Bytes here)
Bandwidth x = size of the entire message x g711 encoding rate/size of the g711 encoding load for the specified packaging duration
Here, we can calculate "the size of the entire message" and "specify the size of the g711 encoding load for the packaging duration" to find "one-way call bandwidth X ". (Note: g711 encoding speed is standard 64 Kbps, which is known)
2. Size of the entire packet = size of the Ethernet header + size of the IP header + size of the UDP header + size of the RTP Header + size of the g711 encoding load for the specified packaging duration
"Ethernet header size", "IP header size", "UDP header size", and "RTP Header size" all have standard definitions. For more information, see relevant standards, it is considered that all items are known and will not be described here.
3. specify the size of the g711 encoding load for the packaging duration
For example, if g711 encoding is used and the packaging duration of 20 ms is 80 bytes, the calculation method is as follows:
The standard encoding speed of g711 is 64 Kbps.
64 Kbps = (64 K) bit/second = (64 K/8) byte/second = (8 K) byte/second = (8 K/1000) byte/millisecond = (8 byte)/millisecond
Therefore, the 20 ms g711 encoding load is 20*8 bytes = 160 bytes.
Note:
The bandwidth value calculated for a single call is for a single call on a terminal device. If the server supports the media forwarding proxy function, multiply the bandwidth value calculated for the previous call on the server by 2, this is because a server call corresponds to two terminal devices.