Is there an easy way to figure out on which server a uac is registered when 
using a shared database (modparam("usrloc", "db_mode", 3)).

When uac1 is registered on server1 (dns srv loadbalancing) and uac2 is on 
server2. A call from uac1 to uac2 with a simple lookup("location") will result 
in server1 directly trying to connect to uac2. If this device is natted (or 
behind a stateful firewall) this will fail.

In the location table the column socket contains the server which received the 
request. So if I know this value I can have server2 route the call to this 
value/server and have the call delivered to uac1 via an "existing connection".

The idea was to use reg_fetch_contacts to fetch this/these socket values in 
$ulc and in case they are not local redirect/branch to those servers. But if 
the value of socket isn't local the $ulc for socket is null.

I could use sqlops to fetch this manually, but is there an easier way I am 
missing?


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to