INTERNET PROTOCOL PRIVATE BRANCH EXCHANGE A PROJECT THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF Bachelors of Engineering Electrical (Telecommunication) Engineering By Nisar Ahmed Memon Muhammad Muzzamil Shaikh Muhammad Aslam Dall Under The Supervision of Engineer Ghulam Abbas Electrical Engineering Department SUKKUR INSTITUTE OF BUSSINESS ADMINISTRATION 2013
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
INTERNET PROTOCOL
PRIVATE BRANCH EXCHANGE
A PROJECT THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENT FOR THE DEGREE OF
Bachelors of Engineering
Electrical (Telecommunication) Engineering
By
Nisar Ahmed Memon
Muhammad Muzzamil Shaikh
Muhammad Aslam Dall
Under The Supervision of
Engineer Ghulam Abbas
Electrical Engineering Department
SUKKUR INSTITUTE OF BUSSINESS ADMINISTRATION
2013
Page | i
Dedication
This thesis is dedicated to our parents,
For their endless love, support and encouragement
Page | ii
Certificate
This project thesis is written by Nisar Ahmed Memon, Muhammad Muzzamil
Shaikh and Muhammad Aslam Dal l under the direction of their supervisor and
approved by all the members of thesis committee, has been presented and
accepted by the Head of Department of Faculty of Electrical Engineering
Department in partial fulfillment of the requirements of the degree of
BACHELORS OF ELECTRICAL (specialization in Telecommunication)
ENGINEERING.
H.O.D
(Project Supervisor) Electrical Engineering
Internal Examiner External Examiner
Director
Sukkur IBA
Page | iii
Acknowledgement
From the very beginning, we are very grateful to Almighty Allah, Who gave us the
opportunity, strength, determination and wisdom to achieve our goal.
We would like to thank Engineer Ghulam Abbas (Sukkur IBA), who not
only served as our supervisor but also encouraged and challenged us throughout
our research project. He patiently guided us through the process, never accepting
less than our best efforts.
We would like to thanks Bilal Ahmed Shaikh (Sukkur IBA) for their
insightful suggestions and guidance. Many of our colleagues in academics
have made significant contributions to the working on this project.
Our special thanks go to Professor Dr Madad Ali Shah for his vital
encouragement and generous support throughout the working and
experimenting the project, we would also like to acknowledge and extend our
heartfelt gratitude to worthy Director Nisar Ahmed Siddiqui for providing us
financial support for completing this project.
The most important is to express our gratitude to our parents for all the sacrifices.
They have been fully supported on this project. Their blessings and prayers have
been a great inspiration for us to finish this project.
Page | iv
Abstract
Unified Communication is the latest research topic and many organizations are
working on it in all over the world. Every organization is trying to push and extend
the boundaries of unified communication. In unified communication system the
latest software is Elastix, based on Asterisk Server, which serve as the local
exchange for placing voice and video calls within a private Wi-Fi cloud and legacy
networks. The work proposed in this project added features for placing the voice and
video calls and mobile phones (smart phones) hence increasing the mobility of the
users. The model is successful in carrying out voice and video calls on android
supported handhelds connected with the wireless network and PC’s connected with
both wired LAN and wireless LAN. Every user is provided with his own extension
number, the communication devices can make voice call, video call, voice mail,
Instant messaging and Interactive voice response, that can be used to connect within
organization. We use here Elastix for the successful completion of this project;
Elastix is an open source software platform which uses Asterisk PBX (Private
Branch Exchange) as the kernel to build unified communications system. It can
choose the combination of different communication components to achieve
customized solutions.
This project defines the structure and functions of Elastix. It implemented the
functions of VOIP (Voice over Internet Protocol) like voice call, video call, chat and
voice mail. This Project provides great portability, flexibility and cost effective
solution to organization. This project is the integration of hardware and software .We
have Asterisk based Elastix server that provide Unified Communication to clients.
The different types of communication devices like android, IP telephone, Laptops,
Desktops, and Hard telephone are connected to server.
PCMU is one of the transport protocol used in VoIP communications. Bandwidth
required by the active channel which is determined by the codec used, the server and
client codec used is PCMU/G.711. G.711 requires a minimum bandwidth for each
channel is 64Kbps. So with bandwidth-owned (2MB) VoIP server can serve a
maximum of 20 VoIP calls to 24 calls simultaneously.
Application is very crucial section as our whole business (providing IP-PBX
services) depends upon it means the target market which wills actually the people,
responsible for generating money or increasing our sales .Our target market includes:
Corporate organizations, Institutes, Universities, Health care, Airports, Hotels,
Page | v
Banks and many more places. This project is economic, cost effective, have full
control to the administrator, provide mobility throughout the world. Feasible, Web
based administration modified, Peer-to-Peer phone calls. . The contents of IP PBX
System, supplemented by a good number of necessary and descriptive drawings
which makes this project report very easy to understand.
A flexible telephone system capable of many hundreds of extensions if necessary
with full voicemail and IVR functionality for automated attendants This project
provide Advanced functionality for automated appointment reminder phone calls and
automated laboratory result messaging for employees to obtain information using a
secure and automated telephone system. Interactive functionality for employees to
confirm appointments and schedule new appointments. Reduced overall cost of the
telephone system in general and telephony costs on a monthly basis.
1.5.5 Banks
In today’s banks, more and more banks are deploying open-source IP-PBXs, such as
Asterisk, and other SIP-based communications servers in their networks. Developers
and resellers of such systems need to be able to complement the central IP-PBX with
other network elements that will provide their customers with a full solution.
1.6 Structure of Thesis
The thesis comprises five chapters, the details of the subsequent chapters is given as
under:
CHAPTER II: LETRATURE REVIEW
This chapter describes the theory - the basic theory that would used in designing and
building a network system VoIP-based, Asterisk and Elastix.
CHAPTER III: HARDWARE IMPLEMENTATION
This chapter contains about In designing this system, Tools and materials used in the
system design will be discus in this chapter. These things will be used in this project
will be discussed in this chapter, Software Elastix 2.3.0, device, Soft phone and IP
Phone.
CHAPTER IV: RESULTS AND DISCUSSION
In this chapter contains a discussion and analysis of the topic. Final assignments are
made.
CHAPTER V: CONCLUSIONS AND FUTURE RECOMMENDATIONS
Chapter five concludes the present work & shows future recommendation of the
undertaken research
Page | 7
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction to Literature Review
VoIP protocol is used in VoIP transport so that voice data can be sent properly, SIP
protocol is used, the following explanation of the SIP. SIP protocol is supported by
some protocols, such as RSVP to make a reservation on the network, RTP and RTCP
media for transmitting and know the quality of service, as well as media SDP to
describe the session [23]. SIP network is used, there are two types of network servers,
namely: Proxy server is a server that receives the request, processes it, and forwards
the requests it receives to the next hop server after changing some headers in the
request message[12]. The configuration will require a form of gateway interfaces that
connect VoIP networks to the Internet network.
2.2 Computer Networking
The computer network is the set of "interconnection" between two or more computers
connected to the transmission media cable or wireless (wireless).
2.2.1 Understanding computer networks
Two computers can be said to be connected if they exchange data / information, a
variety of owned resource, such as files, printers, storage media (hard disk, CD-room,
and flash disk). Data in the form of text, audio, and video media moving through
wires or wirelessly enabling computer users in computer networks to exchange files /
data, print on the same printer and using hardware / software that is connected in a
network together. In computer networking system known connections between
computers, namely:
2.2.1.1 Peer to peer
Peer to peer network is a computer network consisting of multiple computers. Peer to
peer is a model in which each PC can use the resource on another PC or give its
resource to use another PC. In other words, can serve as a client and a server in the
same period. The peer to peer is the system known as workgroup windows, in which
Page | 8
each computer in a network are grouped in a working group. For example, there are
several computers in one department group named according to the department
concerned. Each computer assigned an IP address from the IP of the same class to be
able to share with each other to exchange data or resource owned by each computer,
such as printers, CD room, and fie. Figure 2.1 is an illustration of peer to peer.
Figure 2.1 Peer to peer Network
2.2.1.2 Client - Server
Client system - the server can be applied to the local network and can also be applied
to Internet technology, where there is a computer unit that serves as a server that only
provides services to other computers, and a client who also just request a service from
a server.
Client can only use the resources provided by a server in accordance with the
authority granted by the administrator. Applications that run on the client side is a
resource available on the server, or application that is installed on the client side but
can only be run after connecting to the server. Figure 2.2 is an illustration of the
client server with a server that serves the general.
Page | 9
Figure 2.2 Client server
2.2.2 Benefits of Computer Networks
Benefits for the user computer network can be grouped into two, namely to the needs
of the company and to the public network.
2.2.2.1 Benefits for the needs of enterprise computer networks
Resource sharing that aims to make the whole program, particularly the equipment
data, can be used by everyone on the network without being influenced by the
location of resources and users.
High reliability obtained because of the availability of alternative resources. For
example, all the files can be copied to all machines so that if one machine dies, then
the file can still be accessed from other machines that are still active.
2.2.2.2 The benefits of a computer network for public needs
Access to information residing elsewhere can be directly updated, such as today's
news info, e-government, e-commerce or e-business.
Page | 10
Person-to-person communication, such as chat, email, video conference, as well as
voice over Internet protocol (VoIP)
Interactive entertainment, just as watching TV shows online, streaming radio,
downloads and browsing.
2.2.4 Reference model of DOD (Department of defense)
DOD model is important because of its role in making known the basics of Internet
connection in use today. TCP / IP is the protocol type of the first DOD reference
model used in relationship / connection between computers in a global computer
network (the Internet). Many of the terms and concepts used in the Internet
connection from the terms and concepts used by the TCP / IP protocol.
2.2.5 Reference Model OSI (Open Systems Interconnection)
This model is intended to be an open system, developed by the ISO (International
Organization for Standardization). Open systems can be interpreted as an open system
to communicate with other systems. To sum up, this model is referred to as the OSI
model only. Table 2.1 represent the DOD, TCP / IP and the OSI Reference model
Page | 11
Table 2.1 DOD, TCP / IP and the OSI Reference model
Model
OSI Model
DOD
Protocol TCP/IP
N
o Layer Name Protocol Usefulness
7 Applic
ation
Proces
s/
Applic
ation
DHCP (Dynamic Host
Configuration Protocol)
Protocols for IP distribution
network with a limited
number of IP
DNS (Domain Name Server) Database engine domain
name IP address
FTP(File Transfer Protocol) Protocol for file transfer
HTTP (Hyper Text Transfer
Protocol)
Protocol to transfer HTML
files and Web
MIME(Multipurpose Internet
MailExtension)
Protocol for sending binary
files in text form
NNTP (Network News
Transfer Protocol)
Protocol to receive and send
newsgroups
POP (Post Office Protocol) Protocol to retrieve mail from
the server
SMB(Server Message Block)
Protocol to transfer various
DOS and Windows file
servers
6 Presen
tation
SMTP (Simple Mail Transfer
Protocol)
The protocol for the exchange
of mail
SNMP (Simple Network
Management Protocol)
Protocol for network
management
Telnet Protocol to remotely access
TFTP (Trivial FTP) Protocol for file transfer
5 Sessio
n
NETBIOS (Network Basic
Input Output System) BIOS standard network
RPC(Remote Procedure Call) Remote procedure calls
SOCKET Input Output for BSD-UNIX
network types
4 Transp
ort
Host
to
Host
TCP (Transmission Control
Protocol)
Oriented data exchange
protocol (connection oriented)
UDP (User Datagram
Protocol)
Data exchange protocol non-
orientation (connectionless)
3 Netwo
rk
Interne
t
IP (Internet Protocol) Routing protocol to set
RIP (Routing Information
Protocol) Routing protocol to select
Page | 12
2.3 VoIP (Voice over Internet Protocol)
Voice over Internet Protocol known as IP Phones. In general, VoIP is defined as a
system that uses the Internet to transmit voice data packets from one place to other
using IP protocol intermediaries. In fact, VoIP is more focused on using the Internet
compared with traditional phone infrastructure built earlier[29]. VoIP (voice over
Internet protocol) telephone network, the Internet is a network that uses the Internet
as a communication medium, so the client can use for VoIP everywhere can connect
to the Internet or TCP / IP network.
VoIP systems employ session control and signaling protocols to control the signaling,
set-up, and tear-down of calls. They transport audio streams over IP networks using
special media delivery protocols that encode voice, audio, video with audio
codec’s and video codec’s as Digital audio by streaming media. Various codec’s exist
that optimize the media stream based on application requirements and network
bandwidth; some implementations rely on narrowband and compressed speech, while
others support high fidelity stereo codec’s. Some popular codec’s include μ-
law and a-law versions of G.711, G.722 which is a high-fidelity codec marketed as
HD Voice by Polycom, a popular open source voice codec known as iLBC, a codec
that only uses 8 Kbit/s each way called G.729, and many others. VoIP is available on
many smart phones, personal computers, and on Internet access devices[29].
With VoIP technology, it is expected the three types of public communications
services following has the same quality as the previous technology (which bitabene
more expensive):
• Service with a normal voice communication
• Voice mail service that can be left on the number dialed
• Service delivery fax transmission at a reasonable cost
2.3.1 VoIP Protocols
Protocol VoIP protocol is used in VoIP transport so that voice data can be sent
properly, SIP protocol is used, the following explanation of the SIP.
2.3.1.1 SIP (Session Initiation Protocol)
SIP is a protocol multimedia issued by the group incorporated in Multiparty Session
Control (MMUSIC) within the organization Internet Engineering Task Force (IETF)
as documented in a Request For Command document (RFC)[15].SIP is a protocol
that is at the application layer that defines the initial, modification, and termination
Page | 13
(termination) of a multimedia communication session. Multimedia communications
sessions include relationship, distance learning, and other applications.
Characterized SIP client-server, this means that the request is given by the client and
the request is sent to the server. Then, the server processes the request and provide a
response to the client. Request and response to the request is called a SIP transaction.
2.3.1.2 Composition of SIP Protocol
SIP protocol is supported by some protocols, such as RSVP to make a reservation on
the network, RTP and RTCP media for transmitting and know the quality of service,
as well as media SDP to describe the session.[17] By default, SIP uses UDP protocol,
but in some cases may also use TCP as the transport protocol.
2.3.1.3 Components of SIP
In connection with the IP phone, there are two components in SIP systems, namely:
User agent
User agents are end systems that are used to communicate. User agent consists
of two parts, namely:
• User agent client (UAC)
UAC is designed application on the client to initiate SIP requests
• User agent server (UAS)
UAS is an application server that tells the user if it receives the request
and provides a response to the request. The response can be either to
accept or reject the request.
Network server
In order for SIP users on the network can initiate a call and can also call, the
user is first doing register in order to know its location. Registers can be done
by sending a REGISTER message to the SIP server. User location can vary so
as to get the actual location of the user required a server location. In SIP
networks, there are two types of network servers, namely:
Proxy server
Proxy server is a server that receives the request, processes it, and forwards
the requests it receives to the next hop server after changing some headers in
the request message. Next hop SIP server can form or another server where
the proxy server does not need to know. Proxy servers can function as a client
and a server as a proxy server can provide response and request.
Page | 14
2.3.1.4 Address on SIP
The SIP network has the address given attribute SIP URL (SIP Uniform Resource
Locator) to be easily recognizable. SIP URLs are used in SIP networks are shaped
like an email address user @ host where user can be any user name, phone number, or
the name of the agency. The host can be either a domain name or an IP address. SIP
address with the form phone number @ gateway shows the phone number on the
network the General Switched Telephone Network (GSTN) which can be contacted
with a known gateway name.
2.3.1.5 Messages on SIP
Overall, the SIP message consists of two parts, the request and the response. When a
client sends a request message, the server will respond to the message with the
response message.
Request and response messages consist of a start-line, one or more configurable
headers or commonly called the message header, an empty line end of the header
fields and message body that defines the communication session. SIP message format
can be seen below, Generic message = start-line (in message request), Status-line (in
message response), Message header, Empty line and Message body.
2.3.1.6 SIP request
INVITE
This message is used to initiate a communication. Message body INVITE
message description of media that can be used to communicate.
ACK This message serves notify the client has received a final response to the
INVITE. Message body in an ACK message can read the description of the
media that will be used by the user who invoked (call). If the message body is
blank means call agree with the message body contained in the INVITE
message.
CANCEL CANCEL message request is sent to deliver a message that has been sent
previously, before the server sends a final message response.
BYE
This message is sent by the client to terminate the communication
Page | 15
OPTIONS This message is sent by the client to the server to determine its capabilities.
REGISTER
Client can register its location by sending a REGISTER message to the SIP
server where the server can receive SIP REGISTER called registers.
2.3.1.7 SIP response
Response message is sent after receiving a request message indicating the success
status of the server. Response message is defined by three numbers, the first number
is the class of the response. The second and third numbers indicate the meaning of the
response. Table 2.2 shows the value of the class is on SIP response.
Table 2.2 Mean response class.
Class Response Type Response Category Response
1xx Informational Provisional
2xx Success Final
3xx Redirection Final
4xx Client error Final
5xx Server error Final
6xx Global error Final
Response messages are divided into two categories, namely:
Provisional
The response is a response sent by the server to indicate the process is
ongoing, but not end the call.
Final
Response was given that terminate SIP response code transaction SIP. See
Table 2.3 for the SIP response [53].
Page | 16
Table 2.3 SIP Response Code.
Class Type Response Code Command
1xx
Informational
Request is accepted and followed by
processing the request
100 Trying
180 Ringing
181 Call is being forward
182 Queued
2xx Success
Message received and understood 200 OK
3xx
Redirection
Further action needs to be done to
complete the request
300 Multiple choices
301 Moved permanently
302 Moved temporarily
380 Alternative service
4xx
Client error
Request cannot be processed by the
server
401 Unauthorized
402 Payment required
403 Forbidden
404 Not found
405 Method not allowed
406 Not acceptable
407 Proxy authorized
408 Request time out
409 Conflict
410 Gone
411 Length required
413 Request message too
large
414 Request URL too
large
415 Unsupported media
type
420 Bad extensions
4xx
Client error
Request cannot be processed by the
server
480 Not available
481 Call log
482 Loop detected
483 Too many hops
address
484 Incomplete
485 Ambiguous
5xx
Server error
Request cannot be processed server
500 Internal server error
501 Not implemented
502 Bad gateway
503 Service unavailable
Page | 17
504 Gateway time out
505 SIP version not
support
6xx Global error
600 Busy everywhere
603 Decline
604 Doesn’t exist
605 Not acceptable
2.3.2 Type of VoIP network configuration
Some kind of combination of the subsystems will form some VoIP configuration, but
with additional supporting systems. Generally, VoIP network configuration there is
two types, namely:
2.3.2.1 Phone via the Internet
This configuration uses PSTN or PABX facilities on both sides of the terminal
subsystem. This configuration will require a form of gateway interfaces that connect
VoIP networks to the Internet network.
For this configuration takes an additional system that can map a telephone dialing
code IP better known as the call manager. Illustration of the configuration can be seen
in Figure 2.3
Figure 2.3 Phones through the Internet
Page | 18
2.3.2.2 Communication between IP-based devices
Basically, this type of configuration as much on the field of software development
(software) multimedia alone, have not noticed a problem setting the transmission
medium. This configuration requires a signaling system that is not too complicated,
so it is only in certain circumstances be required signaling management software. The
system also requires a minimum of a gatekeeper. Illustration of an IP-based
communication between devices is given Figure 2.4
Figure 2.4 IP-based communications between devices
2.3.3 Quality of VoIP Matrix
Understanding QoS (Quality of Service) is the ability of a network to provide better
service to the traffic data. QoS is not obtained directly from the existing
infrastructure, but obtained by implementing the network in question.
VoIP application is a real-time application, so it cannot tolerate delay (within certain
limits) and packet loss[29]. Delay Internet is huge, exceeding even delay that
occurred in mobile. Fatherly reduce this delay, many ways to go, one of which is to
optimize the use of bandwidth, set the queuing method used, and using management
protocols to manage data packets being passed. In other words, set up QoS on a VoIP
network.
For the purposes of VoIP, there are requirements that must be met by an Internet
network infrastructure, namely:
• The network must have a clear policy settings
Page | 19
• Network bandwidth must meet the minimum standards of application
• There is an order of priority data packets on the network
Without these three, the administrator cannot guarantee QoS network and will result
in decreased quality of sound received by the terminal.
QoS in IP phones are the parameters that indicate the quality of network data packets.
Some declared QoS parameters for IP telephony include latency, delay, jitter, packet
loss and sequence errors on the Internet.
2.3.3.1 Latency
Latency is the time required by a device of asking for the right of access to the
network to gain access rights. There are two types of latency, namely real and
induced.
Real latency associated with the physical network and switching characteristics of the
transport media.
Induced latency is the delay caused by queuing delay in the network equipment (such
as Ethernet cards, routers), delay the process on the other end system and network
congestion between the source and destination.
2.3.3.2 Delay
One of the design considerations in implementing voice transmission is one-way
delay minimization or end-to-end delay. Delay is the most critical parameter in the
Quality of Service. There are several causes of delay include:
• Congestion
• Lack of traffic shaping on method
• Data packets with different sizes
• Change the speed of the network between WAN
• Compaction bandwidth suddenly
Voice traffic is real-time traffic so that if the delay in the delivery of voice packets is
too big, given utterance cannot be recognized. Maximum delay that can be tolerated
in accordance with the ITU G.114 standard is less than or equal to 150 ms.
2.3.3.3 Jitter
Jitter caused by variations in time of receipt of the data packets from the sender to the
receiver. This parameter can be handled by adjusting the method of queuing at the
current router is congested or when a change in speed occurs. However, jitter may not
be eliminated, but can be minimized by seeking ways each and TIPA data packets via
the same pathways.
Page | 20
2.3.3.4 Packet loss
Packet loss in IP telephony network has a major effect, where if there is a certain
amount of packet loss will cause TCP slow interconnect happen. Typically 10%
packet loss cannot be tolerated.
2.3.3.5 Sequence error
Congestion in the network may cause packets take different routes to achieve the
same goal. As a result the package up in a different order.
2.4 Soft Switch
Soft switch is a generic term for a new approach to switching technology, the terms
therein regarding call control, call processing. Because soft switch is a generic term
that comes the understanding that some defined though some vendors and
standardization bodies. Here below are some of the different definitions of soft switch
vendors and some of the international consortium, which are:
a) ISC (International Soft switch Consortium) proposes a model of soft switch as an
intelligent system which performs the function call control in a VoIP network. ISC
describes the soft switch as a system that covers all things related to NGN
communication system that uses open standards to create integrated networks by
combining the intelligence service capabilities in handling voice traffic, data and
multimedia services more efficiently and with potential value-added services are
much greater than the PSTN.
b) I-Link and Dialup Audio is a company engaged field Internet and security
network. Experience moving Internet world produce a product such as soft switch,
better known as IPPBX. Soft switch here focuses on the technology that connects the
gateway between networks.
c) According to Sun Microsystems, Soft switch is a collection of products, protocols,
and applications that allows any device to access the Internet and telecommunications
services over IP networks. When viewed closely, soft switch is a set of technologies
that perform switching functions by establishing end-to-end communication. Soft
switch constitute future communication concept developed from the approach PSTN,
VoIP and data networks. Communication system designed to deliver voice, data and
multimedia services as well as well designed to penetrate the PSTN to migrate to the
data network.
Page | 21
2.5 Summary
This chapter presents the related research per formed in the computer networking and
also the understanding and benefits about this. There is the comparison between
Reference Model of DOD (Department of Defense) and Reference Model OSI (Open
System Interconnection) which are the types of communication system.
TCP / IP is the protocol type of the first DOD reference model used in relationship /
connection between computers in a global computer network (the Internet).
SIP URLs are used in SIP networks are shaped like an email address user @ host
where user can be any user name, phone number, or the name of the agency.
Voice over Internet Protocol (VoIP) is defined as a system that uses the Internet to
transmit voice data packets from one place to other using IP protocol intermediaries.
Discuss VoIP protocols including the SIP (Session Initiation Protocol) protocol and
the composition, components, messages and response of it. Quality, Latency, Jitter
and Packet loss of the VoIP is also the part of this chapter. SIP message format like
Generic message = start-line (in message request), Status-line (in message response),
Message header, Empty line and Message body Client can register its location by
sending a REGISTER message to the SIP server where the server can receive SIP
REGISTER called registers. Soft switch is a collection of products, protocols, and
applications that allows any device to access the Internet and telecommunications
services over IP networks .
This chapter presented the detailed discussion relating to the VoIP and its related
technologies and their development. The next presented the detail discussion of the
system design and architecture, system components, software requirements and its
specifications, solution overview and more important the implementation phase..
Page | 22
CHAPTER 3
HARDWARE IMPLEMENTATION
3.1 Introduction to Hardware Implementation
Implementation is the one of the important part of our thesis. In this we will discuss
about the implementation of the Elastix, Openfire and Spark and also lights on the
hardware used in this project configuration of all software. We will describe the
features of the project. To configure eth0 or Ethernet card that has been installed on
the server can be configured, and then select enable IP4 support, and finally enter the
IP Address and enter the IP DNS and IP Gateway. After installation of server and soft
phone now we are going to integrate ATA with our IPPBX server. Configuring all
VoIP users through Elastix server whether it is IP telephone or analogue telephone
adapter by creating SIP account for them.
3.2 Equipments used in Project
There is the list of equipments listed here which we are going to use in this project for
the completion of project. There is combination of software, hardware and the open
sources libraries. As for the equipment used software is an open source program that
is free program.
3.2.1. Hardware
The different hardware used in the system can be seen in Table 3.1 the table contains
the specifications and brief description of the tools used in this project. Overall the
hardware used in building a IP PBX server is listed below.
Page | 23
Table 3.1 Specifications and Description of the Tools.
No Tool Specification
1
IP PHONE GXP 1400
2 line keys with dual-color LED (2
SIP account and up to 2 call
appearances).
3 XML programmable context-
sensitive soft keys, 3-way conference.
HD wideband handset, hands-free
speakerphone with advanced acoustic
echo cancellation. Phonebook with up
to 500 contacts and call history with
up to 200 records
2
ANALOGE TELEPHONE
ADAPTER
Model: GrandstreamHT502
Features: 2FXS Port +2 RJ
45(LAN/WAN) Ethernet Port
+Router
3
ANALOG TELEPHON
Electronic Handset Volume Control
(6-Step)
Flash (for Hook, or use with special
telephone company services, such as
call waiting)
3-Step Ringer Selector
(Off/Low/High)
Switchable Tone/Pulse Settings
4
PC SERVER IPPBX
Intel Dual Core E2160 1,8 Ghz /
Memory 512Mb / HDD 3Gb / Fast
Ethernet Card
Page | 24
3.2.2 PC Server required as IP PBX
A PC or an Elastix Appliance to run the IP PBX. If you have chosen the PC route, it
is recommended that you run a dedicated PC for this purpose. The PC described
below (minimum) will be sufficient to power the IP PBX in a small office or home
environment.
Therefore don’t throw away that old Pentium III clunker you have in the attic.
800 MHz Pentium III PC or better (P4 will give extra comfort).
312MB RAM – the more the better
8GB minimum hard disk space (dependant on your usage of MOH,
announcements, voice recording etc).
10/100 NIC
CD-ROM Drive
10/100 4 or 8 ports Ethernet hub/switch (not required if your router has spare
ports. This is dependent on how many extensions you are planning).
Naturally if you are running Elastix in a heavy environment, you will need heavier
duty and better specification system.
When you install Elastix on this “old” computer, it will take it over – it starts by
formatting all the hard disks (if you happen to have more than one), so make sure
there is nothing on the machine that you want to keep.
No Tool Specification
5
LAPTOP
Dell N5520
Intel Core i3,2.4GHz / Memory 6Gb /
HDD 750 Gb / 15.6”
6
HANDPHNE
Android based
Page | 25
3.2.3 Software
Software used is an open source software application as a soft phone 3CXPhone and
VoIP Elastix as a server, because the use of the application program does not require
an activation fee. Programs that used only two, namely:
A. Linux Elastix-2.3.0-i386 as soft switch
B. Soft phone 3CXPhone
3.3 Preparation Phase
Preparation needs to do is prepare the VoIP network in general, we are going to
implement the project in Sukkur IBA while using all resources of Sukkur IBA.
3.3.1 Bandwidth
Bandwidth given to PC VoIP server is 1MB. With the number of VoIP users were 6
pieces, and use codec PCMU. So generally get computations bandwidth used by 6 x
64KB = 384 Kb. So with 1MB bandwidth is adequate.
3.3.2 Network architecture
The network architecture is shown here. The Figure 3.1 showing the interconnection
of the hardware components between different devices.
Figure 3.1 VoIP networks built drawings
Page | 26
3.3.3 Soft switch
Asterisk TM is a Linux based IPBX application developed by Mark Spencer of
Digium™, the company behind Asterisk. Elastix™ evolved from the core Asterisk
[13]. It is made up of several major components. These were developed under GPL
supported relatively by users themselves. It consists of applications, a provisioning
system, an installer, and an operating system that, together, make a complete package
ready for use as an out of the box PBX. Within this document, Elastix and Asterisk
will be referred to frequently and they are interchangeable as Elastix is in essence a
superset of the Asterisk.
Elastix chosen because it is easier to configure, has better graphics display, and a lot
of forums that have discussed about the Elastix so as to facilitate the installation and
configuration process.
3.3.4 Soft phone
Soft phone used is 3CX Phone. 3CX chosen because it has call forward features
required by the company. In other soft phone call forward facility existed, but some
require advance registration, and display less user friendly. From some soft phone
that has been used, eventually the various considerations soft phone 3CX Phone
chosen as call forward facility and also in terms of appearance that is easy to
understand.
3.3.5 Elastix
Elastix is an operating system made by Asterisk and CentOS[35]. Elastix is open
source software create a media platform unified communications or "Unified
Communications Platform, "which consists of a component or module technologies
commonly used communication media today such as: Voice call, video call ,voice
mail, instant messaging, a fax server, VoIP and video conferencing. Almost all of the
modules can be managed and configured through a graphical interface, where Elastix
It supports advanced features such as voicemail, fax-to-email, soft phones, including
the CRM system (Customer Relationship Management) and many others. This can be
in the Elastix software download at www.elastix.com. Elastix logo is shown in
Figure 3.2
Figure 3.2 Elastix Logo
Page | 27
3.3.6 Connection
The medium used for the VoIP user can connect to server is the Internet. So the user
can connect to VoIP server via the Internet wherever they may be. In this final user
can connect to the server via the Internet. Connection of VoIP is shown in Figure 3.3
Figure 3.3 VoIP Network
3.4 Implementation Phase
At the implementation stage is divided into two, namely the installation and
configuration. For a server installation and configuration process performed at the
location of Sukkur IBA. Following the implementation of which has been
implemented in building VoIP server.
3.4.1 Download Elastix
The installation process will be discussed in this report Elastix installation of the
operating system on the server. This process will be explained as follows. Go to the
official website of the Linux based Elastix Asterisk sever, namely www.elastix.org
then download Elastix and burn it into CD [41].
3.4.2 Install Elastix server
Turn on the PC and change the boot order of drives CD / DVD room
Then install Elastix operating system into a server that has been prepared.
Elastix main view have two options, namely through the GUI mode and Text
mode (in the discussion of the GUI mode is selected and then press enter)
After waiting a while until the process is completed as preparation.
After that, the dialog box appears Choose a Language, select the desired
language e.g. English.
Page | 28
Then Keyboard Type dialog box will appear, select the type of keyboard used
Warning dialog box appears informing you of the approval to delete the data
on the partition that has been created. If you want to delete then select yes.
Since the HDD is used there is no data that is important, it is better to choose
the option erasing ALL DATA. Then on the next option select remove All
partitions to format the HDD as a whole then click OK to partition by default.
To configure eth0 or Ethernet card that has been installed on the server can be
configured, and then select enable IP4 support, and finally enter the IP
Address and enter the IP DNS and IP Gateway.
When it is to give a name for the hostname, with IPPBX.
The time zone selection select zone Asia / Islamabad, and then enter the
password after that process will begin.
Wait until the files have been copied, after which the installation is complete.
Then pass before the system reboot to complete the installation, the system
will install a boot loader.
Then enter the password for MySQL is available on the server.
Next is to enter the admin password. This password will be used when
configuring the server through a browser application, such as Mozilla or
Google chrome.
It have finished installed Elastix server and can be configured via the web
with the IP address 192.168.208.160
Now when we write the IP address of Elastix server in Mozilla web browser
we have following GUI based Elastix server
This is the Main Manu of Elastix server telling about status of server.
The main menu of Elastix server in shown in Figure 3.5
Figure 3.4 Elastic Server
Page | 29
The first thing that we need to do is to give static IP to this sever otherwise the
DHCP server will change the IP after certain duration.
3.4.3 3CX Phone Soft phone
3CX is a soft phone that is used as a connector between one phone call to another
phone call under the supervision of Elastix server. As Soft phone 3CX is chosen
because 3CX have call forwarding features and call transfer required by any
organization to connect either their employees or customers and As the 3CX soft
phone uses SIP protocol and we have Elastix SIP server that can easily handle SIP
protocol based soft phone. 3CX can be installed on a laptop, PC and Android based
Mobile phone. 3CX can be downloaded from www.3cx.com. Install the program and
once installation is complete open the 3CX Phone application program. Figure 3.6(a)
and Figure 3.6 (b) is representing the 3CX Phone and 3CX Logo respectively.
Figure 3.5 3CX Phone
Figure 3.6 3CX Logo
3.4.4 Grand Stream HT 502 ATA
The Grand stream HT502 Analog Telephone Adaptor is an all-in-one VoIP
integrated device designed to be a total solution for networks providing VoIP
services. The HT502 VoIP features and functions are available using a regular analog
telephone. The HT 502 is powerful VoIP router. The product inclusion of an integrated
high performance NAT router and dual 10/100 Mbps Ethernet WAN and LAN ports
enables a shared broadband connection between multiple Ethernet devices. In addition
to being SIP 2.0 standard compliant, the product supports Universal Plug-in-Play
(UPnP), up to 2 SIP account profiles, and advanced telephony features. The image of
the Grand Stream HT 502 is given in Figure 3.7.
Enhanced security
Automated provisioning using symmetric and asymmetric voice
Support for a broad range of popular voice codec
Universal Plug-in-Play (UPnP)
2 FXS ports (RJ11) w/up to 2 SIP account profiles
Dual10/100 Mbps ports (RJ45) w/integrated router
HTTP/HTTPS(pending)/Telnet/TFTP Provisioning
Page | 30
IP connectivity for any phone and fax
Web management for easy configuration and installation
Offers traditional and advanced telephony features
Portable and compact for use at home or on the road
Figure 3.7 Grand Stream HT 502
3.5 Integration of Hard ware
Integration is the next step after installation of Elastix server and soft phone now we
are going to integrate ATA with our IP PBX server. Here we have following steps to
integrate. Refer Figure 3.8 for the hardware connection of ATA
Connect a standard touch-tone analog telephone to the PHONE port.
Insert a standard RJ11 telephone cable into the Phone1 port and connect
the other end of the telephone cable to the analog telephone.
Insert the Ethernet cable into the WAN port of HT502 and connect the
other end of the Ethernet cable to an uplink port a router. Connect a PC to the LAN port of HT502 if it is being used as a router. Insert the power adapter into the HT502 and connect it to a wall outlet.
Figure 3.8 Integration
Page | 31
The HT502 has two FXS port. Both FXS ports can have a separate SIP account. This
is a key feature of HT502 as it supports simultaneous calls on both FXS ports.
3.6 Implementing the features of Elastix server
3.6.1 Voice call
The voice call is the basic property of unified communication system, voice call is
based on sip protocol. The communication allowed for those who are registered in sip
server. The all communication devices can work on voice feature. the quality of
sound is good.
3.6.2 Video call
Elastix server give great flexibility we can change the code of asterisk by pressing
Asterisk File Editor in tools bar Manu. It is necessary to enable video calls we need to
configure /etc/asterisk/ sip_general_custom.conf to: video support=yes, allow=h264,
allow=h263 and allow-h263p.
3.6.3 Voice mail
Voicemail is configured to handle calls that can not be answered. Voicemail is
generally made is to call user group. Flow chart of voicemail can be seen in Figure
3.9
Figure 3.9 Flow Chart Voicemail
Page | 32
Personalized voicemail is a feature that allows callers to leave messages on phone.
Voicemail permits to record user outgoing message, so that when calls are routed
voicemail callers will hear greeting and have the option to leave a message. The
voicemail message will also provide a timestamp so user know when user caller
contacted. This is the great feature of Elastix server that is voice attachment to
particular user to enable voice mail go to the extension profile to the user then enable
status of voice mail.
3.6.4 Voicemail to Email Notification
As an optional feature you can to receive email notification. This can also be a text
message to a cell phone or both. To enable email notification enters the email address
in the extensions module on the line for email address.
Voicemail password: the password of your voicemail
Email Address: Email of a person who has that extension (it is recommended if
you want to be informed through emails)
Email Attachment: yes (attaché your voice mail in email)
Play CID: yes
Enable Envelop: yes
There are two features of voice mail first, when user want access the voice mail
through user phone, Press *97 for accessing the user voice mail menu in which the
operator tell user new and old voice mails. Second, when user want to access web
based account then enter user extension and voice mail password.
Now user have following figure for Email Notification in Figure 3.10
Figure 3.10 Email Notification
Page | 33
3.7 Configuration
Elastix server configuration can be done via the web interface, it is very easy to
configure. Configuration is carried out also in accordance with the purposes of the
Sukkur IBA. The following is a configuration that has been done:
3.7.1 Configuring VoIP user
Configuring all VoIP users through Elastix server whether it is IP telephone or
analogue telephone adapter by creating SIP account for them. All communication
devices communicate through Sip protocol and all communication devices appear like
VoIP users for Elastix server. Figure 3.11 shows this scenario of configuration.
Figure 3.11 Configuration
3.7.2 Configuration of HT502 device
The ATA HT 502 is also web based So we need to give IP address to this device.
Figure 3.12 GUI of HT 502
Page | 34
Now to integrate telephone sets we have to give Elastix Sip server IP address
121.52.154.75. The results can be seen from the snapshot given in Figure 3.12 and
Figure 3.13.
And name and it’s telephone number
Figure 3.13 GUI HT 502
Same thing occur with FXS port2 but having different name and number
Now we have to configure through Elastix server having same name and phone
number so that we can access these telephone set through our server and implements
features of server in telephone sets. After successful entry, view of the Elastix server
can be seen in Figure, to create a user, select the PBX as Figure 3.14 then select SIP
device and click submit. As our telephone set work with Sip protocol so we have to
create sip based extension.
Figure 3.14 Configuration of Telephone
Page | 35
Likewise we create for second telephone set.
This process for creating extension will be same for 3cx soft phone, IP telephone and
android cell phone.
3.7.3 Configuration of 3CX
After creating extension in Elastix server now our turn to create sip profile in 3cx
when we click on create profile. After that we need to do account setting. The last
stage is shown in Figure 3.15
Figure 3.15 Configuration of Soft phone
Same process will be for android cell phone in which we have 3cx too.
3.7.4 Configuration of IP Telephone
GXP1400 is a next generation small-to-medium business IP phone that features 2
lines with 2 SIP account, a 128x40 graphical LCD, , and 3-way conference. The
GXP1400 delivers superior HD audio quality, rich and leading edge telephony
features, personalized information and customizable application service, automated
provisioning for easy deployment, advanced security protection for privacy, and
broad interoperability with most 3rd party SIP devices and leading SIP/NGN/IMS
platforms. It is a perfect choice for small-to-medium businesses looking for a high
quality. Figure 3.16 and Figure 3.17 showing the GUI and Configuration of IP phone
respectively. To set up the GXP1400,follow the below step:
There are slots at the back side of phone
Connect the handset and main phone case with the phone cord
Page | 36
Connect the LAN port of the phone to the RJ45 socket of a hub/switch or a
router (LAN side of the router ) using Ethernet cable
Connect the 5V DC output plug to the power jack on the phone ;plug the
power adopter into an electrical outlet.
The LCD will display update information about the IP address .
Now use your keyboard and make configuration through GUI while entering
the ip address in web browser
The device can be configured through given IP address in manual that is
192.168.208.158, when we enter IP address in web browser we have following figure.
Figure 3.16 GUI of IP phone
The default password is admin when we hit login we have following figure
Figure 3.17 Configuration of IP phone
Page | 37
In this IP telephone we have two Sip account first we make configuration for first
account and same process will occur for 2nd
account only name and number will be
changed.
• Account Name: SaleemIPTEL
• SIP Server : 121.52.154.75 (Elastix server IP address)
• SIP user ID :3007 (same number will be given while creating extension for IP
telephone)
3.7.5 Configuring Ring Group
Ring group made was 3, which groups Technician, Marketing and Administration.
From the ring group will later be connected to the IVR. So from IVR to continue
input will do call the group made. Here is the configuration that has been done on the
ring group. This can be seen in Figure 3.18.
Figure 3.18 Ring configuration group
From image configuration can be seen that the group Technicians with extension
number 100 has a member with the extension number 101, 103, 104, 105, 106, 107,
108, 110, and 999. And at the end of the configuration is the arrangement of the
group technician if no one answers, the call will be transferred to the operator
extension number 114 as shown in Figure 3.19.
Page | 38
Figure 3.19 Forwarded call rings group
For group marketing and administration can be made. While the configuration of call
forward if not answered
3.8 IVR (Interactive Voice Response)
IVR is a useful service such as automatic answering machine before the user can
connect the caller with the desired number of VoIP. If a call comes into the IPPBX
server, it automatically calls will be serviced by the IVR, then the user of IVR caller
can make call, then the call will be transferred to the division or VoIP users in
accordance with user needs. For more details can be seen in Figure 3.20
Page | 39
Figure 3.20 Flow Chart IVR system work
(IVR) interactive voice response is said to digital receptionist. An IVR plays the
recorded text to the caller and ask them to press the key to connect to an organization,
work group, a person or etc. then IVR send the call to the destination.
When user registered extensions, Elastix can be set to meet our needs. It is possible
that we want the system automatically connected to the extension we already defined
if our extension didn‘t reply. And we should do as following:
Call center, configuration of telephony system, follow me. We faced with this
window in Figure 3.21.
End
Page | 40
Figure 3.21 Ring Strategy
Choose the extension user want to define this features.
When user registered extensions, Elastix can be set to meet our needs. It is possible
that user want the system automatically connected to the extension user already
defined if user extension didn‘t reply. And user should do as following:
Call center, configuration of telephony system, follow me
Ring Strategy: dial the main number first and then the others.
Extension list: 1102 is the deputy director and 1103 is the office assistant.
Ring Time: 20 second
Destination If no answer: terminated call-hang up
Whenever dialed to the manager, dials the Asterisk extension number of the manager.
If no one replied, the contact is with the extension of 11 and 22. And if no one
answered again, Asterisk terminates the call. After finishing, choose the submit
changes key and Apply Configuration changes here
Note: There is main difference between call forward and follow me option that in call
forward we have only one extension while in follow me option we have more than
one extension available for attend call.
3.8.1 IVR Configuration
Before you configure the IVR menu, there is a need to do is upload a voice that will
be used for the IVR announcement, here are ways that have been implemented:
Click on the recording system menu, and then select the file to be used as a voice on
the IVR, then click upload to upload files to the server and click Save to save the file
with the name.
Page | 41
3.8.2 Configure Inbound
Inbound used when an incoming call on line 1, line 2 and line 3. Means of inbound
route incoming calls to the server. While the existing route incoming calls to the IVR
server by hand. So for inbound only need to configure the line in as well as some sort
of connection IVR automated answering machine on the server that the user can
forward calls to the department / person of interest. Refer Figure 3.22 for configure
Inbound Route.
Figure 3:22 Inbound route
3.9 Installation
Instant messaging with Openfire is a popular chat program and use Jabber/XMPP
protocol for exchanging data. After installing this program you can have services
such as Google talk, yahoo messenger and etc. name of client program installed in
staff computers is SPARK which they will have these features by the configuration
you did:
Chat Exchanging the file Calling an extension by pressing a key You can send you current screen work
Spark client has built in language translator
Page | 42
3.9.1 Installing Openfire
After clicking the instant messaging tab (openfire) user will see this message, because it is not installed on Elastix as a default. Click the button click here and installation progress will start
In first stage you should select the language.In this section you should fill the domain
part with the name of Host or user IP server which is recommended don‘t change the
name system recognized! You can change the console ports if you want but it is better
to use default one.
In next stage you should select how you want to be connected to database. The first
one asks you a lot of question about connecting to the database which waste your
time!! Select the second one and continue.
In this stage it is asked that where do you want to store users item 2 and 3 is used
when you want to store them in a directory server or clear space otherwise select
Default.
Determining an email for admin user and select a password for admin user (this
password has nothing to do with your email), try to choose a password you can
remember!! Because its retrieving is very difficult.
Congratulation!! Your Openfire installed now by clicking on ―Login to the admin console‖ go to the page of management. Enter with admin user and password you have selected in previous stage.
Don‘t be sad! You are not supposed to change all the setting! And never try to update
an Openfire, this program will be update with any new versions of Elastix. Updating
manually may cause many problems so don‘t risk.
Now we go to plug-in to install some add-ons (in this stage you need Internet, if you
don‘t access, you need to download the add-ons and upload here).
After clicking on available plug-in, lists of add-ones will appear. For installing the
add-ons (Asterisk-IM Openfire plug-in) click on green sign (+), after installation,
these add-ons will be added to the list of plug-in. Install these add-ons either:
SIP Phone Plug-in, Presence Service, and IM gateway
Enable Asterisk-IM and in change the Asterisk queue presence and drop-down device selection to ―Yes‖ and save it.
click on the IM tab to bring up OPENFIRE and then click on the ASTERISK-IM Tab
Page | 43
and then click on Add Server hyperlink which will take us to the following screen.
Click on Create Server and if everything is successful.
If the green dot is actually grey, then you have correctly edited the file, but it appears
that for some reason you have not correctly connected to the Elastix Server. This may
be the result of the user and password not being set correctly for the Asterisk
Management Interface. The ones that we have provided in this chapter are ones that
are setup by default by Elastix. If you have changed manager config under
/etc/asterisk, you will need to correct the login and password to suit.
So if you have the green dot, you now have a working Openfire Server connected to
your Elastix Server. All we need to do now is add users and install the client on the
desktops. Click on users and groups tab at the top and the following screen will
appear.
Only the admin user will appear. We now need to create users for your system. Click
on create new user on your system. And the following screen will appear.
Fill in the details for each user you want to connect to Openfire. Keep the usernames
in lower case (makes it easier), fill in their proper name, their current email address,
and provide them with a password. This password does not have to match anything, it
will be used by the client that resides on their desktop to connect to the Openfire
server.
Now you have a screen for creating user, Click on CREATE USER (or Create and
Create another if you want to keep adding more).
After you have done this, you should see the screen (we have only done one user) like
this
We have now setup one user on the system. For the system to recognize when we are
on the phone, we need to map the user to an extension we do this by clicking again on
the Asterisk-IM Plug-in Tab and then clicking on Phone Mappings on the left menu.
We are now going to setup a phone mapping for the user that we just setup under
Users and Groups.
Username is the username you setup, in this case it was bob (remember I said to setup
in lowercase, it just makes it easier, as the system will not recognize if you use an
uppercase char, it sees it has a different login).
The device is the actual phone, and you should be able to drop down the box and it
will show extensions that you have in your Elastix System. If it doesn’t show, then
you can enter it manually (e.g. for our one user we would add SIP/301). Then add the
Page | 44
extension number which is the same, without the SIP/, so we would enter 301 in here,
and then a caller ID. I normally enter 301 in here as well. You can click on the
primary field as well if you like, but it is not crucial. This does have a purpose, but it
is for more complex systems, which are beyond the scope of this document.
Figure 3.23 Openfire
You have now successfully mapped a user and phone together. Refer Figure 3.23
3.9.2 Install Spark Client.
As mentioned the SPARK Client from the same people that developed Openfire, is a
good starting point. You can always change the client later, whenever user want, and
by then, you will know what you are looking for in a client.
user can download it from http://www.igniterealtime.org/projects/spark/index.jsp
Install it as per default install instructions. And you should end up with the following