<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=362174415-07062005><FONT face=Arial
size=2>Whenever I make a call I get these entries in the
log....</FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><FONT face=Arial size=2>Jun 7 17:56:29 ns2 ser[520]: WARNING: script
writer didn't release transaction<BR>Jun 7 17:56:42 ns2 ser[522]: ERROR:
t_get_trans_ident: no transaction found<BR>Jun 7 17:56:42 ns2 ser[522]:
assemble_msg: t_get_trans_ident failed<BR>Jun 7 17:56:42 ns2 ser[522]:
ERROR:tm:t_write_req: Error int assemble_msg<BR>Jun 7 17:56:42 ns2
ser[522]: ERROR: t_reply: cannot send a t_reply to a message for which no
T-state has been established<BR></FONT></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial><FONT size=2><SPAN
class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial><FONT size=2><SPAN
class=493024305-08062005> </SPAN>If the user is online I get connected
properly, if user is offline I get connected to sems. So It seems to be working
after all. But I had this config running for three days then I got a lot of
errors regarding t_newtran and out of memory... and phones lost their
registration.</FONT></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>Also does any have
any idea where to put t_release() to avoid the first WARNING
message...</FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005></SPAN><SPAN class=362174415-07062005><FONT
face=Arial size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>This is my
ser.cfg</FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005></SPAN><SPAN class=362174415-07062005><FONT
face=Arial size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2>debug=3<BR>fork=yes<SPAN class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2>log_stderror=no</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2>listen=212.247.91.237<BR>port=5060 </FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial><SPAN class=362174415-07062005><FONT
size=2>children=4 <BR>alias=sip.serverhallen.com <BR>dns=no <BR>rev_dns=no <SPAN
class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN></FONT></SPAN></FONT></DIV>
<DIV><FONT face=Arial><SPAN class=362174415-07062005><FONT size=2><SPAN
class=493024305-08062005> </SPAN></FONT></SPAN></FONT></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2>fifo_mode=0666 <BR>fifo="/tmp/ser_fifo" <BR>fifo_db_url="mysql://ser:heslo@localhost/ser" </FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>#LADDA IN DE MODULER
VI
BEHÖVER<BR>#----------------------------------------------------------------------------------------------<BR>loadmodule
"/usr/local/lib/ser/modules/mysql.so" #MySQL database support<BR>loadmodule
"/usr/local/lib/ser/modules/sl.so" #Stateless replies<BR>loadmodule
"/usr/local/lib/ser/modules/tm.so" #Transaction
Management<BR>loadmodule "/usr/local/lib/ser/modules/rr.so" #Routing
and Record-Routing<BR>loadmodule
"/usr/local/lib/ser/modules/maxfwd.so" #Max-Forwards check<BR>loadmodule
"/usr/local/lib/ser/modules/usrloc.so" #User location support<BR>loadmodule
"/usr/local/lib/ser/modules/registrar.so" #Registrar<BR>loadmodule
"/usr/local/lib/ser/modules/auth.so" #Common functions for digest
authentication<BR>loadmodule
"/usr/local/lib/ser/modules/auth_db.so" #Database support for digest
authentication<BR>loadmodule
"/usr/local/lib/ser/modules/uri.so" #Various URI checks<BR>loadmodule
"/usr/local/lib/ser/modules/uri_db.so" #URI checking using
DB <BR>loadmodule "/usr/local/lib/ser/modules/mediaproxy.so" #RTP
Mediaproxy for NATed UAs<BR>loadmodule
"/usr/local/lib/ser/modules/nathelper.so" #Functions to handle NAT
traversal<BR>loadmodule "/usr/local/lib/ser/modules/textops.so" #Message
Textual Operations<BR>loadmodule
"/usr/local/lib/ser/modules/avpops.so" #avp operations, pseudo-variable
support<BR>loadmodule "/usr/local/lib/ser/modules/domain.so" #checks if a
host part of an URI is "local" or not.<BR>loadmodule
"/usr/local/lib/ser/modules/permissions.so" #determine if a call has
appropriate permission to be established</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>#VARIABLER FÖR
DATABAS OCH HANTERINGA
AUTENTISIERING<BR>#----------------------------------------------------------------------------------------------<BR>modparam("auth_db|permissions|uri_db|usrloc",
"db_url", "mysql://ser:heslo@localhost/ser")<BR>modparam("auth_db",
"calculate_ha1",
1) <BR>modparam("auth_db",
"password_column", "password") <SPAN
class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT><FONT face=Arial><FONT size=2><SPAN
class=493024305-08062005> </SPAN>modparam("usrloc", "db_mode",
2) <SPAN
class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN></FONT></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT><FONT face=Arial><FONT size=2><SPAN
class=493024305-08062005> </SPAN>modparam("rr", "enable_full_lr",
1)</FONT></FONT></FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>#VARIABLER FÖR
HANTERING AV NATade
UAs<BR>#-----------------------------------------------------------------------------------------------<BR>modparam("nathelper",
"rtpproxy_disable", 1)<SPAN class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2><SPAN
class=493024305-08062005> </SPAN>modparam("nathelper", "natping_interval",
0)</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2>modparam("mediaproxy","natping_interval",
30)<BR>modparam("mediaproxy","mediaproxy_socket",
"/var/run/mediaproxy.sock") <SPAN class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN> <SPAN
class=493024305-08062005><FONT
color=#0000ff> </FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2>modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-clients") <BR>modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-clients") <BR> <BR>modparam("registrar",
"nat_flag",
6) </FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>#VARIABLER FÖR
HANTERING AV
PSTN<BR>#-----------------------------------------------------------------------------------------------<BR>modparam("tm",
"fr_inv_timer",
27) <BR>modparam("tm",
"fr_inv_timer_avp",
"inv_timeout") </FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2>modparam("permissions", "db_mode",
1) <BR>modparam("permissions",
"trusted_table",
"trusted") </FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>#MEDDELANDEHANTERING
AV SIP
MEDDELANDEN<BR>#-----------------------------------------------------------------------------------------------<BR>#Alla
meddelanden kommer behandlas enligt detta regelverk i sekventiell
ordning</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2>route {<BR> #
-----------------------------------------------------------------<BR> #
Sanity Check Section, Kontrollera hur många gånger ett meddelande tagits
emot.<BR> #
-----------------------------------------------------------------<BR> if
(!mf_process_maxfwd_header("10"))
{ <BR> sl_send_reply("483", "Too Many
Hops"); <BR> break; <BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> if (msg:len
> max_len)
{ <BR> sl_send_reply("513", "Message
Overflow"); <BR> break; <BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
Record Route Section, Sektion som lägger till vår egen sip server i routing
kedjan så att svaren kommer tillbaka till oss.<BR> #
-----------------------------------------------------------------<BR> if
(method=="INVITE" && client_nat_test("3"))
{ <BR> record_route_preset("212.247.91.237:5060;nat=yes"); <BR> }
else if (method!="REGISTER")
{ <BR> record_route(); <BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
Call Tear Down Section, Denna sektion hanterar nedtagning av samtal<BR> #
-----------------------------------------------------------------<BR> if
(method=="BYE" || method=="CANCEL")
{ #<BR> end_media_session(); <BR> #<BR> if(!t_write_req("/tmp/am_fifo","bye"))
{<BR> t_reply("500","error contacting
sems");<BR> };<BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
Loose Route Section, <BR> #
-----------------------------------------------------------------<BR> if
(loose_route())
{ <BR> if (has_totag()
&& (method=="INVITE" || method=="ACK")) { <BR> if
(client_nat_test("3")||search("^Route:.*;nat=yes")){<BR> setflag(6); <BR> use_media_proxy(); <BR> };<BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2> route(1); <BR> break; <BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
Call Type Processing Section, om meddelandet inte skulle skickas vidare är det
förmodligen riktat till SER<BR> #
-----------------------------------------------------------------</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> if
(uri!=myself)
{ <BR> route(5); <BR> route(1); <BR> break; <BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> if
(uri==myself)
{ </FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial size=2> # switch
to statefull mode:<BR> if (!t_newtran()){<BR>
sl_send_reply("500","could not create
transaction");<BR> break;<BR> };</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV><SPAN
class=362174415-07062005>
<DIV><FONT color=#0000ff></FONT><FONT color=#0000ff></FONT><FONT
color=#0000ff></FONT><BR><FONT face=Arial size=2> if (method=="ACK")
{ <BR> route(6); <BR> break; <BR> }
else if (method=="CANCEL")
{ <BR> route(3); <BR> break; <BR> }
else if (method=="INVITE")
{ <BR> route(3); <BR> break; <BR> }
else if (method=="REGISTER")
{ <BR> route(2); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2> lookup("aliases"); <BR> if
(uri!=myself)
{ <BR> route(5); <BR> route(1); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (!lookup("location"))
{ <BR>
sl_send_reply("404", "User not
found"); <BR>
break; <BR> };<BR> };<BR> log("NO
MATCH"); <BR> route(1); <BR>}</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[1] {</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
Default Message Handler, Standardhantering av Meddelanden<BR> #
-----------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2> t_on_reply("1"); </FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if
(!t_relay()){ <BR> if
(method=="INVITE" || method=="ACK")
{ <BR> end_media_session(); <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2> sl_reply_error(); <BR> };<BR>}</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[2] {</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
REGISTER Message Handler<BR> #
-----------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> sl_send_reply("100",
"Trying"); </FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (!search("^Contact:\ +\*") &&
client_nat_test("7"))
{ <BR> setflag(6); <BR> fix_nated_register(); <BR> force_rport(); <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (!www_authorize("","subscriber"))
{ <BR> www_challenge("","0"); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (!check_to())
{ <BR> sl_send_reply("401",
"Unauthorized"); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2> consume_credentials(); <BR> <BR> if
(!save("location"))
{ <BR> sl_reply_error(); <BR> };<BR>}</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[3] {</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
CANCEL and INVITE Message Handler<BR> #
-----------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (client_nat_test("3"))
{ <BR> setflag(7); <BR> force_rport(); <BR> fix_nated_contact(); <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (method=="INVITE" &&
!allow_trusted()) { </FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (!proxy_authorize("","subscriber"))
{ <BR> proxy_challenge("","0"); <BR> break; <BR> }
else if (!check_from())
{ <BR> sl_send_reply("403", "Use
From=ID"); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2> consume_credentials(); <BR> };<BR> <BR> lookup("aliases"); <BR> if
(uri!=myself)
{ <BR> route(5); <BR> route(1); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (uri=~"^sip:[+|00][0-9]*@")
{ <BR> route(4); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (uri=~"^sip:0[1-9]*@")
{ <BR> route(4); <BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (uri=~"sip:100.*@")
{ <BR> if(!t_write_req("/tmp/am_fifo","conference"))
{<BR> t_reply("500","error contacting
sems");<BR> };<BR> break;<BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (!lookup("location"))
{ <BR> #Send caller to users
answering machine if uri is
local<BR> if(!t_write_req("/tmp/am_fifo","voicemail"))
{ <BR> t_reply("500","error contacting
sems");<BR> };<BR> break; <SPAN
class=493024305-08062005><FONT color=#0000ff> </FONT></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=493024305-08062005> </SPAN> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (method=="CANCEL")
{ <BR> route(1);<BR> break; <BR> };</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2> route(5); <BR> route(1); <BR>}</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[4] {</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> #
PSTN Handler<BR> #
-----------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> rewritehost("<SPAN
class=493024305-08062005><FONT
color=#0000ff> 192.168.0.1 </FONT></SPAN>"); </FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> avp_write("i:45",
"inv_timeout"); </FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2> route(5); <BR> route(1); <BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[5] {</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
-----------------------------------------------------------------<BR> # RTP
Proxy Enabler, aktiverar proxyn<BR> #
-----------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (isflagset(6) || isflagset(7))
{ <BR> use_media_proxy(); <BR> };<BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>route[6] {</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
------------------------------------------------------------------------<BR> #
ACK Handler<BR> #
------------------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> #
------------------------------------------------------------------------<BR> #
Aliases Section, hanterar acks<BR> #
------------------------------------------------------------------------<BR> lookup("aliases"); <BR> if
(uri!=myself)
{ <BR> route(1);<BR> break;<BR> };</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> lookup("location");</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> route(1);<BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><BR><FONT face=Arial
size=2>onreply_route[1] {</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if ((isflagset(6) || isflagset(7)) &&
<BR> (status=~"(180)|(183)|2[0-9][0-9]")) {</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (!search("^Content-Length:\ +0"))
{<BR> use_media_proxy();<BR> };<BR> };</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> if (client_nat_test("1"))
{<BR> fix_nated_contact();<BR> };<BR>}<BR></FONT></SPAN></DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=362174415-07062005><FONT face=Arial
size=2></FONT></SPAN> </DIV></BODY></HTML>