How much bandwidth do I need to use Toku Connect?

Toku Connect works over any internet connection. You may wonder how much bandwidth do our applications take. This article will provide bandwidth calculations and give you a better insight of just how much is enough

Brief Description

Audio streaming, also better known as voice calls, will require 2 different types of overhead in order for a call to be successfully initiated and received on the end systems (your phones applications and web-clients). These overheads are the "Network Overhead" and "Codec Overhead". Both must be accounted for being a audio signal can be transmitted over the internet.

Network Overhead

There are different network layers that an audio file needs to go through for it to be processed effectively by routers, intermediate links and end points. Therefore, audio packet wrappers are required and they cost additional bandwidth. Typically, the total overhead, in addition to the audio packet, costs 31.2 kbps. This means that if an audio stream typically cost 64 kbps for the raw audio file, an additional 31.2 kbps will be included bringing that total to 95.2 kbps.

Codec Overhead

Raw audio files can be relatively large, it needs to be encoded before it is sent through a network. This step is often performed by codecs. Different codecs produce different audio quality and consume varying levels of network bandwidth. Toku Connect prioritizes these codecs as in the order it is presented. Depending on the end users available list of codecs, the communicating devices will establish the codec used for the call. G711 codec is currently Toku Connect's priority codec.

The base size and total size (after inclusion of the 31.2 kbps overhead) of each codec is provided as follows. As you can see, the codecs can influence factors like audio quality and the resources required to establish the call on the end systems.   

Codec Audio Quality CPU Resources Base Size Total Size (Base + Overhead)
G711 Good Very Low 64 kbps 95.2 kbps
G722 Very Good Low 64 kbps 95.2 kbps
GSM Acceptable Average 13 kbps 44.2 kbps
G729 Average High 8 kbps 39.2 kbps

Total Bandwidth Consumption

The following calculations has taken into account the inclusion of the above mentioned overhead. Typically, we assume the largest bandwidth scenario where G711 is employed as the codec for a call. The stats are for one audio stream. A VoIP call will use one audio stream for each leg (or endpoint). Thus, a call between two parties will use double the bandwidth shown below.

Codec Kilobits per second Kilobytes per second Kilobytes per minute Megabytes per hour
G711 95.2 11.9 714 41.8
G722 95.2 11.9 714 41.8
GSM 44.2 5.525 331.5 19.4
G729 39.2 4.9 294 17.2

1 byte (B) = 8 bits (b). Kbps refers to kiloBits per second and KBps refers to kiloBytes per second. Check if "b" is capitalized or not when doing your calculations.


Do I have enough bandwidth to support voice calls?

The short answer is almost always YES! Even with multiple simultaneous voice calls, it should mostly be suitable. With an internet speed of 100 mbps, technically you can accommodate approximately 1000 simultaneous voice channels. However, this is assuming a perfectly ideal scenario where the advertised internet speed is what you are actually getting, and your internet is being used for solely voice calls.

Ultimately, your internet bandwidth is being diverted into a multitude of applications, connections and background processes. You need to figure out how intensive is your simultaneous call usage going to be and how much bandwidth does other processes take.

Lastly, each end user must ensure that a stable and strong connection can be established to the internet (through wifi or wired ethernet). Instances where calls are choppy or losing connection intermittently is almost always the result of non-consistent wifi signal where the connection may plummet below the necessary 90 kbps (if we use G711 codec) during different periods of the call. After your connection is stable, you must also ensure that the other party's connection is stable in order for a smooth 2-way call channel.