Disconnect on Accounting Octet Quota

Winfield, Alister Alister.Winfield at bskyb.com
Wed Jul 16 16:01:53 CEST 2014

Look at the network devices documentation there are many ways of doing it for example.

  1.  Device has quotas and it manages them for you in some way.
  2.  Device has quotas and ‘asks’ you to make a decision by RADIUS (Often another authentication request with extra ‘quota’ attribute added).
  3.  Device sends interim accounting and you use CoA to stop a session that goes over quota on receipt of interim accounting packet.
  4.  Something else.

Basically its a function of the software+hardware you are using and not a function of RADIUS itself (although RADIUS may be the control mechanism).


From: Ali Jawad <alijawad1 at gmail.com<mailto:alijawad1 at gmail.com>>
Reply-To: FreeRadius users mailing list <freeradius-users at lists.freeradius.org<mailto:freeradius-users at lists.freeradius.org>>
Date: Wednesday, 16 July 2014 01:18
To: FreeRadius users mailing list <freeradius-users at lists.freeradius.org<mailto:freeradius-users at lists.freeradius.org>>
Subject: Disconnect on Accounting Octet Quota

I did setup a max monthly quota check to limit the amount of B/W used by a user. The test worked, BUT only after a user disconnects and reconnects. While a user is connected he can go over limit and keep doing so. I did do some reading and obviously the reason is that in radacct acctinputoctets and acctoutputoctets are only set with a stop signal.

Quote :

This attribute indicates how many octets have been received from the port over the course of this service being provided, and can only be present in Accounting-Request records where the Acct-Status-Type is set to Stop.

My setup is quite simple ,I do use the below. Now the question is , is there another approach to overcome this limitation ? Or can I force a Acct-Status refresh of some sort without disconnecting users ?

sqlcounter daily-BW-counter {

        counter-name = Daily-Session-Octets

        check-name = Max-Daily-Octets

        reply-name = Session-Timeout

        sqlmod-inst = sql

        key = User-Name

        reset = daily

query = "SELECT SUM(AcctInputOctets) + SUM(AcctOutputOctets) FROM radacct  WHERE UserName='%{%k}' AND UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'"


Information in this email including any attachments may be privileged, confidential and is intended exclusively for the addressee. The views expressed may not be official policy, but the personal views of the originator. If you have received it in error, please notify the sender by return e-mail and delete it from your system. You should not reproduce, distribute, store, retransmit, use or disclose its contents to anyone. Please note we reserve the right to monitor all e-mail communication through our internal and external networks. SKY and the SKY marks are trademarks of British Sky Broadcasting Group plc and Sky International AG and are used under licence. British Sky Broadcasting Limited (Registration No. 2906991), Sky-In-Home Service Limited (Registration No. 2067075) and Sky Subscribers Services Limited (Registration No. 2340150) are direct or indirect subsidiaries of British Sky Broadcasting Group plc (Registration No. 2247735). All of the companies mentioned in this paragraph are incorporated in England and Wales and share the same registered office at Grant Way, Isleworth, Middlesex TW7 5QD.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20140716/f1113f13/attachment.html>

More information about the Freeradius-Users mailing list