[OpenSER-Users] how does fix_nated_register() work?

Klaus Darilion klaus.mailinglists at pernau.at
Tue Dec 4 15:27:43 CET 2007



Daniel Grotti schrieb:
> Hi all,
> I have a user behind NAT with address : sip:userA at 192.168.10.210:42276.
> When user send REGISTER, the proxy checks if user is behind NAT. If it 
> is, proxy makes:
> 
> fix_nated_register();
> force_rport();
> setbflag(6).

fix_nated_register will write the source socket (IP:port) into an AVP.

During save() this AVP will be stored in location table (received column)

After lookup(), $ru will be populated by the contact URI and $du will be 
populated with the received URI.

I guess in your case the NAT device does "port preservation", thus the 
private and public ports are the same. This is common for many NAT 
devices, but may cause problems if the NAT also does "port overloading".

regards
klaus

> 
> When I check what kind of address proxy has saved on LOCATION database, 
> I see at Contact column:  sip:userA at IP_NAT:42276.
> So proxy mantains the same Port of the user and doesn't save the NAT's 
> IP:PORT pair. Why?
> In this way, in fact, proxy is not able to keep connection alive.
> 
> Regards,
> daniel
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Users mailing list
> Users at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users




More information about the sr-users mailing list