Hi list I need to implement multileg radius accounting on openser 1.1.x cfg.
I have configured radius to handle Sip-Leg-Source and Sip-Leg-Destination.
The problem is to configure openser.cfg propely.
In the beginning i have: modparam("acc", "multi_leg_enabled", 1) modparam("acc", "src_leg_avp_id", 110) modparam("acc", "dst_leg_avp_id", 111)
then in the route that handle the invite I load the avp by radius: avp_load_radius("callee");
But then I miss the point to have two accounting start and two accounting stop, one for each leg. Then...if it is not possible to have two accounting records, I would liek to know how to store all the information of the two legs insede one start and one stop.
something like this one? avp_write("$from/username", "$avp(i:110)"); avp_pushto("$ru","$avp(s:callee_callfwd)"); avp_write("$ruri/username", "$avp(i:111)");
Hope some one can drive me to understand better this situation.
Regards Rosario
Hi Rosario,
with RADIUS, you will get one start (for INVITE) - disregarding the number of legs-, a second start record (for ACK) if report-ack is enabled and a stop for BYE.
focusing on the start record for INVITE - this record will contain a pair of Sip-Leg-Source and Sip-Leg-Destination RADIUS AVPS for each leg. So, if you have 3 legs, will get 3 x (Sip-Leg-Source + Sip-Leg-Destination).
from script, for each leg, you need to write into avps the values for src and dst:
...... # leg 1 avp_write("src_leg1", "$avp(i:110)"); avp_write("dst_leg1", "$avp(i:111)"); ..... # leg 2 avp_write("src_leg2", "$avp(i:110)"); avp_write("dst_leg2", "$avp(i:111)"); .....
regards, bogdan
Rosario Pingaro wrote:
Hi list I need to implement multileg radius accounting on openser 1.1.x cfg.
I have configured radius to handle Sip-Leg-Source and Sip-Leg-Destination.
The problem is to configure openser.cfg propely.
In the beginning i have: modparam("acc", "multi_leg_enabled", 1) modparam("acc", "src_leg_avp_id", 110) modparam("acc", "dst_leg_avp_id", 111)
then in the route that handle the invite I load the avp by radius: avp_load_radius("callee"); But then I miss the point to have two accounting start and two accounting stop, one for each leg. Then...if it is not possible to have two accounting records, I would liek to know how to store all the information of the two legs insede one start and one stop.
something like this one? avp_write("$from/username", "$avp(i:110)"); avp_pushto("$ru","$avp(s:callee_callfwd)"); avp_write("$ruri/username", "$avp(i:111)"); Hope some one can drive me to understand better this situation.
Regards Rosario
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users