<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Via RPORT for CANCEL message.</TITLE>

<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=172562819-18082006>Hello 
list.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=172562819-18082006>&nbsp;&nbsp;&nbsp; Can anyone give me somo hints 
here?</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=172562819-18082006>&nbsp;&nbsp;&nbsp; Is mi solution correct or maybe i'm 
missing something important in the configuration?</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=172562819-18082006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=172562819-18082006>Thanks!</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=172562819-18082006>Regards,</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=172562819-18082006>Ricardo Martinez</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=172562819-18082006>RedVoiss</SPAN></FONT></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Mensaje original-----<BR><B>De:</B> 
  serusers-bounces@lists.iptel.org 
  [mailto:serusers-bounces@lists.iptel.org]<B>En nombre de </B>Ricardo 
  Martinez<BR><B>Enviado el:</B> jueves, 17 de agosto de 2006 
  10:50<BR><B>Para:</B> greger@teigre.com<BR><B>CC:</B> 
  serusers@iptel.org<BR><B>Asunto:</B> RV: [Serusers] Via RPORT for CANCEL 
  message.<BR><BR></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006>Hello Greger and thanks for your 
  answer</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006>&nbsp;&nbsp;&nbsp; I tested sending the CANCEL to 
  route(3), and it seems to be working ok now.&nbsp; But now i'm facing another 
  problem.&nbsp; The OK message for the BYE seems not to be routed back to the 
  NAT'd port, instead is routed to the default port.&nbsp; Please check the file 
  attached (BYE_debug.TXT).</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=315190214-17082006>As 
  i&nbsp; pointed in my first post, the calling endpoint is NAT'd.&nbsp; 
  Following the BYE sequence seems to be right, it hits the 
  loose_route&nbsp;section and then the route(1), but since the BYE does not 
  contain the rport parameter in the VIA header the OK&nbsp;is routed 
  back&nbsp;to the port advertised in the VIA header. (5061) and not to the 
  received port.</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006>Maybe i'm doing something wrong?.</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=315190214-17082006>I 
  tested a new solution, but i don't know if is correct or is according to the 
  ONSIP document.</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=315190214-17082006>I 
  added a client_nat_test("3") in the Call Tear Down 
  Section-</SPAN></FONT></DIV><FONT face=Tahoma>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT size=2><SPAN class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT size=2><SPAN class=315190214-17082006><FONT size=3>.......... 
  <BR><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  -----------------------------------------------------------------</FONT> 
  <BR><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  Record Route Section</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  -----------------------------------------------------------------</FONT> 
  <BR><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
  (method=="INVITE" &amp;&amp; client_nat_test("3")) {</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  # INSERT YOUR IP ADDRESS HERE</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  record_route_preset("200.100.100.246:5060;nat=yes");</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if 
  (method!="REGISTER") {</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  record_route();</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</FONT> 
  </FONT>
  <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  -----------------------------------------------------------------</FONT> 
  <BR><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  Call Tear Down Section</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  -----------------------------------------------------------------</FONT> 
  <BR><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
  (m</FONT><FONT face="Times New Roman">ethod=="BYE" || method=="CANCEL") 
  {</FONT></P>
  <P><STRONG><SPAN class=315190214-17082006><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  if (client_nat_test("3")) 
  {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  force_rport();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  xlog("L_INFO", "[%rm] - From:%fu ; To:%ru ; Call-ID:%ci ; Desde:%is\n - FORCE 
  RPORT 
  ON");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  };</FONT></SPAN><BR></STRONG><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  end_media_session();</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  setflag(1);</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</FONT> 
  </P>
  <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  -----------------------------------------------------------------</FONT> 
  <BR><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  Loose Route Section</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
  -----------------------------------------------------------------</FONT> 
  <BR><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
  (loose_route()) {</FONT> </P>
  <P><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  if (has_totag() &amp;&amp; (method=="INVITE" || method=="ACK")) {</FONT> </P>
  <P><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  if (client_nat_test("3")||search("^Route:.*;nat=yes")){</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  setflag(6);</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  use_media_proxy();</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  };</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  };</FONT> </P>
  <P><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  route(1);</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  break;</FONT> <BR><FONT 
  face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</FONT> 
  </P></SPAN></FONT></DIV>
  <DIV><FONT size=2><SPAN class=315190214-17082006>.......</SPAN></FONT></DIV>
  <DIV><FONT size=2><SPAN class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=315190214-17082006>Hope 
  that someone could help me here.</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006>Thanks</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006>Regards,</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=315190214-17082006>Ricardo Martinez.-</SPAN></FONT></DIV>
  <DIV><FONT size=2><SPAN class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT size=2><SPAN class=315190214-17082006></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT size=2><SPAN class=315190214-17082006>&nbsp;</SPAN>-----Mensaje 
  original-----<BR><B>De:</B> Greger V. Teigre 
  [mailto:greger@teigre.com]<BR><B>Enviado el:</B> jueves, 17 de agosto de 2006 
  4:05<BR><B>Para:</B> Ricardo Martinez<BR><B>CC:</B> 
  serusers@iptel.org<BR><B>Asunto:</B> Re: [Serusers] Via RPORT for CANCEL 
  message.<BR><BR></DIV></FONT></FONT>
  <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">Having a quick look, you may 
    have found a bug in the ONsip.org scripts. A CANCEL is not loose routed (a 
    dialog has not yet been set up) and must be handled the same way as an 
    INVITE, i.e. the only way to find the route for CANCEL is to route the 
    CANCEL the same way you routed the INVITE.&nbsp; However, it seems that you 
    have somehow has done that, as your domain has changed to @gw. in the CANCEL 
    doing downstream (i.e. forwarded by your SER).<BR><BR>So, CANCEL should be 
    sent to route(3), the INVITE handler and not route(1).&nbsp; I'm quite sure 
    this was correct in a previous version, we even had some discussions around 
    how to handle it and how to describe it, but it seems that something has 
    happened along the way.<BR>g-)<BR><BR>Ricardo Martinez wrote: 
    <BLOCKQUOTE 
    cite=midC92D4A34C6B8FC44A10451D881EE1BE71AB807@marantz.magenta.local 
    type="cite">
      <META content="MS Exchange Server version 6.5.7650.15" name=Generator><!-- Converted from text/rtf format -->
      <P><FONT face="Times New Roman">Hello.<BR>My main configuration is based 
      on the ser.cfg from the issue 5 plus some modifications included by 
      me.&nbsp; Beside that i'm using </FONT></P>
      <P><FONT face="Times New Roman">version: ser 0.9.3 (i386/linux)</FONT> 
      <BR><FONT face="Times New Roman">flags: STATS: Off, USE_IPV6, USE_TCP, 
      DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, 
      FAST_LOCK-ADAPTIVE_WAIT</FONT></P>
      <P><FONT face="Times New Roman">ADAPTIVE_WAIT_LOOPS=1024, 
      MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 
      65535</FONT> <BR><FONT face="Times New Roman">@(#) $Id: main.c,v 1.197 
      2004/12/03 19:09:31 andrei Exp $</FONT> <BR><FONT 
      face="Times New Roman">main.c compiled on 11:03:37 Dec 22 2005 with gcc 
      3.2</FONT> <BR><BR><FONT face="Times New Roman">I have a question 
      regarding to sending a CANCEL message for an INVITE from a NAT'd endpoint. 
      As far as i know the force_rport() command adds the received IP port to 
      the top most via header in the SIP message, this enables subsequent SIP 
      message to return to the proper port later on in a SIP transaction. My 
      problem is that for a CANCEL message coming from a NAT'd endpoint this 
      command seems not to be working. This is the scenario.<BR><BR>NAT'd 
      endpoint : 200.100.100.248<BR>SER : 200.100.100.246<BR>SER-2 : 
      200.100.100.36<BR>GW : 200.100.100.69<BR><BR>The NAT'd endpoint send an 
      INVITE to the proxy, but then in the middle of the transaction decide to 
      CANCEL the request.<BR><BR>As you can see in the "cancel_debug.txt" file 
      included on this mail, the CANCEL message does not contain the "rport" in 
      the Via header, so it seems to be routed back to the default sip port 
      (5060). Is there a way to force the rport in a CANCEL? for a enpoint 
      unable to put the rport by itself?<BR>I want to do this according to the 
      onsip document, in a compatible way.. </FONT><BR><FONT 
      face="Times New Roman">Anyway i made a little test including a 
      force_rport(); in the CANCEL handler<BR></FONT><BR><FONT 
      face="Times New Roman">..........</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
      -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Record 
      Route Section</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
      -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
      (method=="INVITE" &amp;&amp; client_nat_test("3")) {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      # INSERT YOUR IP ADDRESS HERE</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      record_route_preset("200.100.100.246:5060;nat=yes");</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else 
      if (method!="REGISTER") {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      record_route();</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      # -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Call 
      Tear Down Section</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
      -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
      (method=="BYE" || method=="CANCEL") {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      end_media_session();</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      setflag(1);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      # -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Loose 
      Route Section</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
      -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
      (loose_route()) {</FONT> </P>
      <P><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (has_totag() &amp;&amp; (method=="INVITE" || method=="ACK")) {</FONT> 
      </P>
      <P><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (client_nat_test("3")||search("^Route:.*;nat=yes")){</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      setflag(6);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      use_media_proxy();</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(1);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      # -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Call 
      Type Processing Section</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
      -----------------------------------------------------------------</FONT> 
      <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
      (!is_uri_host_local()) {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (is_from_local() || allow_trusted()) {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(4);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(1);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      } else {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      sl_send_reply("403", "Forbidden");</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><B><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
      (method=="CANCEL") {</FONT></B> <BR><B><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      force_rport();</FONT></B> <BR><B><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(1);</FONT></B> <BR><B><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT></B> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else 
      if (method=="INVITE") {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(3);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
      else&nbsp; if (method=="REGISTER") {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(2);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else 
      if (method=="ACK") {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(1);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      lookup("aliases");</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
      (uri!=myself) {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(4);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(1);</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      if (!lookup("location")) {</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      sl_send_reply("404", "User Not Found");</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;</FONT> <BR><FONT 
      face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      };</FONT> </P>
      <P><FONT face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      route(1);</FONT> </P>
      <P><FONT face="Times New Roman">this solve my problem but it seems not to 
      be so accurate.</FONT> <BR><FONT face="Times New Roman">I hope that 
      someone can help me<BR>Thanks!<BR>Ricardo Martinez.-</FONT> 
  </P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>