Advertisment

Build your own UC Appliance

author-image
PCQ Bureau
New Update

Unified Communications or UC is a pretty new concept, but it's fast gaining

ground. We are seeing a lot of new UC products hitting the market. So much so

that, this is our third major story on the subject, in a span of six months. In

the first one, we talked about the concept of UC and related technologies. The

second was based on a survey that we carried out to know the state of UC

deployment in India. The survey revealed that in the given context, the biggest

challenge for the IT managers today, is to justify the costs for deploying UC.

So, we went to the market to check, if it's possible to build a UC appliance

in-house, in an easy and cost-effective way. And we found the way for you! Now,

if you think that ready-made products are either not fitting your needs or are

costly, then here's how you can build your own UC appliance.

Advertisment

Getting started



Before anything, let's first fix the components that we wish to have in our

UC appliance. The first thing that comes to anyone's mind is VoIP. Then, it

should also have a Chat server. One can also think of a Presence server in the

UC appliance. I think, this forms a decent wish-list. So, let's start with

making a VoIP IPPBX with Foreign eXchange Office (FXO) capabilities.

But before that let's do some jargon busting. An IPPBX is essentially a PBX

(Private Branch Exchange) but differs from a traditional one because it is IP

based and works on digital signals. An FXO (Foreign eXchange Office) is

essentially a modem card which can be connected to any machine with a PCI slot

and can be used for terminating the PSTN line to the IPPBX. You can purchase the

card from the Internet (store.Trixbox.com) or you can get it from an Indian

reseller who imports them. We got our card from Troop Software, which is based

in Noida. You can have the full contact details from their website 'http://www.troopsoftware

.com/'. But while making the purchase just make sure that the card is compliant

with Asterisk, as it is the most well-known PBX systems today. Most FXO cards

support it very well. The card which we got was a Zaptel/Diginum TDM400P, which

was easily detected by Asterisk.

Advertisment

Pre-requisites



There is not a huge list of pre-requisites to build a UC appliance. The

software for this will be Open Source and the hardware requirement will be based

on how many users are there on your network and how many of them are going to

use the UC appliance. For instance, if you have a setup with about 100 users and

have a 100 Mbps network, then a standard P4 machine with 512 MB RAM will solve

the purpose. But if the setup is for 100+ to a few 1000 users, then we would

recommend a dual processor Xeon 3.0 based server with atleast 1 GB RAM.

Zaptel FXO is a standard 4-port FXO



card used for terminating  PSTN phone


 lines to the IP- PBX

Let's build it



Now, you are ready to install the IPPBX software. Burn the Trixbox 2.2 ISO

on a CD, from this month's PCQXtreme DVD. Boot the machine with this CD. A

standard Anaconda-based installation will start which will delete everything

from the hard disk of your machine and install Trixbox on it. So, please note

that if you have any important data on your hard disk, then take a backup of

that before installing Trixbox on it. The installation is pretty straightforward

and requires a couple of Enters and Reboots. Just make sure that the

installation continues even after the Anaconda is over, so you don't interrupt

the sequence unless you see the Login screen.

Advertisment

Once the installation is complete, login to the system with root username and

the password you have provided at the time of installation. Once you do so, it

will show you the http address from where you can access the configuration

interface of Trixbox. For that you can go to any machine on the same network and

fire up your favorite browser. Then, go to the link 'http://ip_addr_of_Trixbox_machine'.

The configuration interface will open up.

Creating phone extensions



Believe it or not, your IPPBX is ready. Now, you will need to create some

internal phone extensions. To do so first go to the main page of Trixbox and

click on the 'switch' link at the top right corner of the window. The default

username for this will be 'maint' and password is 'password'. Once you provide

the password it will present you with a dashboard from where you can monitor the

status of the system. This includes regular information on what all services are

running, how many extensions are online and how many are offline. It also tells

you the vital data of the system such as the status of RAM usage and network

devices, etc. This dashboard was not there in the older version of Trixbox.

