<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
<br>
I'm trying to enable accounting and missed calls to be written to MySQL
tables.<br>
I edited my ser.cfg file as suggested in the URL:
<a class="moz-txt-link-freetext" href="http://www.iptel.org/ser/doc/seruser/seruser.html#AEN892">http://www.iptel.org/ser/doc/seruser/seruser.html#AEN892</a>, but It still
doesn't write anything in the DB.<br>
What else do I need to do? any clues?<br>
Next I'll show my ser.cfg file where in bold is shown the changes I
made to try to enable accounting.<br>
<br>
Regards,<br>
<br>
Ricardo Carvalho.<br>
<br>
---------------------------------------------------------------------------------------------------------------------------------------<br>
<br>
# my ser.cfg script:<br>
debug=4<br>
fork=no<br>
log_stderror=yes<br>
<br>
listen=192.168.10.91&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # put your server IP address here<br>
port=5060<br>
children=4<br>
alias=my.site.com<br>
dns=yes<br>
rev_dns=no<br>
fifo="/tmp/ser_fifo"<br>
fifo_db_url="mysql://ser:heslo@localhost/ser"<br>
<br>
loadmodule "/usr/local/lib/ser/modules/mysql.so"<br>
loadmodule "/usr/local/lib/ser/modules/sl.so"<br>
loadmodule "/usr/local/lib/ser/modules/tm.so"<br>
loadmodule "/usr/local/lib/ser/modules/rr.so"<br>
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<br>
loadmodule "/usr/local/lib/ser/modules/usrloc.so"<br>
loadmodule "/usr/local/lib/ser/modules/registrar.so"<br>
loadmodule "/usr/local/lib/ser/modules/uri_db.so"<br>
loadmodule "/usr/local/lib/ser/modules/auth.so"<br>
loadmodule "/usr/local/lib/ser/modules/auth_db.so"<br>
<b>loadmodule "/usr/local/lib/ser/modules/acc.so"</b><br>
<br>
modparam("auth_db|uri_db|usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")<br>
modparam("auth_db", "calculate_ha1", 1)<br>
modparam("auth_db", "password_column", "password")<br>
modparam("usrloc", "db_mode", 3)<br>
modparam("rr", "enable_full_lr", 1)<br>
<br>
<br>
# set the reporting log level<br>
<b>modparam("acc", "log_level", 1)</b><br>
# number of flag, which will be used for accounting; if a message is<br>
# labeled with this flag, its completion status will be reported<br>
<b>modparam("acc", "log_flag", 1 )</b><br>
<br>
<br>
route {<br>
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; # Sanity Check Section<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; if (!mf_process_maxfwd_header("10")) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("483", "Too Many Hops");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; if (msg:len &gt; max_len) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("513", "Message Overflow");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; # Record Route Section<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; if (method!="REGISTER") {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; record_route();<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; # Loose Route Section<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; if (loose_route()) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; # labeled all transaction for accounting:<br>
<b>&nbsp;&nbsp;&nbsp; setflag(1);</b><br>
<br>
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; # Call Type Processing Section<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; if (uri!=myself) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; if (method=="ACK") {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; } else if (method=="INVITE") {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(3);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; } else &nbsp;&nbsp;&nbsp; if (method=="REGISTER") {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(2);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; lookup("aliases");<br>
&nbsp;&nbsp;&nbsp; if (uri!=myself) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; if (!lookup("location")) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("404", "User Not Found");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; route(1);<br>
}<br>
<br>
route[1] {<br>
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; # Default Message Handler<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; if (!t_relay()) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_reply_error();<br>
&nbsp;&nbsp;&nbsp; };<br>
}<br>
<br>
route[2] {<br>
<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; # REGISTER Message Handler<br>
&nbsp;&nbsp;&nbsp; # ----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; sl_send_reply("100", "Trying");<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; if (!www_authorize("","subscriber")) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; www_challenge("","0");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; if (!check_to()) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("401", "Unauthorized");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; consume_credentials();<br>
<br>
&nbsp;&nbsp;&nbsp; if (!save("location")) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_reply_error();<br>
&nbsp;&nbsp;&nbsp; };<br>
}<br>
<br>
route[3] {<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; # INVITE Message Handler<br>
&nbsp;&nbsp;&nbsp; # -----------------------------------------------------------------<br>
&nbsp;&nbsp;&nbsp; if (!proxy_authorize("","subscriber")) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; proxy_challenge("","0");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; } else if (!check_from()) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("403", "Use From=ID");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; consume_credentials();<br>
<br>
&nbsp;&nbsp;&nbsp; lookup("aliases");<br>
&nbsp;&nbsp;&nbsp; if (uri!=myself) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; if (!lookup("location")) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply("404", "User Not Found");<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; route(1);<br>
}<br>
<br>
<br>
</body>
</html>