[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.kamailio.org/pipermail/users/attachments/20070411/8131adba/attachment.htm
More information about the Users
mailing list