Recently, VoIPon attended a presentation at the Toronto Asterisk User Group, where renowned author, Jim Van Meggelen, of the O’Reilly Asterisk book “The Future of Telephony” fame, shared a little known tip to enable high availability systems on Sangoma T1/E1 PRI cards, using Sangoma’s Wanpipe and Linux Heartbeat.

However, he is quick to remind the group that the PBX is just one part of the system and the system must be considered as a whole.

Defining Availability

Jim first broke down the different definitions of “availability” into four categories and focused on what High Availability should mean—up time in terms of the user experience.

Normal Availability

  • No special steps are taken to prevent downtime.

Redundancy

  • Technology centric. It is used primarily for the IT staff as a “cover your butt” measure.

High Availability

  • User centric
  • Redundant servers
  • Redundant environment
  • Focus on processes and people to make sure proper documentation is in place, so you know what to do when downtime happens.

Disaster Recovery: When your facility is not accessible to you, how do you tell people what to you do?

If users can use the system, it’s said to be available. What is the definition of availability? What is it that needs to be available? These are important considerations in your network.

Anything less than 99.9% availability is not good. You could have 43.2 minutes of downtime per month, but no one does the math! The term “five-nines” or 99.999% would only result in 25.9 seconds of downtime per month. These are important standards to consider.

High Availability Using Sangoma’s Wanpipe

By using Sangoma’s Wanpipe® to deliver High Availability using TxTristate disruption or loss of availability can be measured in seconds.

According to Jim, configuring Wanpipe is really simple.

  • In /etc/wanpipe/wanpipeX.conf change:

    FE_TXTRISTATE = NO

    to

    FE_TRXTRISTATE = YES

Note that from this point on, Wanpipe will start the card with the transmitter turned off.

  • To enable the transmitter issue the following command:
    – wanpipemon -i w1g1 -c Ttxe
  • To disable the transmitter you can use the following:
    – wanpipemon -i w1g1 -c Ttxd

Jim reiterates that the Sangoma card is just one part of building a high availability system. These are some of the other important considerations brainstormed by the group:

  • Powered Environments—separate UPS units, electrical circuits, redundant cooling systems and generators.
  • Network and Cabling—do you want to have separate switches? Don’t run every department off the same switch. Then if something happens, only half the department is gone.
  • Separate Shelves—don’t stack servers. If someone spills coffee, you don’t take both servers out.
  • Multiple Carriers.
  • Test it regularly.

The Open Source PBX in a High Availability Environment

A redundant PRI connection used to be difficult to do in an open PBX system.

Now, it is as simple as taking the PRI Cable that’s in the system and splitting it out so that the primary server still has the point-to-point T1 connection. If there is a failure, once you have configured Linux Heartbeat, the Heartbeat system turns the transmitter on the Sangoma T1 card in the secondary server on, switches to that secondary server and starts the telephony application. Although calls in progress will be dropped, downtime will be measured in seconds. For more detailed information on how to configure the Heartbeat and Sangoma system, including handy diagrams, see a copy of Jim’s slides.

Ultimately, we learned if you want “five nines” reliability, you must be prepared to pay for it, as each level of redundancy increases the cost. Each additional “9” you require, Jim believes, doubles the cost.

Using a Sangoma card is a reliable open source solution that is one way to begin to keep costs in check, while delivering the availability you require.