VOIP Based Private Branch Exchange System Design Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Abstract- The major drawback of the Electronics Private Branch Exchange System is that it required extra wiring for the installation. This system is not flexible in the manner of moving the extension of a particular user to different location. It neither has the caller ID facility nor the "voicemail" facility when user is offline. To find the solution to overcome the problem the Voice over Internet Protocol (VoIP) technology is used. This research includes an architectural solution to integrate the voice over IP (VoIP) services in Infrastructure management network of an organization as a Private Branch Exchange (PBX) instead of EPBX system. Voice over Internet Protocol (VoIP) is a technology for voice communication that uses the ubiquity of IP-based networks to deploy VoIP client devices such as desktop IP phones called Session Initiation Protocol (SIP) phone or soft phone, in an increasing number of businesses and homes around the world because IP is the protocol connecting almost all devices. Voice over IP (VoIP) uses the Internet Protocol (IP) to transmit voice as packets over an IP based network. Therefore, VoIP can be achieved on any data network that uses IP, like the Internet, Intranets and Local Area Networks (LAN).

The objective of the project is to give the advanced services of private branch exchange to the organization over the internet and also the connectivity between the offices in Metropolitan Area Network where the large computer network that usually spans a city or a large campus.


VoIP that is Voice over Internet Protocol deals with the conversion of analog audio signals like when we talk on phone into the digital data that can be transmitted over the internet by using internet protocol. VoIP turns the standard internet connection into the phone calls. Many organizations uses Electronic Private Branch Exchange System for the communication using extension numbers assigned to the users. It utilises the man power and extra wiring for the installation as well as it doesn't support the advance facilities like call waiting, voicemail, caller ID etc. Its main disadvantage is that the change of extension is very difficult task. The Private Branch Exchange run on VoIP telephony provides the organization the sophisticated installation and configuration of the user extensions. This technology reduces the cost and the time of the installation and configuration, it doesn't require that much manpower as EPBX system. The project aim is the installation of the voip telephony system software installation and configuration. The base is the operating system called "trixbox" which is Linux based VoIP PBX server. These operating systems consist of the telephony package called "Asterisk". This package consists of several features such as Voicemail, Call Waiting, Caller ID, Conference, Call Hold, Call Transfer etc. Asterisk supports audio protocols such as SIP which is Session Initiation Protocol used for the audio communication. The VoIP PBX system for the organization use the backbone of Local Area Network on which the extensions were configured using computer system. The "trixbox " server is the linux based and the clients were the windows based or linux based using the "softphone" for the communication. The VoIP telephone devices can be used instead of softphones such as USB handset and Hardphones

Pbx System

A PBX is an acronym for a Private Branch eXchange, which provides for the internal telephone system. As the modern telephone networks began to take shape, private companies saw a greater reliance on telephone communication. Many decided to implement their own services so that they could handle calls internal to the organization.

At this point, it became obvious that there was a need for these companies to install their own telephone equipment to route internal calls. Therefore, there is a requirement for a PBX to effectively manage calls and ensure that they go via the most cost effective and reliable routes in order to keep the company communicating internally between departments and employees.

In its basic form, a PBX is the interface between the public telephone network and the private network within the company. This costs little more than the maintenance of the PBX and internal cabling, and there are no line rentals or other call charges being paid to the telecommunications provider. The PBX then handles all of the routing in and out of the company using the lines effectively. The PBX also handles calls within the company so that a call from one internal phone to another does not have to go out onto the phone circuits and back in.

As PBXs became more common, businesses and their employees required more features and functionality such as voicemail, call parking, call transfers, music on-hold, IVR menus, least-cost routing, and an Automatic Call Distributor (ACD) in order to provide for calling groups. With the increase in demand for communications in all aspects of a business, the features required in a phone system become more complex and more expensive. If modern companies had to rely on the telecommunications provider for all these features, the cost of communication could become prohibitively high

The traditional PBX system is usually a large box full of mechanical switches and relays mounted on a wall in 'the phone room'. When a company's requirement changes, they generally contact their PBX provider who will charge varying rates to make hardware and configuration changes to fit the new requirements. With PBXs being very complicated and each differing from the others greatly, it can take a considerable level of training and experience to provide the support for a busy PBX system. This leads to most PBX customers relying on their PBX suppliers for, often expensive, support.

