<div dir="ltr"><div>Hi All,</div><div> </div><div>I have faced an issue with NAS IP Changes causes radius accouting insert instead of update, this has causes an issue with the reporting wenever the NAS IP changes, for example the usage of the users will be duplicate if you sum up the usage for 1 day for example.</div>
<div> </div><div>i have tested the FR3.0RC0 with the policy.d in place, below is the issue i encounter during the testing in lab.</div><div> </div><div>From Debug Log:</div><div>Radius accouting start - OK</div><div>rad_recv: Accounting-Request packet from host 10.69.1.35 port 62260, id=11, length=39<br>
         User-Name = 'cskhoo'<br>        Acct-Status-Type = Start<br>        Acct-Session-Id = '900'<br>(0) # Executing section preacct from file /usr/local/etc/raddb/sites-enabled/default<br>(0)   group preacct {<br>
 (0)  - entering group preacct {...}<br>(0)   [preprocess] = ok<br>(0)    policy acct_unique {<br>(0)   - entering policy acct_unique {...}<br>(0)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i) <br>(0)     expand: "%{string:Class}" -> ''<br>
 (0)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i)  -> FALSE<br>(0)     else else {<br>(0)    - entering else else {...}<br>(0)     update request {<br>(0)     expand: "%{md5:%{User-Name},%{Acct-Session-ID},%{NAS-IP-Address},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}" -> 'c2141489ad2dd37607b19fd75af8623f'<br>
 (0)             Acct-Unique-Session-Id := "c2141489ad2dd37607b19fd75af8623f"<br>(0)     } # update request = ok<br>(0)    - else else returns ok<br>(0)   - policy acct_unique returns ok<br>(0) suffix : No '@' in User-Name = "cskhoo", looking up realm NULL<br>
 (0) suffix : No such realm "NULL"<br>(0)   [suffix] = noop<br>(0)   [files] = noop<br>(0) # Executing section accounting from file /usr/local/etc/raddb/sites-enabled/default<br>(0)   group accounting {<br>(0)  - entering group accounting {...}<br>
 (0) detail :    expand: "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" -> '/usr/local/var/log/radius/radacct/<a href="http://10.69.1.35/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.35/detail-</font><font color="#0066cc">20130815</font></a>'<br>
 (0) detail : /usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/<a href="http://10.69.1.35/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.35/detail-</font><font color="#0066cc">20130815</font></a><br>
 (0) detail :    expand: "%t" -> 'Thu Aug 15 02:53:59 2013'<br>(0)   [detail] = ok<br>(0)   [unix] = noop<br>(0) sql :       expand: "%{tolower:type.%{Acct-Status-Type}.query}" -> 'type.start.query'<br>
 (0) sql : Using query template 'query'<br>rlm_sql (sql): Reserved connection (4)<br>(0) sql :       expand: "%{User-Name}" -> 'cskhoo'<br>(0) sql : SQL-User-Name updated<br>(0) sql :       expand: "INSERT INTO radacct (acctsessionid,            acctuniqueid,           username, realm,                        nasipaddress,           nasportid, nasporttype,                acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,        acctauthentic, connectinfo_start,       connectinfo_stop,      acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', FROM_UNIXTIME(%{integer:Event-Timestamp}), FROM_UNIXTIME(%{integer:Event-Timestamp}), NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}')" -> 'INSERT INTO radacct (acctsessionid,            acctuniqueid,         username, realm,                 nasipaddress,           nasportid, nasporttype,         acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,       acctauthentic, connectinfo_start,       connectinfo_stop,       acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,  servicetype,            framedprotocol, framedipaddress) VALUES ('900', 'c2141489ad2dd37607b19fd75af8623f', 'cskhoo', '', '10.69.1.35', '', '', FROM_UNIXTIME(1376506439), FROM_UNIXTIME(1376506439), NULL, '0', '', '', '', '0', '0', '', '', '', '', '', '')'<br>
 rlm_sql (sql): Executing query: 'INSERT INTO radacct (acctsessionid,            acctuniqueid,           username, realm,                        nasipaddress,         nasportid, nasporttype,          acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,        acctauthentic, connectinfo_start,       connectinfo_stop,      acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES ('900', 'c2141489ad2dd37607b19fd75af8623f', 'cskhoo', '', '10.69.1.35', '', '', FROM_UNIXTIME(1376506439), FROM_UNIXTIME(1376506439), NULL, '0', '', '', '', '0', '0', '', '', '', '', '', '')'<br>
 rlm_sql (sql): Released connection (4)<br>rlm_sql (sql): Closing connection (0): Too many free connections (5 > 3)<br>rlm_sql_mysql: Socket destructor called, closing socket<br>(0)   [-sql] = ok<br>(0)   [exec] = noop<br>
 (0) attr_filter.accounting_response :   expand: "%{User-Name}" -> 'cskhoo'<br>(0) attr_filter.accounting_response : Matched entry DEFAULT at line 12<br>(0)   [attr_filter.accounting_response] = updated<br>
 Sending Accounting-Response of id 11 from 0.0.0.0 port 1813 to 10.69.1.35 port 62260<br>(0) Finished request 0.<br>Waking up in 0.2 seconds.<br>(0) Cleaning up request packet ID 11 with timestamp +10<br>Ready to process requests.<br>
</div><div> </div><div>Radius Acct Update - OK</div><div>rad_recv: Accounting-Request packet from host 10.69.1.35 port 62261, id=12, length=39<br>        User-Name = 'cskhoo'<br>        Acct-Status-Type = Interim-Update<br>
         Acct-Session-Id = '900'<br>(1) # Executing section preacct from file /usr/local/etc/raddb/sites-enabled/default<br>(1)   group preacct {<br>(1)  - entering group preacct {...}<br>(1)   [preprocess] = ok<br>
 (1)    policy acct_unique {<br>(1)   - entering policy acct_unique {...}<br>(1)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i) <br>(1)     expand: "%{string:Class}" -> ''<br>(1)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i)  -> FALSE<br>
 (1)     else else {<br>(1)    - entering else else {...}<br>(1)     update request {<br>(1)     expand: "%{md5:%{User-Name},%{Acct-Session-ID},%{NAS-IP-Address},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}" -> 'c2141489ad2dd37607b19fd75af8623f'<br>
 (1)             Acct-Unique-Session-Id := "c2141489ad2dd37607b19fd75af8623f"<br>(1)     } # update request = ok<br>(1)    - else else returns ok<br>(1)   - policy acct_unique returns ok<br>(1) suffix : No '@' in User-Name = "cskhoo", looking up realm NULL<br>
 (1) suffix : No such realm "NULL"<br>(1)   [suffix] = noop<br>(1)   [files] = noop<br>(1) # Executing section accounting from file /usr/local/etc/raddb/sites-enabled/default<br>(1)   group accounting {<br>(1)  - entering group accounting {...}<br>
 (1) detail :    expand: "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" -> '/usr/local/var/log/radius/radacct/<a href="http://10.69.1.35/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.35/detail-</font><font color="#0066cc">20130815</font></a>'<br>
 (1) detail : /usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/<a href="http://10.69.1.35/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.35/detail-</font><font color="#0066cc">20130815</font></a><br>
 (1) detail :    expand: "%t" -> 'Thu Aug 15 02:54:31 2013'<br>(1)   [detail] = ok<br>(1)   [unix] = noop<br>(1) sql :       expand: "%{tolower:type.%{Acct-Status-Type}.query}" -> 'type.interim-update.query'<br>
 (1) sql : Using query template 'query'<br>rlm_sql (sql): Reserved connection (4)<br>(1) sql :       expand: "%{User-Name}" -> 'cskhoo'<br>(1) sql : SQL-User-Name updated<br>(1) sql :       expand: "UPDATE radacct SET acctupdatetime  = (@acctupdatetime_old:=acctupdatetime), acctupdatetime  = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctinterval    = %{integer:Event-Timestamp} - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '%{Framed-IP-Address}', acctsessiontime = '%{Acct-Session-Time}', acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}' WHERE acctsessionid     = '%{Acct-Session-Id}' AND username            = '%{SQL-User-Name}' AND nasipaddress        = '%{NAS-IP-Address}'" -> 'UPDATE radacct SET acctupdatetime  = (@acctupdatetime_old:=acctupdatetime), acctupdatetime  = FROM_UNIXTIME(1376506471), acctinterval    = 1376506471 - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '', acctsessiontime = '', acctinputoctets = '0' << 32 | '0', acctoutputoctets = '0' << 32 | '0' WHERE acctsessionid     = '900' AND username            = 'cskhoo' AND nasipaddress        = '10.69.1.35''<br>
 rlm_sql (sql): Executing query: 'UPDATE radacct SET acctupdatetime  = (@acctupdatetime_old:=acctupdatetime), acctupdatetime  = FROM_UNIXTIME(1376506471), acctinterval    = 1376506471 - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '', acctsessiontime = '', acctinputoctets = '0' << 32 | '0', acctoutputoctets = '0' << 32 | '0' WHERE acctsessionid     = '900' AND username            = 'cskhoo' AND nasipaddress        = '10.69.1.35''<br>
 rlm_sql (sql): Released connection (4)<br>rlm_sql (sql): Closing connection (1): Too many free connections (4 > 3)<br>rlm_sql_mysql: Socket destructor called, closing socket<br>(1)   [-sql] = ok<br>(1)   [exec] = noop<br>
 (1) attr_filter.accounting_response :   expand: "%{User-Name}" -> 'cskhoo'<br>(1) attr_filter.accounting_response : Matched entry DEFAULT at line 12<br>(1)   [attr_filter.accounting_response] = updated<br>
 Sending Accounting-Response of id 12 from 0.0.0.0 port 1813 to 10.69.1.35 port 62261<br>(1) Finished request 1.<br>Waking up in 0.2 seconds.<br>(1) Cleaning up request packet ID 12 with timestamp +42<br>Ready to process requests.</div>
<div> </div><div> </div><div> </div><div>Radius Update when NAS IP Changes - Error as below</div><div>rad_recv: Accounting-Request packet from host 10.69.1.31 port 65146, id=13, length=39<br>        User-Name = 'cskhoo'<br>
         Acct-Status-Type = Interim-Update<br>        Acct-Session-Id = '900'<br>(2) # Executing section preacct from file /usr/local/etc/raddb/sites-enabled/default<br>(2)   group preacct {<br>(2)  - entering group preacct {...}<br>
 (2)   [preprocess] = ok<br>(2)    policy acct_unique {<br>(2)   - entering policy acct_unique {...}<br>(2)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i) <br>(2)     expand: "%{string:Class}" -> ''<br>
 (2)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i)  -> FALSE<br>(2)     else else {<br>(2)    - entering else else {...}<br>(2)     update request {<br>(2)     expand: "%{md5:%{User-Name},%{Acct-Session-ID},%{NAS-IP-Address},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}" -> '47fe864f0f34504bea1670f9b8e542e4'<br>
 (2)             Acct-Unique-Session-Id := "47fe864f0f34504bea1670f9b8e542e4"<br>(2)     } # update request = ok<br>(2)    - else else returns ok<br>(2)   - policy acct_unique returns ok<br>(2) suffix : No '@' in User-Name = "cskhoo", looking up realm NULL<br>
 (2) suffix : No such realm "NULL"<br>(2)   [suffix] = noop<br>(2)   [files] = noop<br>(2) # Executing section accounting from file /usr/local/etc/raddb/sites-enabled/default<br>(2)   group accounting {<br>(2)  - entering group accounting {...}<br>
 (2) detail :    expand: "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" -> '/usr/local/var/log/radius/radacct/<a href="http://10.69.1.31/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.31/detail-</font><font color="#0066cc">20130815</font></a>'<br>
 (2) detail : /usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/<a href="http://10.69.1.31/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.31/detail-</font><font color="#0066cc">20130815</font></a><br>
 (2) detail :    expand: "%t" -> 'Thu Aug 15 02:55:53 2013'<br>(2)   [detail] = ok<br>(2)   [unix] = noop<br>(2) sql :       expand: "%{tolower:type.%{Acct-Status-Type}.query}" -> 'type.interim-update.query'<br>
 (2) sql : Using query template 'query'<br>rlm_sql (sql): Reserved connection (4)<br>(2) sql :       expand: "%{User-Name}" -> 'cskhoo'<br>(2) sql : SQL-User-Name updated<br>(2) sql :       expand: "UPDATE radacct SET acctupdatetime  = (@acctupdatetime_old:=acctupdatetime), acctupdatetime  = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctinterval    = %{integer:Event-Timestamp} - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '%{Framed-IP-Address}', acctsessiontime = '%{Acct-Session-Time}', acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}' WHERE acctsessionid     = '%{Acct-Session-Id}' AND username            = '%{SQL-User-Name}' AND nasipaddress        = '%{NAS-IP-Address}'" -> 'UPDATE radacct SET acctupdatetime  = (@acctupdatetime_old:=acctupdatetime), acctupdatetime  = FROM_UNIXTIME(1376506553), acctinterval    = 1376506553 - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '', acctsessiontime = '', acctinputoctets = '0' << 32 | '0', acctoutputoctets = '0' << 32 | '0' WHERE acctsessionid     = '900' AND username            = 'cskhoo' AND nasipaddress        = '10.69.1.31''<br>
 rlm_sql (sql): Executing query: 'UPDATE radacct SET acctupdatetime  = (@acctupdatetime_old:=acctupdatetime), acctupdatetime  = FROM_UNIXTIME(1376506553), acctinterval    = 1376506553 - UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = '', acctsessiontime = '', acctinputoctets = '0' << 32 | '0', acctoutputoctets = '0' << 32 | '0' WHERE acctsessionid     = '900' AND username            = 'cskhoo' AND nasipaddress        = '10.69.1.31''<br>
 (2) sql : No records updated<br>(2) sql : Trying next query...<br>(2) sql :       expand: "INSERT INTO radacct (acctsessionid,            acctuniqueid,           username, realm,                        nasipaddress,           nasportid, nasporttype,                acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,        acctauthentic, connectinfo_start,       connectinfo_stop,      acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', FROM_UNIXTIME(%{integer:Event-Timestamp} - %{%{Acct-Session-Time}:-0}), FROM_UNIXTIME(%{integer:Event-Timestamp}), NULL, '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}')" -> 'INSERT INTO radacct (acctsessionid,              acctuniqueid,           username, realm,                       nasipaddress,           nasportid, nasporttype,         acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,       acctauthentic, connectinfo_start,       connectinfo_stop,       acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,  servicetype,            framedprotocol, framedipaddress) VALUES ('900', '47fe864f0f34504bea1670f9b8e542e4', 'cskhoo', '', '10.69.1.31', '', '', FROM_UNIXTIME(1376506553 - 0), FROM_UNIXTIME(1376506553), NULL, '', '', '', '0' << 32 | '0', '0' << 32 | '0', '', '', '', '', '')'<br>
 rlm_sql (sql): Executing query: 'INSERT INTO radacct (acctsessionid,            acctuniqueid,           username, realm,                        nasipaddress,         nasportid, nasporttype,          acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,        acctauthentic, connectinfo_start,       connectinfo_stop,      acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES ('900', '47fe864f0f34504bea1670f9b8e542e4', 'cskhoo', '', '10.69.1.31', '', '', FROM_UNIXTIME(1376506553 - 0), FROM_UNIXTIME(1376506553), NULL, '', '', '', '0' << 32 | '0', '0' << 32 | '0', '', '', '', '', '')'<br>
 rlm_sql_mysql: MYSQL check_error: 1136 received<br>rlm_sql (sql): Database query error: Column count doesn't match value count at row 1<br>rlm_sql_mysql: MYSQL check_error: 1136 received<br>rlm_sql_mysql: Cannot store result<br>
 rlm_sql_mysql: MySQL error 'Column count doesn't match value count at row 1'<br>(2) sql : No additional queries configured<br>rlm_sql (sql): Released connection (4)<br>rlm_sql (sql): Closing connection (3): Hit idle_timeout, was idle for 124 seconds<br>
 rlm_sql (sql): You probably need to lower "min"<br>rlm_sql_mysql: Socket destructor called, closing socket<br>rlm_sql (sql): Closing connection (2): Hit idle_timeout, was idle for 124 seconds<br>rlm_sql_mysql: Socket destructor called, closing socket<br>
 (2)   [-sql] = noop<br>(2)   [exec] = noop<br>(2) attr_filter.accounting_response :   expand: "%{User-Name}" -> 'cskhoo'<br>(2) attr_filter.accounting_response : Matched entry DEFAULT at line 12<br>(2)   [attr_filter.accounting_response] = updated<br>
 Sending Accounting-Response of id 13 from 0.0.0.0 port 1813 to 10.69.1.31 port 65146<br>(2) Finished request 2.<br>Waking up in 0.3 seconds.<br>(2) Cleaning up request packet ID 13 with timestamp +124<br>Ready to process requests.</div>
<div> </div><div> </div><div> </div><div> </div><div><div>Radius Acct Stop after NAS IP Changes - another record with stop time was added into mysql DB, the previous record will not have stop time.</div></div><div>rad_recv: Accounting-Request packet from host 10.69.1.31 port 53956, id=14, length=39<br>
         User-Name = 'cskhoo'<br>        Acct-Status-Type = Stop<br>        Acct-Session-Id = '900'<br>(3) # Executing section preacct from file /usr/local/etc/raddb/sites-enabled/default<br>(3)   group preacct {<br>
 (3)  - entering group preacct {...}<br>(3)   [preprocess] = ok<br>(3)    policy acct_unique {<br>(3)   - entering policy acct_unique {...}<br>(3)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i) <br>(3)     expand: "%{string:Class}" -> ''<br>
 (3)    ? if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i)  -> FALSE<br>(3)     else else {<br>(3)    - entering else else {...}<br>(3)     update request {<br>(3)     expand: "%{md5:%{User-Name},%{Acct-Session-ID},%{NAS-IP-Address},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}" -> '47fe864f0f34504bea1670f9b8e542e4'<br>
 (3)             Acct-Unique-Session-Id := "47fe864f0f34504bea1670f9b8e542e4"<br>(3)     } # update request = ok<br>(3)    - else else returns ok<br>(3)   - policy acct_unique returns ok<br>(3) suffix : No '@' in User-Name = "cskhoo", looking up realm NULL<br>
 (3) suffix : No such realm "NULL"<br>(3)   [suffix] = noop<br>(3)   [files] = noop<br>(3) # Executing section accounting from file /usr/local/etc/raddb/sites-enabled/default<br>(3)   group accounting {<br>(3)  - entering group accounting {...}<br>
 (3) detail :    expand: "/usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" -> '/usr/local/var/log/radius/radacct/<a href="http://10.69.1.31/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.31/detail-</font><font color="#0066cc">20130815</font></a>'<br>
 (3) detail : /usr/local/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /usr/local/var/log/radius/radacct/<a href="http://10.69.1.31/detail-20130815" target="_blank"><font color="#0066cc">10.69.1.31/detail-</font><font color="#0066cc">20130815</font></a><br>
 (3) detail :    expand: "%t" -> 'Thu Aug 15 02:56:37 2013'<br>(3)   [detail] = ok<br>(3)   [unix] = noop<br>(3) sql :       expand: "%{tolower:type.%{Acct-Status-Type}.query}" -> 'type.stop.query'<br>
 (3) sql : Using query template 'query'<br>rlm_sql (sql): Reserved connection (4)<br>(3) sql :       expand: "%{User-Name}" -> 'cskhoo'<br>(3) sql : SQL-User-Name updated<br>(3) sql :       expand: "UPDATE radacct SET acctstoptime        = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime    = '%{Acct-Session-Time}', acctinputoctets      = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', acctterminatecause = '%{Acct-Terminate-Cause}', connectinfo_stop = '%{Connect-Info}' WHERE acctsessionid    = '%{Acct-Session-Id}' AND username             = '%{SQL-User-Name}' AND nasipaddress  = '%{NAS-IP-Address}'" -> 'UPDATE radacct SET acctstoptime      = FROM_UNIXTIME(1376506597), acctsessiontime    = '', acctinputoctets = '0' << 32 | '0', acctoutputoctets = '0' << 32 | '0', acctterminatecause = '', connectinfo_stop = '' WHERE acctsessionid        = '900' AND username            = 'cskhoo' AND nasipaddress    = '10.69.1.31''<br>
 rlm_sql (sql): Executing query: 'UPDATE radacct SET acctstoptime        = FROM_UNIXTIME(1376506597), acctsessiontime    = '', acctinputoctets   = '0' << 32 | '0', acctoutputoctets = '0' << 32 | '0', acctterminatecause = '', connectinfo_stop = '' WHERE acctsessionid      = '900' AND username            = 'cskhoo' AND nasipaddress   = '10.69.1.31''<br>
 (3) sql : No records updated<br>(3) sql : Trying next query...<br>(3) sql :       expand: "INSERT INTO radacct (acctsessionid,            acctuniqueid,           username, realm,                        nasipaddress,           nasportid, nasporttype,                acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,        acctauthentic, connectinfo_start,       connectinfo_stop,      acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', FROM_UNIXTIME(%{integer:Event-Timestamp} - %{%{Acct-Session-Time}:-0}), FROM_UNIXTIME(%{integer:Event-Timestamp}), FROM_UNIXTIME(%{integer:Event-Timestamp}), '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{Connect-Info}', '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}')" -> 'INSERT INTO radacct (acctsessionid,          acctuniqueid,           username, realm,                        nasipaddress,           nasportid, nasporttype,       acctstarttime,           acctupdatetime, acctstoptime,           acctsessiontime,        acctauthentic, connectinfo_start,       connectinfo_stop,       acctinputoctets, acctoutputoctets,     calledstationid,        callingstationid, acctterminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES ('900', '47fe864f0f34504bea1670f9b8e542e4', 'cskhoo', '', '10.69.1.31', '', '', FROM_UNIXTIME(1376506597 - 0), FROM_UNIXTIME(1376506597), FROM_UNIXTIME(1376506597), '', '', '', '', '0' << 32 | '0', '0' << 32 | '0', '', '', '', '', '', '')'<br>
 rlm_sql (sql): Executing query: 'INSERT INTO radacct (acctsessionid,            acctuniqueid,           username, realm,                        nasipaddress,         nasportid, nasporttype,          acctstarttime,          acctupdatetime, acctstoptime,           acctsessiontime,        acctauthentic, connectinfo_start,       connectinfo_stop,      acctinputoctets, acctoutputoctets,      calledstationid,        callingstationid, acctterminatecause,   servicetype,            framedprotocol, framedipaddress) VALUES ('900', '47fe864f0f34504bea1670f9b8e542e4', 'cskhoo', '', '10.69.1.31', '', '', FROM_UNIXTIME(1376506597 - 0), FROM_UNIXTIME(1376506597), FROM_UNIXTIME(1376506597), '', '', '', '', '0' << 32 | '0', '0' << 32 | '0', '', '', '', '', '', '')'<br>
 rlm_sql (sql): Released connection (4)<br>rlm_sql (sql): Opening additional connection (5)<br>rlm_sql_mysql: Starting connect to MySQL server<br>(3)   [-sql] = ok<br>(3)   [exec] = noop<br>(3) attr_filter.accounting_response :   expand: "%{User-Name}" -> 'cskhoo'<br>
 (3) attr_filter.accounting_response : Matched entry DEFAULT at line 12<br>(3)   [attr_filter.accounting_response] = updated<br>Sending Accounting-Response of id 14 from 0.0.0.0 port 1813 to 10.69.1.31 port 53956<br>(3) Finished request 3.<br>
 Waking up in 0.2 seconds.<br>(3) Cleaning up request packet ID 14 with timestamp +168<br>Ready to process requests.<br></div><div> </div><div>Regards,</div><div>Ultaman</div></div>