[Serusers] SER ..... How to enable the Accounting with MYSQL

Vincent VERDOT vincent.verdot at int-evry.fr
Tue May 10 19:17:29 CEST 2005


You must recompile acc.so module with MySQL support... See the acc Makefile (1 line to uncomment...)
  ----- Original Message ----- 
  From: Manoj Ghag 
  To: serusers at lists.iptel.org 
  Sent: Tuesday, May 10, 2005 7:10 PM
  Subject: [Serusers] SER ..... How to enable the Accounting with MYSQL


  hi, All

  I have setup the SER with auth enable  for MySQL ( and radius also .. at a time only one is used )  I am able to see that if user is not in database he is not able to login to SOFTPHONE .... Now I want to   enable  accounting also  ,,, as in my case auth is working perfectly fine but accounting is not working ... I have tried all the things ,, but still I am missing somthing ...... please help me ...... as even inserting the acc module in ser.cfg  file  nothing is getting inserted into database .. in the form of accounting information..

  At the same time where can i get the information about .. what is a information stored in each mysql table

  ---------------------------------------------------------------------------------------------------------------------------------
  my ser.cfg file is as follows ( where i have compiled ser with all the module enable)
  ------------------------------------------------------------------------------------------------------------------------------------

  [root at test ser]# cat ser.cfg
  #
  # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
  #
  # simple quick-start config script
  #
  # ----------- global configuration parameters ------------------------
  debug=5         # debug level (cmd line: -dddddddddd)
  fork=yes
  log_stderror=yes        # (cmd line: -E)
  /* Uncomment these lines to enter debugging mode
  debug=7
  fork=no
  log_stderror=yes
  */
  check_via=no    # (cmd. line: -v)
  dns=no           # (cmd. line: -r)
  rev_dns=no      # (cmd. line: -R)
  port=5060
  children=4
  fifo="/tmp/ser_fifo"
  # ------------------ module loading ----------------------------------
  # Uncomment this if you want to use SQL database
  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"
  # Uncomment this if you want digest authentication
  # mysql.so must be loaded !
  loadmodule "/usr/local/lib/ser/modules/auth.so"
  loadmodule "/usr/local/lib/ser/modules/acc.so"
  loadmodule "/usr/local/lib/ser/modules/auth_db.so"
  #loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
  # ----------------- setting module-specific parameters ---------------
  # -- usrloc params --
  # -- auth_radius params --
  #modparam("auth_radius", "radius_config", "/usr/local/etc/radiusclient/radiusclient.conf")

  #modparam("usrloc", "db_mode",   0)

  # --domain module--
  modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser")
  #modparam("domain", "db_mode", 1)
  #modparam("domain", "domain_table", "domain")
  #modparam("domain", "domain_col", "domain")
  # --acc params--
  modparam("acc", "log_level", 1)
  modparam("acc", "log_flag", 2)
  #modparam("acc", "log_missed_flag", 2)
  #modparam("acc", "log_fmt", "fimos")
  #modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser")
  #modparam("acc", "db_missed_flag", 2)




  # Uncomment this if you want to use SQL database
  # for persistent storage and comment the previous line
  modparam("usrloc", "db_mode", 1)
  # -- auth params --
  # Uncomment if you are using auth module
  #
  modparam("auth_db", "calculate_ha1", yes)
  #
  # If you set "calculate_ha1" parameter to yes (which true in this config),
  # uncomment also the following parameter)
  #
  modparam("auth_db", "password_column", "password")
  # -- rr params --
  # add value to ;lr param to make some broken UAs happy
  modparam("rr", "enable_full_lr", 1)
  # -------------------------  request routing logic -------------------
  # main routing logic
  route{
          # initial sanity checks -- messages with
          # max_forwards==0, or excessively long requests
          if (!mf_process_maxfwd_header("10")) {
                  sl_send_reply("483","Too Many Hops");
                  break;
          };
          if ( msg:len > max_len ) {
                  sl_send_reply("513", "Message too big");
                  break;
          };
          # we record-route all messages -- to make sure that
          # subsequent messages will go through our proxy; that's
          # particularly good if upstream and downstream entities
          # use different transport protocol
          record_route();
          # loose-route processing
          if (loose_route()) {
                  t_relay();
                  break;
          };
          # if the request is for other domain use UsrLoc
          # (in case, it does not work, use the following command
          # with proper names and addresses in it)
          if (uri=='192.168.1.246') {
                  if (method=="REGISTER") {
  # Uncomment this if you want to use digest authentication
                          if (!www_authorize("192.168.1.246", "subscriber")) {
                                  www_challenge("192.168.1.246", "0");
                                  break;
                          };
                          save("location");
                          break;
                  };


                  # native SIP destinations are handled using our USRLOC DB
                  if (!lookup("location")) {
                          sl_send_reply("404", "Not Found");
                          break;
                  };
          };
          # forward to current uri now; use stateful forwarding; that
          # works reliably even if we forward from TCP to UDP
           if (!t_relay()) {
                  sl_reply_error();
          };
  }


   

  Please see teh table list 


  [root at test ser]# mysql
  Welcome to the MySQL monitor.  Commands end with ; or \g.
  Your MySQL connection id is 376 to server version: 3.23.58
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> use ser
  Reading table information for completion of table and column names
  You can turn off this feature to get a quicker startup with -A
  Database changed

  mysql> show tables
      -> ;
  +-----------------------+
  | Tables_in_ser         |
  +-----------------------+
  | acc                   |
  | active_sessions       |
  | aliases               |
  | config                |
  | domain                |
  | event                 |
  | grp                   |
  | location              | 
  | missed_calls          |
  | pending               |
  | phonebook             |
  | preferences           |
  | reserved              |
  | server_monitoring     |
  | server_monitoring_agg |
  | silo                  |
  | subscriber            |
  | uri                   |
  | version               |
  +-----------------------+
  19 rows in set (0.00 sec)



------------------------------------------------------------------------------
  Yahoo! Mail Mobile
  Take Yahoo! Mail with you! Check email on your mobile phone.


------------------------------------------------------------------------------


  _______________________________________________
  Serusers mailing list
  serusers at lists.iptel.org
  http://lists.iptel.org/mailman/listinfo/serusers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20050510/04558d30/attachment.htm>


More information about the sr-users mailing list