A traditional PBX system has the following structure.

Fig. 1 Traditional PBX System

A hybrid PBX system combines the features of a traditional PBX system with VoIP functionality. In some cases, the VoIP functionality may just be the way the PBX communicates with the phones. Some other VoIP functionalities may include the ability to have remote extensions or Soft Phones, and the ability to use Internet Telephone Service Providers (ITSPs) and not just the traditional public telephone network. The main added benefit is the combined functionality, as we can keep all our existing lines and numbers and add in VoIP for substantial savings where possible.

The Asterisk PBX system is a full hybrid system combining numerous types of connections to the public telephone network as well as VoIP functionality including

Remote extensions using either SIP-compliant phones, or Soft Phones

Simple Web based Configuration

Use of industry-standard SIP-compliant phones

Fig. 2 Asterisk PBX System


Asterisk is basically a telephony toolkit enabling developers to create numerous types of applications that interface with telephone networks. The most obvious application is that of a PBX. Asterisk can also be used as an IVR (Interactive Voice Response) system, for teleconferences and as a voicemail system. These functions can also be combined to create a powerful multi-faceted telecommunication system, which is the focus of this book. Asterisk PBX is, simply put, just software. While different hardware connectivity components are available, all of the features and routing is done through software. This is an amazing technical breakthrough considering that even the most modern PBX systems still rely completely on proprietary hardware and electronic switches and relays, and require specialized technicians to install and maintain. The costs for a telephone engineer to work on these systems can be extremely expensive.

The Amazingly enough, Asterisk has more features than most traditional PBX systems, which are composed of a large box full of hardware. Hence, the Asterisk mantra of 'it's just software'. The following is only a partial list of the many features included with Asterisk:

Automated Attendant

An automated system for answering incoming calls and routing them based on the caller's responses to voice prompts.


Blacklisting is the ability to easily add numbers to a central database that will prevent calls from the blacklisted phone numbers being processed by the system.

Call Detail Records

The detailed call reports and usage statistics to show an administrator the activity of the phone system

Call Forward on Busy

This feature automatically forwards a call to another extension if the called extension is busy.

Call Forward on No Answer

This feature automatically forwards a call to another extension if the called extension does not answer.

Call Parking

This feature refers to placing a call into a holding state so that it can be picked up at another extension.

Call Queuing

A system that allows inbound callers to sit in a holding room listening to music on-hold until the next available agent is available to speak to them.

Call Recording

The ability to record inbound or outbound calls to .wav files.

Call Transfer

This refers to the ability to transfer an existing call to another extension.


Caller-ID is used to display the phone number and other available information of the user that is calling into the system.

Conference Bridging

Asterisk has the ability to create conference rooms that multiple people can attend at one time for group meetings.

Interactive Voice Response (IVR)

This system uses pre-recorded voice menus to prompt callers to make selections via their phone such as "press 1 for sales, 2 for support".


Each user in an Asterisk system can have their extension and voicemail account. Using TrixBox, the voicemail can be retrieved via their phone, from a remote location, sent via email, or accessed via a web browse.

Music On-Hold

Asterisk can play MP3 files to callers who are on-hold or waiting in a queue.


The TrixBox system is made up of a number of components each of which is released under an open-source license. The main benefit of TrixBox is that these components are preinstalled and configured to run. This reduces the effort involved in setting up these applications as compared to trying to accomplish this manually.

At the time of writing, TrixBox was at version 1.0 and contained the following components:

a) CentOS 4.3: CentOS is a community supported version of the Red Hat Enterprise Linux distribution as well as the Linux distribution that TrixBox is based on.

Asterisk 1.2: The core of the entire system is the most recent version of Asterisk open-source PBX.

b) FreePBX: This tool provides a web-based interface to manage and maintain our Asterisk installation.

c) Flash Operator Panel (FOP): The Flash Operator Panel is a switchboard application that a receptionist can use to see the status of all the extensions and telephone circuits.

d) Automated Installation Tools: All the tools, operating system, scripts, and config files are automatically installed and configured for use by the TrixBox setup script.

