Home 

Bottom

  Senior Year Thesis
An Efficient Implementation of VoIP on Linux Platform

Team : Kapil Kumar Singh, Nitin Gupta and Anurag Gupta

Guide : Dr. R.C. Joshi, Professor, E&CE Department, Indian Institute of Technology, Roorkee.

Abstract

Voice over Internet Protocol refers to transferring packetised real-time audio data over the existing IP Networks. The term "real-time" implies that the voice reaches the receiver node within expected time-limit after being sent from the transmitter node.

We have successfully implemented the process in Linux based environment over a LAN. Our tests for transmission of voice between two computers have been positive.

Although the tests have been made on a LAN, the algorithm is easily extensible to encompass whole of the Internet. Our code initializes the sound card, controls the various mixer settings, captures sound buffers, transmits the buffers over the network, and outputs the sound. The transmission uses RTP over UDP over IP layer for a connectionless best effort delivery. Furthermore, we have written modules to compress the voice being transmitted from 16-bit PCM format to 4-bit ADPCM format and vice versa.

A user-friendly GUI launch module running over the core program allows the user to specify the intended receiver, change parameters like recording gain and playback volume, and switch between compressed and uncompressed sound modes. The GUI module was programmed using the QT libraries for Linux.

The program was written in C and was compiled using GNU C compiler for Linux. It was tested on Intel Pentium II based machines running Red Hat Linux 7.0

Approach

Phase I (Oct - Nov '00) - Study and Analysis
We will attempt to transfer voice in real-time between two computers connected to a local LAN. This principle, if successful, can easily be extended to connect any two computers on the Internet. At the moment H.323 seems the most suitable call control protocol for our purposes because it's the most well documented one. We are however exploring other possibilities too.
The major problems we foresee currently are writing our own version of H.323, or a modified protocol to suit our application. Secondly, we have to deliver the voice data within a matter of milliseconds. Observing the current congested state of Internet, this is probably going to be our biggest challenge.

Phase II (Dec '00- Jan '01) - Design and Setup
· Audio Capture
We have been able to capture digitized sound through sound card in 16-bit Pulse Code Modulation (PCM) format.
· Audio Compression
We have also designed a Codec for converting the 16-bit PCM samples into 4-bit ADPCM format. This reduces the bandwidth requirements greatly. While transferring data in real-time we cannot tolerate delays, so bandwidth requirements increase manifold. Compressing data helps meet our requirements.
· Network Configuration
We have been able to successfully configure the network that we shall be using for transmission of voice data. We have setup a LAN based on LINUX platform. This will be used to transfer the processed voice data between two nodes. This transmission will use Real Time Protocol (RTP). We will encode this transmission over IP layer.

Phase III (Feb '01- Apr '01) - Implementation and Performance Testing
We are successful in implementing the design and tesing it on the local LAN. We have also provided the features of compression and encoding.
A user-friendly GUI is also being provided.

Language used : C
Platform : Linux

 

Top

Home