Originally published May 9, 2008 at www.smallnetbuilder.com
Our Asterisk based home/office phone system provides tremendous flexibility in handling our phone calls. It gave us the opportunity to migrate away from using analog phone lines from a traditional carrier. We now send and receive all calls via IP over our DSL. Of course, the monthly cost of our calling is a lot less. However, it’s not a prefect system – yet.
From the outset, we have worked to make the system more robust. This we have done in many ways, including providing various redundancies in hardware and configuration. Most recently, we have added a cellular trunk to ensure calling capability should our DSL service fail. The process involved in arriving at this decision has proven interesting.
VOIP systems are more than just a phone line coming into the office/home, so there is more potential for problems. To prevent issues from occurring, it is best to address the potential problems before they happen. In our system, our VOIP has a number of redundancies built in to increase its reliability.
To begin with, the phones themselves, a combination of Polycom and Snom SIP phones, are registered both to the local Asterisk server and a remote service. The phones automatically failover, so if the local server is unresponsive, we can still make outgoing calls.
In addition, our phone numbers (aka DIDs, for Direct Inward Dialing numbers) provided through an online service provider also provide a failover system. My preferred service providers offer failover to a normal phone number, which I generally point to my cell phone.
Our Asterisk server provides it’s own form of redundancy as well. It is registered with three commercial service providers and a couple of free VOIP services including Free World Dialup. If any service provider is not available, it will cascade to another, and then a third. This is really only useful, however, when making outgoing calls.
Redundant Asterisk servers are, I think, a little beyond the scope of a typical home or home office environment. The sort of Linux clustering skills required to set this up are certainly beyond my present skill set. Also, redundant servers are more than a little inconsistent with my use of appliance-like Asterisk embedded systems.