[OpenSIPS-Devel] PUA_BLA fails for UA's registered behind NAT

Iñaki Baz Castillo ibc at aliax.net
Sun Oct 19 00:33:09 CEST 2008


Note: I've detected this problem with Kamailio 1.4 but since the module is 
done by Anca and I haven't seen a fix I report it also here. Please tell me 
if I shouldn't do it.


I'm trying PUA_BLA with phones behind NAT. When the REGISTER arrives I 
do "fix_nated_register()" so the original Contact:
  Contact: <sip:user at 192.168.1.100:5060>
becomes:
  Contact: <sip:user at 192.168.1.100:5060;received=80.80.12.54:34567>
 
 
After that I do "bla_set_flag()" so PUA_BLA generates a SUBSCRIBE that should 
arrive to the UA, but PUA_BLA generates it:
 
  SUBSCRIBE sip:user at 192.168.1.100:5060
 
So this SUBSCRIBE will never arrive to the UAC since it's a private IP. The 
SUBSCRIBE should be sent to the "received" parameter (added before) but I 
don't know how to achieve it.
 
A dirty workaround is doing "fix_natted_contact()" before "bla_set_flag()" but 
this is a bad idea since it will change the stored Contact URI in "location" 
table (and normally UA's need to see their same Contact header used for 
registration in the RURI of requests sent from the proxy).

Any idea of how to solve it? Thanks a lot.


-- 
Iñaki Baz Castillo



More information about the Devel mailing list