RDMessage.asn 60.2 KB
Newer Older
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