Typically I do implementations using either Emerald or Powercode, and therefore I’m able to use a very well-implemented RADIUS solution, or BMU to do the account control. Now that I’m doing my first implementation using Sonar, I am seeing some weaknesses in the FreeRADIUS implementation, specifically in how it doesn’t pass an expiration date into the RADIUS SQL database. Specifically, some things I would like to be able to do include having different errors sent by by RADIUS when the account is expired, or when the account doesn’t exist at all. It looks like FreeRADIUS is fairly configurable to achieve some of this, but I just need to figure out the key component so that the expiration date is in the table.
Has anybody done this? Or have any pointers for what may be able to be done?
My thoughts are that these messages will be parsed by Mikrotik hotspot and then forwarded to an external script where each of the error messages will provide different responses for the client letting them know how to proceed with getting back online. Differentiating between a router/MAC not existing in the network, an account being misconfigured in our system (ie. no hotspot user-profile exists), and the account being expired would be a great start.