[Serusers] ACC into mysql
Iqbal
iqbal at gigo.co.uk
Wed Apr 27 23:42:33 CEST 2005
Hi
I presume u are referring to help when u said "I really need it so
badly" :-), if not google, if so, I'll try
if (uri=~"test.com") {
if (method=="REGISTER") {
setflag(1);
setflag(2);
if (!www_authorize("test.com",
"subscriber")) {
www_challenge("test.com", "0");
break;
};
save("location");
break;
};
lookup("aliases");
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
if (!t_relay()) {
sl_reply_error();
};
}
Now this is saying if method=REGISTER, setflag, now as far I know this
means that only if method=REGISTER then log....but what to log, acc
doesnt log REGISTER.
You need to setflag outside the if method=REGISTER loop, like you can
have a statement like
if (method=="INVITE") {
setflag(1); # enable accounting for INVITE
messages
};
of course you will miss BYE recrods, however change the above, if it
works then getting the rest should be okay
Iqbal
On 4/27/2005, "Edgardo O. Gonzales II" <edgardo.g at pacific.net.ph> wrote:
>
>Hi Again!
>
>Please help .. I really need it so badly ..
>
>thanks,
>ed
>
>
>Hi!
>
>my accounting is still not working though im not receiving any error
>message during my startup.
>Its nto logging my transaction on my db.
>
>Can you please check my ser.cfg file below .. Please put your comments ..
>
>thanks,
>ed
>
>======================
>
>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)
>modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser")
>modparam("acc", "db_flag", 2)
>modparam("acc", "failed_transactions", 1)
>
>
># ------------------------- request routing logic -------------------
>
>alias=test.com
>
># 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=~"test.com") {
> if (method=="REGISTER") {
> setflag(1);
> setflag(2);
>
> if (!www_authorize("test.com", "subscriber")) {
> www_challenge("test.com", "0");
> break;
> };
>
> save("location");
> break;
> };
>
> lookup("aliases");
>
> if (!lookup("location")) {
> sl_send_reply("404", "Not Found");
> break;
> };
> };
> if (!t_relay()) {
> sl_reply_error();
> };
>
>}
>
>
>
>======================================
>
>At 02:47 PM 4/26/2005, Barry Murphy wrote:
>>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: <mailto:edgardo.g at pacific.net.ph>Edgardo O. Gonzales II
>>To: <mailto:kofi at radiocomplex.com>Kofi Obiri-Yeboah
>>Cc: <mailto:serusers at lists.iptel.org>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 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
>
>
More information about the sr-users
mailing list