> Hi all > > I'm looking to implement a prepaid card type service - I plan on using > Session-Timeout to disconnect the users. How does freeradius keep > track of the time elapsed while connected? I am holding all the info > in SQL - I guess when a user connects it counts down until 0 then > sends the signal to the NAS to disconnect - if the user reconnects it > is back to the original value.
Radius doesn't send a message to the NAS to disconnect. The reply of Session-Timeout tells the NAS when to disconnect. Its up to the NAS to listen to that reply and actually disconnect the user (most do). > How can I have a counter that doesn't expire - say the user 'topped > up' by 30 days worth on the 9th of the month - it wouldn't expire > until 30 days from then (so couldn't use monthly counters?) > You want to give the user 30 days of access, then do something like this in sqlcounter sqlcounter blockoftime { counter-name = Block-Of-Time check-name = Session-End-Time sqlmod-inst = sql key = User-Name reset = never query = "select UNIX_TIMESTAMP();" } then set the session-end-time in their reply attribute to be 30 days after the time they set up the account. Remember its in unix timestamp format. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html