I have a simple HA architecture configured for VoIP. On server #1, Asterisk + FreePBX are running. On the second server, Asterisk + FreePBX are also installed, but these services are only started when server #1 is inactive. Both servers use a database cluster and share the same database. Configuration between the servers is fully synchronized. I’ve tested it, and the solution works well.
Both Asterisk servers use a VIP address. Phones connect to the Asterisk instance on the first server correctly and everything works fine. However, after switching to the failover server, I see that the phones connect and register (they also appear as registered on the Asterisk side). However, when I try to make a call, the phone displays the message “Service not available.”
I can see in the Asterisk console that the phones are logged in after the switchover. The Asterisk address is correctly assigned to the floating IP, so the bind address is correct.
When capturing the communication on the failover server, however, I see the following:
Request: INVITE sip:9910@voip.lan |
Status: 100 Trying |
Status: 503 Service Unavailable |
Since the files are continuously synchronized from the main server to the failover server, after the switchover I use Pacemaker to start the services in the following order: VIP IP → Routing Rules → Asterisk → Apache2.
I’m using Ubuntu 24.04 LTS, Asterisk 20.6 (from Ubuntu packages), and FreePBX 17.
I would be grateful for any suggestions that might help solve this problem.

