Hi All,

I'm trying to setup multiple OpenSIPS servers as SIP Registrars to improve 
availability.

Here is my setup.

I have Server A & Server B both running opensips with same configuration, the 
only difference is they both using the database on server A, which mean server 
B will access database remotely.
Ideally any subscriber would be able to register with either Server A/B based 
on connection quality. Server A & B will share the location database so any one 
of them failed, the subscriber would be able to send call request to the other 
server without Re-Registration.

And here's my problem, when Client X registered with Server B, Server B updated 
registration info to location database and local cache, but in the meantime, 
server A only have the registration info in database, not local cache.
So when Client X try to send call out though Server B, it would be fine.
But when Server B fails, when Client X try to send call out though Server A, it 
will fail because server A can not find a matched registration in local cache. 

Based on my understanding, OpenSIPS will update the location database according 
to the local cache, but not in the reverse direction. Which means if I add a 
new AOL entry to local cache of Server A manually, it will update the location 
table in shared database. But if new entries inserted to the location 
database(because a new subscriber registered through Server B), Server A won't 
update its local cache.

I tried to built a perl app running on each server, which periodically read the 
database and updates the local cache using OpenSIP FIFO, but the performance is 
so poor that won't scale up(5 entries per second...).

I'm wondering what is the best way to achieve this feature?

Thanks! 
Xi
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to