Skip to content
RDMessage.asn 35.2 KiB
Newer Older
RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version1(1)}

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

-- =============================
-- Object Identifier Definitions
-- =============================

retainedDataDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3)}

rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version1(1)}

-- ======================================
-- Top level definitions for RDHI wrapper
-- ======================================

RetainedDataMessage ::= SEQUENCE
{
	rdHeaderId				[0] OBJECT IDENTIFIER,
	retainedDataHeader		[1] RetainedDataHeader,
	retainedDataPayload		[2] RetainedDataPayload,
	retainedDataDigest		[3] OCTET STRING OPTIONAL,
		--	The digitally signed hash of the combined fields above (retainedDataHeader and
		--	retainedDataPayload)
	...
}

-- ==========================================================================
-- Definitions for Retained Data header information, present in every message
-- ==========================================================================

RetainedDataHeader ::= SEQUENCE
{
	requestID		[1] RequestID,
	cSPID			[2] CSPID,
	timeStamp		[3] GeneralizedTime,
	thirdPartyCSPID	[4] CSPID OPTIONAL,
	...
}

CSPID ::= UTF8String
	-- Unique identifier for the CSP that issued the request

RequestID ::= SEQUENCE
{
	countryCode					[1] CountryCode,
	authorisedOrganisationID	[2] AuthorisedOrganisationID,
	requestNumber				[3] RequestNumber OPTIONAL,
		-- all messages except GetStatusMessage and StatusMessage have a request number
		-- (see clause 6.1.2)
	...
}

CountryCode ::= UTF8String (SIZE(2))
-- A country code as per ISO 3166-1 [4]

AuthorisedOrganisationID::= UTF8String
-- A unique identifier for an Authorized Organization issuing a Retained Data request

RequestNumber ::= UTF8String
-- Unique within a given country and Authorized Organization

-- =================================================
-- Definitions for Retained Data payload information
-- =================================================

RetainedDataPayload ::= CHOICE
	-- Payload can be a request, response, error or acknowledgement
{
	requestMessage			[1] RequestMessage,
	requestAcknowledgement	[2] RequestAcknowledgement,
	responseMessage			[3] ResponseMessage,
	responseAcknowledgement	[4] ResponseAcknowledgement,
	errorMessage			[5] FurtherInformation,
	cancelMessage			[6] CancelMessage,
	cancelAcknowledgement	[7] CancelAcknowledgement,
	getstatusMessage		[8] GetStatusMessage,
	statusMessage			[9] StatusMessage,
	getResultsMessage		[10] GetResultsMessage,
	...
}

-- ==================================================
-- Definitions of Request message and acknowledgement
-- ==================================================

RequestMessage ::= SEQUENCE
{
	requestPriority				[1] RequestPriority,
	requestParameters			[2] RequestConstraints,
	deliveryPointHIB			[3] DeliveryPointHIB OPTIONAL,
		-- pre-arranged set of delivery address(es) of that specific Authorized Organization
	maxHits						[4] INTEGER OPTIONAL,
		-- Maximum number of records to be returned.
		-- On a national basis maximum numbers could be considered
		-- In case of maxHit a responseFailed message is sent and no data is sent (see 6.3.3.2)
	nationalRequestParameters	[5] NationalRequestParameters OPTIONAL,
		-- to be defined on a national basis 
		-- only to be used in case the present document can not fulfil the national requirements
	...
}

DeliveryPointHIB ::= UTF8String

RequestConstraints ::= SEQUENCE
{
	equals					[1] RetainedDataRecord OPTIONAL,
	notEqualTo				[2] RetainedDataRecord OPTIONAL,
	lessThan				[3] RetainedDataRecord OPTIONAL,
		-- For numerical values
	lessThanOrEqualTo		[4] RetainedDataRecord OPTIONAL,
		-- For numerical values
	greaterThan				[5] RetainedDataRecord OPTIONAL,
		-- For numerical values
	greaterThanOrEqualTo	[6] RetainedDataRecord OPTIONAL,
		-- For numerical values
	startsWith				[7] RetainedDataRecord OPTIONAL,
		-- For strings
	endsWith				[8] RetainedDataRecord OPTIONAL,
		-- For strings
	isAMemberOf				[9] SEQUENCE OF RetainedDataRecord OPTIONAL,
	...
}

RequestPriority ::= OCTET STRING
	-- Priority considerations are a matter for national implementation
	-- This standard makes no statement regarding how such priorities are represented or used


RequestAcknowledgement ::= SEQUENCE
{
	suggestedCompletionTime		[1] GeneralizedTime OPTIONAL,
		-- indicative time that results will be ready
		-- purely informational, not binding for either party
	...
}

-- ===================================================
-- Definitions of Response message and acknowledgement
-- ===================================================

ResponseMessage ::= SEQUENCE 
{
	responseStatus				[1] ResponseStatus,
	responsePayload				[2] SEQUENCE OF ResponseRecord OPTIONAL,
		-- Clause 6 explains use of this field
		-- A responseUnavailable message shall not have a responsePayload (see clause 5.3.3)
		-- The responseComplete and responseIncomplete message shall have a responsePayload
		-- If there are no responses, the responsePayload is present but has zero entries
	nationalResponsePayload		[3] NationalResponsePayload OPTIONAL,
		-- to be defined on a national basis
		-- only to be used in case the present document can not fulfil the national requirements
	...
}

ResponseStatus	::= CHOICE
{
	responseComplete	[1] NULL,
		-- No further results to come
	responseIncomplete	[2] NULL,
		-- There may be further results to come
	responseUnavailable	[3] NULL,
		-- See clause 6.3.3
	responseFailed		[4] FurtherInformation,
		-- See clause 6.3.3.2
	...
}

ResponseRecord	::= SEQUENCE
{
	recordNumber				[1] INTEGER,
	recordPayload				[2] RetainedDataRecord,
	additionalInformation		[3] AdditionalInformation OPTIONAL,
		 -- see clause 6.2.4
	nationalRecordPayload		[4] NationalRecordPayload OPTIONAL,
	...
}

AdditionalInformation ::= SEQUENCE
{
	contactInformation		[1] UTF8String OPTIONAL,
		-- Name or address of operator or person who may have further information
	otherInformation		[2] UTF8String OPTIONAL,
	...
}

RetainedDataRecord ::= CHOICE
{
	telephonyRecord		[1] TelephonyRecord,
	messageRecord		[2] MessageRecord,
	networkAccess		[3] NetworkAccessRecord,
		-- other services will be included (like multimedia) as they are implemented
	...
}

ResponseAcknowledgement ::= CHOICE
{
	-- acknowledges a response has been sent
Loading full blame...