Counter SQL Calculation
    Neville 
    nev at itsnev.co.uk
       
    Wed Oct 20 18:14:12 CEST 2010
    
    
  
Hi everyone,
I have a small problem where the counter is not working how I would like it 
two work.
sqlcounter monthlytraffic {
         counter-name = Monthly-Traffic
                check-name = Max-Monthly-Traffic
                reply-name = Session-Octets-Limit
                sqlmod-inst = sql
                key = User-Name
                reset = monthly
         query = "SELECT 
IFNULL((sum(acctinputoctets)+sum(acctoutputoctets)),0) FROM radacct WHERE 
username='%{%k}' AND Month(acctstoptime) =(Month(NOW())) AND 
Year(acctstoptime) = Year(NOW())"
}
The problem with this, is that it the SELECT statement returns a value Less 
than the value of Max-Monthly-Traffic, then sets Session-Octets-Limit is set 
to equal Max-Monthly-Traffic.
What I need it to do is to populate Session-Octets-Limit with the VALUE of 
Max-Monthly-Traffic, then subtract the VALUE of the Select Statement.
E.G. if Max-Monthy-Traffic is set to 250Mb or 262100000, and the SELECT 
returns a result of 52430000 being 50Mb of usage, then Session-Octets-Limit 
should be set to 262100000 - 5230000 being 256870000
Can anyone point in the right direction on this please.
Thx
Nev 
    
    
More information about the Freeradius-Users
mailing list