[OpenSIPS-Devel] [RFC] NAT pinging

Iñaki Baz Castillo ibc at aliax.net
Fri Dec 12 10:06:33 CET 2008


2008/12/11 Bogdan-Andrei Iancu <bogdan at voice-system.ro>:

> 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).

Well, but it is obviously the only way. The registrar can never know
if the private address in the Contact is behind the same public IP as
the received one.

AFAIK registering a Contact different that the address of the UA
sending the REGISTER is just used in IMS (some exotic stuf...).

Is there any other case in which the REGISTER Contact could be different?




> 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) ?

Ufortunatelly I know no UA's sending a TCP Contact via UDP. Do they exist?



> B) PATH extension
>
> First of all if PATH is used and simply UDP ping is used, nathelper
> pings the source of the REGISTER (where it came from).
> Question: does this make sense? as anyhow the INVITEs will be sent to
> the top PATH uri....

I've never used PATH yet, but wouldn't make sense that the pinging is
done by nat_traversal module by the proxy receiving the REGISTER from
the UA?


Regards.


-- 
Iñaki Baz Castillo
<ibc at aliax.net>


More information about the Devel mailing list