All HA for PBX based on open source?

Features, capabilities, and information about HAAst
User avatar
CRM User
Posts: 121
Joined: Sun Nov 27, 2016 3:41 pm

All HA for PBX based on open source?

Postby CRM User » Mon Mar 12, 2018 1:12 pm

I'm researching HA products for our PBX. We run an Asterisk PBX with approx. 300 active calls at any time. We use a config generator (but only to create our config files, nothing else).

Someone told me that every HA for Asterisk on the market uses the same open source packages: DRBD + Corosync +Pacemaker, so they're all the same.

Are you just selling me the stuff as everyone else?
Account for questions transferred from CRM system
User avatar
Telium Support
Posts: 160
Joined: Sun Nov 27, 2016 3:27 pm

Re: All HA for PBX based on open source?

Postby Telium Support » Mon Mar 12, 2018 1:22 pm

No - that's not correct. While every other HA solution on the market is comprised of essentially the same open source packages (as you listed above), HAAst is not. The open source packages are great if you want to make an HA print server, file server, etc. However, they have no understanding or visibility into the PBX, the environment, trunks, etc. The open source packages work at the OS level, not the application level and as such don't create an HA PBX which can survive real world failures. For example, a route becoming unavailable at the ITSP, the PBX running out of file handles, a data center router going down, etc. would all trigger a failover with HAAst, but open source products would do nothing, leaving you with a non-functional PBX.

That's why Telium wrote HAAst (written from top to bottom in C++ ). The HAAst product tabs do a good job explaining the differences between HAAst and the open source / commercial products but here's a few highlights:

Heartbeat & Health: The generic heartbeat/health package (Pacemaker) does not take into account the health of Asterisk, status of trunk & route availability, available file handles, available memory, etc. latency between devices, calls successfully bridging, etc. Pacemaker is a very simple package with dead/alive detection of the box/process (not Asterisk operations aware). HAAst has its own proprietary heartbeat and health detection, written exclusively to monitor and detect Asterisk PBX's and their environments. By default HAAst detects 18 different factors which degrade node health (including talking directly to Asterisk through the AMI to assess health), and can also use an unlimited number of customizable sensors.

Synchronization: DRBD (or other shared disk solutions like NFS/Samba/iSCSI/Corosync/Rsync/etc.) put your data at risk since file corruption by one failing peer immediately corrupts files of the other peer. With those open source solutions a failing process on one peer may destroy your entire cluster. As well, network loss during data sharing may leave your files corrupt and SQL databases in invalid states (the database might not start with corrupt tables, and Asterisk might not start with corrupt config files). HAAst synchronizes data between peers, but only if the peers are healthy. HAAst synchronizes databases (MySQL/PostgreSQL/SQLite) at the SQL transaction level, so you are never left with corrupt tables (and a PBX that won't start). And to top it off, HAAst can maintain snapshots of healthy critical files, stepping backwards through previous snapshot to find a system state that allows the PBX to start after failure.

Reliability & Security: Open source packages monitor nothing more than a PID file existing to say the Asterisk box/process is alive and well (which could be days before the software realizes the process is dead or malfunctioning). HAAst talks directly to Asterisk through the AMI and to the operating system through the Linux libraries, and all in C++ so it's FAST, with < 1 second detection and failover trigger. HAAst also has an encrypted link between peers so there is no risk of Man In The Middle attack, and no risk of hackers gaining control of the PBX. (Open source products have well published and unencrypted protocols that are easy to tap in to, and a novice/script kiddie can bring down the cluster using this information).

Other: There are lots of other functional differences as well - have a look at the features tab of the HAAst web pages for an overview of what HAAst does, and then look at the comparison tab to see what generic tools can't do. HAAst can even maintain snapshots and if a database fails to start, HAAst will attempt to restore snapshots in reverse chronological order until it finds one that allows the database to start. And more...this is just the tip of the iceberg.

Performance: The bottom line is how do these HA solutions perform in real life. Have a look at http://www.telium.ca/pages/forums/viewtopic.php?f=6&t=112 to see what customers say about the performance of various solutions.

All of the open source packages are wonderful products in their own right, each with a specific purpose. If you spend enough time adding your own code on top of these then you can make a simple cluster. After 10 years of continuous development we have created a very sophisticated product which can detect and recover gracefully from an enormous number of failure scenarios, building our own heartbeat/synchronization/health detection/etc tailored to telephony environments.

So unlike other HA 'solutions', HAAst is not a collection of open source packages relabeled as an HA product. Check out the HAAst web page tabs to see why HAAst is the only solution accepted by hospitals, police/fire/911 call centers, mission critical call centers,etc.
User avatar
Telium Support
Posts: 160
Joined: Sun Nov 27, 2016 3:27 pm

Re: All HA for PBX based on open source?

Postby Telium Support » Fri Mar 30, 2018 4:18 pm

I should also point out that during the past 10 years three other companies have released HA products for Asterisk. The products didn't work well, and once their customers realized all of the conditions / use cases which this HA software could not handle (and the resulting outages) they switched to HAAst. All three of those companies are now out of business / disappeared.

You'll see new HA products pop up on occasion, because you can add 'clustering' related open source packages in just a matter of hours. But making it work properly in a PBX environment is a massive undertaking (measured in person-years of development, not hours). HAAst has been on the market since 2005 and has been growing in capabilities ever since!