All HA for PBX based on open source?

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

All HA for PBX based on open source?

Post by 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).

We have three admins with 25+ years Linux here, and they are saying the open source packages are not suitable for PBX HA (only file HA). I also was told by a vendor of PBX software (and their own HA module) that every HA for Asterisk on the market uses the same open source packages, so they're all the same.

Are you just selling me the stuff as everyone else? (Open source/free file-level HA packages)
Account for questions transferred from CRM system
User avatar
Telium Support
Posts: 166
Joined: Sun Nov 27, 2016 3:27 pm

Re: All HA for PBX based on open source?

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

No - that's not correct. While every other HA solution for these PBX's is based on essentially the same open source packages, 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 likely leave 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 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. This type of package is a very 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 the forums 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 start to add application level HA functionality - but its up to you to code it. 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 application level HA product. Check out the HAAst web page tabs to see why HAAst is the only solution for hospitals, police/fire/911 call centers, mission critical call centers,etc.
User avatar
Telium Support
Posts: 166
Joined: Sun Nov 27, 2016 3:27 pm

Re: All HA for PBX based on open source?

Post by 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 their 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 'HA' type source packages in just a matter of hours. But there are no open source packages for application level HA (that's up to the application developer). Adding HA level code at the application level (or trying to add it to file level HA packages) 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!
Post Reply