Monday, August 15, 2011

Deploying an IP PBX

Executive Summary
The task of commissioning an IP PBX system at Janani publications which is an SME company with a staff of 25 employees. They have an existing CDMA system and they want to upgrade their communication system to increase productivity and reduce outgoing call costs.
Due to increased number of telephone calls originating within Janani publications, I recommend migrating to a full manageable and cost effective IP PBX. 
My plan is to implement, 12 internal extensions with 4 outside PSTN lines. IP PBX that uses freely available open source software is to be utilized. The work would be completed within 16 days, and a period of 7 days for testing and training staff. The system will be online on successful completion of the above work.  This project report is a detailed report on how this IP PBX will be implemented and commissioning at Janani publications.
The Cost of operating the existing CDMA system is measured using the current telephone bills and number of calls originated. The outcome shows that the high telephone costs and low operational output requires drastic improvements to the network and telecommunication system. 
Introducing IPBX system will curtail the call costs while increase the call productivity by giving more call time for less cost allowing Janani publications to utilize the IPBX system to improve their business and marketing performance using the telephone system. A detailed project analysis and a budget forecast have been formulated in accordance with the project objectives to obtain a realistic project outcome. 



Introduction

We chose an IP PBX in place of a conventional PBX due to its Low initial investment by utilization of freely available open source software, saving of outgoing call charges now possible via dialing a local IP extension, easy to use interface unlike conventional PBX’s, On the fly allocation of new users and managing of users, host of features previously not possible with a conventional PBX such as auto attendant for all calls, Conferencing, Efficient utilization of available resources. 
An aforementioned telecommunication solution serves well for a company like Janani Publications due to the simplicity and cost effectiveness of this solution.
The proposed project is to deploy an IP PBX at Janani publications. Currently the establishment operates on individual CDMA phone connections for each section.  Another intercom system is in service to contact each section from the manager’s office. By implementing the proposed IP PBX the establishment will benefit from the reduced time it takes to contact each section, the ability to contact an outside line from each workstation and the biggest advantage would be the cost of the whole project which is considerably less when compared to deploying a conventional PBX with 12 internal lines and 4 outside lines. Adding to those are other features that comes with IP PBX's such as call conferencing, auto attendant, etc. 
Implementation process will start off with a complete assessment of the existing equipment, required hardware and software, estimated cost and location of equipment.
The system will comprise of a free open source software based trixbox PBX server and we will be utilizing the existing analog phones with the use of adapters known as analog telephone adaptors (ATA). The ATA’s will register their presence and connect with the Trixbox PBX server to make and receive calls.
The proposed project is to deploy an IP PBX at Janani publications. Currently the establishment operates on individual CDMA phone connections for each section.  Another intercom system is in service to contact each section from the manager’s office. By implementing the proposed IP PBX the establishment will benefit from the reduced time it takes to contact each section, the ability to contact an outside line from each workstation and the biggest advantage would be the cost of the whole project which is considerably less when compared to deploying a conventional PBX with 12 internal lines and 4 outside lines.. Adding to those other heap of other features that comes with IP PBX’s such as call conferencing, auto attendant, etc.
Implementation process will start off with a complete assessment of the existing equipment, required hardware and software, estimated cost and location of equipment.
The system will comprise of a free open source software based trixbox PBX server and we will be utilizing the existing analog phones with the use of adapters known as analog telephone adaptors (ATA). The ATA’s will register their presence and connect with the Trixbox PBX server to make and receive calls.

Background information

Janani publications represent an establishment where they undertake in publishing of weekly and monthly magazines consisting of various entertainment matters. In addition to that they also carry out all stages of publishing ranging from color separation work, Offset printing, plate making and typesetting work as per customer’s requirements. Company comprises of 7 sections which are the chairmen’s office, manager’s office, color separation section, graphic and typesetting section, Offset printing section, Packaging and preparation and plate making section.
The company as stated in the introduction own a standalone intercom system and individual CDMA phones for each section.
To contact another section a user currently has to make an outgoing call through their CDMA phone to another sections CDMA phone. This incurs costly peak hour call costs for each and every call. The intercom serves mainly as a one way communication system for manager.
As for the company’s internet requirements, it is handled by a 1 Mbps ADSL lines provided by Sri Lanka Telecom.

Aims Of the project
  • Aim of the project is to create a complete intercompany communication solution for Janani publications. By implementing the IP PBX we wish to create a quick and easy way to communicate among the sections creating a more efficient way when collaborating day to day work tasks. Plus the system will avail the users a whole set of features including 
  • The current CDMA system incurs huge amounts of call costs each month. By implementing this project the call costs will come down to 0% since all calls originates within the company. 
  • Reducing the time taken to initiate a call and to connect 
  • The current phone systems takes a considerable amount of time initiating a call and to connect when needed to another section/person. The Proposed project will reduce call connect times by 90% since all calls will connect within the company. 
  • Eliminating the intercom system and the installation of IP phone extensions to each and every section of the company 
  • The trixbox server will have its own standalone Interactive Voice Response system so that the incoming callers will be able to leave a message to any member of the staff or any section 
  • The servers Interactive Voice Response system will make it possible for the incoming callers to contact any section or any member of staff by just following the instructions played through the system 
  • Introducing a cost effective way to make use of value added services such as Call conferencing, Call forwarding and Interactive Voice response System for incoming Calls. 
  • trixbox server features wide range of call features including call conferencing which makes it possible for members of staff to keep quick meeting. 
  • Making use of cheap VOIP service providers, members of staff are able to call international telephone numbers with 1/10 of the cost of an IDD call. 
  • Flexible and easy scalability, adding or removing users with just a click. 
  • Class 5 features such as Caller ID, Call Forwarding, Call Transfer, Speed Dial, Three Way Calling and much more. 
  • All group services available including Call Center, Auto-Attendant, Attendant Console, Hunt Groups, Conferencing, and more. 
  • System upgrades at no cost and portability for your existing numbers. 
  • Connects each section within the IP PBX without the cost of expensive PSTN. 
  • Secure System, phone service is restored immediately in a disaster recovery event. 
  • Savings reduce capital investment and ongoing expenses with a low upfront implementation cost.


