<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-9">
<META content="MSHTML 6.00.2900.2627" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Another boring may be interesting BUG or what 
else,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>SER, PSTN Gateway are on Public IP and and i've 
registered two ATA's with SER, both ATA's are connected through ADSL Gateways 
but Port Forwarding is done so they can call each other without problem and they 
can talk each other for a long time, when i do a route plan for number beginning 
with 0 which is directed to PSTN Gateway, the landline rings and when the callee 
party answers the phone the system locks up, the caller party (where ATA is) 's 
internet disconnects and i have to reset modem manually.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Any Ideas ?</FONT></DIV>
<DIV><FONT face=Arial size=2>Ozan </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;0(10163) DEBUG: init_mod_child (0): 
tm<BR>&nbsp;0(10163) DEBUG: callid: <A 
href="mailto:'5ffafd9b-10163@127.0.0.1'">'5ffafd9b-10163@127.0.0.1'</A><BR>&nbsp;0(10163) 
DEBUG: init_mod_child (0): usrloc<BR>&nbsp;6(10169) SIP 
Request:<BR>&nbsp;6(10169)&nbsp; method:&nbsp; 
&lt;REGISTER&gt;<BR>&nbsp;6(10169)&nbsp; uri:&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;sip:212.154.104.198:5060&gt;<BR>&nbsp;6(10169)&nbsp; version: 
&lt;SIP/2.0&gt;<BR>&nbsp;6(10169) parse_headers: flags=1<BR>&nbsp;6(10169) Found 
param type 232, &lt;branch&gt; = &lt;z9hG4bK11732b745417decb&gt;; 
state=16<BR>&nbsp;6(10169) end of header reached, state=5<BR>&nbsp;6(10169) 
parse_headers: Via found, flags=1<BR>&nbsp;6(10169) parse_headers: this is the 
first via<BR>&nbsp;6(10169) After parse_msg...<BR>&nbsp;6(10169) preparing to 
run routing scripts...<BR>&nbsp;6(10169) parse_headers: 
flags=128<BR>&nbsp;6(10169) DEBUG:maxfwd:is_maxfwd_present: value = 
70<BR>&nbsp;6(10169) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 
16<BR>&nbsp;6(10169) parse_headers: flags=256<BR>&nbsp;6(10169) end of header 
reached, state=9<BR>&nbsp;6(10169) DEBUG: get_hdr_field: &lt;To&gt; [34]; 
uri=[sip:8334843600@212.154.104.198]<BR>&nbsp;6(10169) DEBUG: to body 
[&lt;sip:8334843600@212.154.104.198&gt;<BR>]<BR>&nbsp;6(10169) get_hdr_field: 
cseq &lt;CSeq&gt;: &lt;194&gt; &lt;REGISTER&gt;<BR>&nbsp;6(10169) DEBUG: 
get_hdr_body : content_length=0<BR>&nbsp;6(10169) found end of 
header<BR>&nbsp;6(10169) find_first_route: No Route headers 
found<BR>&nbsp;6(10169) loose_route: There is no Route HF<BR>&nbsp;6(10169) 
grep_sock_info - checking if host==us: 15==9 &amp;&amp;&nbsp; [212.154.104.198] 
== [127.0.0.1]<BR>&nbsp;6(10169) grep_sock_info - checking if port 5060 matches 
port 5060<BR>&nbsp;6(10169) grep_sock_info - checking if host==us: 15==15 
&amp;&amp;&nbsp; [212.154.104.198] == [212.154.104.198]<BR>&nbsp;6(10169) 
grep_sock_info - checking if port 5060 matches port 5060<BR>&nbsp;6(10169) 
grep_sock_info - checking if host==us: 15==9 &amp;&amp;&nbsp; [212.154.104.198] 
== [127.0.0.1]<BR>&nbsp;6(10169) grep_sock_info - checking if port 5060 matches 
port 5060<BR>&nbsp;6(10169) grep_sock_info - checking if host==us: 15==15 
&amp;&amp;&nbsp; [212.154.104.198] == [212.154.104.198]<BR>&nbsp;6(10169) 
grep_sock_info - checking if port 5060 matches port 5060<BR>&nbsp;6(10169) 
parse_headers: flags=-1<BR>&nbsp;6(10169) parse_headers: 
flags=33554432<BR>&nbsp;6(10169) build_contact(): Created Contact HF: Contact: 
&lt;sip:8334843600@85.96.192.140:5060&gt;;expires=60</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;6(10169) parse_headers: 
flags=-1<BR>&nbsp;6(10169) check_via_address(85.96.192.140, 85.96.192.140, 
0)<BR>&nbsp;6(10169) DEBUG:destroy_avp_list: destroying list 
(nil)<BR>&nbsp;6(10169) receive_msg: cleaning up<BR>&nbsp;8(10171) SIP 
Request:<BR>&nbsp;8(10171)&nbsp; method:&nbsp; 
&lt;INVITE&gt;<BR>&nbsp;8(10171)&nbsp; uri:&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;sip:02324843600@212.154.104.198&gt;<BR>&nbsp;8(10171)&nbsp; version: 
&lt;SIP/2.0&gt;<BR>&nbsp;8(10171) parse_headers: flags=1<BR>&nbsp;8(10171) Found 
param type 232, &lt;branch&gt; = &lt;z9hG4bK24ce735d3f448cd1&gt;; 
state=16<BR>&nbsp;8(10171) end of header reached, state=5<BR>&nbsp;8(10171) 
parse_headers: Via found, flags=1<BR>&nbsp;8(10171) parse_headers: this is the 
first via<BR>&nbsp;8(10171) After parse_msg...<BR>&nbsp;8(10171) preparing to 
run routing scripts...<BR>&nbsp;8(10171) parse_headers: 
flags=128<BR>&nbsp;8(10171) DEBUG:maxfwd:is_maxfwd_present: value = 
70<BR>&nbsp;8(10171) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 
16<BR>&nbsp;8(10171) parse_headers: flags=8<BR>&nbsp;8(10171) end of header 
reached, state=9<BR>&nbsp;8(10171) DEBUG: get_hdr_field: &lt;To&gt; [35]; 
uri=[sip:02324843600@212.154.104.198]<BR>&nbsp;8(10171) DEBUG: to body 
[&lt;sip:02324843600@212.154.104.198&gt;<BR>]<BR>&nbsp;8(10171) DEBUG: 
add_param: tag=xIjNwUDMxID<BR>&nbsp;8(10171) end of header reached, 
state=29<BR>&nbsp;8(10171) parse_headers: flags=256<BR>&nbsp;8(10171) 
get_hdr_field: cseq &lt;CSeq&gt;: &lt;1&gt; &lt;INVITE&gt;<BR>&nbsp;8(10171) 
DEBUG: get_hdr_body : content_length=190<BR>&nbsp;8(10171) found end of 
header<BR>&nbsp;8(10171) find_first_route: No Route headers 
found<BR>&nbsp;8(10171) loose_route: There is no Route HF<BR>&nbsp;8(10171) 
grep_sock_info - checking if host==us: 15==9 &amp;&amp;&nbsp; [212.154.104.198] 
== [127.0.0.1]<BR>&nbsp;8(10171) grep_sock_info - checking if port 5060 matches 
port 5060<BR>&nbsp;8(10171) grep_sock_info - checking if host==us: 15==15 
&amp;&amp;&nbsp; [212.154.104.198] == [212.154.104.198]<BR>&nbsp;8(10171) 
grep_sock_info - checking if port 5060 matches port 5060<BR>&nbsp;8(10171) 
grep_sock_info - checking if host==us: 15==9 &amp;&amp;&nbsp; [212.154.104.198] 
== [127.0.0.1]<BR>&nbsp;8(10171) grep_sock_info - checking if port 5060 matches 
port 5060<BR>&nbsp;8(10171) grep_sock_info - checking if host==us: 15==15 
&amp;&amp;&nbsp; [212.154.104.198] == [212.154.104.198]<BR>&nbsp;8(10171) 
grep_sock_info - checking if port 5060 matches port 5060<BR>&nbsp;8(10171) 
lookup(): '02324843600' Not found in usrloc<BR>&nbsp;8(10171) grep_sock_info - 
checking if host==us: 15==9 &amp;&amp;&nbsp; [212.154.104.198] == 
[127.0.0.1]<BR>&nbsp;8(10171) grep_sock_info - checking if port 5060 matches 
port 5060<BR>&nbsp;8(10171) grep_sock_info - checking if host==us: 15==15 
&amp;&amp;&nbsp; [212.154.104.198] == [212.154.104.198]<BR>&nbsp;8(10171) 
grep_sock_info - checking if port 5060 matches port 5060<BR>&nbsp;8(10171) 
DEBUG: t_newtran: msg id=1 , global msg id=0 , T on 
entrance=0xffffffff<BR>&nbsp;8(10171) parse_headers: flags=-1<BR>&nbsp;8(10171) 
parse_headers: flags=60<BR>&nbsp;8(10171) t_lookup_request: start searching: 
hash=15098, isACK=0<BR>&nbsp;8(10171) DEBUG: RFC3261 transaction matching 
failed<BR>&nbsp;8(10171) DEBUG: t_lookup_request: no transaction 
found<BR>&nbsp;8(10171) SER: new INVITE<BR>&nbsp;8(10171) parse_headers: 
flags=-1<BR>&nbsp;8(10171) check_via_address(85.96.192.140, 85.96.192.140, 
0)<BR>&nbsp;8(10171) WARNING:vqm_resize: resize(0) called<BR>&nbsp;8(10171) 
DEBUG: reply sent out. buf=0x80fbde0: SIP/2.0 1..., shmem=0xf50c6938: SIP/2.0 
1<BR>&nbsp;8(10171) DEBUG: _reply_light: finished<BR>&nbsp;8(10171) DEBUG: 
mk_proxy: doing DNS lookup...<BR>&nbsp;8(10171) check_via_address(85.96.192.140, 
85.96.192.140, 0)<BR>&nbsp;8(10171) DEBUG: add_to_tail_of_timer[4]: 
0xf50c549c<BR>&nbsp;8(10171) DEBUG: add_to_tail_of_timer[0]: 
0xf50c54ac<BR>&nbsp;8(10171) SER: new transaction fwd'ed<BR>&nbsp;8(10171) 
DEBUG:destroy_avp_list: destroying list (nil)<BR>&nbsp;8(10171) receive_msg: 
cleaning up<BR>&nbsp;7(10170) SIP Reply&nbsp; (status):<BR>&nbsp;7(10170)&nbsp; 
version: &lt;SIP/2.0&gt;<BR>&nbsp;7(10170)&nbsp; status:&nbsp; 
&lt;100&gt;<BR>&nbsp;7(10170)&nbsp; reason:&nbsp; 
&lt;Trying&gt;<BR>&nbsp;7(10170) parse_headers: flags=1<BR>&nbsp;7(10170) Found 
param type 232, &lt;branch&gt; = &lt;z9hG4bKafa3.e5774111.0&gt;; 
state=16<BR>&nbsp;7(10170) end of header reached, state=5<BR>&nbsp;7(10170) 
parse_headers: Via found, flags=1<BR>&nbsp;7(10170) parse_headers: this is the 
first via<BR>&nbsp;7(10170) After parse_msg...<BR>&nbsp;7(10170) forward_reply: 
found module tm, passing reply to it<BR>&nbsp;7(10170) DEBUG: t_check: msg id=1 
global id=0 T start=0xffffffff<BR>&nbsp;7(10170) parse_headers: 
flags=17<BR>&nbsp;7(10170) Found param type 232, &lt;branch&gt; = 
&lt;z9hG4bK24ce735d3f448cd1&gt;; state=16<BR>&nbsp;7(10170) end of header 
reached, state=5<BR>&nbsp;7(10170) parse_headers: Via found, 
flags=17<BR>&nbsp;7(10170) parse_headers: this is the second 
via<BR>&nbsp;7(10170) DEBUG: add_param: 
tag=366843004674ff10ff0000ffffffff1e<BR>&nbsp;7(10170) end of header reached, 
state=29<BR>&nbsp;7(10170) DEBUG: get_hdr_field: &lt;To&gt; [72]; 
uri=[sip:02324843600@212.154.104.198]<BR>&nbsp;7(10170) DEBUG: to body 
[&lt;sip:02324843600@212.154.104.198&gt;]<BR>&nbsp;7(10170) get_hdr_field: cseq 
&lt;CSeq&gt;: &lt;1&gt; &lt;INVITE&gt;<BR>&nbsp;7(10170) parse_headers: 
flags=4<BR>&nbsp;7(10170) DEBUG: t_reply_matching: hash 15098 label 286553950 
branch 0<BR>&nbsp;7(10170) DEBUG: t_reply_matching: reply matched 
(T=0xf50c5380)!<BR>&nbsp;7(10170) DEBUG: t_check: msg id=1 global id=1 T 
end=0xf50c5380<BR>&nbsp;7(10170) DEBUG: reply_received: org. status uas=100, 
uac[0]=0 local=0 is_invite=1)<BR>&nbsp;7(10170) 
-&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; T_code=100, new_code=100<BR>&nbsp;7(10170) 
DEBUG: relay_reply: branch=0, save=0, relay=-1<BR>&nbsp;7(10170) DEBUG: 
add_to_tail_of_timer[1]: 0xf50c54ac<BR>&nbsp;7(10170) DEBUG:destroy_avp_list: 
destroying list (nil)<BR>&nbsp;7(10170) receive_msg: cleaning up<BR>10(10173) 
DEBUG: timer routine:4,tl=0xf50c549c next=(nil)<BR>&nbsp;8(10171) SIP 
Reply&nbsp; (status):<BR>&nbsp;8(10171)&nbsp; version: 
&lt;SIP/2.0&gt;<BR>&nbsp;8(10171)&nbsp; status:&nbsp; 
&lt;180&gt;<BR>&nbsp;8(10171)&nbsp; reason:&nbsp; 
&lt;Ringing&gt;<BR>&nbsp;8(10171) parse_headers: flags=1<BR>&nbsp;8(10171) Found 
param type 232, &lt;branch&gt; = &lt;z9hG4bKafa3.e5774111.0&gt;; 
state=16<BR>&nbsp;8(10171) end of header reached, state=5<BR>&nbsp;8(10171) 
parse_headers: Via found, flags=1<BR>&nbsp;8(10171) parse_headers: this is the 
first via<BR>&nbsp;8(10171) After parse_msg...<BR>&nbsp;8(10171) forward_reply: 
found module tm, passing reply to it<BR>&nbsp;8(10171) DEBUG: t_check: msg id=2 
global id=1 T start=0xffffffff<BR>&nbsp;8(10171) parse_headers: 
flags=17<BR>&nbsp;8(10171) Found param type 232, &lt;branch&gt; = 
&lt;z9hG4bK24ce735d3f448cd1&gt;; state=16<BR>&nbsp;8(10171) end of header 
reached, state=5<BR>&nbsp;8(10171) parse_headers: Via found, 
flags=17<BR>&nbsp;8(10171) parse_headers: this is the second 
via<BR>&nbsp;8(10171) DEBUG: add_param: 
tag=366843004674ff10ff0000ffffffff1e<BR>&nbsp;8(10171) end of header reached, 
state=29<BR>&nbsp;8(10171) DEBUG: get_hdr_field: &lt;To&gt; [72]; 
uri=[sip:02324843600@212.154.104.198]<BR>&nbsp;8(10171) DEBUG: to body 
[&lt;sip:02324843600@212.154.104.198&gt;]<BR>&nbsp;8(10171) get_hdr_field: cseq 
&lt;CSeq&gt;: &lt;1&gt; &lt;INVITE&gt;<BR>&nbsp;8(10171) parse_headers: 
flags=4<BR>&nbsp;8(10171) DEBUG: t_reply_matching: hash 15098 label 286553950 
branch 0<BR>&nbsp;8(10171) DEBUG: t_reply_matching: reply matched 
(T=0xf50c5380)!<BR>&nbsp;8(10171) DEBUG: t_check: msg id=2 global id=2 T 
end=0xf50c5380<BR>&nbsp;8(10171) DEBUG: reply_received: org. status uas=100, 
uac[0]=100 local=0 is_invite=1)<BR>&nbsp;8(10171) 
-&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; T_code=100, new_code=180<BR>&nbsp;8(10171) 
DEBUG: relay_reply: branch=0, save=0, relay=0<BR>&nbsp;8(10171)&nbsp; old size: 
518, new size: 449<BR>&nbsp;8(10171) build_res_from_sip_res: copied size: 
orig:90, new: 21, rest: 428 msg=<BR>SIP/2.0 180 Ringing<BR>Via: SIP/2.0/UDP 
85.96.192.140:5060;branch=z9hG4bK24ce735d3f448cd1<BR>Record-Route: 
&lt;sip:212.154.104.198;ftag=xIjNwUDMxID;lr=on&gt;<BR>From: 
&lt;sip:8334843600@212.154.104.198;user=phone&gt;;tag=xIjNwUDMxID<BR>To: 
&lt;sip:02324843600@212.154.104.198&gt;;tag=366843004674ff10ff0000ffffffff1e<BR>Call-ID: 
<A 
href="mailto:709D1B912DA1212@192.168.1.201">709D1B912DA1212@192.168.1.201</A><BR>CSeq: 
1 INVITE<BR>Contact: &lt;sip:02324843600@212.154.59.48;user=phone&gt;<BR>Server: 
MERA MSIP v.1.0.1<BR>Content-Length: 0</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV><FONT face=Arial size=2>
<DIV><BR>&nbsp;8(10171) DEBUG: reply relayed. buf=0x80fb9d8: SIP/2.0 1..., 
shmem=0xf50c6938: SIP/2.0 1<BR>&nbsp;8(10171) DEBUG: add_to_tail_of_timer[1]: 
0xf50c54ac<BR>&nbsp;8(10171) DEBUG:destroy_avp_list: destroying list 
(nil)<BR>&nbsp;8(10171) receive_msg: cleaning up</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;&gt;&gt;&gt; internet connection get lost after above lines and below 
is SER.CFG &lt;&lt;&lt;&lt;&lt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>#<BR># $Id: openser.cfg,v 1.1.1.1 2005/06/13 16:47:30 bogdan_iancu Exp 
$<BR>#<BR># simple quick-start config script<BR>#</DIV>
<DIV>&nbsp;</DIV>
<DIV># ----------- global configuration parameters 
------------------------</DIV>
<DIV>&nbsp;</DIV>
<DIV>#debug=3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug level (cmd 
line: 
-dddddddddd)<BR>fork=yes<BR>#log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
# (cmd line: -E)</DIV>
<DIV>&nbsp;</DIV>
<DIV>alias=localhost<BR>alias=127.0.0.1<BR>alias=212.154.104.198<BR>check_via=no&nbsp;&nbsp;&nbsp; 
# (cmd. line: 
-v)<BR>dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
(cmd. line: -r)<BR>rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: 
-R)<BR>port=5060<BR>children=4<BR>fifo="/tmp/openser_fifo"</DIV>
<DIV>&nbsp;</DIV>
<DIV># ------------------ module loading 
----------------------------------</DIV>
<DIV>&nbsp;</DIV>
<DIV># Uncomment this if you want to use SQL database<BR>#loadmodule 
"/usr/local/lib/ser/modules/mysql.so"</DIV>
<DIV>&nbsp;</DIV>
<DIV>loadmodule "/usr/lib/openser/modules/sl.so"<BR>loadmodule 
"/usr/lib/openser/modules/tm.so"<BR>loadmodule 
"/usr/lib/openser/modules/rr.so"<BR>loadmodule 
"/usr/lib/openser/modules/maxfwd.so"<BR>loadmodule 
"/usr/lib/openser/modules/usrloc.so"<BR>loadmodule 
"/usr/lib/openser/modules/registrar.so"<BR>loadmodule 
"/usr/lib/openser/modules/textops.so"</DIV>
<DIV>&nbsp;</DIV>
<DIV># Uncomment this if you want digest authentication<BR># mysql.so must be 
loaded !<BR>#loadmodule "/usr/lib/openser/modules/auth.so"<BR>#loadmodule 
"/usr/lib/openser/modules/auth_db.so"</DIV>
<DIV>&nbsp;</DIV>
<DIV># ----------------- setting module-specific parameters 
---------------</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- usrloc params --</DIV>
<DIV>&nbsp;</DIV>
<DIV>modparam("usrloc", "db_mode",&nbsp;&nbsp; 0)</DIV>
<DIV>&nbsp;</DIV>
<DIV># Uncomment this if you want to use SQL database<BR># for persistent 
storage and comment the previous line<BR>#modparam("usrloc", "db_mode", 2)</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- auth params --<BR># Uncomment if you are using auth 
module<BR>#<BR>#modparam("auth_db", "calculate_ha1", yes)<BR>#<BR># If you set 
"calculate_ha1" parameter to yes (which true in this config),<BR># uncomment 
also the following parameter)<BR>#<BR>#modparam("auth_db", "password_column", 
"password")</DIV>
<DIV>&nbsp;</DIV>
<DIV># -- rr params --<BR># add value to ;lr param to make some broken UAs 
happy<BR>modparam("rr", "enable_full_lr", 1)</DIV>
<DIV>&nbsp;</DIV>
<DIV>alias=212.154.104.198<BR>alias=localhost<BR>alias=127.0.0.1</DIV>
<DIV>&nbsp;</DIV>
<DIV># -------------------------&nbsp; request routing logic 
-------------------</DIV>
<DIV>&nbsp;</DIV>
<DIV># main routing logic</DIV>
<DIV>&nbsp;</DIV>
<DIV>route{</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # initial sanity checks -- 
messages with<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # max_forwards==0, 
or excessively long requests<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
(!mf_process_maxfwd_header("10")) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
sl_send_reply("483","Too Many 
Hops");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (msg:len &gt;=&nbsp; 2048 ) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
sl_send_reply("513", "Message too 
big");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # we record-route all 
messages -- to make sure that<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
subsequent messages will go through our proxy; 
that's<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # particularly good if 
upstream and downstream entities<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 
use different transport protocol<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (!method=="REGISTER") record_route();</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # subsequent messages withing a 
dialog should take the<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # path 
determined by record-routing<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
(loose_route()) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
# mark routing logic in 
request<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
append_hf("P-hint: 
rr-enforced\r\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
route(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!uri==myself) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
# mark routing logic in 
request<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
append_hf("P-hint: 
outbound\r\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
route(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # if the request is for other 
domain use UsrLoc<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (in case, it 
does not work, use the following 
command<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # with proper names and 
addresses in it)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (uri==myself) 
{</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (method=="REGISTER") {</DIV>
<DIV>&nbsp;</DIV>
<DIV># Uncomment this if you want to use digest 
authentication<BR>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (!www_authorize("openser.org", "subscriber")) 
{<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;&nbsp;&nbsp; 
www_challenge("openser.org", 
"0");<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;&nbsp;&nbsp; 
break;<BR>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
save("location");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
lookup("aliases");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (!uri==myself) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
append_hf("P-hint: outbound 
alias\r\n");<BR>&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);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (uri=~"^sip:0[0-9]*@*") 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
rewritehost("212.154.59.48");<BR>&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);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
# native SIP destinations are handled using our USRLOC 
DB<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if (!lookup("location")) 
{<BR>&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("404", "Not 
Found");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; append_hf("P-hint: usrloc 
applied\r\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
route(1);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>route[1]<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # send it out 
now; use stateful forwarding as it works 
reliably<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # even for 
UDP2TCP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!t_relay()) 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
sl_reply_error();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
};<BR>}</FONT></DIV></BODY></HTML>