[OpenSIPS-Users] Question about registrar, usr_loc module
Julian Santer
julian.santer at rolmail.net
Tue Sep 3 19:30:00 CEST 2013
Hi,
we are developing now our new SIP loadbalanced, partial failover
infrastructure.
For this we have:
- 2 edge server (OpenSips 1.8.4), DNS SRV edge.sld.tld
- 2 core server (SEMS 1.4.3 as SBC, announcements, redirects,
accounting), DNS SRV core.sld.tld
- 2 "pstn" server (OpenSips 1.8.4), DNS SRV pstn.sld.tld
- 2 MySql 5.1 Master-Master
All OpenSips and the Sems server are using the same MySql server, so
there shouldn't be any problems with duplicate entries. Our
webapplications are using the other MySql server.
The registrar module runs in db_mode 2:
modparam("usrloc", "db_mode", 2)
Our clients send the register to the 2 edge server, they include the
path header:
NO NAT: add_path()
NAT: add_path_received()
Then the register is relayed to the pstn server.
$du = "sip:pstn.lab.sld.tld";
t_relay();
The pstn server saves the register:
save("location", "vp1")
Our PSTN carrier sends all incoming calls, to the edge server.
The edge server relays the received calls to the core server (SBC).
Here we make a new call (Topology hiding) which will be send to the pstn
server. The pstn server relays the call back to the edge server (path
header) and the edge server relay to the client.
The problem is, that the second pstn server misses to check the DB and
rejects the call (480 User offline).
Example:
UAC, send register -> edge1, relay register -> pstn1, save
OK) PSTN carrier, incoming call -> edge1, relay -> core1, relay ->
pstn1, relay -> edge1, relay -> UAC
KO) PSTN carrier, incoming call -> edge2, relay -> core2, relay ->
pstn2, 480 User offline
Why pstn2 doesn't check the DB?
Have you some suggestions to solve this issue?
I tried to relay the register to both pstn server:
$du = "sip:pstn1.lab.sld.tld";
t_relay();
$du = "sip:pstn2.lab.sld.tld";
t_relay();
In the tcpdump I see that the register is relayed to both pstn server.
But one pstn server ignores the register.
Thank you for your help.
Best Regards,
Julian Santer
More information about the Users
mailing list