Voice over Internet protocol - VoIP, or IP telephony is a technology by which the routing of voice communications are done through Internet or any other Internet Protocol (IP) based networks. Here the voice data is transmitted over a general purpose packet-switched network instead of dedicated traditional circuit-switched voice transmission lines.
VoIP is a part of the group of technologies called voice over packet networks. Other network protocols like asynchronous transfer mode (ATM) can perform similar functions.Though the concept of VoIP is simple, the implementation and applications of it is a bit complicated. In order to send voice, the information has to be separated into packets just like data. Packets are chunks of information broken up into the most efficient size for routing. From there, the packets need to be sent and put back together in an efficient manner. For more efficient use, the voice data can be compressed so that it require less space and will certainly record only a limited frequency range. There are many ways to compress audio, the algorithm for which is referred to as a compressor/de-compressor (CODEC). Many a number of CODECs exist depending on the application (e.g., converssations, music, movies and sound recordings) . The CODECs are optimized for compressing voice, which significantly reduce the bandwidth used compared to an uncompressed audio stream. Speech CODECs are optimized to improve spoken words at the expense of sounds outside the frequency range of human speech. Recorded music and other sounds do not generally sound very good when passed through a speech CODEC.
There are many protocols used in the implementation of VoIP services. The most popular VoIP signalling protocols are SIP and H.323. Fundamentally, H.323 and SIP allow users to do the same thing: to establish multimedia communication (audio, video, or other data communication). However, H.323 and SIP differ significantly in design, with H.323 borrowing heavily from legacy communication systems and being a binary protocol, and with SIP not adopting many of the information elements found in legacy systems and being an ASCII-based protocol. Supporters of each protocol have debated at length as to which approach is better and the results are certainly mixed.
Real-time Transport Protocol (RTP ) defines a standardized packet format for delivering audio and video over the Internet. It was developed by the Audio-Video Transport Working Group of the IETF.
How does VoIP work:
When you speak at the handset or a mike or a microphone, your voice generates electrical signals inside the gadget. These are analog signals i.e. the voltage level can take up any value within a range.
The analog signal is converted to a digital signal using an algorithm implemented by the device you are using. It can be a stand-alone VoIP phone or a softphone running on your PC. If you are using an analog phone, you will need a Telephony Adapter (TA) for this purpose. The digitized voice is arranged in packets (i.e. collection of bytes) and sent over the IP network.
The data is channeled through gateways and servers to the destination. If the called number is on the PSTN, the server opens a connection to the PSTN and routes your call there.
While going to the PSTN or at the end device of a VoIP connection, the voice is again brought back to its analog form so that it is perceptible to a human ear.
During the entire process a protocol like SIP or H.323 is used to control the call (e.g. setting up connection, dialing, disconnecting etc.) and RTP is used for reliable transmission of data packets and maintain Quality of Service.
The digitization of analog voice signals:
The digitization of analog voice signals is a must to transmit voice over the digital IP network. It can be done in several ways
PCM (Pulse Code Modulation) is a simple technique of sampling the sound signal at a fixed rate (8000 times/second) and generate a number corresponding to each sample. It assumes no specific property of the signal. So it works reasonably well with all types of sounds.
LPC (Liner Predictive Coding) assumes specific properties of human voice and uses a more complex algorithm to digitize and compress voice data. It works well for sending human utterances offering a low data rate but is not suitable for transmitting music or fax.
SBC (Sub Band Coder) uses a different approach of representing sounds in terms of frequencies rather than sampling at regular intervals.
Hybrid coders like the CELP (Code Excited Linear Prediction) use a mixture of the techniques to transmit sound of adequate quality.