e) Digium Card auto-config: For systems that will be using Digium hardware, an automatic configuration script takes care of the initial configuration of the required configuration files To get an Asterisk system up and running, we would have to pick a supported Linux distribution, install the distribution, configure it securely, and then install Asterisk and configure that. With TrixBox we have one installation routine, which not only gives us a fully functioning operating system with Asterisk installed but also pre-installs all the other components for us.


There are a number of areas we need to consider when building our telephone system, such as the physical infrastructure for the stability and security of the system, the need to lock the PBX, the need to provide adequate heating control, and so on. Most of this is very specific to our environment and is covered well in the documentation on infrastructure and maintaining service-level agreements (SLAs). The following points must be considered while implementing the system.

System requirement







System Requirement

The minimum configuration of the system is Intel Pentium processor 2.4 GHz, 865 Motherboard, 1 GB RAM, 160 GB IDE Hard disk, D-link Ethernet card (10/100), CD ROM, Keyboard, Mouse and15" TFT monitor


The Extension numbers are depending upon the number of employees. Minimum three digit extension number is used example 101,102 and so on. These numbers are created and configured on the server via web interface. These are easily created and deleted. The client system uses "Softphone" or "Hardphones" which are configured using these extensions. The user gets the extension number as well as password to switch on the phone. The username is displayed on the screen of the phone. While creating the extensions voicemail facility is enabled.


Once we know how many users we will have, we need to figure out the maximum number of concurrent phone calls we might receive at any time. This will determine the type of connectivity we will need for our system. The second part of this is to determine what percentage of the calls are outbound calls and how many of our outbound calls are long distance calls.


VoIP connectivity is among the many things that makes Asterisk such a compelling solution. Using Voice over Internet Protocol (VoIP), phone calls can be placed over a broadband connection using Internet Telephone Service Providers (ITSPs). These ITSPs connect our VoIP phone call to the PSTN. For the most part, ITSPs are the most economical

Telephone connectivity available with prices ranging from 1.2 to 2.0 cents per minute, no monthly fees, and no long distance charges, companies that are used to paying huge phone bills can realize a dramatic cost savings.

The bandwidth usage of an ITSP will vary dramatically based upon the codec we will use. The following Table-I outlines the most common codecs and their bandwidth utilization.


Codec & Utilization


Single Call

Two Calls

Additional Calls

Calls per megabit



148.0 kbps




28.0 kbps

49.3 kbps

21.2 kbps



30.0 kbps

39.7 kbps




35.4 kbps

50.2 kbps

14.7 kbps


While there are many more codecs available, these represent the most common ones that are in use today. G.729 is one of the most preferred codecs especially for remote users. However, to use G.729 within TrixBox we will need to purchase a G.729 license that will cost us about $10 per channel that it is used on.


When it comes to the user experience, we should consider our telephone requirements carefully. While the more technical users will be able to handle most hard and soft phones in their stride, there may be a requirement for some user training for many of our users. Thus, we should evaluate the available options carefully.


One of the advantages of Asterisk PBX is its ability to use any SIP-compliant telephone device. It has business functions like four lines, multiple speed-dial buttons, call-transfer button, call-conference button, backlit LCD display, and numerous other features.

The other type of hard phone is a regular analog phone. While we can't plug a regular phone directly into our Asterisk PBX, we can use an analog telephone adapter (ATA) or a channel bank to connect regular POTS phones into our system.

Fig 2 Hardphone


Soft phones, as the name implies are software-based phones. These are programs that run on our computer and work like a normal extension to our PBX using microphone and speakers. There are a number of freely available soft phones that work under Windows, Mac OSX, and Linux. The ones below is 'xlite' will run on all of these systems.

Fig 3 Softphone X-Lite

Installation of Trixbox System

Download the Licence copy of Trixbox server operating system from www.fonality.com which is an ISO image and burn it on CD. We start by putting the CD into the CD-ROM drive of the computer we will be installing TrixBox on, and then boot the computer ensuring that we have configured it to boot from CD-ROM. We will be presented with a start-up screen with several options shown in Figure 4.

Fig 4 Start-up screen

The advanced options that we can access here are

F1 brings us to the main screen (the one shown in the previous screenshot).

F2 takes us to the options menu that allows us to run a media check and a memory test.

