Bandwidth estimates

From TD-er's Wiki
Jump to: navigation, search

Packet overhead

Communication over an IP-network has some overhead for each data-packet. This overhead can be seen as a constant value in calculations, although it is dependant on a few parameters like the networkstructure and wether it is an TCP or UDP packet.

For TCP, an overhead of 52 Bytes is average and for UDP it is 28 Bytes.

See for more detailed information ethernet payload datarates.


Along with the data used by the codec(s), some control data also has to be transmitted. This means the overhead per packet is even greater than only the IP-headers. This overhead is different for several protocols (e.g. SIP and IAX) and may also be dependant on the number of streams combined in the packet. (e.g. audio and video or even multiple conversations)

Trunking

Because of this packet-overhead, several protocols (like IAX2) support some kind of multiplexing. This means in each datapacket which is sent over the network, several packets of multiple conversations are put together in order to minimize the amount of packets on the network, thus maximizing the payload and minimizing the overhead.

This means the bandwith used between 2 PBX stations can be seen as:

  • BRcodec * #channels + IP-overhead + PBX-protocol-overhead.

This saves (n-1) * (IP-overhead + PBX-overhead) in traffic and even more important, all traffic can be sent over one connection.


Trunk mode requires having a Zaptel interface in the Asterisk server. Therefore we were not able to do measurements on the effect trunking has on the bandwidth consumption. We found however a site where someone has put a low of testresults on trunking.

IAX2 bandwidth comparison

Bandwidth calculators

Audio codec-only:


Links

Audio Codecs

See the Audio Codecs-section for detailed info on various audio codecs.

Asterisk bandwidth IAX2

See the IAX2 bandwidth comparison-section for more numbers on trunking over an IAX-connection.

  • IAX2 Bandwidth Study - To obtain a better chart of actual bandwidth usage per codec as seen "on-the-wire" when using IAX2 trunking between two Asterisk telephony servers.