Hi,

I'm new to Kamailio and I'm trying to understand the architectural options and levels of redundancy that can be attained with Kamailio.

In my particular scenario I would be using Kamailio as proxy server (no user registrations) to handle global prefix routing between 3 major regions; Americas, EMEA, and Aisa-Pacific. The idea would be to create a pool of Kamailio servers in each region. The pool would consist of two HA pairs. The HA pairs would be placed in two separate datacenter, and sessions would be distributed between the datacenter. In the event the Kamailio server failed it would have a local backup in the datacneter. In the event a datacenter failed, there would be an alternate datacenter available in the region. 

Can the LCR feature/module share a database, so that each kamailio server in the region have the same call routing information?

Is there a feature or a way to automate the configuration of several Kamailio servers, when you want them to have the same routing logic/configuration. Is there a module, feature or API that would allow Kamailio to fetch a config, or possibly push the config via an API when the application is initialized. 

What is the best method for establishing a 1:1 back up with Kamailio? If we use TCP and route-via headers, the SIP session would be pinned through the active proxy server. Is there away to provide stateful failover so that the session state is maintained between primary and the backup server?  

Any pointers or recommendations would be highly appreciated. 

Regards,

Frank