VoIP Codecs and HD Voice
Encoding Voice for Transmission
One of the crucial aspects to understanding the way VoIP works and how it compares to regular PSTN systems is to learn about codecs. A codec is nothing but an algorithm which takes an input and gives an output in a specific format. In the case of VoIP, the input is your voice and the output is whatever needs to be transmitted over the wires.
Every system - even the aging PSTN phone system uses codecs. After all, how is your voice by itself going to go over the lines? It has to be converted into electrical signals with special characteristics that are understood universally so that the receiver can arrange them back together and play your voice at the other end. Though VoIP and the plain old telephone system can use the same codec, it has to be implemented differently because VoIP sends data in packets as opposed to the regular phones which send it in analog form.
In this article, we examine which codecs VoIP uses, which codecs are good, and how we can improve the quality of VoIP calls.
Regular phones use what is called the G.711 codec. It's defined as narrowband. This codec processes your voice and cuts off the highest and lowest frequencies in order to make it easy for transmission over analog lines. While it's good enough for everyday use, we're all familiar with the problems when we have to clarify which consonant we use ("p" or "b" for example.)
Due to the flexibility of VoIP and because it's a new technology, we can change which codec to use depending on the situation. The G.722 codec for instance significantly improves the quality of voice we can hear. It also uses up more space but with today's Internet connections being much faster than what existed a few years ago, we can easily handle the extra space.
Unfortunately when we call a regular E.164 phone number, we can't use the G.722 protocol since the receiving phone only understands G.711. This means that unless a calls is made between two IP phones and both phones know it, even VoIP calls will use the outdated G.711 codec. If you use a VoIP SIP proxy server, any calls to numbers registered with the same provider will be made in G.722.
Not much can be done about this situation until more and more people start using VoIP and call each other over digital lines. Often if the other number is IP based, we don't know it and the call still has to complete in G.711 - a tragedy and one that can be avoided using new initiatives that are attempting to create a VoIP directory. Almost all hosted SIP PBXs register their numbers with the ENUM directory so that their phones can be called without going through the PSTN system.
It's a very interesting time to live in. In the next decade or so, we're going to see VoIP reach its full potential as a communication platform.