[Serusers] session duration accounting

Ryan Pagquil rpagquil at philonline.com
Wed Jul 6 07:25:35 CEST 2005


Hi Iqbal,

       Ah ok, those queries will only generate the duration of INVITE to 
BYE methods data from my database. But how can I get INVITE and BYE 
accounted in my ser.cfg? I have this ser.cfg that I made but it is not 
running, it gaves me an error (core dumped). Well just want to consult 
you on how can I make this ser.cfg to work and account for INVITE's and 
BYE's. Like just I said, I'm a very newbie with ser =).

This is the config file:

#debug=7
fork=no
log_stderror=yes

check_via=no
dns=no
port=5060
listen=10.0.1.5
fifo_db_url="mysql://ser:heslo@localhost/ser"
fifo="/tmp/ser_fifo"

#load needed modules

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/acc.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"


#parameter settings

#usr module param
modparam("usrloc", "db_mode", 1)

#acc module param
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
modparam("acc", "log_fmt", "mpoft")
modparam("acc", "report_ack", 1)
modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser")
modparam("acc", "db_flag", 2)
modparam("acc", "db_missed_flag", 3)

#auth_db param mysql authentication active
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")

#rr module param
modparam("rr", "enable_full_lr", 1)

####routing logic####

route{

                if (!mf_process_maxfwd_header("10")) {
                        sl_send_reply("483","To many HOPS");
                        break;
                };

                if (msg:len >= max_len ) {
                        sl_send_reply("513","Message too big");
                        break;
                };

                if (uri==myself) {

                        if (method=="REGISTER") {

                        if (!www_authorize("server4all", "subscriber")) {
                                www_challenge("server4all", "1");
                                break;
                        };

                save("location");
                break;
                };

                if (method=="INVITE") record_route();
                setflag(1);
                };

                if (!t_relay()) {
                sl_reply_error();
        };
}

Thanks a lot,


Iqbal wrote:

> put those queries in mysql and it should lookup your acc table
>
> Iqbal
>
> Ryan Pagquil wrote:
>
>> Hi,
>>       So the only concept on how will I account for duration is to
>> account for INVITE and BYE methods...BTW, where will I put those
>> queries? Sorry, I'm in a stage of discovering SER.=)
>>
>> Thanks,
>>
>>
>>
>> Java Rockx wrote:
>>
>>> Ryan,
>>>
>>> This MySQL query should do the trick. It joins the acc table to
>>> itself. One side grabs INVITE messages and the other side grabs BYE
>>> messages.
>>>
>>> NOTE: This will not work if you account for re-INVITE messages because
>>> you will then have multple INVITEs for the same call.
>>>
>>> Regards,
>>> Paul
>>>
>>> SELECT t1.from_uri as orig_number,  t1.to_uri as term_number,  
>>> TIMEDIFF(t2.time, t1.time) as duration,  t1.timestamp as calldate 
>>> FROM acc t1, acc t2  WHERE t1.sip_callid = t2.sip_callid AND
>>> ((t1.fromtag = t2.fromtag and t1.totag = t2.totag) OR
>>> (t1.fromtag = t2.totag and t1.totag = t2.fromtag)) AND
>>> t1.sip_method='INVITE' AND
>>> t2.sip_method='BYE'
>>>
>>> On 7/4/05, Iqbal <iqbal at gigo.co.uk> wrote:
>>>  
>>>
>>>> its records the INVITE and BYE, so fro there you can work out the
>>>> session duration
>>>>
>>>> Iqbal
>>>>
>>>> Ryan Pagquil wrote:
>>>>
>>>>  
>>>>
>>>>> guys,
>>>>>      just want to ask if i can make ser to account session durations
>>>>> for billing purposes?
>>>>>
>>>>> Thanks,
>>>>>
>>>>>     
>>>>
>>>>
>>>> _______________________________________________
>>>> Serusers mailing list
>>>> serusers at lists.iptel.org
>>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>

-- 
Ryan Pagquil
Infodyne Inc. - PhilOnline.com
3603 Antel Global Corporate Center
Doña Julia Vargas Ave.
Ortigas Center Pasig City
Tel: 687-0715
Web: www.philonline.com




More information about the sr-users mailing list