Policy of Dial-up session processing


  Maybe this is out-of-topic ,but I can't find any
place where could find answer for this question.
If this is intrusive, just ingore it please.

  my question is :
   how does ISP do with DSL dial-up sessions which
pass the accouting period time.

  E.g. If a customer subscribe DSL service at
15USD/month for 150hours. If the subscriber used
145hours by 30th May. He get online at 21:00 on 31th,
and get offline at 5:00 on June 2th.

  The radius server could only export the customer's
session when he get offline. So, problem comes to
accouting system which was designed to calculate
customer usage on first day of each month. The
cut-off line of each month usage is set to 00:00 on
first day of each month.

  Someone says , ISP should force those session
closed at 00:00 on first day of each month, because
they must ensure dial-up session of last month sould
not be accouted in next month. Is this true ?

thanks in advance.


One could always send a session-limit in the radius
authentication to keep them under their usage for the month, including
sending something that terminates the session at whatever you call 0000
for the start of month. this obviously could cause a spike in auth
requests around 0000. the other choices include intelligent
accounting software that can take this situation into account.

  I've not used it in years, but radiator was nice back
in the day.

  - jared

Or they could apply a little more kloo, and at 23:59 poll all the active
sessions, and bill them "this" month for the time-since connected. In your
example, they got on at 21:00, so you bill them this month for 3 hours.

Then when their session ends at 05:00, you notice that the session time is
more than the time so far this month, and just bill them for 5 hours.

Or you can simplify your accounting infrastructure a *lot* by just sending
them a bill for $21.95 no matter how much time they spent connected - that's
what a lot of DSL providers do, at least in the US.

Radius can and should report both on and off times, look into your
configuration. As far as 1st of the month, consider it virtually
closed & open at midnight on 30th/31st in accounting. Example how
to do it could be to write a script that when processes radius log
at the end of the month and looks at all open sessions adding "end"
radius accounting data in there as well as adding start session for
next month's log.

P.S. I've not ran dialup ISP and used radius for LONG time but did
exactly as above for hourly customers before. The biggest issue I
remember was when your dialup server itself dies (rare but happened)
since then you do not have record of customers getting off, same
script was used to virtually "close" sessions.


There are lot of issues here.
One thing to consider is that it is not a good policy to "cut off" the
client ADSL at 0:00hs... they may complain for that policy !
You may just let him close the session and then, with the accounting stop
ticket you may account part of it on the past month and the rest the
current month. :slight_smile:
You may also set a maximum connection time for one session (some ISP do
this also)... say for example 12 hours... so each 12 hours the RAS closes
the connection (the thig is that this timer is for each connection, so you
do not close all the connections at same time)... you may do this using
standar radius attribute 27 (Session-Timeout) by modifying this attribute
in the access-accept response from the radius to the RAS.
You may also use interims... but Im not sure if you have traffic
information on this...
This are some ideas... there are a lot more...

Hope it help,

We handle it through RADIUS interim accounting packets.
You then get periodic accounting updates.
It has its own issues however (think of how busy your RADIUS server becomes
receiving, say, 10,000 users worth of interim users off one BRAS by receiving
a RADIUS packet every few minutes per user. It quietly adds up.)


Looking for postmaster at BellSouth. Please contact me off list.

Vish Yelsangikar