<html>
<body>
<br>
Hi Kofi!<br><br>
got it.. thanks for immediate feedback .. however my accounting is not
working.<br>
any parameters to be added to make it work..<br><br>
I have the following info already on my ser.cfg<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>
<br>
record_route(); -&gt; its this a parameter for accounting<br><br>
thanks,<br>
ed<br><br>
<br>
At 08:32 AM 4/26/2005, Kofi Obiri-Yeboah wrote:<br>
<blockquote type=cite class=cite cite="">
<font face="arial" size=2 color="#0000FF">I think the correct modparam
statement should read as follows:<br>
</font><font face="arial" size=2><b>modparam(&quot;acc&quot;,
&quot;db_url&quot;, &quot;mysql://ser:heslo@localhost/ser&quot;)<br>
</b></font>&nbsp;<br>
<font face="arial" size=2><b>please note that &quot;my&quot; is required
in front of sql<br>
</b></font>&nbsp;<br>
<font face="arial" size=2><b>and not:<br>
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-----<br>

<dd>From:</b> serusers-bounces@lists.iptel.org
[<a href="mailto:serusers-bounces@lists.iptel.org" eudora="autourl">
mailto:serusers-bounces@lists.iptel.org</a>]On Behalf Of </b>Edgardo O.
Gonzales II<br>

<dd>Sent:</b> Monday, April 25, 2005 5:20 PM<br>

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

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

<dd>Hi all!<br><br>

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

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

<dd>thanks,<br>

<dd>ed<br><br>

<dd>At 06:01 AM 4/26/2005, Leon Sun wrote:<br>
<blockquote type=cite class=cite cite="">
<dd><font face="arial" size=2>Hi, <br>

<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;<br>

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

<dd>&nbsp;<br>

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

<dd>Thank you.<br>

<dd>&nbsp;<br>

<dd>&nbsp;<br>

<dd>&nbsp;<br>

<dd># ----------- global configuration parameters
------------------------<br>

<dd>&nbsp;<br>

<dd>#debug=3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug
level (cmd line: -dddddddddd)<br>

<dd>#fork=yes<br>

<dd>#log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd
line: -E)<br>

<dd>&nbsp;<br>

<dd>/* Uncomment these lines to enter debugging mode<br>

<dd>debug=7<br>

<dd>fork=no<br>

<dd>log_stderror=yes<br>

<dd>*/<br>

<dd>&nbsp;<br>

<dd>check_via=no&nbsp;&nbsp;&nbsp; # (cmd. line: -v)<br>

<dd>dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
(cmd. line: -r)<br>

<dd>rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -R)<br>

<dd>#port=5060<br>

<dd>#children=4<br>

<dd>fifo=&quot;/tmp/ser_fifo&quot;<br>

<dd>&nbsp;<br>

<dd># ------------------ module loading
----------------------------------<br>

<dd>&nbsp;<br>

<dd># Uncomment this if you want to use SQL database<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/mysql.so&quot;<br>

<dd>&nbsp;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/acc.so&quot;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/sl.so&quot;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/tm.so&quot;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/rr.so&quot;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/maxfwd.so&quot;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/usrloc.so&quot;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/registrar.so&quot;<br>

<dd>&nbsp;<br>

<dd># Uncomment this if you want digest authentication<br>

<dd># mysql.so must be loaded !<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/auth.so&quot;<br>

<dd>loadmodule &quot;/usr/lib/ser/modules/auth_db.so&quot;<br>

<dd>&nbsp;<br>

<dd># ----------------- setting module-specific parameters
---------------<br>

<dd>&nbsp;<br>

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

<dd># -- usrloc params --<br>

<dd>&nbsp;<br>

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

<dd>&nbsp;<br>

<dd># Uncomment this if you want to use SQL database<br>

<dd># for persistent storage and comment the previous line<br>

<dd>modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)<br>

<dd>&nbsp;<br>

<dd># -- auth params --<br>

<dd># Uncomment if you are using auth module<br>

<dd>#<br>

<dd>modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, yes)<br>

<dd>#<br>

<dd># If you set &quot;calculate_ha1&quot; parameter to yes (which true
in this config),<br>

<dd># uncomment also the following parameter)<br>

<dd>#<br>

<dd>modparam(&quot;auth_db&quot;, &quot;password_column&quot;,
&quot;password&quot;)<br>

<dd>&nbsp;<br>

<dd># -- rr params --<br>

<dd># add value to ;lr param to make some broken UAs happy<br>

<dd>modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<br>

<dd>&nbsp;<br>

<dd>&nbsp;<br>

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

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

<dd># -------------------------&nbsp; request routing logic
-------------------<br>

<dd>&nbsp;<br>

<dd># main routing logic<br>

<dd>&nbsp;<br>

<dd>route{<br>

<dd>&nbsp;<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # initial sanity checks --
messages with<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # max_forwards==0, or
excessively long requests<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!mf_process_maxfwd_header(&quot;10&quot;)) {<br>

<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;);<br>

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

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

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( msg:len &gt; max_len
) {<br>

<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;);<br>

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

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

<dd>&nbsp;<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # we record-route all
messages -- to make sure that<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # subsequent messages will
go through our proxy; that's<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # particularly good if
upstream and downstream entities<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # use different transport
protocol<br>

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

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # loose-route
processing<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (loose_route()) {<br>

<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (method==&quot;BYE&quot;) {<br>

<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
setflag(1);<br>

<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
setflag(2);<br>

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

<dd>&nbsp;<br>

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

<dd>&nbsp;<br>

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

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

<dd>&nbsp;<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #labeled all transaction
for accounting<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setflag(1);<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setflag(2);<br>

<dd>&nbsp;<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(method==&quot;CANCEL&quot;){<br>

<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();<br>

<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;<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (in case, it does not
work, use the following command<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # with proper names and
addresses in it)<br>

<dd>&nbsp;<br>

<dd>&nbsp;<br>

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

<dd>&nbsp;<br>

<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;<br>

<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;<br>

<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;);<br>

<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);<br>

<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;<br>

<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (method==&quot;REGISTER&quot;) {<br>

<dd>&nbsp;<br>

<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<br>

<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;)) {<br>

<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;);<br>

<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;<br>

<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;<br>

<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;);<br>

<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;<br>

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

<dd>&nbsp;<br>

<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<br>

<dd>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!lookup(&quot;location&quot;)) {<br>

<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;);<br>

<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;<br>

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

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

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # forward to current uri
now; use stateful forwarding; that<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # works reliably even if
we forward from TCP to UDP<br>

<dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!t_relay()) {<br>

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

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

<dd>&nbsp;<br>

<dd>}<br>
</font>
<dd>_______________________________________________<br>

<dd>Serusers mailing list<br>

<dd>serusers@lists.iptel.org<br>

<dd>
<a href="http://lists.iptel.org/mailman/listinfo/serusers" eudora="autourl">
http://lists.iptel.org/mailman/listinfo/serusers</a></blockquote>
</dl></blockquote></body>
</html>