Introduction
VoIP has been expanding at an ever increasing rate over the last few years, the largest growth coming in the small to medium sized business sector. As bandwidth across the internet increases it is no longer just the large enterprises that can realize the cost savings and benefits, it is now becoming the primary mode of communication in most small and medium sized businesses.
Back in the late 80’s and early 90’s one of the main issues with VoIP was call quality. Most internet users were still using 56K modems which were designed for transmitting data, there was no real need to put a lot of effort and resources into creating low delay, low jitter and high bandwidth network that’s essential for VoIP. However, as bandwidth increased during the late 90’s and early 2000, VoIP became much more widespread and many of the call quality issues went away. That’s not to say they are completely gone but it’s not as widespread an issue as it once was. This article will help explain the steps you, as a user, can take to get the best call quality you can from your phone system.
There are several factors that can affect the quality of a phone call over a VoIP network.
The Network
The quality of your internet access is paramount. A bad network, regardless of how good your provider or equipment is, will ultimately result in broken speech or huge delays making a conversation nearly impossible. As a customer there are a couple of proactive options that can be taken to avoid this. When shopping for an internet connection, choose a service that guarantees a Quality of Service (QoS). Using technologies such as T1 lines, T3 lines, FiOS, etc. are typically best. These types of services come with a guarantee of uptime and bandwidth which is crucial if you wish to use VoIP as your primary mode of communication.
If you have an existing internet service and are not looking to change then there are tools available that check the quality of your network to see if it’s capable of supporting VoIP. Tools such as this measure bandwidth, jitter, delay and packet loss resulting in a Mean Operating Score.
The network is somewhat beyond your control other than researching and interviewing your providers upfront, making the most informed decision you can. However, there are options in the ATA or on the host provider’s network that can be configured via their user portal that can affect the quality of a call.
Functional Blocks of a typical IP Phone
There are several common functions in an IP phone, an ATA or in the hosted VoIP network that have an impact on the call quality as well as several functions aimed at saving bandwidth. The diagram below shows a pictorial view of how a call is processed.
- Analog to Digital Conversion (ADC) – This is the process of changing your voice, which is analog, into digital samples that are ultimately transferred over the internet. Sample rates in Plain Old Telephone Service (POTS) calls are at 8KHz (8000 samples per second), sample rates in VoIP networks are typically 8KHz but can sometimes be as high 16KHz. The higher the sample rate the better quality of call, the downside of a higher sampling rate is a higher required bandwidth.
- Echo cancellation - This is aimed at improving call quality. You have probably experienced echo at some point while talking on a phone. As its name suggests the person talking can hear a delayed echo of what they are saying, making conversations very difficult. There are two main causes of echo, impedance mismatches in the network and acoustic echo’s from the receiving end. Echo cancellation will typically work when the delay between the original sound and the echo is less than 128ms. A longer delay will typically not be cancelled. To help minimize echo it is best to keep the microphone and the speakers physically as far apart as possible and to not have the speaker volume turned up too high.
- Voice Activation Detector (VAD) - This is aimed at purely saving bandwidth. During a typical phone call or conversation a significant amount of time is actually silent. To save bandwidth Voice Activation Detection is employed. When there is silence less data is sent hence saving bandwidth.
- Vocoder or more commonly referred to as a codec - This is aimed purely at saving bandwidth. The Vocoder takes the digitally sampled voice and compresses it to reduce the bandwidth required. On the receiving side the codec decompresses the samples before being converted back to analog. All calls over a VoIP network will pass through a voice codec which in some cases can reduce the bandwidth required by 70%.
- IP stack or Real-time Transport Protocol (RTP) - In a VoIP network the digital voice is packetized and sent via the internet. As the voice data is being transmitted over the internet it must be formatted and packetized correctly. This is done by passing the data through a software stack. On the receiving side the packetized data must be de-packetized and formatted correctly for the codec to decompress the digital samples.
- Digital to Analog Convertor (DAC) - This is the opposite of the ADC function. The DAC takes the digital samples and converts them back into an Analog format that we can hear and understand.
Out of all the functions depicted above the user has very little in any control except for the type of codec used.
Codecs
Codec stands for COmpression/DECompression. When you speak into your phone, your analogue voice is digitized and then compressed so it takes up less bandwidth, at the receiving end of a call your voice must be decompressed before it can be transformed back into the analolg domain.
G711, G722 and G729 are the most common codecs used in a VoIP system. However, CODECs such as iLBC and Speex are sometimes implemented, they are royalty free and have been developed specifically for the VoIP market. Even rarer codecs such as those used in GSM cellular networks may also be options.
- G.711 - This type of codec produces an excellent quality of call. The samples from the ADC are not digitally compressed when this type of codec is used. The raw bandwidth for the call is 64Kbs per second, once the samples pass through the Real-time Transport Protocol stack the resulting bandwidth on the networks is approximately 90Kbs. This codec is sometimes referred to as u-law or a-law encoding.
- G.722 - This codec is a wideband High fidelity Voice encoder producing excellent voice quality. Instead of sampling the analog voice at 8KHz the voice is sampled at 16KHz, giving much better fidelity. The higher the sample rate the higher the bandwidth required, thus these samples are digitally compressed down to a raw bit rate of 64Kbs. Again once these samples pass through the RTP stack the resulting bandwidth is approximately 90Kbs.
- G.729 - This codec produces good voice quality at a low bandwidth. The analog voice is sampled at 8KHz giving a raw data rate of 64Kbs. The samples are then compressed down to 8Kbs. Once the samples pass through the RTP stack the resulting bandwidth is approximately 30Kbs.
- iLBC (internet Low Bitrate Codec) - This Codec is very similar to G.729. It’s is a narrow band codec however the digital samples are compressed down to somewhere between 13Kbs and 16Kbs depending upon the exact version of the codec used. This, in theory gives a little bit better quality than G.729. The iLBC is not widely adopted however, a couple of the main VoIP providers, Vocalocity (now Vonage) and Ringcentral have adopted it.
- Speex - This codec was developed specifically with the VoIP market in mind. It has many different sampling and bit rates ranging from 2Kbs to 44Kbs. One of the advantages of Speex is that it employs a Variable Bit Rate algorithm. Some sounds such as vowels are encoded at a higher bit rate than other sounds such as “S” and “F” – this produces a much better quality of call however, it is at the expense of unpredictable bandwidth. This unpredictable bandwidth effect is primarily the reason it is not widespread in the VoIP market.
- GSM - GSM is primarily used outside of the Americas as the standard for cellular calls. There are three codecs use in a GSM network.
Half Rate encoder - this gives a compressed bit rate of 6.5Kbs Full Rate encoder - this gives a compressed bit rate of 13Kbs Enhanced Full Rate encoder - this gives a compressed bit rate of 12.2Kbs
Codec Summary
Below is a table of all the major codecs used, the corresponding compressed bit rate and how much bandwidth over the internet is required. The quality of the call is not only dependent upon the codec used but also on the quality of the internet connection.
Codecs | Compressed Bit Rate | Approx Bandwidth* | Quality Rating |
---|---|---|---|
G.711 | 64Kbs | 90Kbs | |
G.722 | 64Kbs | 90Kbs | |
G.729 | 8Kbs | 30Kbs | |
iLBC 20 | 15Kbs | 40Kbs | |
iLBC 30 | 13.3Kbs | 38Kbs | |
Speex | 2-48Kbs | 25-70Kbs | |
Half Rate | 6.5Kbs | 30Kbs | |
Full Rate | 13Kbs | 40Kbs | |
Enhanced Full Rate | 12.2Kbs | 40Kbs |
* Approximate bandwidth - it is impossible to be exact with this number as the RTP stack adds approximately 25Kbts, the VAD will alter the bandwidth as will the use of any variable bit rate encoders. This number is a very good approximation of the bandwidth required for one phone call.
Which Codec to Use?
The table below shows the top business VoIP providers on whichvoip.com, the codecs available and how configurable those codecs are.
* The Codec can also be changed by accessing your IP Phone settings or ATA if you have one - Avoid doing this unless you are 100% sure the provider supports the codec.
Some providers do not give you the option to change the codec and you are stuck with the one they support, typically this is the G711 codec as it is the simplest to implement and still gives excellent call quality.
Conclusion
As can be seen from the table above some providers will allow the phone administrator, via their user portal to set the codec for each extension. Most business VoIP providers will, by default set the codec to the one that conserves as much bandwidth as possible. This however will result in the poorest voice quality, which may still be good enough. As with most things in life, there is a compromise. The compromise here is between quality and bandwidth, unless you are lucky enough to have unlimited bandwidth. Our recommendation is to have any customer facing phone line – such as customer service, sales, etc. set to the codec that gives the highest compressed bit rate such as G.711 or G.722 and then non customer facing phones set to a lower bit rate codec such as G.729.
When looking for a business VoIP service, most decisions are based around price, features and reviews. However, knowing the codecs used and how much control as a user you have over them is certainly something you will want to take into consideration.