Methodology


The project is based on the concept of voice over IP protocol. The VOIP protocol allows digitized voice data to be carried over internet protocol. This in relation with management methodology such as the proposed IP PBX trixbox, makes it possible to utilize low cost personal computers along with free open source software based IP PBX servers to make such a cost effective communication system.
The IP PBX trixbox is based on SIP (Session initiated protocol) and it facilitates the IP PBX to initiate sessions with connecting extension phone or Analog telephone adaptors.

The network will comprise of a free open source software based trixbox PBX server and we will be utilizing the existing analog phones with the use of adapters known as analog telephone adaptors (ATA). The ATA’s will register their presence and connect with the Trixbox PBX server to make and receive calls.

Relevant theory

VoIP

Voice over IP (VoIP) is a general term for a family of transmission technologies for delivery of voice communications over IP networks such as the Internet or other packet-switched networks. Other terms frequently encountered and synonymous with VoIP are IP telephony, Internet telephony, voice over broadband (VoBB), broadband telephony, and broadband phone.
Internet telephony refers to communications services — voice, facsimile, and/or voice-messaging applications — that are transported via the Internet, rather than the public switched telephone network (PSTN). The basic steps involved in originating an Internet telephone call are conversion of the analog voice signal to digital format and compression/translation of the signal into Internet protocol (IP) packets for transmission over the Internet; the process is reversed at the receiving end.
VoIP systems employ session control protocols to control the set-up and tear-down of calls as well as audio codecs which encode speech allowing transmission over an IP network as digital audio via an audio stream. Codec use is varied between different implementations of VoIP (and often a range of codecs are used); some implementations rely on narrowband and compressed speech, while others support high fidelity stereo codecs.

Voice over IP has been implemented in various ways using both proprietary and open protocols and standards. Examples of technologies used to implement Voice over IP include:

  • H.323
  • IP Multimedia Subsystem (IMS)
  • Media Gateway Control Protocol (MGCP)
  • Session Initiation Protocol (SIP)
  • Real-time Transport Protocol (RTP)
  • The Session Initiation Protocol has gained widespread VoIP market penetration, while H.323 deployments are increasingly limited to carrying existing long-haul network traffic.[citation needed]
  • A notable proprietary implementation is the Skype protocol.

For this project the open source server that we have chosen runs entirely using SIP. So detailed explanation on SIP follows

SIP

The Session Initiation Protocol (SIP) is an IETF-defined signaling protocol, widely used for controlling multimedia communication sessions such as voice and video calls over Internet 
Protocol (IP). The protocol can be used for creating, modifying and terminating two-party (unicast) or multiparty (multicast) sessions consisting of one or several media streams. The modification can involve changing addresses or ports, inviting more participants, and adding or deleting media streams. Other feasible application examples include video conferencing, streaming multimedia distribution, instant messaging, presence information, file transfer and online games.

SIP was originally designed by Henning Schulzrinne and Mark Handley starting in 1996. The latest version of the specification is RFC 3261 from the IETF Network Working Group.[1] In November 2000, SIP was accepted as a 3GPP signaling protocol and permanent element of the IP Multimedia Subsystem (IMS) architecture for IP-based streaming multimedia services in cellular systems.
The SIP protocol is an Application Layer protocol designed to be independent of the underlying transport layer; it can run on Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or Stream Control Transmission Protocol (SCTP).[2] It is a text-based protocol, incorporating many elements of the Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP).[3]


Figure 1 Example of SIP protocol

Finally QOS plays a major role when it comes to communication solutions based on VOIP. For the users to have clear and consistent conversations the Quality of Service should be implemented. It guarantees a proper prioritization of voice IP packets among other data packets.

QoS

QoS (Quality of Service) is a major issue in VOIP implementations. The issue is how to guarantee that packet traffic for a voice or other media connection will not be delayed or dropped due interference from other lower priority traffic. Things to consider are 
Latency: Delay for packet delivery
Jitter: Variations in delay of packet delivery
Packet loss: Too much traffic in the network causes the network to drop packets
Burstiness of Loss and Jitter: Loss and Discards (due to jitter) tend to occur in bursts

For the end user, large delays are burdensome and can cause bad echos. It's hard to have a working conversation with too large delays. You keep interrupting each other. Jitter causes strange sound effects, but can be handled to some degree with "jitter buffers" in the software. 

Packet loss causes interrupts. Some degree of packet loss won't be noticeable, but lots of packet loss will make sound lousy. 

VOIP Qos Requirements


Latency

Callers usually notice roundtrip voice delays of 250ms or more. ITU-T G.114 recommends a maximum of a 150 ms one-way latency. Since this includes the entire voice path, part of which may be on the public Internet, your own network should have transit latencies of considerably less than 150 ms. 

