Some Android smartphones send only accounting request

Riccardo locatelli riccardo.locatelli at netweek.it
Tue Aug 18 15:39:41 CEST 2015


so there is no way to control it ?

this is whene i disconnect my galaxy s5:

rad_recv: Accounting-Request packet from host 192.168.100.110 port 54860,
id=30, length=207
        Acct-Session-Id = "55CE1818-00000028"
        Acct-Status-Type = Stop
        Acct-Authentic = RADIUS
        User-Name = "test"
        NAS-IP-Address = 192.168.100.110
        Vendor-29671-Attr-1 = 0x53797345646974
        NAS-Port = 0
        Called-Station-Id = "00-18-0A-7A-91-3C:Netweek"
        Calling-Station-Id = "78-4B-87-67-A9-1C"
        Framed-IP-Address = 192.168.1.33
        NAS-Port-Type = Wireless-802.11
        Connect-Info = "CONNECT 0Mbps 802.11b"
        Acct-Session-Time = 2164
        Acct-Input-Packets = 23392
        Acct-Output-Packets = 3204
        Acct-Input-Octets = 1622224
        Acct-Output-Octets = 1697605
        Event-Timestamp = "Aug 18 2015 15:37:46 CEST"
        Acct-Terminate-Cause = Lost-Carrier
# Executing section preacct from file
/usr/local/etc/raddb/sites-enabled/default
+group preacct {
++[preprocess] = ok
++update request {
WARNING: Unknown module "expr" in string expansion "%"
++} # update request = noop
[acct_unique] WARNING: Attribute NAS-Identifier was not found in request,
unique ID MAY be inconsistent
[acct_unique] Hashing 'Event-Timestamp = "Aug 18 2015 15:37:46
CEST",NAS-Port = 0,,NAS-IP-Address = 192.168.100.110,Acct-Session-Id =
"55CE1818-00000028",User-Name = "test"'
[acct_unique] Acct-Unique-Session-ID = "ea5e7375b2b03b02".
++[acct_unique] = ok
+} # group preacct = ok
# Executing section accounting from file
/usr/local/etc/raddb/sites-enabled/default
+group accounting {
[sql]   expand: %{User-Name} -> test
[sql] sql_set_user escaped user --> 'test'
[sql]   expand: %{Acct-Session-Time} -> 2164
[sql]   expand: %{Acct-Input-Gigawords} ->
[sql]   ... expanding second conditional
[sql]   expand: %{Acct-Input-Octets} -> 1622224
[sql]   expand: %{Acct-Output-Gigawords} ->
[sql]   ... expanding second conditional
[sql]   expand: %{Acct-Output-Octets} -> 1697605
[sql]   expand: %{Acct-Delay-Time} ->
[sql]   ... expanding second conditional
[sql]   expand:            UPDATE radacct SET              acctstoptime
  = '%S',              acctsessiontime    = '%{%{Acct-Session-Time}:-0}',
           acctinputoctets    = '%{%{Acct-Input-Gigawords}:-0}' << 32 |
                              '%{%{Acct-Input-Octets}:-0}',
 acctoutputoctets   = '%{%{Acct-Output-Gigawords}:-0}' << 32 |
                      '%{%{Acct-Output-Octets}:-0}',
 acctterminatecause = '%{Acct-Terminate-Cause}',              acctstopdelay
     = '%{%{Acct-Delay-Time}:-0}',              connectinfo_stop   =
'%{Connect-Info}'           WHERE acctsessionid   = '%{Acct-Session-Id}'
        AND username          = '%{SQL-User-Name}'           AND
nasipaddress      = '%{NAS-IP-Address}' ->            UPDATE radacct SET
           acctstoptime       = '2015-08-18 15:37:48',
 acctsessiontime    = '2164',              acctinputoctets    = '0' << 32 |
                                  '1622224',              acctoutputoctets
  = '0
[sql]   expand: /usr/local/var/log/radius/sqltrace.sql ->
/usr/local/var/log/radius/sqltrace.sql
rlm_sql (sql): Reserving sql socket id: 16
rlm_sql_mysql: query:             UPDATE radacct SET
 acctstoptime       = '2015-08-18 15:37:48',              acctsessiontime
 = '2164',              acctinputoctets    = '0' << 32 |
                '1622224',              acctoutputoctets   = '0' << 32 |
                                '1697605',              acctterminatecause
= 'Lost-Carrier',              acctstopdelay      = '0',
 connectinfo_stop   = 'CONNECT 0Mbps 802.11b'           WHERE acctsessionid
  = '55CE1818-00000028'           AND username          = 'test'
AND nasipaddress      = '192.168.100.110'
rlm_sql (sql): Released sql socket id: 16
++[sql] = ok
++? if (noop)
? Evaluating (noop) -> FALSE
++? if (noop) -> FALSE
++[exec] = noop
[attr_filter.accounting_response]       expand: %{User-Name} -> test
attr_filter: Matched entry DEFAULT at line 12
++[attr_filter.accounting_response] = updated
+} # group accounting = updated
Sending Accounting-Response of id 30 to 192.168.100.110 port 54860
Finished request 18.
Cleaning up request 18 ID 30 with timestamp +2222
Going to the next request
Ready to process requests.


2015-08-18 15:12 GMT+02:00 Nick Lowe <nick.lowe at gmail.com>:

> Hi Riccardo,
>
> This is because roaming is taking place from one BSS to another, auth isn't
> therefore happening but you will observe a Stop for the old accounted
> session and a Start for the new. Consider it a useful optimisation.
>
> You should, however, see an Acct-Multi-Session-Id to link the previous
> accounting session to the new accounting session when roaming occurs.
>
> The Acct-Session-Id changes on some APs and is constant on others.
> Technically, the Acct-Session-Id is AP specific so it changing is
> reasonable behaviour.
>
> You cannot use the Class attribute to track reliably as, with some APs, the
> value accounted with changes in accounting when 802.1X re-authentication
> takes place.
>
> Regards,
>
> Nick
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html
>



-- 
Riccardo Locatelli


More information about the Freeradius-Users mailing list