<html>
<body>
<br>
Thanks again for your help .. Here's my running ser.cfg<br>
Hope you can help me make my accounting work.. <br><br>
thanks,<br>
ed<br><br>
================================================================<br>
# ----------- global configuration parameters
------------------------<br><br>
#debug=3<br>
#fork=yes<br>
#log_stderror=no<br><br>
#debug=7<br>
#fork=no<br>
#log_stderror=yes<br><br>
check_via=no<br>
dns=no<br>
rev_dns=no<br>
#port=5060<br>
#children=4<br>
fifo=&quot;/tmp/ser_fifo&quot;<br><br>
# ------------------ module loading
----------------------------------<br><br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/mysql.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/sl.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/tm.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/rr.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/maxfwd.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/usrloc.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/registrar.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/auth.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/auth_db.so&quot;<br>
loadmodule &quot;/usr/local/ser/lib/ser/modules/acc.so&quot;<br><br>
# ----------------- setting module-specific parameters
---------------<br><br>
# -- usrloc params --<br><br>
modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 1)<br>
modparam(&quot;usrloc&quot;,
&quot;db_url&quot;,&quot;mysql://ser:heslo@localhost/ser&quot;)<br><br>
# -- auth params --<br><br>
modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, yes)<br>
modparam(&quot;auth_db&quot;, &quot;password_column&quot;,
&quot;password&quot;)<br><br>
# -- rr params --<br><br>
modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<br><br>
# -- acc params --<br><br>
modparam(&quot;acc&quot;, &quot;log_level&quot;, 1)<br>
modparam(&quot;acc&quot;, &quot;log_flag&quot;, 1)<br>
modparam(&quot;acc&quot;, &quot;log_missed_flag&quot;, 3)<br><br>
# -------------------------&nbsp; request routing logic
-------------------<br><br>
alias=abc.com.ph<br><br>
# main routing logic<br><br>
route{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!mf_process_maxfwd_header(&quot;10&quot;)) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<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; max_len )
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);<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><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; record_route();<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;
t_relay();<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><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(uri=~&quot;abc.com.ph&quot;) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (method==&quot;REGISTER&quot;) {<br>
&nbsp;&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(&quot;abc.com.ph&quot;, &quot;subscriber&quot;))
{<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;
www_challenge(&quot;abc.com.ph&quot;, &quot;0&quot;);<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;
break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
save(&quot;location&quot;);<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><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lookup(&quot;aliases&quot;);<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!lookup(&quot;location&quot;)) {<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(&quot;404&quot;, &quot;Not Found&quot;);<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; 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><br>
}<br><br>
<br><br>
<br>
================================================================<br>
At 10:55 AM 4/26/2005, Kofi Obiri-Yeboah wrote:<br>
<blockquote type=cite class=cite cite="">
<font face="arial" size=2 color="#0000FF">I am assuming your question is
if the record_route() function is a parameter for accounting? If that was
your question then the answer is no. Generally you invoke record_route()
to ensure acl acceptance on a gateway (i.e. all calls through that
gateway)<br>
</font>
<dl>
<dd><font face="tahoma" size=2>-----Original Message-----<br>

<dd>From:</b> Edgardo O. Gonzales II
[<a href="mailto:edgardo.g@pacific.net.ph" eudora="autourl">
mailto:edgardo.g@pacific.net.ph</a>]<br>

<dd>Sent:</b> Monday, April 25, 2005 6:22 PM<br>

<dd>To:</b> Kofi Obiri-Yeboah<br>

<dd>Cc:</b> serusers@lists.iptel.org<br>

<dd>Subject:</b> RE: [Serusers] ACC into mysql<br><br>
</font><br>

<dd>Hi Kofi!<br><br>

<dd>got it.. thanks for immediate feedback .. however my accounting is
not working.<br>

<dd>any parameters to be added to make it work..<br><br>

<dd>I have the following info already on my ser.cfg<br><br>

<dd>modparam(&quot;acc&quot;, &quot;log_level&quot;, 1)<br>

<dd>modparam(&quot;acc&quot;, &quot;log_flag&quot;, 1)<br>

<dd>modparam(&quot;acc&quot;, &quot;log_missed_flag&quot;, 3)<br><br>
<br>

<dd>record_route(); -&gt; its this a parameter for accounting<br><br>

<dd>thanks,<br>

<dd>ed<br><br>
<br>