Jitter

Jitter can be measured in several ways. There is jitter measurement calculations defined in: 
IETF RFC 3550 RTP: A Transport Protocol for Real-Time Applications
IETF RFC 3611 RTP Control Protocol Extended Reports (RTCP XR)
But, equipment and network vendors often don't detail exactly how they are calculating the values they report for measured jitter. Most VOIP endpoint devices (e.g. VOIP phones and ATAs) have jitter buffers to compensate for network jitter. 
Quoting from Cisco: 
Jitter buffers (used to compensate for varying delay) further add to the end-to-end delay, and are usually only effective on delay variations less than 100 ms. Jitter must therefore be minimized.

Packet Loss

VOIP is not tolerant of packet loss. Even 1% packet loss can "significantly degrade" a VOIP call using a G.711 codec and other more compressing codecs can tolerate even less packet loss. (Intel whitepaper) 
Cisco says: 
The default G.729 codec requires packet loss far less than 1 percent to avoid audible errors. Ideally, there should be no packet loss for VoIP (Cisco Whitepaper)

For the server software we are going to base it on the free open source software Asterix. A Company called Trixbox has developed software based on Asterix server that is easier for the end users to implement and they have streamlined the installation process. So we are going to use Trixbox CE for our solution.

Short introduction about the Asterisk based server software Trixbox

Figure 2 Basic Setup of an IP PBX

Who can use Trixbox?

Trixbox can be configured in different ways according to your needs.
Trixbox can be used by:

  • Offices
  • Call centers
  • Cyber Cafes
  • Call shops
  • Home use
What is Asterisk?
Asterisk is an open source PBX that allows regular and SIP phones to communicate with each other.
Each phone is configured as an extension in the PBX but the greatest advantage of Asterisk is that the extension does not have to be in the same physical location. This means that you can have extensions all over the world as long as they are connected to the internet and properly configured with your server’s information.
Like any PBX system, Asterisk has features such as: Voicemail, conferencing, call distribution.
One of the greatest advantages of Asterisk is that it will let you customize its dial plan and code according to your needs.

What is Trixbox?

Trixbox is an iso image of a pre-configured Asterisk server which makes installation and deployment easier. Trixbox contains a full version of Asterisk and other pre-configured applications considered add-ons.
After installing Trixbox, you will have a fully functional PBX which can be customized according to your needs.
 

Figure 3 Basic setup of an Asterisk System

Analog Telephone Adaptor (ATA)

ATA’s will be used to utilize the existing analog desktop phones to be used with the asterisk IP PBX server. These adaptors basically act as an interface to the asterisk PBX server. Without these it would be impossible to use the existing analog phones with the systems. The adaptor comes with a RJ45 network interface. A detailed explanation on ATA’s as follows,  
Figure 4 Analog Telephone Adaptor


What is an ATA?


An ATA is a device which acts as a hardware interface between a PSTN analog phone system and a digital network or VoIP service. Using an ATA, you can merge your PSTN phone system and VoIP service, or connect a LAN to your phone network.An ATA normally has two sets of outlets: one for your VoIP service or LAN and another one for your conventional phone. Obviously, on one side, you can connect and RJ-45 jack (VoIP or Ethernet cable) and on the other, a RJ-11 (phone line cable) jack.
An ATA links with the remote VoIP Service Provider’s service using a VoIP Protocol such as SIP or H.323. The encoding and decoding of voice signals are done using a voice codec. ATAs communicate directly with the VoIP service, therefore there is no need for software, and hence no need for a computer, although you can connect one to a computer or a soft phone.

Features of an ATA

The most common features of an ATA are:

Ability to support VoIP protocols

The more protocols one can support, the better it is. SIP and H.323 are supported on all new ATAs today.

Ports

An ATA should provide at least one LAN (RJ-45) port and one RJ-11 port, so as to make the interface between the phone network and the VoIP service. Some ATAs even provide additional ports, like for example, a RJ-45 port to connect to a computer. You can use this to do phone-to-PC calls.
Some ATA’s have USB ports which allow them to more easily connect to computers and other devices.

Call Switching

Many people use PSTN and VoIP interchangeably. The call switching features in the ATA allows you to easily switch between these two.

Standard Service Features

It is common and practical today to have several service features like Caller ID, Call Waiting, Call Transfer, Call Forwarding etc. A good ATA should support all these.

3-Way conferencing
Many ATA’s come with 3-way conferencing support, which allows you to talk to more than one person at the same time. This proves to be very useful especially in a business context.
Power failure tolerance
The ATA runs on electric power. It normally stops working in case of a power cut. This should not mean that your communication should be completely paralyzed. A good ATA should automatically switch to PSTN line default in case there is a power failure.
Voice quality
ATA manufacturers are sharpening their saws day after day. Some ATAs provide superb hi-fidelity voice quality with enhanced technologies like Digital Signal Processing (DSP).
InteroperabilityIn a company context, an ATA may be part of an already-complex hardware structure. For this reason, a good ATA should be compliant and interoperable to a maximum with other hardware devices.
These are only the most common features that should make a good ATA. Modern ATAs come with a large number of additional features. Have a close look before you buy.
Figure 4 shows what a typical ATA looks like.

Previous work undertaken by other people

The only work that relates to this project in terms of communication is the intercom system that operates currently in the company. It is a basic one-to-many communication system in service for the manager.

The Actual work Undertaken

Evaluating the existing equipment

