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:
- Extend the lease for another 3 years, at which time we would own the system
- Replace the phone system with a hosted VOIP solution
- Replace the phone system with an internal VOIP solution
For phone service, we looked at the following:
- Continue with Verizon POTs lines
- Replace POTs lines with the hosted VOIP solutoin
- Replace POTs lines with a VOIP provider
- 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:
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:
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***