Newer
Older
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
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 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 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 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
-- 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]
canterburym
committed
-- NOTE: When comparing IMEIs, an IMEI can be considered equal to the requested IMEI even
-- 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.)
-- Details to be defined on a national basis
}
END -- end of RDMessage