Hi.
I have two RADIUS servers with detail and mysql accounting
server #1
---radiusd.conf---
accounting {
        acct_unique
        detail
        triforksql
}
---radiusd.conf---

server #2
---radiusd.conf---
accounting {
        acct_unique
        detail
        beastsql
}
---radiusd.conf---
NAS(max6000) send start, stop and alive accounting packets for these
servers. "triforksql" and "beastsql" is mysql modules describing different
mysql databases. There are mutual replication for synchronization beetwen
them.
Yesturday I had such situation.
Server#1 received "start" accounting packet for some session:
--detail--
Tue Apr 23 21:16:15 2002
        User-Name = "panaramix"
        NAS-IP-Address = 80.78.36.6
        NAS-Port = 20130
        NAS-Port-Type = Async
        Service-Type = Framed-User
        Acct-Status-Type = Start
        Acct-Delay-Time = 0
        Acct-Session-Id = "357695796"
        Acct-Authentic = RADIUS
        Idle-Timeout = 20
        X-Ascend-Modem-PortNo = 29
        X-Ascend-Modem-SlotNo = 3
        Calling-Station-Id = "804334101"
        Called-Station-Id = "4611011"
        Framed-Protocol = PPP
        Framed-IP-Address = 80.78.32.35
        Acct-Unique-Session-Id = "36d17400697f0a68"
        Timestamp = 1019585775
--detail--
--trifork-binlog--
INSERT ignore into radacct (AcctSessionId, AcctUniqueId, UserName, Realm,
NASIPAddress
, NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime,
AcctAuthentic,
 ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets,
CalledStation
Id, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol,
FramedIPAddress
, AcctStartDelay, AcctStopDelay) values('357695796', '36d17400697f0a68',
'panaramix',
'', '80.78.36.6', '', 'Async', '2002-04-23 21:16:15', '0', '0', 'RADIUS',
'', '', '0',
 '0', '4611011', '804334101', '', 'Framed-User', 'PPP', '80.78.32.35',
'0', '0');
--trifork-binlog--

Then came "alive" packet to the server#1:
--detail--
Tue Apr 23 21:17:21 2002
        User-Name = "panaramix"
        NAS-IP-Address = 80.78.36.6
        NAS-Port = 20130
        NAS-Port-Type = Async
        Service-Type = Framed-User
        Acct-Status-Type = Alive
        Acct-Delay-Time = 0
        Acct-Session-Id = "357695796"
        Acct-Authentic = RADIUS
        Idle-Timeout = 20
        Acct-Session-Time = 66
        Acct-Input-Octets = 18221
        Acct-Output-Octets = 47272
        Acct-Input-Packets = 225
        Acct-Output-Packets = 173
        X-Ascend-Disconnect-Cause = 1
        X-Ascend-Connect-Progress = 60
        X-Ascend-Xmit-Rate = 21600
        X-Ascend-Data-Rate = 21600
        X-Ascend-PreSession-Time = 19
        X-Ascend-Pre-Input-Octets = 254
        X-Ascend-Pre-Output-Octets = 265
        X-Ascend-Pre-Input-Packets = 10
        X-Ascend-Pre-Output-Packets = 12
        X-Ascend-First-Dest = 80.78.35.1
        X-Ascend-Modem-PortNo = 29
        X-Ascend-Modem-SlotNo = 3
        Calling-Station-Id = "804334101"
        Called-Station-Id = "4611011"
        Framed-Protocol = PPP
        Framed-IP-Address = 80.78.32.35
        Acct-Unique-Session-Id = "36d17400697f0a68"
        Timestamp = 1019585841
--detail--
--trifork-binlog--
UPDATE radacct SET AcctStopTime = '2002-04-23 21:17:21', AcctSessionTime =
'66', AcctI
nputOctets = '18221', AcctOutputOctets = '47272', AcctTerminateCause = '',
AcctStopDel
ay = '0', ConnectInfo_stop = '', XAscendDisconnectCause = '1',
XAscendConnectProgress
='60', XAscendXmitRate = '21600', XAscendDataRate = '21600' WHERE
AcctSessionId = '357
695796' AND UserName = 'panaramix' AND NASIPAddress = '80.78.36.6';
--trifork-binlog--

Then came stop packet to the sever #1:
This one was successfully stored in detail file, but was not in mysql
--detail--
Tue Apr 23 21:37:21 2002
        User-Name = "panaramix"
        NAS-IP-Address = 80.78.36.6
        NAS-Port = 20130
        NAS-Port-Type = Async
        Service-Type = Framed-User
        Acct-Status-Type = Stop
        Acct-Delay-Time = 0
        Acct-Session-Id = "357695796"
        Acct-Authentic = RADIUS
        Idle-Timeout = 20
        Acct-Session-Time = 1266
        Acct-Input-Octets = 139616
        Acct-Output-Octets = 568502
        Acct-Input-Packets = 2068
        Acct-Output-Packets = 1835
        X-Ascend-Disconnect-Cause = 45
        X-Ascend-Connect-Progress = 60
        X-Ascend-Xmit-Rate = 21600
        X-Ascend-Data-Rate = 21600
        X-Ascend-PreSession-Time = 19
        X-Ascend-Pre-Input-Octets = 254
        X-Ascend-Pre-Output-Octets = 265
        X-Ascend-Pre-Input-Packets = 10
        X-Ascend-Pre-Output-Packets = 12
        X-Ascend-First-Dest = 80.78.35.1
        X-Ascend-Modem-PortNo = 29
        X-Ascend-Modem-SlotNo = 3
        Calling-Station-Id = "804334101"
        Called-Station-Id = "4611011"
        Framed-Protocol = PPP
        Framed-IP-Address = 80.78.32.35
        Acct-Unique-Session-Id = "36d17400697f0a68"
        Timestamp = 1019587041
--detail--
--radius.log--
Tue Apr 23 21:37:21 2002 : Error: rlm_sql: All sockets are being used!
Please increase
 the maximum number of sockets!
Tue Apr 23 21:37:21 2002 : Error: rlm_sql: All sockets are being used!
Please increase
 the maximum number of sockets!
--radius.log--

The "stop" packet was not resent, despite NAS is configured to send
accounting packet 3 times if no response from accounting server, so RADIUS
sent accounting response acknowledgment to the NAS. Why it happens?
--rfc2866--
   If the RADIUS accounting server is unable to successfully record the
   accounting packet it MUST NOT send an Accounting-Response
   acknowledgment to the client.
--rfc2866--

Thanks.

p.s.
        sorry for long logs.

---
Aleksandr Kuzminsky,            AK476-RIPE
System Administrator,           AK16-UANIC
ISP NBI.


- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to