Calculating data usage between interim and stop packets.

Anuruddha Premalal anuruddhapremalal at
Sat Dec 3 04:47:06 CET 2016

Hi All,

I'm trying to get users actual usage between accounting updates. With the
folowing method,

1. Extended the python *preacct* method and filterout only interim updates
and accounting stop packets.
2. Get the current usage recorded(inputoctets, outputoctets) from the mysql
databse for the accounting sessionid group by date and take the latest
3. Take the difference between received input and output octets and the
valus in the database

*tx*= new_input_octets - old_input_octets
*rx*= new_output_octets - old_output_octets

3. Send a paylod to a message queue pnly if *tx, rx* values are positive.

I am trying to use this method to avoid periodic database polling to
perform this operation.

The issue is - at point 2 sometimes(intermittently) it returns an empty
record set even the session has already been started (already received an
accounting start).
Is freeradius clearing the existing accouting record from the database as
soon as it receives an accounting interim paccket - is there a way to
insert my logic before that happens?

Thanks & Best Regards,
*Anuruddha Premalala (MIEEE)Mobile : +94717213122 <071%20721%203122>E-mail
 : anuruddhapremalal at <anuruddhapremalal at>web      : <>*

More information about the Freeradius-Users mailing list