Am 27.01.2011 11:21, schrieb Danny Dias:
Hello my friends,
I wonder if someone has done this before? i would like to implement 2 Kamailio servers with redundancy, something like the following:
SERVER_A is working as the primary sip proxy (virtual IP as the sip signaling), if it fails, the other server (sleeping) should UP the virtual IP and takes all the traffic....i guess there is many Linux implementations thah can do this, but i would like to know if there is someone that has done this before and hear some recomendations...
I've read some difficulty in the synchronisation of registrations because Kamailio works best when it stores registrations in memory and registrations are constantly changing - they expire and are renewed, as well as new ones joining and old ones leaving. To make the failover solution function seamlessly, it is necessary to synchronise the in-memory registrations between the primary and the backup server . This can be done by forking a copy of the registration request to the backup server, but there are some practical problems in doing this, has anyone do something with this?
Yes - the problem with SIP based replication is that both proxies must be running. This is a problem as Kamailio binds to the virtual IP at start up - thus adding the virtual IP address to the backup server does not make Backup-Kamailio listening to the new IP address - you would have to restart the backup Kamailio.
I think most people either have a database (which is highly-available by itself) which is used by both proxies, or every proxy has a local database and the synchronization is on DB level (e.g. master-slave replication, btw: does somebody know if usrloc DB queries are suitable for master-master replication?)
regards klaus