Asterisk and load balancing with multiple servers


I want to run two mirrored Asterisks and use SRV’s to get either load bal and/or Fail over from upstream provider for inbound calls. I also want to use the same method to get load bal and/or fail over for the phones.

Is there a mechanism to do this already built into Asterisk?

For load bal my idea is to have the phones either registering to each Asterisk using two lines or if the Asterisk getting the registration can auto-register the user to the other Asterisk.

For Fail over I think the re-registration timer must be down to 60-120 sec to keep the gap minimal. As soon as Asterisk no.1 goes down inbound calls will come to Asterisk no.2. The phones must re-register with Asterisk no.2 as quick as possible.

Any thoughts?


I would use OpenSER with heart beat. Two OpenSER Servers and Two Asterisk servers. If one of the OpenSER servers goes down heartbeat will kick in. If one of the Asterisk servers goes down OpenSER will route it to the one that is working. There is also a HA email list for Asterisk. You can find it at

I’d like to solve it with only Asterisk’s.


there are call recorders, user accounts, calls state which need to be synchronized.

Suppose those are ready on the 2 asterisk server, there are an simply way. in many ata, they provide a backup server. when register fails, those ATA will register to backup asterisk automatically.such as xia304 ata.