Professional Documents
Culture Documents
By
reduce the cost of setting up VOIP network as Hardware PBX are very expensive
Our technology uses both WIFI and Ethernet network standards, the use of WIFI is to allow
mobility of users and increase coverage area. Additionally, users registered in the system can
make External calls by integrating GSM gateway into the system. The use of Cloud Computing
is to allow for easy scaling as the number of users increase.
A cluster of PBX media servers is created, and a Load balancer (SIP Proxy server) used to
distribute call requests among the Servers in the cluster.
Two PBX systems can be trunked together to allow users to place calls between two remote
locations.
Tasks to be accomplished
Designing a private and secured wireless network within the whole university campus.
Designing and deploying a Private Cloud infrastructure to allow auto-scaling, Redundant,
Highly available and Fault Tolerance service.
Deploying Media servers and Load balancer on the Cloud.
Creating a dial plan which describes the call flow and defines what actions will the
Asterisk server performs when a specific number is dialed by a user.
Registering Users to use the system
Placing of Voice and Video calls among the laptops and mobile devices registered and
available within the same wireless network.
Sending SMS among laptops and mobile phones registered with the Asterisk server
Integrating the existing Asterisk Server with the universitys Private Branch Exchange
(PBX).
Establishing Voice calls among the users registered with the Asterisk server and the
PSTN landline phones.
Developing an Interactive Voice Response (IVR) system to operate the phone calls.
L ITERATURE R EVIEW
A large portion of literature on Asterisk reveals that it is different for many reasons, the most
important being its all software approach. Instead of switching analogue lines in hardware, it
routes and manipulates Voice over Internet Protocols (VoIP) Packets in software. The backbone
of the system generally becomes an I enabled network, and phones can be hooked into that.
However, it also supports old analogue phones using gateway devices. Asterisk provides more
than what one would except from a conventional BX. Users get a variety of features such as
paging, (which may be from one-to-one or many to-one, depending on the usage requirements),
Interactive voice responses (IVR), Conferencing, Voicemail, Music on hold to name a few.
Introduction
In the beginning, the very beginning, voice or rather mumbles were heard. Thousands of years
later, Alexander graham Bell put that voice on a wire. Even then, skeptics thought telephone was
a nuisance. A hundred years later, the internet (i.e. VoIP) is changing it all again. After a decade
of research and development, business-class VOIP is now available and offers many advantages
and business-enhancing possibilities.
Our Proposed Implementation
Objectives:
Establishing a private and secured wireless network within the whole university campus.
Designing and Implementing Cloud Computing infrastructure
Deploying Asterisk PBX media servers
Deploying SIP proxy and Load balancer
Adding SIP extensions i.e. users to the system
Installing Soft Phones and registering user accounts
Integrating Old Telephone phones into the system
Securing the systems to prevent hacking and any other system vulnerabilities being exposed.
Technologies and Tools used.
1. Asterisk
Asterisk is a hugely popular open source framework that can be used for building communications
applications such as an IP PBX, VoIP gateways and other solutions. Asterisk was created by Mark
Spencer of Digium in 1999. It derives its name from * the asterisk symbol. Asterisk is one of the earliest
pioneers of open source PBX software packages, helping to convert a normal computer into a
communications server, thus allowing the attached telephone lines to call each other as well as connect to
other services such as VoIP and PSTN networks. Asterisk is released under a dual license model the
free version is released using the GNU GPL (General Public License) and there is also a proprietary
software license to allow licensees to distribute the system components that are previously unpublished
and are proprietary in nature and not free.
Today, Asterisk based communication systems are used by large and small businesses alike including
Fortune 1000 companies. Its popularity is widespread as it is used by call centers and government
agencies across 170 countries. Asterisk is truly a multi platorm product which runs on a wide variety of
operating systems such as NetBSD, FreeBSD, OpenBSD, Solaris and Mac OS X, not to mention Linux
for which it was originally designed.
Asterisk is a feature rich software suite and has a whole host of features that are commonly found in
commercial PBX systems such as automatic call distribution, voice mail, conferencing, and interactive
voice systems. Users also have the flexibility to add more features by programming in C or creating AGI
(Asterisk Gateway Interface) programs in any programming language that supports stdin and stdout. One
can also write dial plan scripts in any of the extension languages of Asterisk or create additional
functionality by using network TCP sockets. Thus, Asterisk is more a construction kit for creating a PBX
rather than a PBX by itself.
Most common UC deployments with Asterisk use SIP, H.323 and IAX UC protocols. However, SIP is the
most widely used protocol. Session Initiation Protocol (SIP) is an application-layer control (signaling)
protocol for creating, modifying, and terminating sessions with one or more participants. These sessions
include Internet telephone calls, multimedia distribution, and multimedia conferences. The sip.conf
part of an Asterisk setting is used to configure the default settings used for SIP calls. This SIP
configuration is a core part of the Asterisk server as most of the calls is sent using SIP.
3. XMPP/Jabber Protocol
The eXtensible Messaging and Presence Protocol (XMPP, formerly called Jabber) is used
for instant messaging and communicating presence information across networks in
near real time. Within Asterisk, it is also used for call setup (signaling). We can do
various cool things with XMPP integration once its enabled, such as getting a message
whenever someone calls us. We can even send messages back to Asterisk, redirecting
our calls to voicemail or some other location. Additionally, with chan motif , we can
accept and place calls over the Google Voice network or accept calls from Google Talk
users via the web client.
4. PHP and DIalplan Programming
The dialplan is the heart of Asterisk. All channels that arrive in the system will be passed
through the dialplan, which contains the call-flow script that determines how the in
coming calls are handled. A dialplan can be written in one of three ways:
Using traditional Asterisk dialplan syntax in /etc/asterisk/extensions.conf
Using Asterisk Extension Logic (AEL) in /etc/asterisk/extensions.ael
Using Lua in /etc/asterisk/extensions.lua
5. Linux/Unix Operating Systems
Linux is used to run Asterisk PBX, Kamailio Load balancer, Monitoring system, SMS Gateway,
XMPP Chat server, Cloud Computing Platform, RTPProxy server, Database system e.t.c.
6. Openstack
Openstack is an open source cloud computing project aimed at deployment in all types of cloud
environments. Globally, cloud computing experts contribute to this project to make its implementation
simple and scalable [19]. Openstack provide such IaaS solution through different forms of services.
The main components of the Openstack cloud model are controller, compute and network nodes.
Controller Node hosts all Openstack services needed to orchestrate virtual machines deployed on
the compute Nodes. For high availability it is recommended to deploy at least three controllers to
provide multiple controller nodes.
Compute Node is, in many ways, the foundation of the environment; it is the server on which
virtual hosts are created and applications are hosted. Compute nodes need to communicate with
controller nodes and access essential services such as MySQL.
An Openstack environment includes multiple servers that need to communicate with each other
and to the outside world and the Network Node serves that purpose. It supports both old nova
network and new neutron based Openstack networking implementations
7. Proxy Servers
Although two SIP devices (IP phones) can communicate directly, SIP makes use of some additional
elements called proxy servers to facilitate the establishment of a phone call. With Internet telephony you
can physically move your phone number to any location in the world. The phone numbers are not
tied to a given physical location. One of the functionalities of a SIP Proxy Server is to act as an
intermediary that knows how to find a certain phone number in the network. A SIP Proxy Server learns
where users are located by a process known as registration.
Figure 5: The registering process between clients and a SIP proxy server. Signaling (SIP) and voice
(RTP) travel via different paths.
8. VoIP Phones
A VoIP phone is dedicated hardware that connects to a VoIP network. VoIP phones can run one or
several VoIP protocols.
Soft Phones
An alternative to a hardware VoIP phone is to install software in a PC. A VoIP phone that runs in a
computer is known as a software phone or softphone. The only requirement is a working sound card
and to ensure that your personal firewall is not blocking the application.
Hardphone
A hardphone is a physical device. It looks just like an office telephone: it has a handset, numbered
buttons, a screen of some sort, etc. It connects directly to the network, and its what people are referring
to when they talk about a VoIP telephone (or a SIP telephone).
Figure 2. RTP Audio and Video Flow Diagram
CONCLUSION
Essentiality of the communication in the global world is the core area of concern, since people
increasingly becoming relay on Internet. This is so with the voice over internet protocols (VOIP) which
has now become the most useful technology to communicate for long distance calling. VoIP is a fast
growing technology in IP network, which requires real time support as it is time sensitive application.
VoIP in IP network is designed for data communication, but to achieve reliable, high-quality voice over
the IP network is an engineering challenge. For designing a good quality VoIP implementation using
Asterisk PBX system includes choosing the best codec and applying perfect technique.
The design and implementation in the cloud we have discussed in this paper is easy to deploy and the cost
associated with its implementation is greatly reduced due to its free to use software license. It also
avoids proprietary lock-ins from product vendors. One of our recommendations, which is based on the
experimental experience, is that the deployment and configuration of this open source cloud solution can
be achieved by people with basic knowledge or experience of cloud technologies.