Setting up a VOIP Asterisk server, part 1

By jbayer - Last updated: Tuesday, March 15, 2011 - Save & Share - Leave a Comment

The saga of replacing a legacy phone system with a complete VOIP solution

The lease was coming to an end on our legacy phone system, and we started looking for an alternative.  We considered the following choices:

  1. Extend the lease for another 3 years, at which time we would own the system
  2. Replace the phone system with a hosted VOIP solution
  3. Replace the phone system with an internal VOIP solution

For phone service, we looked at the following:

  1. Continue with Verizon POTs lines
  2. Replace POTs lines with the hosted VOIP solutoin
  3. Replace POTs lines with a VOIP provider
  4. Get a T1 line for the phone lines

When considering to replace POTs lines, we needed to consider the reliability, cost, and quality of the VOIP providers.  We decided to go with two providers, in case one has problems, and we are probably going to keep one POTs line just in case the internet goes down on us.

After doing our due diligence, we decided to go with the third option for each, in other words, we are setting up a VOIP server and have selected two external VOIP providers.  While the initial upfront costs are higher, after 10-12 months we will have more than saved money.  Going with a hosted solution would have cost us about $450/month, going with an extended lease would have cost us $180/month plus about $400 phone charges/month.  The all-VOIP solution will cost us about $2500-$3000 for the initial hardware, and our phone charges will be less than $100/month plus an extra $50/month for the spare POTs line.  After running the numbers, it showed that after 9 months we would be ahead in terms of absolute cost using the all-VOIP solution.   In actuality, the physical system we built cost about $200 using an Atom 525 with a gig of memory and a decent hard disk, which was about $300 less than anticipated.

Then came the choice on VOIP providers.  We considered the cost of the phone service and also investigated their reputation and quality of service.  There were several finalists, and our final choice came down to the cost, all other factors being equal.  Without going into all the details, we settled on the following two providers:

nexMatrix (www.nexmatrix.com) as our primary VOIP provider
Teliax (www.teliax.com) as our backup VOIP provider.

Finally, the choice of what VOIP system to use.  There are several very good Asterisk-based solutions, including:

AsteriskNOW
Trixbox Pro
Trixbox CE
Elastix
AstLinux

An alternative to Asterisk is sipXecs, located at sipFoundry.  To read the installation instructions for sipXecs, go here.

We decided against sipXecs because of our need to eventually integrate the phone system with SugarCRM

For a more complete list of Asterisk-based solutions, take a look at the following two links:

http://www.voip-info.org/wiki/view/Asterisk+GUI
http://www.voip-info.org/wiki/view/Asterisk+Install+CDROM

Having had experience with Trixbox, I first looked at that, but was disappointed at the lack of progress in recent years.  I also tried to roll our own Asterisk solution.  The roll-your-own, while I was able to build a working system, wasn’t supportable enough;  we didn’t want to have to constantly be the ones to download and install updates, etc.  Also, doing a roll-your-own means that the underlying OS may not be optimized to the fullest for Asterisk.

The final decision was to go with Elastix, both because the UI was easy to use, and it was FreePBX based.  This opened up a large number of add-ons if we ever desired to use them.

For FreePBX & Asterisk 1.6, here are the settings I used to set up the Elastix trunk, with my specific details removed.  There is no direct editing of files.

I’ve replaced my details with the following:

secret             ->    ***password***
username           ->    ***custid***
Register string    ->    ***registerString***
 Outgoing Settings
 Trunk Name:            nexMatrix-OUT
 PEER Details:
 type=friend
 host=sip10.nexmatrix.net
 context=inbound
 username=***custid***-OUT
 secret=***password***
 allow=all
 insecure=very
 canreinvite=no
 qualify=no
 Incoming Settings
 USER Context:            nexMatrix
 User details
 type=friend
 host=sip10.nexmatrix.net
 username=***custid***-IN
 secret=***secret***
 allow=all
 insecure=port,invite
 canreinvite=no
 qualify=no
 context=from-trunk
 Registration
 Register String:    ***registerString***
Posted in Administration, Linux Installations, Open Source, VOIP • Tags: , Top Of Page
2,298 views

Write a comment

asd