<dd>At 08:32 AM 4/26/2005, Kofi Obiri-Yeboah wrote:<br>
<blockquote type=cite class=cite cite="">
<dd><font face="arial" size=2 color="#0000FF">I think the correct
modparam statement should read as follows:<br>
</font>
<dd>modparam(&quot;acc&quot;, &quot;db_url&quot;,
&quot;mysql://ser:heslo@localhost/ser&quot;)<br>
</b>
<dd>&nbsp;<br>

<dd><font face="arial" size=2>please note that &quot;my&quot; is required
in front of sql<br>
</b></font>
<dd>&nbsp;<br>

<dd><font face="arial" size=2>and not:<br>

<dd>modparam(&quot;acc&quot;, &quot;db_url&quot;,
&quot;sql://ser:heslo@localhost/ser&quot;)</b></font>
<font face="arial" size=2 color="#0000FF"><br><br></font>
<dl>
<dd><font face="tahoma" size=2>-----Original Message-----
<dd>From: serusers-bounces@lists.iptel.org [
<a href="mailto:serusers-bounces@lists.iptel.org%5DOn" eudora="autourl">
mailto:serusers-bounces@lists.iptel.org]On</a> Behalf Of Edgardo O. Gonzales
II
<dd>Sent: Monday, April 25, 2005 5:20 PM
<dd>To: serusers@lists.iptel.org
<dd>Subject: Re: [Serusers] ACC into mysql<br><br>
</font>
<dd>Hi all!<br>

<dd>Im also receiving this error message.<br>

<dd>Can somebody help us on how to make accounting work using mysql.<br>

<dd>thanks,
<dd>ed<br>

<dd>At 06:01 AM 4/26/2005, Leon Sun
wrote:<blockquote type=cite class=cite cite="">
<dd><font face="arial" size=2>Hi, 
<dd>I am using 0.8.12 in Fedora 3. I tried to log account info into Mysql
followed instruction from manual. I found, first,
modparam(&quot;acc&quot;, &quot;db_url&quot;,
&quot;sql://ser:heslo@localhost/ser&quot;) coudnlt work at all in
ser.cfg. If I enabled in cfg file, it showed&nbsp; Starting ser: ERROR:
bad config file (1 errors)<br>

<dd>&nbsp; 
<dd>If I disabled it, SER worked fine but I couldnt see any record in acc
table. <br>

<dd>&nbsp; 
<dd>Would anyone suggest how to put call records into Mysql? <br>

<dd>&nbsp; 
<dd>Thank you.<br>

<dd>&nbsp; <br>

<dd>&nbsp; <br>

<dd>&nbsp; 
<dd># ----------- global configuration parameters
------------------------<br>

<dd>&nbsp; 
<dd>#debug=3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug
level (cmd line: -dddddddddd)
<dd>#fork=yes
<dd>#log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd
line: -E)<br>

<dd>&nbsp; 
<dd>/* Uncomment these lines to enter debugging mode
<dd>debug=7
<dd>fork=no
<dd>log_stderror=yes
<dd>*/<br>

<dd>&nbsp; 
<dd>check_via=no&nbsp;&nbsp;&nbsp; # (cmd. line: -v)
<dd>dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
(cmd. line: -r)
<dd>rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -R)
<dd>#port=5060
<dd>#children=4
<dd>fifo=&quot;/tmp/ser_fifo&quot;<br>

<dd>&nbsp; 
<dd># ------------------ module loading
----------------------------------<br>

<dd>&nbsp; 
<dd># Uncomment this if you want to use SQL database
<dd>loadmodule &quot;/usr/lib/ser/modules/mysql.so&quot;<br>

<dd>&nbsp; 
<dd>loadmodule &quot;/usr/lib/ser/modules/acc.so&quot;
<dd>loadmodule &quot;/usr/lib/ser/modules/sl.so&quot;
<dd>loadmodule &quot;/usr/lib/ser/modules/tm.so&quot;
<dd>loadmodule &quot;/usr/lib/ser/modules/rr.so&quot;
<dd>loadmodule &quot;/usr/lib/ser/modules/maxfwd.so&quot;
<dd>loadmodule &quot;/usr/lib/ser/modules/usrloc.so&quot;
<dd>loadmodule &quot;/usr/lib/ser/modules/registrar.so&quot;<br>

<dd>&nbsp; 
<dd># Uncomment this if you want digest authentication
<dd># mysql.so must be loaded !
<dd>loadmodule &quot;/usr/lib/ser/modules/auth.so&quot;
<dd>loadmodule &quot;/usr/lib/ser/modules/auth_db.so&quot;<br><br>

<dd>&nbsp; 
<dd># ----------------- setting module-specific parameters
---------------<br>

<dd>&nbsp; 
<dd>#modparam(&quot;acc&quot;, &quot;db_url&quot;,
&quot;sql://ser:heslo@localhost/ser&quot;)<br>

<dd>&nbsp; 
<dd># -- usrloc params --<br>

<dd>&nbsp; 
<dd>#modparam(&quot;usrloc&quot;, &quot;db_mode&quot;,&nbsp;&nbsp;
0)<br>

