On Thursday 27 January 2011, Klaus Darilion wrote:
Am 27.01.2011 11:21, schrieb Danny Dias:
> 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?
What problems are you referring to? I use this for some years now without any
problems.
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.
Just bind kamailio to the HA IP on both servers and do REGISTER replication
between the two (on SIP level). Then if the IP migrates to the other server,
it will take over the rgistrar function with no loss of records. No restart
needed.
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?)
Last time i tried, they are not, at least not in writeback mode. One proxy is
expiring records from the DB which the other proxy is trying to update. Maybe
DB-only mode will work, but that has some practical (performcance) problems.
--
Greetings,
Alex Hermann