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