I have the following configuration in my radius.conf file. The counter does
function as such and if the user has utilized the allotted time it will not
allow them to connect.

However I'm looking to see how to also apply it to the session limit.
(IE adjust the session time. If user has a max session defined as 4 hrs but
only has 2 hrs left of the monthly limit then adjust this to have them
dropped automatically once this has been reached)

sqlcounter monthlycounter {
                counter-name = Monthly-Session-Time
                check-name = Max-Monthly-Session
              sqlmod-inst = sql
                key = User-Name
                reset = monthly

                # This query properly handles calls that span from the
                # previous reset period into the current period but
                # involves more work for the SQL server than those
                # below
                # The same notes above about the differences between mysql
                # versus postgres queries apply here.
                query = "SELECT SUM(AcctSessionTime - \
                 GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0)) \
                 FROM radacct WHERE UserName='%{%k}' AND \
                 UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'"


How would I implement this to enforce the session time limits?


Cory

- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to