[OpenSIPS-Users] Via header interpretation with rport parameter being set
Iñaki Baz Castillo
ibc at aliax.net
Mon Sep 14 17:53:07 CEST 2009
2009/9/14 Thomas Gelf <thomas at gelf.net>:
>> If a client uses symmetric SIP (as most of them do), and uses UDP,
>> then NAT is detected by comparing the real source IP:port with the
>> value of the Contact header.
>
> And that's exactly what I'm missing. As of
>
> http://www.opensips.org/html/docs/modules/devel/nat_traversal.html#id228455
Yes, I also miss it. In fact I use test function of nathelper module.
> there is no such test in OpenSIPS nat_traversal module. As you correctly
> pointed out, the whole rport-handling voodoo is not even needed - I'm
> already calling force_rport() for each request. I thought it might be
> even more elegant to care about what the client states - but you're
> absolutely right, that's a waste of ressources.
Note that if a client behind NAT doesn't use symmetric SIP, it will
NEVER receive replies (since it requires to receive replies in other
port, which is impossible from outside the router).
> As no test comparing the real source IP:port with the value in the
> Contact header is available, test 2 and 4 are still being used. However,
> they are either useless or could lead to wrong assumption (as in the
> example I mentioned).
You are right.
> So, to the long and the short of it, let's come back to my essential
> question (probably hidden between too much text in my former post):
>
> * would a new test checking whether Contact differs from the socket
> where the UAC's packet came from make sense?
Sure! :)
Please report it in the tracker explaining what we have talked about
and I will give feedback to the report :)
--
Iñaki Baz Castillo
<ibc at aliax.net>
More information about the Users
mailing list