RDMessage.asn 64.6 KB
Newer Older
	ggsnAddress				[4] IPAddress OPTIONAL, 
	pDP-address-allocated	[5] IPAddress OPTIONAL,
	aPN						[6] UTF8String OPTIONAL,
	pDP-type				[7] OCTET STRING (SIZE(2)) OPTIONAL,
	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),
		-- 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 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),
	...
}


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
	username				[3] UTF8String OPTIONAL,
	protocol				[4] ENUMERATED
	{
		iEEE80211 (1),
		iEEE80211a (2),
		iEEE80211b (3),
		iEEE80211g (4),
		iEEE80211n (5),
		iEEE80211ac (6),
		iEEE80211ad (7),
		...
	} OPTIONAL,
	securityMode			[5] ENUMERATED
	{
		wEP (0),
		wPA (1),
		wPA2 (2),
		...
	} OPTIONAL,
	authenticationTelephoneNumber    [6] PartyNumber OPTIONAL,
	    -- if authentication arranged through a code sent to mobile, this is the number 
		-- to which the code was sent
	authenticationPaymentReference	 [7] UTF8String OPTIONAL,
		-- For example, the number of a voucher that was used in authentication
	...
}



-- ====================================
-- 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,
	...,
	subscriberID	[7] NaSubscriberID OPTIONAL
	-- format as per 3GPP TS 09.02 [8]
	-- 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.
	-- 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)),
	addressSetOrRangeOrMask		[1] IPAddressSetOrRangeOrMask OPTIONAL,
	portNumber					[2] INTEGER OPTIONAL,
		-- populated with the outbound port number
		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
	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,
	...,
	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