I’m looking to add some fail over support to our Asterisk system and I’m wondering if this is possible:
In our DNS server, I have A records set to two Asterisk servers. Lets call them sip1 and sip2.
And an SRV record for sip with 50/50 weight pointing to sip1 and sip2.
These Asterisk systems are both using a shared realtime MySQL database. So any user can register on sip1 or sip2.
The SRV record works; if you register to sip, you sometimes register to sip1 and sometimes you register to sip2.
The issue I’m having is calling across servers. Say 101 calls 102 - where 101 is registered to sip1 and 102 is on sip2.
We are using an ARI dial type app handling routing. If 101 calls 102, we call all contacts of 102 and stop ringing once one picks up.
It would be really simple if 101 can call every contact of 102 across all servers. I tried this and got inconsistent results. Using X-Lite and Zoiper registered to separate servers, Zoiper will ring but X-Lite will not when calling each other.
I can get this to work over an IAX connection between the servers though it can get complicated since an endpoint could have a contact on either/both servers at once. This might be the way I do this in the end though.
Does anyone have experience doing this?