<dd>&nbsp; 
<dd># Uncomment this if you want to use SQL database
<dd># for persistent storage and comment the previous line
<dd>modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)<br>

<dd>&nbsp; 
<dd># -- auth params --
<dd># Uncomment if you are using auth module
<dd>#
<dd>modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, yes)
<dd>#
<dd># If you set &quot;calculate_ha1&quot; parameter to yes (which true
in this config),
<dd># uncomment also the following parameter)
<dd>#
<dd>modparam(&quot;auth_db&quot;, &quot;password_column&quot;,
&quot;password&quot;)<br>

<dd>&nbsp; 
<dd># -- rr params --
<dd># add value to ;lr param to make some broken UAs happy
<dd>modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<br>

<dd>&nbsp; <br>

<dd>&nbsp; 
<dd>modparam(&quot;acc&quot;,&quot;log_level&quot;,1)
<dd>modparam(&quot;acc&quot;,&quot;log_flag&quot;,1)
<dd># -------------------------&nbsp; request routing logic
-------------------<br>

<dd>&nbsp; 
<dd># main routing logic<br>

<dd>&nbsp; 
<dd>route{<br>

<dd>&nbsp; 
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # initial sanity checks --
messages with
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # max_forwards==0, or
excessively long requests
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!mf_process_maxfwd_header(&quot;10&quot;)) {
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
break;
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( msg:len &gt; max_len
) {
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
break;
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>

<dd>&nbsp; 
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # we record-route all
messages -- to make sure that
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # subsequent messages will
go through our proxy; that's
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # particularly good if
upstream and downstream entities
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # use different transport
protocol
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; record_route();
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # loose-route processing
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (loose_route()) {
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (method==&quot;BYE&quot;) {
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
setflag(1);
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
setflag(2);
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}<br>

<dd>&nbsp; 
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
t_relay();<br>

<dd>&nbsp; 
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
break;
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>

<dd>&nbsp; 
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #labeled all transaction
for accounting
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setflag(1);
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setflag(2);<br>

<dd>&nbsp; 
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(method==&quot;CANCEL&quot;){
<dd>
&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;
t_relay();
<dd>
&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>

<dd>&nbsp; 
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (in case, it does not
work, use the following command
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # with proper names and
addresses in it)<br>

<dd>&nbsp; <br>

<dd>&nbsp; 
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (uri==myself) {<br>

<dd>&nbsp; 
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# This for PSTN destination<br>

<dd>&nbsp; 
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (uri=~&quot;^sip:1&quot;)<br>

<dd>&nbsp; 
<dd>
&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;
rewritehost(&quot;10.10.10.10&quot;);
<dd>
&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;
forward(10.10.10.10,5060);
<dd>
&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;
break;
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (method==&quot;REGISTER&quot;) {<br>

<dd>&nbsp; 
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Uncomment this if you want to use digest authentication
<dd>
&nbsp;&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(&quot;sip.mycommunications.com&quot;,
&quot;subscriber&quot;)) {
<dd>
&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;
www_challenge(&quot;sip.mycommunications.com&quot;, &quot;0&quot;);
<dd>
&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;
break;
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<br>

<dd>&nbsp; 
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
save(&quot;location&quot;);
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
break;
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<br>

<dd>&nbsp; 
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# native SIP destinations are handled using our USRLOC DB
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!lookup(&quot;location&quot;)) {
<dd>
&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(&quot;404&quot;, &quot;Not Found&quot;);
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
break;
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # forward to current uri
now; use stateful forwarding; that
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # works reliably even if
we forward from TCP to UDP
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!t_relay()) {
<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_reply_error();
<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>

<dd>&nbsp; 
<dd>}</font>
<dd>_______________________________________________
<dd>Serusers mailing list
<dd>serusers@lists.iptel.org
<dd>
<a href="http://lists.iptel.org/mailman/listinfo/serusers" eudora="autourl">
http://lists.iptel.org/mailman/listinfo/serusers</a></blockquote>
</blockquote>
</dl>
</dl></blockquote></body>
</html>