2009/9/14 Thomas Gelf <[email protected]>: >> 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 <[email protected]> _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
