You are on page 1of 3

Project Title : Voice Mail System in Internet Protocol (IP) Private Branch

Exchange (PBX)

Abstract

IP Phone IP Phone
1 2

IP PBX (shown above) is an application of VoIP (Voice over Internet Protocol)


technology. This technology is used to provide voice and video communication
using data network. IETF has defined protocols for VoIP signaling (call setup, call
teardown) and transport of media (packet containing voice samples). SIP is the most
widely used signaling protocol and RTP is the media protocol.

IP PBX is used inside a campus to provide voice and video communication. Voice
mail is one of the important features provided by an IP PBX.

When in internal or external caller calls an IP phone number, if the called party is
not answering, call will be forwarded to voice mail system. Voice message of caller
will be transported to voice mail system using RTP protocol, which in turn will use
UDP and IP protocols. Later, when called party sees a voice message indication on
his phone, he/she will enter password and listen to voice message. Voice message
of caller (stored in VM system) will be transported to called party IP phone using
RTP protocol.
Advantages of VoIP Technology:

Reduces expenses because of same data network being used for data and
voice/video communication
New applications and services are possible
Maintenance, and training staff needed for single network

Advantage of Voice mail feature:

The person who does not answer call will come to who tried contacting him and
purpose of call. This will help him/her to return the call or suitably act on the
message.

Scope of Project

The project involves design,coding, and testing of software modules to


implement voice mail.

Design has to be carried out and a document has to be prepared and format is
shown below:

- Data structures needed for the project (RTP protocol header, RTP
message/packet)

- Library functions, Linux system calls, and socket APIs used for the project

- C functions ( and semantics) to be written by project team

- C main function ( Flowchart / semantics)

Coding of client and server modules will be done using C language. The program
will be in two source files (client.c and server.c).

Testing of client and server modules will be done using two linux computers
connected using LAN. Pre-recorded voice message (stored in vm.wav file. File will
contain a header and PCM samples) will be used. The number voice of samples
(PCM) in the message depends on duration of message recorded. Each RTP
message will contain 160 PCM samples and N RTP messages will be sent from on
linux computer 1 to other. N RTP messages will be stored in linux computer 2.
When called user (phone 2) wants to listen to voice message, these will be
transmitted from linux computer 2 to linux computer 1. Header of .wav file will be
added and voice message will be played.
Linux computer 1 Linux computer 2
LAN

(Phone 1, Phone 2)
(Voice Mail System)

Other Details

Network Programming

RTP protocol will use UDP and IP protocols. Project uses linux socket APIs for this
purpose.

Tools used

GNU gcc compiler, ld linker, and gdb source level debugger.

Demo

Demo will be done using two Linux machines on a LAN (Setup used for testing).
Pre-recorded voice message (voice samples stored in a .wav file) will be used.

Called user (Phone 2) will be asked to enter a password and VM system will check
for correctness of the password entered and if correct, voice message will be
transported to phone 2.

You might also like