Advertisment

How to build your own UC appliance?

author-image
CIOL Bureau
Updated On
New Update

Anindya Roy

Advertisment

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.



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.

Advertisment

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

Zaptel FXO is a standard 4-port FXO

card used for terminating  PSTN phone

 lines to the IP- PBX
Advertisment



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.

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.

Advertisment



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.

 

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.

Advertisment



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.

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

Advertisment

Creating trunks

#rebuild_zaptel

#genzaptelconfig

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

#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'.

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: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.

tech-news