On Thu, Jun 30, 2016 at 03:56:00PM +0000, Colin Morelli wrote:
However, I think the best solution would be something
like what Daniel
mentioned - to have multiple (maybe 2-4 but the number really depends on
your availability and scalability requirements) Kamailio instances at the
edge, each with a corresponding standby ready to take over that IP in a
failover scenario.
Added benifit is the ability to upgrade/update the standby machine and
simply failover to verify/test with a simple rollback mechanism.
Combine that setup with rotating the A and SRV records
in your DNS server
(most DNS servers support automatically rotating the records in a
response), and you should be able to support all kinds of clients.
Roundrobin DNS A, SRV and NAPTR for
sip.example.com. With records for
sip0/sip1.example.com and as last the bare ip addresses. And you can
make any redundant setup that any client supports.
The trick (IMHO) is to use the Path modules in the loadbalancer/proxy and
registrar server. Add the Path headers (with received paramaters) on the
loadbalancer/proxy and make sure the registrar module uses these
headers. Use dispatcher with callid hasing to loadbalance to the
backends. For the same secret for authentication over de backends
(modparam("auth", "secret", "sharedsecret")).