[Users] mysql database accounting problems

raviprakash sunkara sunkara.raviprakash.feb14 at gmail.com
Wed Apr 11 15:26:19 CEST 2007


Hello

better use these function

acc_db_request("200","acc");

On 4/11/07, Tanguy Bouzéloc <tbouzeloc at init-sys.com> wrote:
>
> Hello,
>
> I've some issues with my mysql accounting, I can only log successful
> calls in the acc table and I've no informations about missed calls. In
> mysql accounting I've only sip 200 ok and no errors. I've  not this
> behavior in my syslog.
>
> It's very important for us for evaluate the performance of our providers
> and we can only do it with a database accouting.
>
> For example, If I pass a call and I let it ring til operator timeout,
> I've no trace of this call in the accounting table.
>
> I've also another question, the lcr and gw tables have very small fixed
> limits (256 for lcr and 32 for gw), since we have much more gateways and
> sdas I've updated theses limits to a value which fit our needs, do you
> thinks it can be a problem ?
>
> Thanks in advance,
>
> Tanguy Bouzéloc
> Init-Sys
>
>
> # ----------- global configuration parameters ------------------------
>
> #debug=9
> fork=yes
> check_via=no
> dns=no
> rev_dns=no
> port=5060
> children=4
> sip_warning=0
>
> # ------------------ module loading ----------------------------------
>
> loadmodule "/usr/lib/openser/modules/mysql.so"
> loadmodule "/usr/lib/openser/modules/nathelper.so"
> loadmodule "/usr/lib/openser/modules/sl.so"
> loadmodule "/usr/lib/openser/modules/tm.so"
> loadmodule "/usr/lib/openser/modules/rr.so"
> loadmodule "/usr/lib/openser/modules/maxfwd.so"
> loadmodule "/usr/lib/openser/modules/lcr.so"
> loadmodule "/usr/lib/openser/modules/acc.so"
> loadmodule "/usr/lib/openser/modules/xlog.so"
> loadmodule "/usr/lib/openser/modules/textops.so"
> loadmodule "/usr/lib/openser/modules/permissions.so"
>
> # ----------------- setting module-specific parameters ---------------
>
> modparam("lcr", "db_url", "mysql://???")
> modparam("lcr", "db_mode", 0)
>
> modparam("rr","enable_full_lr",1)
>
> modparam("acc", "db_url", "mysql://???")
> modparam("acc", "db_flag", 1)
> modparam("acc", "db_localtime", 1)
> modparam("acc", "log_level", 1)
> modparam("acc", "log_flag", 1 )
>
> modparam("permissions", "db_url", "mysql://???")
>
> route {
>
>         if (!mf_process_maxfwd_header("10")) {
>                 sl_send_reply("483","Too Many Hops");
>                 return;
>         };
>
>         if (msg:len >= max_len ) {
>                 sl_send_reply("513", "Message too big");
>                 return;
>         };
>
>         if (!is_method("REGISTER")) {
>                 record_route();
>         };
>
>
>         if (is_method("BYE") || is_method("CANCEL")) {
>                 xlog("L_NOTICE", "End call($ci | $Ri): $fU -> $tU");
>                 if (is_method("BYE"))
>                         setflag(1);
>                 unforce_rtp_proxy();
>         };
>
>         if (loose_route()) {
>                 route(1);
>                 return;
>         };
>
>         if (!allow_trusted()) {
>                 xlog("L_WARN", "Host not trusted ($fu/$si/$rP)");
>                 sl_send_reply("403", "Forbidden");
>                 exit;
>         };
>
>         if (!load_gws()) {
>                 sl_send_reply("500", "Internal server error, unable to
> load gateways");
>                 return;
>         }
>
>         if (!next_gw()) {
>                 xlog("L_ERR", "No gw found ($ru/$fu)");
>                 sl_send_reply("503", "Service not available, no gateways
> found");
>                 return;
>         };
>
>         t_on_failure("2");
>
>         route(1);
> }
>
> route[1] {
>         setflag(1);
>
>         if (is_method("INVITE") || is_method("ACK")){
>                 if (is_method("INVITE"))
>                         xlog("L_NOTICE", "Incoming call($ci | $Ri): $fU ->
> $tU");
>                 if (!search("^Content-Length:[ ]*0"))
>                         force_rtp_proxy("foc");
>
> #               if(src_ip == 217.15.85.178) {
> #                       subst('/^From:.*<sip:(.*)@(.*)$/From: "\1"
> <sip:\1/@\2');
> #               }
>
>                 t_on_reply("1");
>         };
>
>         if (!t_relay()) {
>                 sl_reply_error();
>         };
> }
>
> onreply_route[1] {
>         setflag(1);
>         if (status=~"[12][0-9][0-9]"){
>                 if (!search("^Content-Length:[ ]*0"))
>                         force_rtp_proxy("foc");
>         };
> }
>
> failure_route[2] {
>
>         if (t_check_status("400")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 400
> Bad Request");
>         } else if (t_check_status("401")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 401
> Unauthorized");
>         } else if (t_check_status("403")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 403
> Forbidden");
>         } else if (t_check_status("404")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 404
> Not Found");
>         } else if (t_check_status("405")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 405
> Method Not Allowed");
>         } else if (t_check_status("406")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 406
> Not Acceptable");
>         } else if (t_check_status("407")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 407
> Proxy Authentication Required");
>         } else if (t_check_status("408")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 408
> Request Timeout");
>         } else if (t_check_status("410")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 410
> Gone");
>         } else if (t_check_status("413")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 413
> Request Entity Too Large");
>         } else if (t_check_status("414")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 414
> Request-URI Too Long");
>         } else if (t_check_status("415")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 415
> Unsupported Media Type");
>         } else if (t_check_status("416")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 416
> Unsupported URI Scheme");
>         } else if (t_check_status("420")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 420
> Bad Extension");
>         } else if (t_check_status("421")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 421
> Extension Required");
>         } else if (t_check_status("423")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 423
> Interval Too Brief");
>         } else if (t_check_status("480")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 480
> Temporarily Unavailable");
>         } else if (t_check_status("481")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 481
> Call/Transaction Does Not Exist");
>         } else if (t_check_status("482")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 482
> Loop Detected");
>         } else if (t_check_status("483")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 483
> Too Many Hops");
>         } else if (t_check_status("484")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 484
> Address Incomplete");
>         } else if (t_check_status("485")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 485
> Ambiguous");
>         } else if (t_check_status("486")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 486
> Busy Here");
>         } else if (t_check_status("487")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 487
> Request Terminated");
>         } else if (t_check_status("488")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 488
> Not Acceptable Here");
>         } else if (t_check_status("491")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 491
> Request Pending");
>         } else if (t_check_status("493")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 493
> Undecipherable");
>         } else if (t_check_status("500")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 500
> Server Internal Error");
>         } else if (t_check_status("501")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 501
> Not Implemented");
>         } else if (t_check_status("502")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 502
> Bad Gateway");
>         } else if (t_check_status("503")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 503
> Service Unavailable");
>         } else if (t_check_status("504")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 504
> Server Time-out");
>         } else if (t_check_status("505")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 505
> Version Not Supported");
>         } else if (t_check_status("513")) {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU 513
> Message Too Large");
>         } else {
>                 xlog("L_NOTICE", "Failure call($ci | $Ri): $fU -> $tU
> Unknown code");
>         }
>
>         setflag(1);
>
>         if (is_method("INVITE") && t_check_status("408|500|503")) {
>                 if (!next_gw()) {
>                         xlog("L_ERR", "No more gw ($ru/$fu)");
>                         t_reply("486", "Busy");
> #                       t_reply("503", "Service not available");
>                         exit;
>                 }
>                 t_on_failure("2");
>                 force_rtp_proxy("foc");
>                 t_relay();
>         }
> }
>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
>


-- 
Thanks and Regards
Ravi Prakash Sunkara
ravi.sunkara at hyperion-tech.com
M:+91 9985077535
www.hyperion-tech.com
Client and Parent company :- www.august-networks.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20070411/8131adba/attachment.htm>


More information about the sr-users mailing list