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

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) version23(23)}

-- ======================================
-- 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,
	requestType		[5] RequestType OPTIONAL,
	requestFlag		[6] RequestFlag OPTIONAL
		-- Optional parameter specifying additional information associated with the request.

}

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

RequestType ::= UTF8String
-- Description or reference of the type of Retained Data request

RequestFlag ::= UTF8String
	-- Configuration information associated with the request

	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)
	...,
	externalIdentifier			[4]	ExternalIdentifier OPTIONAL
		-- Optional identifier for the request, for correlation with warrant management systems.
}

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,
	...,
	supplementaryRequest		[11] SupplementaryRequest,
	supplementaryResponse		[12] SupplementaryResponse
}

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

RequestMessage ::= SEQUENCE
{
	requestPriority				[1] RequestPriority OPTIONAL,
	requestParameters			[2] RequestConstraints OPTIONAL,
		-- Optional only in case a warrant is transmitted independently of a request
	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
		-- This parameter shall not be used simultaneously with the numberOfRecordsLimit parameter.
	nationalRequestParameters	[5] NationalRequestParameters OPTIONAL,
		-- To be defined on a national basis
		-- Only to be used in case the present document cannot fulfil the national requirements
	maxRecordsPerBatch			[6] INTEGER OPTIONAL,
		-- Indicates that multi-part delivery shall be used and each ResponseMessage shall not
		-- contain more records than specified. (see clause 6.3.3.3)
	requestedData				[7] SEQUENCE OF UTF8String OPTIONAL,
		-- only to use in case of selective requests, it contains
		-- the path to the selected parameter in XPATH notation
	numberOfRecordsLimit		[8] INTEGER OPTIONAL
		-- Indicates the upper limit on the number of records to be provided by the CSP.
		-- This parameter shall not be used simultaneously with the maxHits parameter.
		-- (see clause 6.3.3.4)
}

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
-- ===================================================

{
	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.1)
		-- 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 cannot fulfil the national requirements
		-- number to identify partial results within parallel multi-part delivery
	numberOfRecordsFound			[5] INTEGER OPTIONAL
		-- Indicates the total number of records found by the CSP when the value set in the 
		-- numberOfRecordsLimit has been reached or exceeded.
		-- (see clause 6.3.3.4)
		-- There will be at least one further response message to come
Loading full blame...