<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi <br>
    <br>
    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:<br>
    <a class="moz-txt-link-freetext" href="http://sip-router.org/wiki/tutorials/alias-example">http://sip-router.org/wiki/tutorials/alias-example</a><br>
    where it says:<br>
    <br>
    "The benefits of using add_contact_alias() and handle_ruri_alias()
    functions instead of conventional NAT traversal solutions are:
    <ul>
      <li class="level1">
        <div class="li"> Request-<acronym title="Uniform Resource
            Identifier">URI</acronym> in requests to UAs behind NATs is
          always what UAs expect</div>
      </li>
      <li class="level1">
        <div class="li"> Re-use of tcp/tls sessions between proxy and
          UAs</div>
      </li>
    </ul>
    "<br>
    I assumed the 'conventional NAT traversal solution' here means
    fix_nated_contact?<br>
    <br>
    I understand the first point, in that the R-URI always contains what
    the client puts in the contact hf. <br>
    <br>
    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.<br>
    <br>
    Thank you very much!<br>
    <br>
    Yufei<br>
  </body>
</html>