Newer
Older
NAAuthID ::= UTF8String
NaSubscriberID ::= UTF8String
NASubscriber ::= SEQUENCE
-- Generic information on a service subscriber, supplemented with information specific to
-- network access services.
{
validity [1] TimeSpan OPTIONAL,
subscriberID [2] NaSubscriberID OPTIONAL,
-- Unique identifier for this subscriber, e.g. account number
naSubscriptions [3] SEQUENCE OF NAServiceSubscription OPTIONAL,
-- List of all known services subscribed to by this user
allocatedDeviceIDs [4] SEQUENCE OF NADeviceId OPTIONAL,
-- List of all known devices allocated to this user.
subscriber [5] GenericSubscriberInfo OPTIONAL,
-- Name, address and other generic subscriber information
...,
allocatedDevices [6] SEQUENCE OF NADevice OPTIONAL
-- If present, contains device details for all elements from allocatedDeviceIDs
}
NAServiceSubscription ::= SEQUENCE
-- Description of the subscription to a Network Access service
{
validity [1] TimeSpan OPTIONAL,
naServiceID [2] UTF8String OPTIONAL,
-- Identifier for the service, e.g. account plan name.
naProviderID [3] NAProviderID OPTIONAL,
-- Unique identifier for the provider of the service, e.g. company name
naAuthID [4] NAAuthID OPTIONAL,
-- Unique identifier for this subscription, e.g. logon name
options [5] UTF8String OPTIONAL,
-- Human readable text with restrictions or options to the subscription
installationAddress [6] AddressInformation OPTIONAL,
fixIpAddress [7] IPAddress OPTIONAL,
-- fix assigned IP address
imsi [8] IMSI OPTIONAL,
...,
allocatedDeviceIDs [9] SEQUENCE OF NADeviceId OPTIONAL,
naServiceStatus [10] UTF8String OPTIONAL,
-- CSP-specific description of current service status, e.g. "Active", "Ceased", etc.
registeredICCID [11] UTF8String OPTIONAL,
canterburym
committed
nationalNASubscription [12] NationalNASubscription OPTIONAL,
paymentDetails [13] PaymentDetails OPTIONAL,
additionalIPAddresses [14] SEQUENCE OF IPAddressSetOrRangeOrMask OPTIONAL,
subscriptionType [15] SubscriptionType OPTIONAL,
-- Describes the nature of the subscription
deliveryAddress [16] AddressInformation OPTIONAL,
resellerAddress [17] AddressInformation OPTIONAL,
otherAddresses [18] SEQUENCE OF OtherAddress OPTIONAL,
allocatedDevices [19] SEQUENCE OF NADevice OPTIONAL
-- If present, contains device details for all elements from allocatedDeviceIDs
}
NationalNASubscription ::= SEQUENCE
-- Description of the subscription to a Network Access service
{
countryCode [1] UTF8String (SIZE(2)),
-- see comment in NationalRequestParameters
...
}
-- ===========================================
-- Definitions of Network Access Service Usage
-- ===========================================
NAServiceUsage ::= SEQUENCE
{
naAccessTime [1] GeneralizedTime OPTIONAL,
-- Time of connection to the NAS
naAuthID [2] NAAuthID OPTIONAL,
-- Username used to obtain network access
nwAccessType [3] NwAccessType OPTIONAL,
-- Type of network access attempted. If not undefined(0), this should be one of the types
-- supported by the NAS (identified below by naNwElementID)
naStatus [4] ENUMERATED
{
unknown(0),
succeeded(1),
-- Authentication OK and access granted
failed(2),
-- Authentication failure (wrong credentials or time out)
rejected(3),
-- Rejected by the CSP (e.g. usage limits exceeded)
...
} OPTIONAL,
interval [5] TimeSpan OPTIONAL,
-- Start time and end time (duration) of network access.
naDeviceId [6] NADeviceId OPTIONAL,
-- Device used to access the service
naNwElementID [7] NANwElementID OPTIONAL,
-- Network element (NAS) onto which the naDevice is connected
naAssignedAddress [8] SEQUENCE OF NAAssignedAddress OPTIONAL,
-- IP address assigned by the network access service. May be fixed or dynamic
location [9] Location OPTIONAL,
-- Location of the access (for e.g. GPRS handsets)
dialUpInformation [10] DialUpInformation OPTIONAL,
gprsInformation [11] GprsInformation OPTIONAL,
...,
octetsDownloaded [12] INTEGER OPTIONAL,
octetsUploaded [13] INTEGER OPTIONAL,
endReason [14] NAEndReason OPTIONAL,
subscriberID [15] NaSubscriberID OPTIONAL,
canterburym
committed
-- Identifier for a known user of this network access
ePSInformation [16] EPSInformation OPTIONAL,
wifiInformation [17] WifiInformation OPTIONAL,
addressTranslationRecords [18] SEQUENCE OF AddressTranslationRecord OPTIONAL,
-- contains extended information about the NAT or PAT operations carried out within this
-- service usage session
naDevice [19] NADevice OPTIONAL,
-- If present, contains the device details for the device referenced in naDeviceID
additionalLocations [20] SEQUENCE OF TimedLocation OPTIONAL
-- List of additional locations and optional access time during the network access service
-- usage
}
TimedLocation ::= SEQUENCE
{
location [1] Location,
naAccessTime [2] GeneralizedTime OPTIONAL,
...
}
WifiInformation ::= SEQUENCE
{
bSSID [1] OCTET STRING (SIZE (6)) OPTIONAL,
-- The Basic Service Set Identification for the connection.
-- This is also the MAC address of the access point (the present document assumes
-- that records are for infrastructure mode, not ad-hoc mode).
-- The MAC address of the user is given in the naDeviceID in the structure (one level up)
sSID [2] UTF8String OPTIONAL,
-- The human-readable Service Set Identifier
-- It should be noted that this is typically only available on the air interface and so
-- is not likely to be logged by CSPs (though may be recorded at a more local level).
-- Therefore requesting organizations should not expect this to be populated typically.
-- It is not guaranteed to be unique.
username [3] UTF8String OPTIONAL,
locationOfAccessPoint [4] Location OPTIONAL,
-- Location of the Access Point as lat/long, grid reference or postal address.
-- Requesting organizations should be aware that Access Points can be moved, sometimes
-- without the knowledge of the CSP
authenticationType [5] AuthenticationType OPTIONAL,
additionalAuthenticationInformation [6] AdditionalAuthenticationInformation OPTIONAL,
accessPointIPAddress [7] IPAddress OPTIONAL,
accessPointAdditionalDescriptions [8] SEQUENCE OF UTF8String OPTIONAL,
-- Informal description of location, category or type of access point,
-- or a name of the network to which the access point belongs.
accessPointAdditionalProviders [9] SEQUENCE OF UTF8String OPTIONAL
-- For WiFi, there may be other parties involved in hosting or owning the
-- Access Points, e.g. access point provider or partner providers
}
AuthenticationType ::= ENUMERATED
{
authenticationBySMS(1),
-- Used if authentication arranged through a code sent to mobile
-- additionalAuthenticationInformation shall contain the phone number
authenticationByCookie(2),
-- If authentication was granted on the basis of a cookie left from a previous visit to a
-- site.
-- No other mandatory addtionalAuthenticationInformation
authenticationByMACAddress(3),
-- If authentication was granted because the MAC address of the UE was recognised due
-- to a previous visit.
-- additionalAuthenticationInformation shall contain the MAC Address unless it is already
-- populated as NADeviceID in this record.
authenticationByEAPSIM(4),
-- If authenticated by EAP SIM see TS 33.234 [36]
-- additionalAuthenticationInformation shall contain the IMSI
-- Other varieties of EAP could be added here later, together with any extra information
-- they could provide.
authenticationByUsernameAndPassword(5),
-- additionalAuthenticationInformation should contain username and password if appropriate
authenticationByPaymentOrVoucher(6),
-- additionalAuthenticationInformation should contain Voucher or Payment details
-- if appropriate.
...
}
AdditionalAuthenticationInformation ::= SEQUENCE
{
phoneNumber [1] PartyNumber OPTIONAL,
-- e.g. number to which an SMS was sent
mACAddress [2] OCTET STRING (SIZE (6)) OPTIONAL,
iMSI [3] IMSI OPTIONAL,
username [4] UTF8String OPTIONAL,
-- Names supplied are unlikely to be verified
password [5] UTF8String OPTIONAL,
-- Only to be populated if it is both appropriate and available
paymentReference [6] UTF8String OPTIONAL,
-- For example, the number of a voucher that was used in authentication
...
}
AddressTranslationRecord ::= SEQUENCE
{
validity [1] TimeSpan OPTIONAL,
-- time at which the address translation started and/or ended
privateIPAddress [2] IPAddress OPTIONAL,
-- the private IP of the host
privatePort [3] INTEGER OPTIONAL,
-- the private port of the host
publicIPAddress [4] IPAddress OPTIONAL,
-- the translated IP of the host, i.e. the address known by the remote host
publicPort [5] AddressTranslationPortAssignment OPTIONAL,
-- the translated port(s) of the host, i.e. the port(s) known by the remote host, if
-- applicable
destinationIPAddress [6] IPAddress OPTIONAL,
-- the IP address of the remote host
destinationPort [7] INTEGER OPTIONAL,
-- the port of the remote host
connectionType [8] ENUMERATED
{
udp(0),
tcp(1),
sctp(2),
other(3),
...
} OPTIONAL,
...
}
AddressTranslationPortAssignment ::= CHOICE
{
singlePort [1] INTEGER,
-- only one port is assigned to the host, that port number is specified here
portRange [2] SEQUENCE OF PortRange,
-- if a range of translated ports is assigned to the host, specify it here
...
}
PortRange ::= SEQUENCE
{
-- The range given is inclusive of both ends
lowerBound [1] INTEGER OPTIONAL,
upperBound [2] INTEGER OPTIONAL,
...
}
NAEndReason ::= ENUMERATED
{
unknownReason(0),
timeout(1),
userDisconnect(2),
-- e.g. user logs off
networkDisconnect(3),
-- e.g. user's time/credits have been used up
networkError(4),
...
}
NwAccessType ::= ENUMERATED
{
undefined(0),
dialUp(1),
-- DialUp access
xDSL(2),
-- DSL access
cableModem(3),
-- Cable access
lAN(4),
-- LAN access
wirelessLAN(5),
-- Wireless LAN access (e.g. hotspot)
wimax(6),
mobilePacketData(7),
-- Network access over GSM/3GPP GPRS, UMTS, etc.
...
}
DialUpInformation ::= SEQUENCE
{
diallingNumber [1] PartyNumber OPTIONAL,
-- Telephone number used for dial-up access
dialledNumber [2] PartyNumber OPTIONAL,
callback [3] PartyNumber OPTIONAL,
-- Call back number used for dial-up access
...
}
GprsInformation ::= SEQUENCE
{
iMSI [1] IMSI OPTIONAL,
mSISDN [2] PartyNumber OPTIONAL,
sgsnAddress [3] SEQUENCE OF IPAddress OPTIONAL,
ggsnAddress [4] IPAddress OPTIONAL,
pDP-address-allocated [5] IPAddress OPTIONAL,
aPN [6] UTF8String OPTIONAL,
pDP-type [7] OCTET STRING (SIZE(2)) OPTIONAL,
-- format as per TS 101 671 [6]
gPRSEvent [8] GPRSEvent OPTIONAL
-- format as per 3GPP TS 33.108 [11]
-- Tag [9] was used in the past and shall not be reused.
GPRSEvent ::= ENUMERATED
{
pDPContextActivation(1),
pDPContextDeactivation(4),
gPRSAttach(5),
gPRSDetach(6),
locationInfoUpdate(10),
-- sMS ommited from 3GPP TS 33.108 [11]
pDPContextModification(11),
servingSystem(12),
...
}
EPSInformation ::= SEQUENCE
{
iMSI [1] IMSI OPTIONAL,
iMSIUnauthenticatedFlag [2] IMSIUnauthenticatedFlag OPTIONAL,
mSISDN [3] PartyNumber OPTIONAL,
iMEISV [4] IMEI OPTIONAL,
s-GWAddress [5] IPAddress OPTIONAL,
p-GWAddress [6] IPAddress OPTIONAL,
p-GWPLMNIdentifier [7] P-GWPLMN-ID OPTIONAL,
aPNNetworkID [8] AccessPointNameNI OPTIONAL,
pDP-PDNType [9] OCTET STRING (SIZE (1))OPTIONAL,
-- PDN/PDP Type number as defined in 3GPP TS 29.274 [32] clause 8.34
pDP-PDNAddress [10] IPAddress OPTIONAL,
-- IP address allocated to the PDP context / PDN connection
-- i.e. IPv4 address when PDP/PDN Type is IPv4 or IPv6 prefix
-- when PDP/PDN Type is IPv6 or IPv4v6.
pDP-PDNAddressExtension [11] IPAddress OPTIONAL,
-- IPv4 address of the served IMSI when PDP/PDN type is IPv4v6
dynamicAddressFlag [12] DynamicAddressFlag OPTIONAL,
dynamicAddressFlagExt [13] DynamicAddressFlagExt OPTIONAL,
rATType [14] INTEGER (0..255),
-- RAT Type coding according to 3GPP TS 29.274 [32] clause 8.17
ePSEvent [15] EPSEvent OPTIONAL,
...
}
IMSIUnauthenticatedFlag ::= BOOLEAN
-- TRUE if unauthenticated IMSI vs. FALSE for authenticated IMSI
P-GWPLMN-ID ::= OCTET STRING (SIZE (3))
-- This is a copy from the Tracking Area Identity (TAI) IE
-- specified in TS 29.274 [32] clause 8.21.4:
-- Bits 8 7 6 5 4 3 2 1
-- 1st OCTET MCC digit 2 MCC digit 1
-- 2nd OCTET MNC digit 3 MCC digit 3
-- 3rd OCTET MNC digit 2 MNC digit 1
AccessPointNameNI ::= IA5String (SIZE(1..63))
-- Network Identifier part of APN in dot representation.
-- For example, if the complete APN is "apn1a.apn1b.apn1c.mnc022.mcc111.gprs"
-- NI is "apn1a.apn1b.apn1c"
DynamicAddressFlag ::= BOOLEAN
-- TRUE if the PDP/PDN address is dynamic.
-- FALSE if IPv4 address is static when PDN type is IPv6 or IPv4v6
DynamicAddressFlagExt ::= BOOLEAN
-- TRUE if IPv4 PDP/PDN address is dynamic, which is allocated during IP CAN bearer activation,
-- initial attach and UE requested PDN connectivity with PDP/PDN type IPv4v6.
-- FALSE if IPv4 address is static.
EPSEvent ::= ENUMERATED
-- The list of "EPSEvent" below is partly taken from 3GPP TS 33.108 [11] EpsHI2Operations
-- from the "EPSEvent ::=ENUMERATED" module
e-UTRANAttach(16),
e-UTRANDetach(17),
bearerActivation(18),
bearerModification(20),
bearerDeactivation(21),
trackingAreaUpdate(25),
servingEvolvedPacketSystem(26),
...
}
-- ====================================
-- Definitions of Network Access Device
-- ====================================
NADeviceId ::= UTF8String
NADevice ::= SEQUENCE
{
naDeviceId [1] NADeviceId OPTIONAL,
-- Identifier of this device.
description [2] UTF8String OPTIONAL,
-- Human readable description of device
location [3] Location OPTIONAL,
macAddress [4] OCTET STRING (SIZE (6)) OPTIONAL,
-- MAC or ethernet address
dslID [5] UTF8String OPTIONAL,
imei [6] IMEI OPTIONAL,
canterburym
committed
...,
subscriberID [7] NaSubscriberID OPTIONAL
}
IMEI ::= OCTET STRING (SIZE(8))
-- format as per 3GPP TS 09.02 [8]
-- NOTE: When comparing IMEIs, an IMEI can be considered "equal to" the requested IMEI even
canterburym
committed
-- if the checksum or software version digits are different or not present.
IMSI ::= OCTET STRING (SIZE(3..8))
-- format as per 3GPP TS 09.02 [8]
-- ======================================
-- Definitions of Message Network element
-- ======================================
NANwElementID ::= UTF8String
NANwElement ::= SEQUENCE
-- In this context, the network element is more commonly referred to as NAS
{
validity [1] TimeSpan OPTIONAL,
-- Period for which this interval is valid
naNwElementID [2] NANwElementID OPTIONAL,
-- Unique ID of this NAS (Network Access Server)
naProviderID [3] NAProviderID OPTIONAL,
-- Unique identifier of the provider managing this NAS.
supportedAccessTypes [4] SEQUENCE OF NwAccessType OPTIONAL,
location [5] Location OPTIONAL,
...
}
IPAddress ::= CHOICE
{
iPv4BinaryAddress [1] OCTET STRING (SIZE(4)),
iPv6BinaryAddress [2] OCTET STRING (SIZE(16)),
iPTextAddress [3] IA5String (SIZE(7..45)),
...
}
NAAssignedAddress ::= SEQUENCE
{
addressSetOrRangeOrMask [1] IPAddressSetOrRangeOrMask OPTIONAL,
portNumber [2] INTEGER OPTIONAL,
-- populated with the outbound port number
addressType [3] ENUMERATED
unknown(0),
internal(1),
external(2),
...
} OPTIONAL,
assignedTime [4] TimeSpan OPTIONAL,
...,
destinationAddress [5] IPAddress OPTIONAL,
-- used in cases where a single external IP/port pair is translated to multiple internal
-- IP/port pairs, with the destination IP/port used to multiplex them
destinationPort [6] INTEGER OPTIONAL
-- used in cases where a single external IP/port pair is translated to multiple internal
-- IP/port pairs, with the destination IP/port used to multiplex them
}
IPAddressSetOrRangeOrMask ::= CHOICE
{
set [0] SEQUENCE OF IPAddress,
range [1] IPRange,
mask [2] IPMask
}
IPRange ::= SEQUENCE
-- Things like 172.16.10.0/26
{
prefix [0] IPAddress,
subnetlength [1] INTEGER (1..128)
}
IPMask ::= SEQUENCE
-- Things like 172.16.10.0/255.255.255.240
{
base [0] IPAddress,
mask [1] IPAddress
}
NABillingDetails ::= SEQUENCE
{
subscriberID [1] NaSubscriberID OPTIONAL,
serviceID [2] UTF8String OPTIONAL,
billingAddress [3] ContactDetails OPTIONAL,
billingIdentifier [4] BillingIdentifier OPTIONAL,
billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL,
canterburym
committed
...,
naTransactionID [6] UTF8String OPTIONAL,
-- Unique reference for this transaction/billing record
-- Details to be defined on a national basis
naTransactionStatus [7] UTF8String OPTIONAL
-- Status of the transaction (i.e. "declined", "succeeded", etc.)
canterburym
committed
-- Details to be defined on a national basis
}
END -- end of RDMessage