Hello Felix -
On Mon, 11 Oct 1999, Felix Izquierdo wrote:
> Hugh Irvine wrote:
> >
> > NOTE FOR ALL READERS WITH ASCEND EQUIPMENT
> >
> > There is some additional code in Radiator 2.14.1 that will correctly process
> > Ascend's optional online status messages to accomplish this. Ascend's can be
> > configured to send periodic announcements to the Radius host listing all active
> > connections. Radiator 2.14.1 contains some custom code to process these packets
> > and update the SessionDatabase to remove any zombie entries due to lost Stop
> > packets.
>
> How is this feature implemented? Are they radius packets or snmp traps?
>
Radius packets: "Ascend-Access-Event-Request"
> Cisco NAS's can send periodic accounting radius packets ( Alive packets,
> deprecated in Radius RFC ), and from IOS 12.0(6)T, packets/bytes
> counters attributes will be in periodic accounting. Are you planing to
> implement support for this Cisco schema?
The Cisco Alive packets are also handled correctly.
I have included the relevant code segment from Handler.pm:
#
if ($status_type eq 'Start' || $status_type eq 'Alive')
{
# Some Ciscos dont send accounting-on, so we will
# detect a reboot with the first session (ID 00000001)
$sessdb->clearNas($nas_id, $p)
if $session_id eq '00000001';
# Ciscos sometimes sends Alive. Use them to make _sure_
# there is an entry in the database
$sessdb->add($original_username, $nas_id, $nas_port, $p);
}
elsif ($status_type eq 'Stop')
{
$sessdb->delete($original_username, $nas_id, $nas_port, $p);
}
# Detect the various kinds of NAS reboots
if ($status_type eq 'Accounting-On'
|| $status_type eq 'Accounting-Off'
|| ( ($status_type eq 'Start' || $status_type eq 'Stop' )
&& $session_id eq '00000000'))
{
# Remove all session entries for a given NAS.
$sessdb->clearNas($nas_id, $p);
}
}
elsif ($self->{HandleAscendAccessEventRequest}
&& $p->code eq 'Ascend-Access-Event-Request')
{
# Ascend-Access-Event-Request has a count of the number
# of sessions the NAS thinks it has in each Class. We can use
# this to check whether out local session database is correct
# provided its an SQL session database.
# Sum the total number of sessions that this NAS thinks it has
# and compare it to how many in the SessionDatabase.
# If there is a discrepancy delete any
# dead sessions from SessionDatabase. Note that we never
# add sessions to the session database, so this strategy
# only corrects for lost Stops, not lost Starts.
#
If there are any other special packet types out there that need special
handling, please let us know.
hth
Hugh
--
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, etc etc on Unix, Win95/8,
NT, Rhapsody
===
Archive at http://www.thesite.com.au/~radiator/
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.