[Serusers] How to enable Accounting in MySQL

samuel samu60 at gmail.com
Thu Jul 27 17:28:39 CEST 2006


I guess you have to load acc_db module and configure it to point to
the appropriate mysql server.

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



More information about the sr-users mailing list