<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7232.91">
<TITLE>483 Too Many Hops</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Hi,</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I'm working on a project and i'm using ser as a sip server and webser as it's web interface.</FONT>

<BR><FONT SIZE=2 FACE="Arial">actually i have this problem: every time i send an instant message to a subscriber i get this error message:</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">483 too many hops</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">i tried to fix it but i couldn't and i don't know what to do !</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">if any one can help me i'll be very grateful</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">thank you in advance</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">samer</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">i'm using ser 0.9.3 &amp; here's my code: </FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=2 FACE="Courier New">#</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># $Id: ser.cfg,v 1.25.2.1 2005/02/18 14:30:44 andrei Exp $</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># simple quick-start config script</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># ----------- global configuration parameters ------------------------</FONT>

<BR><FONT SIZE=2 FACE="Courier New">debug=3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug level (cmd line: -dddddddddd)</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#fork=yes</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd line: -E)</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># Uncomment these lines to enter debugging mode </FONT>

<BR><FONT SIZE=2 FACE="Courier New">#fork=no</FONT>

<BR><FONT SIZE=2 FACE="Courier New">log_stderror=yes</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Courier New">check_via=no&nbsp;&nbsp;&nbsp; # (cmd. line: -v)</FONT>

<BR><FONT SIZE=2 FACE="Courier New">dns=yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -r)</FONT>

<BR><FONT SIZE=2 FACE="Courier New">rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -R)</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#port=5060</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#children=4</FONT>

<BR><FONT SIZE=2 FACE="Courier New">fifo=&quot;/tmp/ser_fifo&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">fifo_mode=0666</FONT>

<BR><FONT SIZE=2 FACE="Courier New">fifo_db_url=&quot;mysql://ser:password@localhost/ser&quot;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">alias=domain.com</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># ------------------ module loading ----------------------------------</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># Uncomment this if you want to use SQL database</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/mysql.so&quot;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/sl.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/tm.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/rr.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/maxfwd.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/usrloc.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/registrar.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/textops.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/pa.so&quot;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># Uncomment this if you want digest authentication</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># mysql.so must be loaded !</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/auth.so&quot;</FONT>

<BR><FONT SIZE=2 FACE="Courier New">loadmodule &quot;/usr/lib/ser/modules/auth_db.so&quot;</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># ----------------- setting module-specific parameters ---------------</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># -- usrloc params --</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Courier New">modparam(&quot;usrloc&quot;, &quot;db_url&quot;, &quot;mysql://ser:password@localhost/ser&quot;)</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#modparam(&quot;usrloc&quot;, &quot;db_mode&quot;,&nbsp;&nbsp; 0)</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># Uncomment this if you want to use SQL database </FONT>

<BR><FONT SIZE=2 FACE="Courier New"># for persistent storage and comment the previous line</FONT>

<BR><FONT SIZE=2 FACE="Courier New">modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># -- auth params --</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># Uncomment if you are using auth module</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Courier New">modparam(&quot;auth&quot;, &quot;secret&quot;, &quot;123123123&quot;)</FONT>

<BR><FONT SIZE=2 FACE="Courier New">modparam(&quot;auth_db&quot;, &quot;db_url&quot;, &quot;mysql://ser:heslo@localhost/ser&quot;)</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, yes)</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">#</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># If you set &quot;calculate_ha1&quot; parameter to yes (which true in this config), </FONT>

<BR><FONT SIZE=2 FACE="Courier New"># uncomment also the following parameter)</FONT>

<BR><FONT SIZE=2 FACE="Courier New">#</FONT>

<BR><FONT SIZE=2 FACE="Courier New">modparam(&quot;auth_db&quot;, &quot;password_column&quot;, &quot;password&quot;)</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># -- rr params --</FONT>

<BR><FONT SIZE=2 FACE="Courier New"># add value to ;lr param to make some broken UAs happy</FONT>

<BR><FONT SIZE=2 FACE="Courier New">modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># -------------------------&nbsp; request routing logic -------------------</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># main routing logic</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">route{</FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># initial sanity checks -- messages with</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># max_forwards==0, or excessively long requests</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (!mf_process_maxfwd_header(&quot;10&quot;)) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (msg:len &gt;=&nbsp; max_len ) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># we record-route all messages -- to make sure that</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># subsequent messages will go through our proxy; that's</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># particularly good if upstream and downstream entities</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># use different transport protocol</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (!method==&quot;REGISTER&quot;) record_route();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># subsequent messages withing a dialog should take the</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># path determined by record-routing</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (loose_route()) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># mark routing logic in request</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">append_hf(&quot;P-hint: rr-enforced\r\n&quot;); </FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">route(1);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (!uri==myself) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># mark routing logic in request</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">append_hf(&quot;P-hint: outbound\r\n&quot;); </FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">route(1);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># if the request is for other domain use UsrLoc</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># (in case, it does not work, use the following command</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># with proper names and addresses in it)</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (uri==myself) {</FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (method==&quot;REGISTER&quot;) {</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New"># Uncomment this if you want to use digest authentication</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (!www_authorize(&quot;domain.com&quot;, &quot;subscriber&quot;)) {</FONT>

<BR>&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; <FONT SIZE=2 FACE="Courier New">www_challenge(&quot;domain.com&quot;, &quot;0&quot;);</FONT>

<BR>&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; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">save(&quot;location&quot;);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">lookup(&quot;aliases&quot;);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (!uri==myself) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">append_hf(&quot;P-hint: outbound alias\r\n&quot;); </FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">route(1);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>
</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># native SIP destinations are handled using our USRLOC DB</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (!lookup(&quot;location&quot;)) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">break;</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">append_hf(&quot;P-hint: usrloc applied\r\n&quot;); </FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">route(1);</FONT>

<BR><FONT SIZE=2 FACE="Courier New">}</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">route[1] </FONT>

<BR><FONT SIZE=2 FACE="Courier New">{</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># send it out now; use stateful forwarding as it works reliably</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New"># even for UDP2TCP</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">if (!t_relay()) {</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">sl_reply_error();</FONT>

<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT SIZE=2 FACE="Courier New">};</FONT>

<BR><FONT SIZE=2 FACE="Courier New">}</FONT>
</P>
<BR>
<BR>
<BR>
<BR>
<BR>

</BODY>
</HTML>