Aptilo Usage Data Prot Spec 91 Rev G
Aptilo Usage Data Prot Spec 91 Rev G
(Billing API)
Table of contents
Revision History:
- Rev A: 2010-06-23 Version updated for Aptilo release 9.1.
- Rev B: 2011-11-23 Updated to match MAS 9.1 SP7
- Rev C: 2011-11-29 Added CSV parameter descriptions
- Rev D: 2011-12-19 Added parameter examples and lengths
- Rev E: 2012-02-16 Added Termination-Cause 104, 105 and 106
- Rev F: 2012-03-05 Added scenario details to Termination-Cause 104, 105 and 106
- Rev G: 2012-05-07 Corrected denomination on Acct_Session_Time
Page 2 (20)
Copyright © 2011 Aptilo Networks
Trademarks
Aptilo, the Aptilo logo and all other Aptilo names, products and services are trademarks of Aptilo Networks. All other
names, products and services are trademarks of their respective owners.
Page 3 (20)
Copyright © 2011 Aptilo Networks
Billing generates usage data and billing data, this data is stored on the Aptilo MAS in a CSV
format. CSV (Comma Separated Values) is a text file where the data items are separated by the
character comma (‘,’).
Aptilo CSV: This format supports session event types such as Session-Established, Session-
Terminated but also other events such as TRANSACTION-COMPLETE, ACCESS-DENIED
from the Aptilo Payment Server. This format is supported by the Aptilo Service Portal as
input format for usage reports.
Aptilo CSV-RAW: This format supports RADIUS accounting based events only such as
SESSION-ESTABLISHED (Accounting-Start), SESSION-UPDATED (Accounting-Interim), and
SESSION-TERMINATED (Accounting-Stop). Some WiMAX specific radius attributes are also
included.
An IPDR (Internet Protocol Data Record), XML, format is also available for a limited number of
usage events. This format is depreciated and will not be supported in future releases and is not
recommended.
The event record files can be accessed by an external system using FTP. This external system can
e.g. be a billing system or an external storage server. The Aptilo MAS supports access from several
FTP servers. The FTP access can be controlled to allow certain accounts to fetch only certain
events. This can be used when more than one organization uses the same Aptilo MAS.
Each FTP access account can be configured to access events for certain organizations only. The
actual events can also be customized per FTP account. The below text describes the access end
event settings.
Page 4 (20)
Copyright © 2011 Aptilo Networks
2 Settings
2.1 FTP Accounts
The basic access settings for the FTP account are as below. Please note that there can be several
FTP accounts on one Aptilo MAS. Each FTP-account stores billing events according to its own
settings.
The events are grouped in a few categories, please note that several of the events are not used,
are obsolete or will be removed in a future release. These events are not described in details.
Our recommendation is that events 1, 2, 5, 6, 7 are selected, especially as these are used by the
Aptilo SPA. The others are not used and the generation will only create extra load. Number 3&4
are created in large numbers.
1. Session established
The event corresponds to the Radius accounting start message, including information
available when a session starts.
Page 5 (20)
Copyright © 2011 Aptilo Networks
2. Session terminated
The event correspond to the Radius accounting stop message, including information
available when a session has been terminated. Includes information such as session
duration and bytes sent.
7. Access denied
The event is sent when an end-user authentication has failed. Includes the reason for the
failure.
9. User purged
The event is sent when an account has been automatically deleted (purged).
This is only applicable for accounts that have a purge date & time set.
Page 6 (20)
Copyright © 2011 Aptilo Networks
- Session purged
- Positioning request completed
- Positioning request failed
- Positioning subscription completed
- Positioning subscription failed
- Positioning unsubscription completed
- Zone information delivered
- User information delivered
1. Session established
The event correspond to the Radius accounting start message, including information
available when a session starts.
2. Session updated
The event correspond to the Radius accounting interim message. Includes information
such as session duration and bytes sent/received.
3. Session terminated
The event correspond to the Radius accounting stop message, including information
available when a session has been terminated. Includes information such as session
duration and bytes sent/received.
Page 7 (20)
Copyright © 2011 Aptilo Networks
This specifies which Organizations, Zones and PAS-sites shall be reported for this FTP-account
Setting Organizations – Set “Enable all” to yes to capture events for all organizations.
Setting Organizations – Set “Enable all” to no to capture events for selected organizations
only.
Setting Zones – Set “enable all” to yes to capture events for all or zones.
Setting Zones – Set “enable all” to no to capture events for selected zones only.
Setting Aptilo PAS sites - Set “enable all” to yes to capture events for all or Aptilo PAS
sites.
Setting Aptilo PAS sites - Set “enable all” to no to capture events for the listed Aptilo PAS
sites only.
3 CSV Format
3.1 CSV Templates
The content of the CSV files is controlled by templates. These templates are listed below for each
event type.
Any empty value will be left out but the separator character (comma) will remain. This means that
it can be expected and valid to find two or more commas after each other inside a CSV-event.
Page 8 (20)
Copyright © 2011 Aptilo Networks
Each CSV event file uses this prelude template for "csv-all-attrs"
"Account:",{account.name:QSTR},{account.server-id:QSTR},{account.server-version:QSTR}
Page 9 (20)
Copyright © 2011 Aptilo Networks
Page 10 (20)
Copyright © 2011 Aptilo Networks
"2011-12-06T16:03:21Z",202,"SESSION_ESTABLISHED","mattiash",0,0,"172.16.31.5",
"SupAC1-NASID","SupAC1-ACID",0,19,"c477809990109692",,0,0,-1408229627,"NotSet",
-1062731289,"00:0A:E4:0B:C4:B7","044665739d01",
"2011-12-06T16:03:21Z",63157631,100000,53092047,"4ede3ccd52f25160”,
"2011-12-06T16:03:39Z",203,"SESSION_TERMINATED","mattiash",
"First","Last","Lab","1234567","nobody@aptilo.com","LOCAL",0,"172.16.31.5",
"SupAC1-NASID","SupAC1-ACID",0,19,"c477809990109692",,0,1921265,103673,
18000,1,-1408229627,"root:LAB:sub1","NotSet",-1062731289,
"00:0A:E4:0B:C4:B7","044665739d01",100000,53092047,"4ede3ccd52f25160",
Page 11 (20)
Copyright © 2011 Aptilo Networks
Subnet-name over
RADIUS. Set in Aptilo AC
based on the following:
1. Location defined for the
AP in the AC
2. Location derived from
AP name using location
name function.
2. Location from subnet
4. Location from primary
subnet
5. hard coded: NotSet
client_ip Client IP-address in
1847400260 IP 11
TCP/IP string format
Called_Station_Id 3C:4A:92:78:24:08 String 254 RADIUS client mac-
address
Calling_Station_Id 044665739d01 String 254 User device mac-address
in “Aptilo format” (lower
case and no delimiters)
start_t 2011-05-10T05:09:23Z Time 22 Session start time iso8601
time format
Session_Timeout 86400 Integer 10 Session-Timeout as sent
in Access-Accept
(seconds)
access_point 100002 Integer 10 Internal Access Node id
useracct 53092047 String 254 Internal user account id
NAS_Acct_Session_Id 4dc8c79c503adc27 String 254 System wide unique
Session Id
Page 12 (20)
Copyright © 2011 Aptilo Networks
RADIUS
NAS_Port_Type 19 Integer 10 NAS-Port-Type as received
over RADIUS
Acct_Session_Id c477809990109692 String 254 Acct-Session-ID for the
started session.
Service_Type Integer 10 Not used with Aptilo AC
Framed_Protocol 0 Integer 10 Not used with Aptilo AC
Acct_Output_Octets 1921265 Integer 20 Bytes sent from client to
Internet
Acct_Input_Octets 103673 Integer 20 Bytes sent from client to
Internet
Acct_Session_Time 2643 Integer 10 Active session length. Idle
timeout time not included.
(in milliseconds)
Acct_Terminate_Cause 4 Integer 10 Causes follows RFC
1: User-Request: Active
logout.
4: Idle-Timeout: When AC
detects that the session has
been idle too long.
5: Session-Timeout: When
AC detects that the session
has expired.
6: Admin-Reset: apc-cmd
logout will by default logout
with Admin-Reset or when a
session is terminated using
SNMP from the MAS.
10: NAS-Request: When
AC detects that the byte
limitations are reached.
11: NAS-reboot: When the
AC is rebooted all sessions
will be logged out with this
code.
13: Port-Preempted: This is
used when there is top-up a
session with a new
username. Then a new
session is started and the
old session is terminated
with this code. Or when
automatic MAC login detects
that the IP has a new MAC
address,
20: Reauthentication-
Failure: When a
reauthentication fails, the
session is terminated.
104: Idle-Timeout *:
Created by the MAS without
any Accounting-Stop from
GW when the MAS detects
that the session has been
idle too long.
105: Session-Timeout *:
Created by the MAS without
any Accounting-Stop from
GW when the MAS detects
that the session has expired.
106: Admin-Reset *:
Created by the MAS when a
session is terminated using
SNMP but no Accounting-
Page 13 (20)
Copyright © 2011 Aptilo Networks
[* Acct-Terminate-Cause
above 100 may be
generated from a standby
SMP after a redundancy
takeover. In such case there
will be a corresponding
session CDR in the active
SMP with the same Acct-
Session-Id. In this case this
CDR with Acct-Terminate-
Cause above 100 can be
ignored.]
Page 14 (20)
Copyright © 2011 Aptilo Networks
4 CSV-RAW Format
4.1 CSV-RAW Templates
The content of the CSV-RAW files is controlled by templates. These templates are listed below for
each event type.
Any empty value will be left out but the separator character (comma) will remain. This means that
it can be expected and valid to find two or more commas after each other inside a CSV-event.
#
# Event type 202: SESSION_ESTABLISHED
#
{event.uname},
{event.radius.NAS-IP-Address},
{event.radius.Framed-IP-Address},
Start,
{event.unixtimestamp},
{event.Acct_Session_Id},
{event.realm},
{event.Calling_Station_Id},
,,,,,,,
{event.radius.NAS-Identifier},
{event.radius.Acct-Authentic},
{event.radius.Acct-Delay-Time},
{event.radius.NAS-Port-Type},
,
{event.radius.NAS-Port},
{event.NAS_Acct_Session_Id},
{event.realm},
{event.radiuslookup.WiMAX-Session-Continue},
{event.radius.WiMAX-BS-ID},
{event.radius.WiMAX-PDFID},
,
{event.timestamp:SIMPLETIME}
#
# Event type 205: SESSION_UPDATED
#
{event.uname},
{event.radius.NAS-IP-Address},
{event.radius.Framed-IP-Address},
Interim-Update,
{event.unixtimestamp},
{event.Acct_Session_Id},
{event.realm},
{event.Calling_Station_Id},
,
{event.radius.Acct-Input-Octets},
{event.radius.Acct-Output-Octets},
{event.radius.Acct-Input-Packets},
{event.radius.Acct-Output-Packets},
Page 15 (20)
Copyright © 2011 Aptilo Networks
{event.radius.Acct-Input-Gigawords},
{event.radius.Acct-Output-Gigawords},
{event.radius.NAS-Identifier},
{event.radius.Acct-Authentic},
{event.radius.Acct-Delay-Time},
{event.radius.NAS-Port-Type},
{event.radius.Acct-Session-Time},
{event.radius.NAS-Port},
{event.NAS_Acct_Session_Id},
{event.realm},
{event.radiuslookup.WiMAX-Session-Continue},
{event.radius.WiMAX-BS-ID},
{event.radius.WiMAX-PDFID},
,
{event.timestamp:SIMPLETIME}
#
# Event type 203: SESSION_TERMINATED
#
{event.uname},
{event.radius.NAS-IP-Address},
{event.radius.Framed-IP-Address},
Stop,
{event.unixtimestamp},
{event.Acct_Session_Id},
{event.realm},
{event.Calling_Station_Id},
{event.radiuslookup.Acct-Terminate-Cause},
{event.radius.Acct-Input-Octets},
{event.radius.Acct-Output-Octets},
{event.radius.Acct-Input-Packets},
{event.radius.Acct-Output-Packets},
{event.radius.Acct-Input-Gigawords},
{event.radius.Acct-Output-Gigawords},
{event.radius.NAS-Identifier},
{event.radius.Acct-Authentic},
{event.radius.Acct-Delay-Time},
{event.radius.NAS-Port-Type},
{event.radius.Acct-Session-Time},
{event.radius.NAS-Port},
{event.NAS_Acct_Session_Id},
{event.realm},
{event.radiuslookup.WiMAX-Session-Continue},
{event.radius.WiMAX-BS-ID},
{event.radius.WiMAX-PDFID},
,
{event.timestamp:SIMPLETIME}
Page 16 (20)
Copyright © 2011 Aptilo Networks
mattiash,172.16.31.5,192.168.1.231,Start,1323187401,c477809990109692,LOCAL,044665739d01,,,,,,,,
SupAC1-NASID,1,0,19,,,4ede3ccd52f25160,LOCAL,,,,,2011-12-06 16:03:21
mattiash,172.16.31.5,192.168.1.231,Stop,1323187419,c477809990109692,LOCAL,044665739d01,
User-Request,103673,1921265,1031,1375,,,SupAC1-NASID,1,0,19,18,,4ede3ccd52f25160,
LOCAL,,,,,2011-12-06 16:03:39
Page 17 (20)
Copyright © 2011 Aptilo Networks
Page 18 (20)
Copyright © 2011 Aptilo Networks
Page 19 (20)
Copyright © 2011 Aptilo Networks
over RADIUS.
Acct-Authentic 1 Integer 1 Acct-Authentic as received
over RADIUS
Acct-Delay-Time 0 Integer 10 Acct-Delay-Time as received
over RADIUS (seconds)
NAS-Port-Type 19 Integer 10 NAS-Port-Type as received
over RADIUS
Acct-Session-Time 2643 Integer 10 Active session length. Idle
timeout time not included.
(in milliseconds)
NAS-Port Integer 10 NAS-Port as received over
RADIUS
NAS_Acct_Session_Id 4ede3ccd52f25160 String 254 System wide unique Session
Id
Realm LOCAL String 256 Realm name as configured
in MAS
WiMAX-Session-Continue 0 Integer 10 Indicates if this is an ongoing
session as received over
RADIUS
WiMAX-BS-ID NA1BS1 String 254 WiMAX-BS-ID as received
over RADIUS
WiMAX-PDFID 5 Integer 10 WiMAX-PDFID as received
over RADIUS
timestamp 2011-12-06 16:03:23 Time 22 Event timestamp
(Server time zone)
Page 20 (20)