Advertisment

Now click on the Asterisk menu at the top of the window. A dropdown will

open. Click on the FreePBX here and a new browser page will open. Now click on

the Setup menu and then on the 'Extensions'. You will be presented with a window

with a device dropdown list. Select the 'Generic SIP Device' and click on the

Submit button. A new window will open on which you have to fill in the extension

details. Here three fields are important and others are optional. First fill in

the important fields, like 'User Extension', “Display Name”, etc. Display name

will pop up in the CID (caller identification) when the person dials an internal

extension. The third important field is 'Secret' where you have to provide a

login-password for the user. Once all these fields are filled up properly, click

on the Submit button and your extension will be created.

Added features



Asterisk comes with a huge list of features such as Voicemail, Call

forwarding, Call waiting, IVR, Announcement, Call recording, Conference,

FollowMe, Call parking, Ring groups, Dictation, Call back, Do not Disturb, etc.

But by default all these features are not activated as they consume resources

unnecessarily. But, if you really require them, then you have to manually enable

them. To do so, click on the Tools menu at the top of the FreePBX window and

then click on the Module Admin link inside the page. Now you will be presented

with a huge set of modules. Activate the ones you want to use with your PBX

system.

Advertisment
To add a new extension just give the desired

extension number, your name and password
In Dial Rules, if a number with 7 or 10

digits is dialled with 9 as prefix, then it will be treated as an outbound

call

Creating trunks



Once your basic setup is ready, you can create inbound and outbound call

policies and trunks for your IPPBX. So, you first have to make your FXO card

run. As ours is a Zaptel FXO, the process is very simple. Go to the Trixbox

machine and run the following commands in the given sequence:

#rebuild_zaptel



#genzaptelconfig

Advertisment

Now, reboot the machine to get your Zaptel FXO card installed. With this your

default outbound trunk will also be created. This outbound trunk will work with

a prefix of '9', enabling you to dial any PSTN number from your IPPBX. You need

to dial '9' and then the desired number. Just keep one thing in mind that in

both the 'Trunks' and 'Outbound Routes' menu the default dialing rule should be

similar.

Inbound routes



Creating inbound routes is also very simple. All you have to do is to go to

the 'Inbound Routes' option and click on the 'Add Incoming Route' option. Now,

scroll down to the last section of the window and select what action should be

taken, in case of incoming calls. You can set an IVR to receive the calls, you

can do a Group calling, or you can directly forward the number to the

receptionist's extension. Just select the desired action and submit to save the

settings.

Give the UC touch



Now your IPPBX is up and running, but you still require the functionality of

Chatting and Presence server. For this you have to install WildFire Jabber

Server on the Trixbox machine. It's not very difficult. You can get the rpm from

this month's DVD and install it like this

Advertisment

#rpm —Uvh wildfire_3_1_1.rpm

Now, change directory to /opt/wildfire and run the following command:

#sh bin/extra/redhat-postinstall.sh

Start the WildFire server by running the following command:

#service wildfire start

Now, you can do the general configuration of the WildFire server from the

address 'http://ip_ofTrixbox_server :9090'

Integrating Asterisk with WildFire server



The integration of WildFire and Asterisk/Trixbox is very straightforward.

First open up the folder '/opt/wildfire/plugins/' in your machine and copy the

Asterisk-IM.jar file from this month's DVD to the folder. Now, shutdown the

WildFire server and restart it by running the following command:

#service wildfire restart

You will notice two new things. One, a folder called Asterisk-IM is created

in the plug-in folder and two, there is a new tab available on WildFire's

management interface. Next, go to the management interface and provide

credentials for the Asterisk server.

You are done now. Take any two machines and install any softphone on them and

login to them through the Trixbox server. Install the Spark Jabber client on

them and connect them to the server. Try calling someone. You will notice that

whenever you pick up the phone and dial someone your status on the IM changes

and shows as 'On Phone'.

Advertisment