[OpenSER-Users] OpenSER with MySQL Cluster

Christian Schlatter cs at unc.edu
Tue Sep 18 19:43:49 CEST 2007


Juha Heinanen wrote:
> Christian Schlatter writes:
> 
>  > It doesn't matter if you have only one registrar. But if you want to do 
>  > load-balancing/failover between multiple registrars, those registrars 
>  > should access the shared mysql cluster tables instead of their local 
>  > memory cache. If a phone registers with a proxy, the new registration 
>  > state has to be known to all registrars immediately.
> 
> if proxy x in the cluster receives registration request from a sip ua,
> it saves it both in memory and (immediately (mode 1) or after a while
> (mode 2)) into database, and then forwards the register request to other
> proxies in the cluster that just save into memory.  is that
> "immediately" enough?

Yes.

I was referring to an architecture where the mysql cluster is used to 
share registration state between the proxies. For this, db_mode=3 is 
required.

What I don't like about replicating registration state through 
duplicated REGISTER messages, is the fact that a proxy's view of the 
registration state is not necessarily consistent with the other proxy's 
views. What if one of the proxies is not reachable for 10 minutes. It 
will be out of sync at least until all sip UAs who have registered while 
the proxy isn't reachable have re-registered.

Also if you have to reboot a proxy, it will not learn the correct 
registration state upon boot as it would do if you would use db_mode=3 
together with a distributed DB.

So, yes, you don't need db_mode=3 if you do REGISTER replication, but 
I'd recommend to use a distributed DB for replicating registration state.

/Christian




More information about the Users mailing list