I have to admit I haven't read every single email in this thread, so perhaps I've missed a requirement or nuance, but why do you need to use Session-Timeout for this? Why not use alive (also called interim) radius accounting records and act on them when received? That's trivial to do. Once the quota is reached then send a COA to the NAS to terminate the session. You'll also need some quota check during AA to keep a new session from being started. This can be done in a NAS independent kind of way. Bill On 2/2/2017 8:26 AM, Selahattin Cilek wrote:
This is my plan: The NAS regularly informs FreeRADIUS how much a user has been using the network. FreeRADIUS keeps the data in a MySQL database and regularly checks if the user has reached his quota. When a user reaches his quota, it tells the NAS not to let him use the network. In order to be able to grant or deny access to a user, the NAS is supposed to ask FreeRADIUS at regular intervals what to with the authentication request. The only way the NAS can know about these intervals is through the "Session-Timeout" attribute. At the end of each session, the NAS sends FreeRADIUS a packet that contains data about how much bandwidth the user has consumed. FreeRADIUS commits the to a local MySQL schema, which I have programmed to update some other custom tables through triggers.