High Availability Asterisk and Freepbx?

I am trying to setup a High Availability Voip solution with Asterisk and Freepbx. Everything is in an ESXi 5.1 environment and I am trying to figure out how to make everything work.

I have setup my first server and have everything working for internal calls and have cloned the server to create a new server with an identical setup and have renamed the new server. I am using Heartbeat in Ubuntu 12.04 and have everything configured per this link: http://www.voip-info.org/wiki/view/Asterisk+High+Availability+Solutions using the Asterisk+Hearbeat+SIP+Multi-homed on Debian/Ubuntu method and can see Asterisk starting and stopping when testing the heartbeat between the servers.

I have also reconfigured my polycom phones to connect to the virtual ip address that is shared between the two servers and can make calls when the primary server is enabled. The issue I am having is having the secondary server pickup where the primary server left off when the heartbeat of the primary server goes offline.

I am new to Asterisk and Freepbx and haven’t been able to find more information on this. Any help would be appreciated.

You can’t pickup the total state of the other machine, all current calls will be dropped, if you compile asterisk with res_corosync you can exchange the device state and mwi state between machines, but your recipe uses heartbeat and that is no longer in development. and of course you need to leave asterisk running on both machines, so you might want to sync your mysql server a different way if you go that route.

Is there a better way just to have a warm spare ready? And have it automatically switch over and have the phones re-register with the new server? This seems to be the issue I have right now. Using the heartbeat, I can have everything switch automatically but I can’t get the phones to register on the new server. When everything switches back to the original server the phones come right back up.

I can’t help here, I use corosync and certainly would not run under a virtual server as your layer 2 stuff could get really mangled… Polycoms, Aastras, Ciscos etc. all work fine for me.