F3 gives us some more information and options for modifying the screen resolution as the system boots. This can usually be ignored.

F4 gives information on additional kernel parameters that we can pass to the kernel, if we are having problems while booting.

F5 shows us the rescue option that can be used to repair our system after installation, if we are having difficulties while booting into TrixBox.

Next, we are prompted for a password for the root user.

Fig. 5 Password prompt

We will see a few progress bars and other information on screen, which we can ignore as the rest of the installation is automated. The process can take a while depending on the specifications of the machine we are using. It can take anywhere from a few minutes to an hour or so shown in figure 6.

Fig.6 Installation Process

When the initial setup is complete, the installer will eject the CD and reboot. When the system boots back again, it will begin compiling and setting up all the additional software and tools that are part of the TrixBox system.

Once the final configuration is complete, the system will reboot once again and present us with a login screen on the console containing the following text:

CentOS release 4.3 (Final)

Kernel 2.6.9-22.EL on an i686

asterisk1 login:

After entering username and password next step is to configure NIC card. Type "setup" in the command line and press enter we get the following screen:

Fig.7 NIC Configuration

Select Network configuration and Run the tool, it will ask for IP address. Enter the IP address with subnet mask and default gateway for example the IP address is and Subnet is and hit OK button.

Fig.8 IP address with subnet mask

After that type "service-network-restart" in the command line and hit enter. The network connection restarted and the given IP address is assigned to the server and the screen shown in figure 9.

Fig. 9 Network Service

By Restarting the server using instruction "init 6" the screen after entering Username and Password shows the IP address from which this server is configured. The following lines must be appeared.

Welcome to TrixBox

For access to the TrixBox web GUI use this URL

For help on TrixBox commands we can use from this command shell type help-TrixBox.

[[email protected] ~]#

The Web Interface

There are many different areas that we can access from here and the majority of our system configuration can be done within this nicely laid out and user-friendly web interface. The web interface can be accessed by pointing the browser to the URL we were shown earlier when we logged into the text console.

By entering the address of trixbox server on the client machine's internet browser for example the screen shows in figure 10.

Fig. 10 Web interface

By clicking "switch" menu it will ask the username and password to log into admin mode. By default the username is "maint" and password is "password". Then go to Asterisk free PBX option and we get the screenshot shown in figure 11.

Fig.11 PBX setup page

Here add the new extension by giving the user extension say "100", display name say "Harry", secret as the password for the extension. The port address for the system is "5060" which is the communication port. Leave other fields blank. After that, click on "Apply Configuration Changes" on the top of the screen to save the extension. We can create more than 10,000 extensions depending on the hardware configuration.

Configuration of Softphone

Now after creating the extensions now we configure the Softphone on the client/user system which might be windows, Linux or Mac. The software is X-lite which is available on www.counterpath.com. Buy and download the software and install it. Now by successful installation the extension which is created in server is now configured here by entering the details in SIP proxy setting.

Display name: Harry

Extension: 100

Secret: ****

Domain: Default

SIP Proxy:

Once we have all the options set, close the windows and X-Lite will attempt to connect to our server. If everything is set properly, X-Lite will tell us that we are logged in and display our extension number.

Fig. 12 Configured Xlite

If our phone has successfully registered with Asterisk PBX, type in *65 and hit Enter. This will tell Asterisk to read back our current extension. If we hear the voice say "Your extension is 100", then we are well on our way to getting our system fully operational.

If everything is working, we can set up a second extension and make sure the two extensions can call each other and that both sides can hear audio from the other side. We now have a working telephone system with extensions that can call each other

Conclusion and Future work

This paper describes one solution for a local PBX based on existing LAN hardware infrastructure. It is a low-cost and modular solution that completely meets its basic function, transporting of voice packets over IP networks. Since most of the processing is performed on a PC it provides a number of additional features.

The main advantage of the system, that it reduces the wiring cost as EAPBX system. The extensions can be easily created, deleted or shifted without disturbing the other communication. We can configure the system from any computer in the network using internet explorer.

The future work would include PBX system based on Wireless Network where the extensions are the wireless pocket device just like mobile phones having almost all the features of mobile phone. Mobile phones required the service provider but this system itself the service provider for the created extensions and most important that this system gives the service free of cost.