On Wed, 28 Jun 2006 13:10:30 -0400, "Glenn Dalgliesh" <[EMAIL PROTECTED]> wrote: > Just a thought but I am working on similar issue and I have been writing > acc > to db for start record with extra params and then avp_db_query to select > call-id from acc table on BYE/CANCEL in order to populate these fields > such > as connect time. This allows me to do a single select to get the info I > need > from one record. Not sure if you get log setup time this what but > certainly > work for connect-time and disconnect time I write in real time to the > h323-disconnect-time as a radius extra.
Hmmm but the avps are populated with correct values. i'll try with avp_db_query maybe it works. > Either way I would think you would want to be using call-id and not from > as > your primary key to store and load these things. maybe yes. i'll try > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf > Of tele > Sent: Wednesday, June 28, 2006 12:50 PM > To: [email protected] > Subject: [Users] avp problems switching from 1.0.1 to 1.1.x > > Hi, > > My billing system doesn't correlate START/STOP accounting packets and > use Cisco-VSA like attributes. > I need to do an accounting compatible with my billing system from > OpenSER so i've done a dirty method like that: > i know it's not really performance but it's the only way i can do that. > > The problem is with OpenSER 1.1.x that generate accounting with the > attribute filled with the same value of "disconnect_time". example: > > h323-setup-time = '1151511700' > h323-connect-time = '1151511700' > h323-disconnect-time = '1151511700' > > the xlog debug output of openser1.1.x i have added is with correct > attribute values. > with OpenSER 1.0.1 everything works fine. > > CONFIGS: > > with OpenSER 1.1.x: > > modparam("acc", "radius_extra", "h323-setup-time=$avp(setup_time); > h323-connect-time=$avp(connect_time); > h323-disconnect-time=$avp(disconnect_time)") > > modparam("avpops","avp_aliases","setup_time=s:setup_time") > modparam("avpops","avp_aliases","connect_time=s:connect_time") > modparam("avpops","avp_aliases","disconnect_time=s:disconnect_time") > > > if (is_method("INVITE")) > { > avp_write("$Ts","$avp(setup_time)"); > avp_db_store("$from","$avp(setup_time)"); > > } else if (is_method("ACK")) { > avp_write("$Ts","$avp(connect_time)"); > avp_db_store("$from","$avp(connect_time)"); > > } else if (is_method("BYE")) { > avp_write("$Ts","$avp(disconnect_time)"); > avp_db_store("$from","$avp(disconnect_time)"); > }; > > if (is_method("BYE")) { > > avp_db_load("$from","$avp(setup_time)"); > avp_db_load("$from","$avp(connect_time)"); > avp_db_load("$from","$avp(disconnect_time)"); > > xlog("L_INFO","Before accounting > SETUP_TIME[$avp(setup_time)] CONNECT_TIME[$avp(connect_time)] > DISCONNECT_TIME[$avp(disconnect_time)]"); > > setflag(3); > setflag(5); > > avp_db_delete("$from","$avp(setup_time)"); > avp_db_delete("$from","$avp(connect_time)"); > avp_db_delete("$from","$avp(disconnect_time)"); > }; > > With OpenSER 1.0.1: > > modparam("acc", "radius_extra", "h323-setup-time=$avp($setup_time); > h323-connect-time=$avp($connect_time) > ; h323-disconnect-time=$avp($disconnect_time)") > > modparam("avpops","avp_aliases","setup_time=s:setup_time") > modparam("avpops","avp_aliases","connect_time=s:connect_time") > modparam("avpops","avp_aliases","disconnect_time=s:disconnect_time") > > if (is_method("INVITE")) > { > avp_write("0","i:1"); > avp_printf("i:1", "$Ts"); > avp_copy("i:1","$setup_time"); > avp_db_store("$from","$setup_time"); > avp_delete("i:1"); > > } else if (is_method("ACK")) { > avp_write("0","i:1"); > avp_printf("i:1", "$Ts"); > avp_copy("i:1","$connect_time"); > avp_db_store("$from","$connect_time"); > avp_delete("i:1"); > > } else if (is_method("BYE")) { > avp_write("0","i:1"); > avp_printf("i:1", "$Ts"); > avp_copy("i:1","$disconnect_time"); > avp_db_store("$from","$disconnect_time"); > avp_delete("i:1"); > > }; > > if (is_method("BYE")) { > > avp_db_load("$from","$setup_time"); > avp_db_load("$from","$connect_time"); > avp_db_load("$from","$disconnect_time"); > > xlog("L_INFO","Before accounting > SETUP_TIME[$avp($setup_time)] CONNECT_TIME[$avp($connect_time)] > DISCONNECT_TIME[$avp($disconnect_time)]"); > > setflag(3); > setflag(5); > > avp_db_delete("$from","$setup_time"); > avp_db_delete("$from","$connect_time"); > avp_db_delete("$from","$disconnect_time"); > }; > > > _______________________________________________ > Users mailing list > [email protected] > http://openser.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [email protected] http://openser.org/cgi-bin/mailman/listinfo/users