A report is to be made by detailing the existing equipment and there capabilities. Whether they could be utilized in this project or not.

Company layout, location of each section

A plan that represents the layout of each section in the company. This layout will also make it possible to locate equipment in the company in the most suitable way 
Number of Telephone extensions required

After discussing with staff each section will be allocated a number of extension phones.
Below is the list of sections along with the number of telephone extensions allocated

Table 1 Extensions Required

SectionNumber of Phone Extensions
Chairmen’s office,2
Manager’s office, 2
Color separation section, 2
Graphic and typesetting section, 2
Offset printing section 2
Plate making section1
Packaging and Preparation section1


Project Estimated Duration and dates for each task

Estimated time required for each task and the total completion date. In a Gantt chart format. Below is the Gantt chart that will be included in the final report.

Table 2 Gantt chart


Start DateCompletedRemaining
Evaluation of existing equipment
9/1/2010
0
50
Installation of the network
9/2/2010
0
200
Installation of the server and ATA's
9/6/2010
0
140
Testing the system
9/10/2010
0
44
Staff Training
9/12/2010
0
20


Equipment required and costing

A report will be made in relation to the equipment needed to be purchased and the costing
Below is a List of equipment needed and their respective costs which will be included in the report.
Table 3 Equipment Required and Costing

Needed EquipmentNumber of unitsCost
Linksys PAP2 analog telephone adaptors to interface with analog extension phones.6 x Rs 5000Rs 30,000
Sipura 3000 Analog telephone adaptor to interface with PSTN telephone line.1Rs 6500
Cat5 RJ45 network cabling reel1Rs 7000
Equipment Housing Cabinet1Rs 9000
Consultation and project handling1Rs 25000
Salaries And Wages16 x Rs 850Rs 13600
Total CostRs 91100.00


Bandwidth

Bandwidth required for the main network while taking into account the delay already present in the network with other non VoIP data.

Installation

Installation of software, hardware, cabling and other required processors in order to finalize the installation procedure

Setup

Carrying out the setup of the Trixbox PBX server and the configuration of the ATA’s
Testing

Testing of all equipment and software

Demonstrating to the staff, basic functions and features

Carrying out a basic demonstration of how the system works among the staff and educating them to take full advantage of the new system.


Evaluation of the results

A test run of the system will identify potential issues and problem areas which needs improvements. Each unit and equipment will be individually monitored for a period of 7 days. Call logs from the server and telephone adapters can be used to evaluate the performance and the results. Number of dropped calls, Number of failed calls, Auto attendant system performance all will be monitored in real time within the testing period. Call logs will be taken for analysis. 
Cost benefits analysis. As opposed to the previous manual systems call costs using CDMA phones the new IP PBX system call costs will be compared to obtain a cost recovery plan.
Increase in Company productivity and performance after the commissioning of IP PBX will be taken into account.
Training of staff and how they can make use of the IP PBX to increase their productivity and performance.

CDMA phone system cost monthlyCall Costs With the new IP PBX monthlyThe saving each month
250 calls initiated with average call duration of 5 minutes, 7 CDMA phones, and 24 working days.
Calls per month 1680x
Cost per call (5x2.50+1.20)
Total Cost per month Rs 23016.00
NilRs 23016.00

Table 4 Cost Savings


Conclusion as related to the aims of the project
The IP PBX greatly helps the sections to keep in contact in relation to day to day work tasks.
IP PBX will bring conferencing capabilities and auto attendance of incoming calls plus variety of great features previously not possible with a conventional PBX.

Practical Recommendations

We chose an IP PBX in place of a conventional PBX due to its Low initial investment by utilization of freely available open source software, saving of outgoing call charges now possible via dialing a local IP extension, easy to use interface unlike conventional PBX's, On the fly allocation of new users and managing of users, host of features previously not possible with a conventional PBX such as auto attendant for all calls, Conferencing, Efficient utilization of available resources.

Aforementioned telecommunication solutions serve well for a company like Janani Publications due to the simplicity and cost effectiveness of this solution.

References and appendices

19 Mullins, Robert. “VoIP Business Builds, thanks to improved quality, low costs.” Silicon Valley/San Jose Business Journal, March 4, 2005.
20 Harbert, Tam. “Higher quality and lower costs boost voice-over-IP market”, Electronic Business, 10974881, 6/15/2003, Vol. 29, Issue 9.

