[Serusers] ACC into mysql

Kofi Obiri-Yeboah kofi at radiocomplex.com
Tue Apr 26 04:55:13 CEST 2005


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20050425/d9d505cf/attachment.htm>


More information about the sr-users mailing list