Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
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...