Iñaki Baz Castillo wrote: > In conclusion: a client doing STUN is not required to change its Via > sent-by header as adding ";rport" gets the same effect.
That's what I wanted to point out ;-) > Of course, all the above is just for UDP. In TCP it makes no sense as > the first attempt is to send the replies using the existing TCP > connection. Fortunately I do not yet need to care about TCP :-p > 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 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. 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). 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? To pick up Iñaki's addition: it should obviously be used for UDP only. Cheers, Thomas -- mail: [email protected] web: http://thomas.gelf.net/ _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
