I have a big question for you.
What’s the best practice to have two asterisk servers who can share calls with load balancing ?
This is my setup idea :
- 2 SBC Sangoma
- 2 Asterisk Servers
- 2 Asterisk Application Servers
The Sangoma SBCs will load balance the call between the asterisk servers.
Both will have real-time configuration with two active/active postgre sql database.
The databases will run on the asterisk servers.
The applications servers will not be load-balanced, they will have heartbeat and rsync to have redundancy in case of hardware failure on the master server. On the application server I planned to use : Conf Bridge, Voicemail and every applications who are hard to load balance.
I’ll sync the devstate with CronoSync.
But I have these questions :
- What will happen if a call is ringing on the first server and I want to pick it up on the second server ?
- Because I use realtime for my peers, the IP of the dynamic devices will be on the database, if one server fail, will it be able to use this IP (in my head the answer is yes) ?
Also what is the difference between what I want to do and the way to do it with DUNDI ? Because I’ve saw some diagrams where they use IAX trunk and a DUNDI master to manage the peers, with a database who know my peers IP, I don’t need DUNDI for that, right ?
So, thanks in advance for your help!