Hello, I am trying to set up some decision-making logic into FreeRADIUS, to assign users a different speed of service depending on how much bandwidth they've used since their billing started. I want to issue 512k speed to users in group A, who have used less than 20GB of bandwidth (monthlybytecounter is working fine at the moment and totals this up nicely). However, if they've used more than 20GB, I want to issue 256k speed to users. For group B, I want users to get 10Mbps as long as they've used less than 50GB of bandwidth, and 1Mbps if they're over. I want to assign the values for speed to some vendor-specific variable, let's say Max-User-Speed. I am using MySQL for this. Here is a snippet from my database: radcheck table: username, attribute, op, value testuser1, Password, ==, testing usergroup table: username, groupname testuser1, groupa Here is a snippet from my radiusd.conf file: instantiate { monthlybytecounter } authorize { preprocess sql } authenticate { pap } preacct { preprocess } accounting { #acct_unique #detail sql radutmp # ? } session { radutmp # ? sql } My question is... how do I implement this? Can anyone write down a few examples of how I'd go about making these rules? Would I perhaps be better off making a cronjob or something that changes the user's group to one of the following? groupA_belowcap, groupA_overcap, groupB_belowcap, groupB_overcap? Regards, Jan Mulders