[OpenSIPS-Devel] [RFC] NAT pinging

Maxim Sobolev sobomax at sippysoft.com
Fri Dec 12 11:20:02 CET 2008


Bogdan-Andrei Iancu wrote:
> A) contact info versus network info
> 
> When considering a REGISTER request, you have two sets of information: I 
> - registered contact ; II - network info (source IP/port, proto, local 
> socket where the request was received on).
> When comes to determine the destination for pinging, right now, the 
> logic uses the network info (as more or less NAT at network level).
> But, according to RFC 3261, the REGISTER request may carry whatever 
> contact, like a REGISTER via UDP may register a contact for TCP (or 
> vice-versa). In case of NAT, this will not work at all (as we assume 
> that the source of REGISTER and registered contact point to the same 
> network location).
> 
> So, the question is:  if NAT detected and such a protocol mismatch is 
> detected, should a registrar refuse the registration (as it will be 
> anyhow unusable) ?

 From practical prospective I don't think that rejecting will be good 
default behavior in such situation. If REGISTER arrives by UDP, while 
contact has TCP it's likely that we are dealing with somehow 
misconfigured UA that supports both protocols, therefore trying to 
contact it by UDP will most likely work just fine. Hence, "fix" contact 
to use UDP in addition to the usual IP:port fixup and save it.

Regards,
-- 
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
T/F: +1-646-651-1110
Web: http://www.sippysoft.com
MSN: sales at sippysoft.com
Skype: SippySoft



More information about the Devel mailing list