21 www.cisco.com
22 “How the internet killed the phone business”, The Economist, 00130613, Vol. 376, Issue 8444. Sep. 17, 2005.
23 Kane, Jim. “Another View: Voice Over IP Overcomes its Doubters.” GCN, Vol. 24, No. 31, Oct. 24, 2005. (http://www.gcn.com/print/24_31/37327-1.html?topic=VOIP)



APPENDICES

1 Pre-Installation Tasks
1.1 Meet the minimum or recommended hardware requirements
The faster the system you use to run Asterisk, the more simultaneous calls it will be able to handle. A 500MHz PIII with 128 Megs of RAM should easily meet the needs of the average home use. 2Gb Hard Disk minimum.
Keep in mind that these are the minimum requirements. If you are planning to use Asterisk in an office environment where voicemail and call monitoring will be used, we would suggest you use a PIV CPU, at least 512 MB of RAM and at least a 40 GB hard drive.
 
1.2 Download the ISO image
If you have not already done so, download the .ISO file, version 2.6.1.1, from the following link and burn it to a CD.http://www.inphonex.com/download/trixbox-2.6.1-i386.iso

Please be aware that this guide is only for version 2.6.1.1 and could change if you have a more updated version of Trixbox. For the most current up to date version of Trixbox visit:
http://www.trixbox.org/downloads

NOTE: Most burning utilities can burn ISO images in to a CD.
One program you can use for this Alcohol 120% located at:
http://trial.alcohol-soft.com/en/index.php
 
1.3 Set up your router/firewall so Trixbox can communicate with VarPhonex via SIP through NAT
For Trixbox to communicate successfully with VarPhonex using SIP through a NAT, you have to make sure your router/firewall forwards the following ports to your LAN/Private IP address assigned to the Trixbox server. Be sure the LAN/Private address is statically assigned to the Trixbox server and it is not assigned dynamically via DHCP.
In your firewall’s configuration forward the following ports to your Trixbox’s IP address:
 

NamePortType
SIP5060UDP / TCP
IAX24569UDP
IAX5036UDP
WEB80TCP
MGCP5036UDP
RTP10000 – 20000UDP

Note:  We do not support IAX or IAX2. We included them in the table as a reference.
 
1.4 Setup for changing Public Dynamic Internet IP address
Most ISPs do not provide a “public static IP address” which would be recommended to run Trixbox. The average ISP provides Dynamic (DHCP) addresses which makes it a little more difficult for users to run Trixbox. The work around for this problem is “Dynamic DNS”.
 
What is dynamic DNS?
Dynamic DNS allows an internet domain name to be assigned to a public dynamic IP address.
This is a solution that can be used for Trixbox servers connected to high speed modem where the IP address is changed periodically or upon power cycling of the modem.

Some dynamic DNS providers provide a piece of software that can be installed in the server. This software works in the background and it tracks any change in the IP address and sends it to their database. This way the domain name will always be updated with the correct IP address as soon as it changes.
There are some routers in the market that have this feature built in which makes it unnecessary to install any software in the server. All you have to do is get an account with the provider and configure it in the router.
 
How do I use Dynamic DNS with Trixbox?
You need to edit the sip_nat.conf file. From the PBX menu, click Config File Editor. From the list of conf files, click on sip_nat.conf. Inside of sip_nat.conf add the following and click "Update":
externip = home.mydomain.com (Enter your DynamicDNS domain name. Obviously it's just easier to get a static IP address and avoid using DynamicDNS altogether.) 
localnet = internal.network.address.0/255.255.255.0 (put your LAN/Private NETWORK address of your Trixbox server, this is NOT the IP address of the server!!!!)
To determine your local NETWORK address (NOT the IP address!!) you have to know a little about your subnet mask (255.255.255.0 numbers).
If the IP address of the Trixbox server is 192.168.1.5 255.255.255.0, then the NETWORK address is 192.168.1.0
If the IP address of the Trixbox server is 192.168.7.2 255.255.255.0, then the NETWORK address is 192.168.7.0
If the IP address of the Trixbox server is 192.168.100.84 255.255.255.0, then the NETWORK address is 192.168.100.0
If you are using NAT or a private IP enter the following:
nat=yes
The sip_nat.conf file should look like this:
externip =
localnet = 192.168.1.0 
nat=yes
                       
 
2 Installation
2.1 Installing from an ISO
Insert the CD you created using the ISO image and make sure that your Bios is configured to boot from a CD-ROM or DVD-ROM.
Boot the computer and press ENTER when prompted. This will erase all the information on the hard drive and install your Trixbox.
Once your Trixbox server is installed, it will have all the applications and the operating system itself with default passwords; That is why it is recommended that you unplug your server from the network in order to avoid any hacker attack.
After Linux has loaded, the CD will eject. Remove the CD from the system and wait for the system to reboot. Booting the system might take a while, depending on the speed of your computer. Once this process is complete, log in to your new Trixbox system with root as the user name, and the password you created during the installation.
 
3 Securing your Trixbox server
3.1 Configure your Trixbox server with a static IP address
In order to change the default passwords, we need to assign your Trixbox a static IP address.
At the CentOS command line type: 
netconfig 

A semi-graphical screen appears that can be explored by using the "tab" button. Enter all the requested information and tab to OK once you're done. After returning to the CentOS command prompt, type:
 
reboot 

To reboot the server.

 
3.2 Changing your default FOP password
The default password for the Flash Operator Panel is:

Password:
 passw0rd
Note that 0 is a “zero”

To change this password, log in to your CentOP server using your user and password and enter the FOP directory
cd /var/www/html/panel 

Using nano as the editor, open the configuration file op_server.cfg
 
nano op_server.cfg 

Go to the line that says security code=passw0rd. Replace the “passw0rd” with the password of your choice.
 
security_code=whateverpasswordyouwant 

Then do a CTRL-X to exit and then a "Y" to save changes. Now restart the FOP server.
 
amportal restart         
 
3.3 Changing your default meetme password
To change the default type the following into the CentOS command prompt: 
passwd-meetme 

It will ask you for your new password twice.

 
3.4 Changing your default System Mail password
To change the default password type the following into the CentOS command prompt: 
passwd admin 

It will ask you for your new password twice.

 
3.5 Changing your default Sugar CRM Password
Access SugarCRM from your web page by typing HTTP://YourAsteriskIPaddressHere into your web browser.
The default login and password are: 
Login: admin 
Password: password 

To change this, click on My Account in the upper right corner, and then click the Change Password button to change your CRM password.

 
3.6 Updating patches to CentOS
It is recommended that you install CentOP patches. From the CentOS command line, run the following command: 
yum -y update
 
4 Using PBX to configure your Trixbox server
4.1 What is PBX?
Asterisk Management Portal makes Asterisk configuration easier by providing a graphical method (through a web browser). PBX allow you con configure the textual configuration files that Asterisk needs to function.
PBX can configure the following  in asterisk: 
Incoming Calls — Specify where to send calls coming from the outside 
Extensions — Add extensions and set voicemail properties 
Ring Groups — Group extensions that should ring simultaneously 
Queues — Place calls into queues and allow them to be answered in order 
Digital Receptionist — Create voice menus to greet callers 
Trunks — Set up trunks to connect to the outside world 
Outbound Routing — Manage which trunks outbound calls go out 
DID Routes — Specify the destination for calls if their trunk supports direct inward dial 
On Hold Music — Upload MP3 files to be played while users are on hold 
System Recordings — Record or upload messages for specific extensions 
Backup and Restore — Create, back up, and restore profiles of your system 
General Settings — Set basic dialing, company directory, and fax settings    
For VarPhonex configuration purposes we will need to enable some of the modules in FreePBX
Please follow these steps:

Open your web browser and type HTTP://YourAsteriskIPaddressHere
Switch to Admin Mode. (click on the switch link in the upper right corner)
Click on the PBX Menu
Select PBX Settings
Click on Tools
Click on Module Admin
Enable the following is not already enabled
Core
Voicemail
IVR
Ring Groups
Recordings
Call Forward
Call Waiting
Do-Not-Disturb
Info Service
4.2 Configuring an extension
Open your web browser and type HTTP://YourAsteriskIPaddressHere
If you are not currently already in Admin mode, Switch to Admin Mode. (click on the "switch" link in the upper right corner)
Click on the PBX menu and select PBX Settings.
In the PBX menu click Setup and then click Extensions.
5. From the device drop down menu select “Generic SIP device” and click submit.
 
Example setup for an extension 200.
Under the Add Extension section, type in your first extension in the User Extension box. Then enter the name of the person using this extension in the Display Name box.
Under the Device Options box, type the password for registration into the secret box. The dtmfmode box should not be changed unless you have issue later with calls requiring different DTMF. 

Under the Voicemail & Directory section, change the Status to Enabled.
Under Voicemail Password, enter a password for this voicemail box.
Please Note: Use something you can type on a phone keypad like '1234'.

Under the Email Address box, Enter an e-mail address where you would like your voice messages sent and click add extension. 

Every time you make a configuration change and click “Submit” an ORANGE button will appear at the top of the screen “Apply Configuration Changes”. This button will reload the . conf files.

Click this bar in order for the changes to take effect.
 

TEST YOUR EXTENSION.
Configure your extension in a soft phone for testing. Xlite is the best choice for this test. Remember to use your extension number and password in Xlite. Use your Trixbox  private IP address as the sip proxy.
Make a call from your phone. Try *43. This is an echo test.
NOTE: If the extension you are configuring will connect remotely (outside the Local Area Network) you will need to change the NAT option to yes.
Just create the extension, submit the changes and go back to edit it. You will see NAT=never; change it to NAT=yes
 
4.3 Configuring trunk for inbound and outbound calls 
Connect to your Trixbox using a PC in your network by typingHTTP://YourAsteriskIpaddress   in your web browser.
Select PBX Settings from the PBX menu
Click Trunks then “Add SIP Trunk”.
Only enter the following information:Outgoing Settings
Trunk Name = avarphonex
PEER Details
host=sip.varphonex.com
username=xxxxxxx
secret=yyyyy
type=peer
fromuser=xxxxxxx
fromdomain=sip.varphonex.com
context=from-varphonex
careinvite=no

NOTE: Replace the X's with your 7 digit virtual number. Replace the Y's with your varphonex virtual number password.
NOTE: careinvite=no is the correct setting, do not edit this to be canreinvite.
Incoming Settings
User Context = varphonex
USER Details
type=friend
context=from-pstn
username=xxxxxxx
user=xxxxxxx
insecure=very
host=sip.varphonex.com
fromdomain=sip.varphonex.com
           
 
Registration

Register String: xxxxxx:yyyyyy@sip.varphonex.com/xxxxxxx

NOTE: VarPhonex will send all calls to your server through the VN and not the DID, it is very important that you have the VN at the very end of this string and not your actual incoming DID number.

Click “Apply Configuration Changes” at the top of the screen to apply your new changes.
4.4 Configuring Outbound Routing
You will need to allow calls from your phones to go out on a specific trunk. When having more than one trunk, you will need to setup dialing rules (dialing patterns) in order to specify which calls should go out on which trunk.Still using the PBX Menu:
Click on Outbound Routes.
Assign a name for your route.
Enter the following Information into the Dial Patterns box: 

NXXXXXX
NXXXXXX
NXXNXXXXXX
1800NXXXXXX
1888NXXXXXX
1877NXXXXXX
1866NXXXXXX
1NXXNXXXXXX
011.
Trunk Sequence
Select  SIP/Varphonex from the pull down menu.


MULTIPLE OUTBOUND VARPHONEX TRUNKS
You may have multiple companies or departments that do outbound calling and/or have direct inbound numbers for returning phone calls. For this reason, you want caller id for your multiple DID's in your VarPhonex account to be shown when dialing outbound.
You can dictate which trunk you call goes out on at the phone level by dialing a number for an outside line causing your call to be routed on a specific outbound trunk. The most common use for PBX systems is 9. If you have more than one trunk from VarPhonex and you would like to dictate which trunk you dial out on from the phone you can configure each trunk to a specific number for an outside line in the Dial Patterns.

For example, Trunk 1, virtual number 1234567 is used for Company 1, and Trunk 2, virtual number 7654321 is used for Company 2. When you call outbound, you would like caller id for trunk 1 to show up representing Company 1. So, if you have a dial pattern of 9|. in your trunk settings for the virtual number matching this DID for Company 1, then when you press 9 for an outside line your call will go with this trunk.

You can then setup additional trunks with dial patterns for other numbers, 8|. and 7|. and so on for each additional outbound CID you wish to use when calling.

4.5 Configuring Inbound Routes 
NOTE: YOU WILL NOT BE ABLE TO RECEIVE CALLS IF YOU DO NOT CONFIGURE AT LEAST ONE INBOUND ROUTE
Configuring inbound routes will allow calls from VarPhonex go someplace in your PBX.
Using PBX
Select Inbound Routes.
Type a description into the Description box for your inbound route.
Leave the DID number and Caller ID Number boxes empty.
Under “set destination”  select extension 200.
Click Submit
4.6 System Recordings
System Recording will allow you to record your own voice prompts or create one putting several built-in voice prompt files together to create the one you need.
For this example will use the “Built-in Recordings” option to create an IVR that will play “Welcome, please enter the extension number. Thank you for calling”.
Using PBX
Select System Recordings
Select Built-in Recordings
From the drop-down menu select the firs file “welcome” and click GO
Keep selecting the rest of the files as shown in the graphic below. Select save after selecting each of them.
6. After saving all files your recording will be created with the name of the first file selected. In this case, “welcome.”
NOTE: If you would like to change the name of this recording you may do so in the above box CHANGE NAME. Please remember there cannot be any spaces in the name, it must be separated by either a hypen -, or an underscore _.
Example: "Main_Recording"
 
4.7 IVR (Digital Receptionist)
You use the Digital Receptionist to make IVR's, Interactive Voice Response systems. When creating a menu option, apart from the standard options of 0-9,* and #, you can also use 'i' and’t’ destinations. 'i' is used when the caller pushes an invalid button, and 't' is used when there is no response. If those options aren't supplied, the default ’t’, is to replay the menu three times and then hang up, and the default 'i' is to say 'Invalid option, please try again' and replay the menu. After three invalid attempts, the line is hung up
Select IVR
Click Add IVR from the right hand side.
Under announcement select “Welcome”, or if you changed the name from the previous example choose the name you provided the message.
Do not create any options  and click “save”.
In order to finish the basic setup of your Trixbox server let’s route all incoming calls to new system recording “welcome.”
Using the PBX menu from the top:
Select Inbound Routes
Click on the route we created previously that was pointing to Extension 200 (any DID / any CID)
Under the “set destination” section change the option to IVR, and choose “welcome” from the drop-down menu as shown in the graphic.
Click Submit.
All incoming calls will be routed to the “Unnamed" or welcome IVR allowing callers to select the desired extension.
 
5 Other Tasks
Up to this point we have performed a basic installation and configuration of Trixbox.
In order to optimize its performance and utilize limited bandwidth when making and receiving calls, we need to make the following configurations:

Install low bandwidth codecs such as G723 and G729.
Restrict the VarPhonex trunk to use low bandwidth codecs.
Restrict Asterisk to use low bandwidth codecs for remote extensions.
NOTE: THE STANDARD INSTALLATION OF TRIXBOX DOES NOT COME WITH G723 AND G729 CODECS. IF YOU RESTRICT YOUR TRUNK TO ONLY USE THESE AND THEY ARE NOT INSTALLED YOU WILL NOT BE ABLE TO PLACE CALLS.
 
5.1 Install low bandwidth codecs
You can find the specific codes for your type of CPU in the following link:
http://asterisk.hosting.lv/
DISCLAIMER: You might have to pay royalty fees to the G.729/723 patent holders for using their algorithm.
 
 
To install the codec move .so file into /usr/lib/asterisk/modules directory in your Asterisk server.
It is very important that you choose the codec according to the CPU you server has. In case you choose the wrong type Asterisk will not load and give you an error message. All you have to do is remove the file and restart your server.
Here is the command to remove files in CentOS (Linux):
rm filename     (replace “filename” with the name of the codec file)
Once you determine the right file for your server, enter the following commands in your server’s prompt and press enter
 
CODEC G729
Assuming that I have a Pentium 4 processor, the file I need is: codec_g729-ast14-gcc4-glibc-pentium4.so

I would enter the command:
wget http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-pentium4.so

NOTE:  Remember that this is just an example; be sure to replace “codec_g729-ast14-gcc4-glibc-pentium4.so” with your version of the file to match your processor listed on the website under the section for Asterisk 1.4.

 
CODEC G723
Assuming that I have a Pentium 4 processor, the file I need is: codec_g723-ast14-gcc4-glibc-pentium4.so

I would enter the command:
wget http://asterisk.hosting.lv/bin/codec_g723-ast14-gcc4-glibc-pentium4.so

NOTE:  Remember that this is just an example; be sure to replace “codec_g723-ast14-gcc4-glibc-pentium4.so” with your version of the file to match your processor listed on the website under the section for Asterisk 1.4.

 
In order to determine if we downloaded the correct file, run the following commands:
asterisk –r  [press enter] 
restart now [press enter] 
asterisk –r  [press enter] 
show translation [press enter]
 
If the file was loaded correctly, you will see the translations under G729.
Perform the same operation to install the G723 codec.
 
 
5.2 Restrict the VarPhonex trunk to the above mentioned codecs.
Using FreePBX
Click Setup
Click Trunks
Select “Trunk SIP/Varphonex”
Add the following changes to the Peer and User detailsVarphonex
disallow=all
allow=gsm
allow=g729
allow=g723
allow=ulaw
allow=alaw
sip.varphonex.com
disallow=all
allow=gsm
allow=g729
allow=g723
allow=ulaw
allow=alaw
5.3 Restrict Asterisk to use low bandwidth codecs for remote extensions.
Use a pc on your network that has a web browser and connect to your Trixbox box usingHTTP://PutYourTrixboxIpaddressHere.
Click on the PBX menu.
Click on Config File Editor
Click on sip.conf
Make the following changes. NOTE: Be sure the changes are below the [general] section, the very bottom is preferred.[general]
[general]
bindport=5060  (UDP Port to bind to - SIP standard port is 5060)bindaddr=0.0.0.0 (IP address to bind to - 0.0.0.0 binds to all)disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=ilbc
allow=g723
allow=g729
Click UPDATE
Remember to click Re-Read Configs located at the top of the screen
 
6 Managing multiple DIDs
There will be times where you will need to point different DIDs to different contexts, IVRs (voice prompts), or extensions to accomplish the configuration you need. For example, you may need to provide two different numbers to your customers; one for English and one for Spanish.
You may simply want to configure one DID as the main number but provide each extension in your Trixbox its own DID that will work as its direct number. You can even configure two different companies in the same Trixbox and provide a DID for each of them.
NOTE: If the DID you want to configure is assigned to a virtual number that already has a registration string in the trunk section; you will need to add an additional VN to your account and attach that secondary DID to the new VN. You can configure up to 4 additional free virtual numbers in your account. If you need more than 5, please contact our customer service team and someone will provision your account with more free virtual numbers.
Configure an additional trunk, as mentioned in Section 4.3.
Once the changes have been applied, wait a few minutes and verify that the second VN was registered in your VarPhonex control panel under the Registered Users section of the Virtual Numbers Tab.
Configure an Inbound Route for the new trunk you just created, as mentioned in Section 4.3. 
Configure the inbound route based on the VN that the second DID is attached to. Remember to also set this routes destination.
 
7 Troubleshooting

My calls have One Way or No Audio.
The most common cause of one way audio/sound is when your Trixbox is behind a firewall.
See section 1.3 of this guide for Router/Firewall setup.

I cannot receive calls.
Check the following:
Make sure you configured an inbound route.
Make sure the virtual number configured in your Trixbox is registered in our proxy server. You can verify this from your control panel under the tab Virtual Numbers.
Check that all necessary ports are opened or forwarded in your firewall.
If you're restricting your trunk to use only g729 or g723; make sure they are installed properly.
 
I can receive calls but I cannot make any.
Make sure an outbound route is configured to use the VarPhonex trunk.
Check if the number you are dialing belongs to the dial pattern configured in section 4.4.
If you're restricting your trunk to use only g729 or g723; make sure they are installed properly.
 
The Virtual number configured in my Trixbox does not show registered in sip.varphonex.com
If you are using NAT make sure that nat=yes is configured in sip.conf
Make sure you entered the correct localnet and externip are configured.
Trixbox uses sip port 5060 by default; if there is any other sip device in the same network, make sure it is using a different sip port.
 
My calls do not have good quality.
Restrict your inbound and outbound trunks to use codecs g729. g723 and gsm.
Make sure you have enough bandwidth.
Determine if you have the same problem calling other VarPhonex virtual numbers or if it is just when calling pstn numbers.
 
When I place calls my caller ID does not show correctly.
When you place IP calls the system will send Toronto, ON and override any name that appears in Account Info (Control Panel settings) for the Virtual Number.  This is sent on any call placed via a VN that is not associated with a purchased DID.
When you place PSTN calls via your 7 digit Virtual Number/Trunk that is not associated to an incoming purchased DID number, the Caller ID will display 6477233283 as the number the call was placed from or it may show 588 + your 7 digit virtual number.
When you place PSTN calls with an incoming DID number attached to it, the DID will display as the caller ID.
The system will send the display name (from account info in your control panel) as well (PSTN call via DID) but we cannot guarantee the PSTN provider will pass it down.  Again, the name sent is not  guaranteed.  We do transmit the name from the Account Info, however, not all carriers support our transmission of that data and may rely instead on 3rd parties for the name information. There are also areas where the transmission of caller id is not supported by the carrier. It is also rare for the name part of caller ID to show up on any cell phone.
Caller ID cannot be altered or blocked at the Asterisk/Trixbox level.
 
Caller ID cannot be manipulated in your control panel or by a calling device.
We have seen cases where Caller ID is sent as unknown, which is resolved when the soft phone is completely uninstalled and reinstalled or in the case of a hard phone, is reset to manufacturers default settings and reconfigured.

  • We can not guarantee Caller ID. If the callees phone number Provider looks to associate the DID with a Name, the CID will probably be displayed as Unknown, No Data, or just blank.

No comments:

Related Posts Plugin for WordPress, Blogger...