On 16.03.2012 17:14, yufei.tao wrote:
Hi
I have been using fix_nated_register/fix_nated_contact for NAT traversal and all worked fine. I've come across add_contact_alias and handle_ruri_alias: http://sip-router.org/wiki/tutorials/alias-example where it says:
"The benefits of using add_contact_alias() and handle_ruri_alias() functions instead of conventional NAT traversal solutions are:
- Request-URI in requests to UAs behind NATs is always what UAs expect
- Re-use of tcp/tls sessions between proxy and UAs
" I assumed the 'conventional NAT traversal solution' here means fix_nated_contact?
yes
I understand the first point, in that the R-URI always contains what the client puts in the contact hf.
yes
But for the second point, about tcp/tls reuse, does fix_nated_contact do the same trick, or does add_contact_alias and handle_ruri_alias give you more benefit over fix_nated_contact? So far I feel they achieve the same thing but would like this confirmed/corrected.
They achieve both the same. I don't remember the problems anymore which caused add_contact_alias() to be implemented. IIRC I think it was that some clients did not put "transport=tcp" into the Contact header and thus the fix_anted_contact missed the transport - add_contact_alias always adds the transport protocol. But that is just a guess, I may be wrong.
klaus