[Serusers] ACC into mysql

Barry Murphy barry at unix.co.nz
Tue Apr 26 08:47:06 CEST 2005


Mine works, just I dont get the BYE into mysql, even though I see it in ngrep.

Secondly if i call my PBX (Asterisk) via ser and the asterisk hangs up after giving the time, the call doesnt end on SER it remains connected.

Stupid stupid thing :(

Barry

  ----- Original Message ----- 
  From: Edgardo O. Gonzales II 
  To: Kofi Obiri-Yeboah 
  Cc: serusers at lists.iptel.org 
  Sent: Tuesday, April 26, 2005 6:29 PM
  Subject: RE: [Serusers] ACC into mysql



  Thanks again for your help .. Here's my running ser.cfg
  Hope you can help me make my accounting work.. 

  thanks,
  ed

  ================================================================
  # ----------- global configuration parameters ------------------------

  #debug=3
  #fork=yes
  #log_stderror=no

  #debug=7
  #fork=no
  #log_stderror=yes

  check_via=no
  dns=no
  rev_dns=no
  #port=5060
  #children=4
  fifo="/tmp/ser_fifo"

  # ------------------ module loading ----------------------------------

  loadmodule "/usr/local/ser/lib/ser/modules/mysql.so"
  loadmodule "/usr/local/ser/lib/ser/modules/sl.so"
  loadmodule "/usr/local/ser/lib/ser/modules/tm.so"
  loadmodule "/usr/local/ser/lib/ser/modules/rr.so"
  loadmodule "/usr/local/ser/lib/ser/modules/maxfwd.so"
  loadmodule "/usr/local/ser/lib/ser/modules/usrloc.so"
  loadmodule "/usr/local/ser/lib/ser/modules/registrar.so"
  loadmodule "/usr/local/ser/lib/ser/modules/auth.so"
  loadmodule "/usr/local/ser/lib/ser/modules/auth_db.so"
  loadmodule "/usr/local/ser/lib/ser/modules/acc.so"

  # ----------------- setting module-specific parameters ---------------

  # -- usrloc params --

  modparam("usrloc", "db_mode", 1)
  modparam("usrloc", "db_url","mysql://ser:heslo@localhost/ser")

  # -- auth params --

  modparam("auth_db", "calculate_ha1", yes)
  modparam("auth_db", "password_column", "password")

  # -- rr params --

  modparam("rr", "enable_full_lr", 1)

  # -- acc params --

  modparam("acc", "log_level", 1)
  modparam("acc", "log_flag", 1)
  modparam("acc", "log_missed_flag", 3)

  # -------------------------  request routing logic -------------------

  alias=abc.com.ph

  # main routing logic

  route{
          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;
          };

          record_route();
          if (loose_route()) {
                  t_relay();
                  break;
          };

          if (uri=~"abc.com.ph") {
                  if (method=="REGISTER") {
                          if (!www_authorize("abc.com.ph", "subscriber")) {
                                  www_challenge("abc.com.ph", "0");
                                  break;
                          };

                          save("location");
                          break;
                  };

                  lookup("aliases");

                  if (!lookup("location")) {
                          sl_send_reply("404", "Not Found");
                          break;
                  };
          };
          if (!t_relay()) {
                  sl_reply_error();
          };

  }




  ================================================================
  At 10:55 AM 4/26/2005, Kofi Obiri-Yeboah wrote:

    I am assuming your question is if the record_route() function is a parameter for accounting? If that was your question then the answer is no. Generally you invoke record_route() to ensure acl acceptance on a gateway (i.e. all calls through that gateway)

      -----Original Message-----

      From: Edgardo O. Gonzales II [ mailto:edgardo.g at pacific.net.ph]

      Sent: Monday, April 25, 2005 6:22 PM

      To: Kofi Obiri-Yeboah

      Cc: serusers at lists.iptel.org

      Subject: RE: [Serusers] ACC into mysql



      Hi Kofi!


      got it.. thanks for immediate feedback .. however my accounting is not working.

      any parameters to be added to make it work..


      I have the following info already on my ser.cfg


      modparam("acc", "log_level", 1)

      modparam("acc", "log_flag", 1)

      modparam("acc", "log_missed_flag", 3)



      record_route(); -> its this a parameter for accounting


      thanks,

      ed



      At 08:32 AM 4/26/2005, Kofi Obiri-Yeboah wrote:

        I think the correct modparam statement should read as follows:

        modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser")



        please note that "my" is required in front of sql



        and not:

        modparam("acc", "db_url", "sql://ser:heslo@localhost/ser") 


          -----Original Message----- 
          From: serusers-bounces at lists.iptel.org [ mailto:serusers-bounces at lists.iptel.org]On Behalf Of Edgardo O. Gonzales II 
          Sent: Monday, April 25, 2005 5:20 PM 
          To: serusers at lists.iptel.org 
          Subject: Re: [Serusers] ACC into mysql


          Hi all!

          Im also receiving this error message.

          Can somebody help us on how to make accounting work using mysql.

          thanks, 
          ed

          At 06:01 AM 4/26/2005, Leon Sun wrote:
            Hi, 
            I am using 0.8.12 in Fedora 3. I tried to log account info into Mysql followed instruction from manual. I found, first, modparam("acc", "db_url", "sql://ser:heslo@localhost/ser") coudnlt work at all in ser.cfg. If I enabled in cfg file, it showed  Starting ser: ERROR: bad config file (1 errors)

             
            If I disabled it, SER worked fine but I couldnt see any record in acc table. 

             
            Would anyone suggest how to put call records into Mysql? 

             
            Thank you.

             

             

             
            # ----------- global configuration parameters ------------------------

             
            #debug=3         # debug level (cmd line: -dddddddddd) 
            #fork=yes 
            #log_stderror=no        # (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/lib/ser/modules/mysql.so"

             
            loadmodule "/usr/lib/ser/modules/acc.so" 
            loadmodule "/usr/lib/ser/modules/sl.so" 
            loadmodule "/usr/lib/ser/modules/tm.so" 
            loadmodule "/usr/lib/ser/modules/rr.so" 
            loadmodule "/usr/lib/ser/modules/maxfwd.so" 
            loadmodule "/usr/lib/ser/modules/usrloc.so" 
            loadmodule "/usr/lib/ser/modules/registrar.so"

             
            # Uncomment this if you want digest authentication 
            # mysql.so must be loaded ! 
            loadmodule "/usr/lib/ser/modules/auth.so" 
            loadmodule "/usr/lib/ser/modules/auth_db.so"


             
            # ----------------- setting module-specific parameters ---------------

             
            #modparam("acc", "db_url", "sql://ser:heslo@localhost/ser")

             
            # -- usrloc params --

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

             
            # Uncomment this if you want to use SQL database 
            # for persistent storage and comment the previous line 
            modparam("usrloc", "db_mode", 2)

             
            # -- 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)

             

             
            modparam("acc","log_level",1) 
            modparam("acc","log_flag",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()) { 
                            if (method=="BYE") { 
                               setflag(1); 
                               setflag(2); 
                            }

             
                            t_relay();

             
                            break; 
                    };

             
                    #labeled all transaction for accounting 
                    setflag(1); 
                    setflag(2);

             
                    if (method=="CANCEL"){ 
                                            t_relay(); 
                                        };

             
                    # (in case, it does not work, use the following command 
                    # with proper names and addresses in it)

             

             
                    if (uri==myself) {

             
                                    # This for PSTN destination

             
                                    if (uri=~"^sip:1")

             
                                    {       rewritehost("10.10.10.10"); 
                                            forward(10.10.10.10,5060); 
                                            break; 
                                    } 
                            if (method=="REGISTER") {

             
                            # Uncomment this if you want to use digest authentication 
                                    if (!www_authorize("sip.mycommunications.com", "subscriber")) { 
                                            www_challenge("sip.mycommunications.com", "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(); 
                    };

             
            } 
            _______________________________________________ 
            Serusers mailing list 
            serusers at lists.iptel.org 
            http://lists.iptel.org/mailman/listinfo/serusers


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


  _______________________________________________
  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/20050426/40b0c875/attachment.htm>


More information about the sr-users mailing list