RDMessagever22.txt 86.1 KB
Newer Older
1
RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version22(22)}
2
3
4
5
6
7

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

-- =============================
8
-- Object Identifier definitions
9
10
-- =============================

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

14
-- rdHeader
15
rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version22(22)}
16
17
18
19
20
21
22

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

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

32
33
34
35
36
37
38
39
40
41
-- ==========================================================================
-- 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,
42
	... ,
43
44
45
46
	requestType		[5] RequestType OPTIONAL,
	requestFlag		[6] RequestFlag OPTIONAL
		-- Optional parameter specifying additional information associated with the request.

47
48
49
50
51
}

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

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

55
56
57
RequestFlag ::= UTF8String
	-- Configuration information associated with the request

58
59
RequestID ::= SEQUENCE
{
60
61
	countryCode					[1] CountryCode,
	authorisedOrganisationID	[2] AuthorisedOrganisationID,
62
63
64
	requestNumber				[3] RequestNumber OPTIONAL,
		-- all messages except GetStatusMessage and StatusMessage have a request number
		-- (see clause 6.1.2)
65
66
67
	...,
	externalIdentifier			[4]	ExternalIdentifier OPTIONAL
		-- Optional identifier for the request, for correlation with warrant management systems.
68
69
70
71
72
73
74
75
76
77
78
}

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

79
80
ExternalIdentifier ::= UTF8String

81
82
83
84
85
86
87
-- =================================================
-- Definitions for Retained Data payload information
-- =================================================

RetainedDataPayload ::= CHOICE
	-- Payload can be a request, response, error or acknowledgement
{
88
89
90
91
92
93
94
95
96
97
	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,
98
99
100
	...,
	supplementaryRequest		[11] SupplementaryRequest,
	supplementaryResponse		[12] SupplementaryResponse
101
102
103
104
105
106
107
108
}

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

RequestMessage ::= SEQUENCE
{
109
110
111
	requestPriority				[1] RequestPriority OPTIONAL,
	requestParameters			[2] RequestConstraints OPTIONAL,
		-- Optional only in case a warrant is transmitted independently of a request
112
113
114
115
116
	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
117
		-- In case of maxHit a responseFailed message is sent and no data is sent
118
		-- This parameter shall not be used simultaneously with the numberOfRecordsLimit parameter.
119
		-- (see clause 6.3.3.2)
120
	nationalRequestParameters	[5] NationalRequestParameters OPTIONAL,
121
		-- To be defined on a national basis
122
		-- Only to be used in case the present document cannot fulfil the national requirements
123
		-- or to transmit a warrant.
124
	...,
125
	maxRecordsPerBatch			[6] INTEGER OPTIONAL,
126
127
		-- Indicates that multi-part delivery shall be used and each ResponseMessage shall not
		-- contain more records than specified. (see clause 6.3.3.3)
128
	requestedData				[7] SEQUENCE OF UTF8String OPTIONAL,
129
130
		-- only to use in case of selective requests, it contains
		-- the path to the selected parameter in XPATH notation
131
132
133
134
	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)
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
}

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
{
165
	suggestedCompletionTime		[1] GeneralizedTime OPTIONAL,
166
167
		-- Indicative time that results will be ready
		-- Purely informational, not binding for either party
168
169
170
171
172
173
174
	...
}

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

175
ResponseMessage ::= SEQUENCE
176
177
178
179
{
	responseStatus				[1] ResponseStatus,
	responsePayload				[2] SEQUENCE OF ResponseRecord OPTIONAL,
		-- Clause 6 explains use of this field
180
		-- A responseUnavailable message shall not have a responsePayload (see clause 5.3.1)
181
182
183
184
		-- 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
185
		-- only to be used in case the present document cannot fulfil the national requirements
186
	...,
187
	responseNumber				[4] INTEGER OPTIONAL,
188
		-- number to identify partial results within parallel multi-part delivery
189
190
191
192
	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)
193
194
195
196
}

ResponseStatus	::= CHOICE
{
197
	responseComplete		[1] NULL,
198
		-- No further results to come
199
	responseIncomplete		[2] NULL,
200
		-- There will be at least one further response message to come
201
	responseUnavailable		[3] NULL,
202
		-- See clause 5.3.1
203
	responseFailed			[4] FurtherInformation,
204
		-- See clauses 6.2.2.2 and 6.3.3.2
205
206
207
208
209
210
211
212
	...
}

ResponseRecord	::= SEQUENCE
{
	recordNumber				[1] INTEGER,
	recordPayload				[2] RetainedDataRecord,
	additionalInformation		[3] AdditionalInformation OPTIONAL,
213
		-- see clause 6.2.4
214
	nationalRecordPayload		[4] NationalRecordPayload OPTIONAL,
215
		-- To be defined on a national basis
216
		-- Only to be used in case the present document cannot fulfil the national requirements
217
218
219
220
221
222
223
224
225
226
227
228
229
230
	...
}

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,
231
		-- Details are defined in Annex B
232
	messageRecord		[2] MessageRecord,
233
		-- Details are defined in Annex C
234
	networkAccess		[3] NetworkAccessRecord,
235
		-- Details are defined in Annex E
236
237
	...,
	multimediaRecord	[4] MultimediaRecord
238
		-- Details are defined in Annex D
239
		-- Other services will be included (as they are implemented)
240
241
242
243
}

ResponseAcknowledgement ::= CHOICE
{
244
	-- Acknowledges a response has been sent
245
246
	acknowledgeCompleteResults			[1] NULL,
	acknowledgePartialResults			[2] NULL,
247
	...,
248
249
	acknowledgePartialResultsNumber		[3] INTEGER
		-- number to acknowledge a specific resultMessage within parallel multi-part delivery
250
251
252
253
254
255
256
257
}

-- ==================================================
-- Definitions of an error message and acknowledgment
-- ==================================================

FurtherInformation ::= SEQUENCE
{
258
259
	information					[1] UTF8String,
	contactInformation			[2] UTF8String OPTIONAL,
260
261
262
263
264
265
266
267
	...,
	categorisedErrorDescription [3] CategorisedErrorDescription OPTIONAL -- see 6.4
}

CategorisedErrorDescription ::= SEQUENCE
{
	value				[1] INTEGER,
	description			[2] UTF8String OPTIONAL,
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
	...
}

-- ===================================================
-- Definitions of a cancel message and acknowledgement
-- ===================================================

CancelMessage ::= NULL
	-- Cancels an active request

CancelAcknowledgement ::= NULL
	-- Acknowledges the receipt of a cancel message (no other information required)

-- ===================================================
-- Definitions of status request and response messages
-- ===================================================

GetStatusMessage ::= SEQUENCE
{
	requestNumbers		[1] SEQUENCE OF RequestNumber,
	...
}

StatusMessage ::= SEQUENCE
{
	statusResponse		[1] SEQUENCE OF StatusResponse,
	...
}

StatusResponse ::= SEQUENCE
{
299
300
	requestNumber		[1] RequestNumber,
	requestStatus		[2] RequestStatus,
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
	...
}

RequestStatus ::= CHOICE
{
	ready						[1] NULL,
	incompleteResultsReady		[2] NULL,
	failureResponseReady		[3] NULL,
	notReady					[4] NULL,
	error						[5] FurtherInformation,
	inDelivery					[6] NULL,
	invalidRequestID			[7] NULL,
	...
}

-- ==========================================
-- Definitions of status get results messages
-- ==========================================

GetResultsMessage ::= NULL
	-- No further information required (the RequestID is given in the header)

-- ===================
-- National parameters
-- ===================

NationalRequestParameters ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- Country Code according to ISO 3166-1 [4],
		-- the country to which the parameters inserted after the extension marker apply.
	...
		-- In case a given country wants to use additional national parameters according to its law,
		-- these national parameters should be defined using the ASN.1 syntax and added after the
		-- extension marker (...).
336
		-- It is recommended that an version indicator is included in the national parameters
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
		-- definition.
}

NationalResponsePayload ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
	...
}

NationalRecordPayload ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
	...
}
353

354
355
SupplementaryRequest ::= CHOICE
{
356
	nationalSupplementaryRequest		[1] NationalSupplementaryRequest,
357
358
359
360
361
	...
}

SupplementaryResponse ::= CHOICE
{
362
	nationalSupplementaryResponse		[1] NationalSupplementaryResponse,
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
	...
}

NationalSupplementaryRequest ::= SEQUENCE
{
	countryCode [1] UTF8String (SIZE (2)),
		-- Country Code according to ISO 3166-1 [4],
		-- the country to which the parameters inserted after the extension marker apply.
	...
		-- In case a given country wants to use additional national parameters according to its law,
		-- these national parameters should be defined using the ASN.1 syntax and added after the
		-- extension marker (...).
		-- It is recommended that a version indicator is included.
}

NationalSupplementaryResponse ::= SEQUENCE
{
	countryCode [1] UTF8String (SIZE (2)),
		-- Country Code according to ISO 3166-1 [4],
		-- the country to which the parameters inserted after the extension marker apply.
	...
		-- In case a given country wants to use additional national parameters according to its law,
		-- these national parameters should be defined using the ASN.1 syntax and added after the
		-- extension marker (...).
		-- It is recommended that a version indicator is included.
}
389

390
391
392
393
TimeSpan ::= SEQUENCE
{
	startTime		[1] GeneralizedTime OPTIONAL,
	endTime			[2] GeneralizedTime OPTIONAL,
394
395
396
	...,
	durationTime	[3] INTEGER OPTIONAL
		-- duration in seconds
397
398
}

399
400
401
402
403
404
405
406
407
408
File ::= SEQUENCE
{
	mediaType	[1] UTF8String,
		-- Media type of the file, e.g. image/jpeg, application/pdf
		-- Media types (formerly known as MIME types) are assigned and listed by the IANA
	content		[2] OCTET STRING,
		-- Content of the file
	...
}

409
410
411
412
413
414
415
416
-- ==============================================
-- Definitions for Generic Subscriber Information
-- ==============================================

GenericSubscriberInfo ::= SEQUENCE
{
	organizationInfo	[1] OrganizationInfo OPTIONAL,
	individualInfo		[2] IndividualInfo OPTIONAL,
417
418
	...,
	contracts					[3]	SEQUENCE OF ContractInformation OPTIONAL
419
420
421
422
423
424
425
426
427
428
}

OrganizationInfo ::= SEQUENCE
{
	name					[1] UTF8String OPTIONAL,
		-- name of the organization
	contactDetails			[2] ContactDetails OPTIONAL,
		-- address, and name/phone number of a point of contact
	nationalRegistrationID	[3] UTF8String OPTIONAL,
		-- e.g. social security number
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
	...,
	registeredAddress		[4] AddressInformation OPTIONAL,
	tradingAddress			[5] AddressInformation OPTIONAL,
	otherAddresses			[6] SEQUENCE OF OtherAddress OPTIONAL,
	groupID					[7] UTF8String OPTIONAL,
		-- identity of organization group
	groupAdministrator		[8] UTF8String OPTIONAL,
		-- identity of organization administrator
	companyType				[9] UTF8String OPTIONAL,
		-- type of company
	vatEnabled				[10] BOOLEAN OPTIONAL,
		-- VAT enabled or not
	vatNumber				[11] UTF8String OPTIONAL,
		-- VAT number
	createIP				[12] IPAddress OPTIONAL,
		-- IP used to create the subscriber account
	createTime				[13] GeneralizedTime OPTIONAL,
		-- time that subscriber account was created
	modifiedDate			[14] GeneralizedTime OPTIONAL
		-- date that subscriber account was modified
449
450
451
452
453
454
455
456
457
458
459
460
461
462
}

IndividualInfo ::= SEQUENCE
{
	name					[1] PersonName OPTIONAL,
	contactAddress			[2] ContactDetails OPTIONAL,
	dateOfBirth				[3] GeneralizedTime OPTIONAL,
	gender					[4] ENUMERATED
	{
		male(0),
		female(1),
		...
	} OPTIONAL,
	identificationNumber	[5] UTF8String OPTIONAL,
463
464
	authenticationInfo		[6] AuthenticationInfo OPTIONAL,
	...,
465
466
467
468
	profession				[7] UTF8String OPTIONAL,
	otherAddresses			[8] SEQUENCE OF OtherAddress OPTIONAL,
	createTime				[9] GeneralizedTime OPTIONAL
		-- time that subscriber account was created
469
470
}

471
472
473
474
475
476
477
478
479
480
ContractInformation ::= SEQUENCE
{
	contractDesignation		[1] UTF8String OPTIONAL,
	contractNumber			[2] UTF8String OPTIONAL,
	otherInformation		[3] UTF8String OPTIONAL,
	timeSpan				[4] TimeSpan OPTIONAL,
	contractDocuments		[5] SEQUENCE OF File OPTIONAL,
	...
}

481
PersonName ::= SEQUENCE
482
{
483
484
485
486
487
488
489
490
	salutation				[1] UTF8String OPTIONAL,
	surname					[2] UTF8String OPTIONAL,
		-- the non-chosen or inherited name of an individual, e.g. "Arend"
	surnamePrefix			[3] UTF8String OPTIONAL,
		-- any prefix before the surname, e.g. "von", "van der"
	surnameSuffix			[4] UTF8String OPTIONAL,
		-- any suffix after the surname, e.g. "Jr", "III"
	middleNames				[5] UTF8String OPTIONAL,
491
		-- that part of the name excluding forename, separable and preceding the surname
492
493
494
495
496
497
498
	firstname				[6] UTF8String OPTIONAL,
		-- the first name or initials, e.g. "Peter"
	...,
	secondsurname			[7] UTF8String OPTIONAL,
		-- a second surname is used in several countries
	secondsurnamePrefix		[8] UTF8String OPTIONAL,
	secondsurnameSuffix		[9] UTF8String OPTIONAL
499
500
}

501
ContactDetails ::= SEQUENCE
502
{
503
504
505
	address						[1] AddressInformation OPTIONAL,
	emailAddress				[2] UTF8String OPTIONAL,
	contactNumber				[3] SEQUENCE OF PartyNumber OPTIONAL,
506
		-- several numbers (work, home, mobile) may be given for a single subscriber
507
508
509
	...,
	additionalEmailAddresses	[4] SEQUENCE OF UTF8String OPTIONAL
		-- several email addresses may be given for a single subscriber
510
511
}

512
AddressInformation ::= SEQUENCE
513
{
514
515
516
517
518
	flatNumber				[1] UTF8String OPTIONAL,
	buildingName			[2] UTF8String OPTIONAL,
	buildingNumber			[3] UTF8String OPTIONAL,
	streetName				[4] UTF8String OPTIONAL,
	poBox					[5] UTF8String OPTIONAL,
519
		-- PO box or Response number
520
	postalCode				[6] UTF8String OPTIONAL,
521
		-- Postal code. Example: 2289AC
522
523
524
525
526
	region					[7] UTF8String OPTIONAL,
	province				[8] UTF8String OPTIONAL,
	language				[9] UTF8String OPTIONAL,
	city					[10] UTF8String OPTIONAL,
	country					[11] CountryCode OPTIONAL,
527
		-- Country code as defined in ISO 3166-1 [4]
528
	validity				[12] TimeSpan OPTIONAL,
529
		-- time from which the address was registered
530
531
532
533
534
	...,
	relatedOrganizationInfo	[13] OrganizationInfo OPTIONAL,
	relatedPersonName		[14] PersonName OPTIONAL,
	otherInformation		[15] UTF8String OPTIONAL
		-- additional information in cases of divergent addresses
535
536
}

537
538
539
540
541
542
543
544
545
546
OtherAddress ::= SEQUENCE
{
	address			[1] AddressInformation OPTIONAL,
	addressType		[2] UTF8String OPTIONAL,
		-- Description of the type of address that has been given in the address field
	addressComments	[3] UTF8String OPTIONAL,
		-- Any extra information to aid the understanding of the address given
	...
}

547
548
AuthenticationInfo ::= SEQUENCE
{
549
550
551
552
	authenticationType	[1] UTF8String OPTIONAL,

	authenticationNumber	[2] UTF8String OPTIONAL,

553
	...,
554
555
556
557
558
	issuingCountry		[3] UTF8String (SIZE (2)) OPTIONAL,
	issuingOrganization	[4] UTF8String OPTIONAL,
	nationality		[5] UTF8String OPTIONAL,
	authenticationDocument	[6]	SEQUENCE OF File OPTIONAL

559
}
560

561

562
563
PaymentDetails ::= SEQUENCE
{
564
565
566
567
568
	billingMethod			[1] BillingMethod OPTIONAL,
	bankAccount			[2] BankAccount OPTIONAL,
	billingAddress			[3] ContactDetails OPTIONAL,
	...,
	billingIdentifier		[4] BillingIdentifier OPTIONAL
569
570
571
572
573
574
575
576
577
578
579
580
}

BankAccount ::= SEQUENCE
{
	iBAN								[1] IBAN OPTIONAL,
	bIC									[2] BIC OPTIONAL,
	accountHolder						[3] UTF8String OPTIONAL,
	nationalAccountNumber				[4] UTF8String OPTIONAL,
		-- To be used in case that the account holding bank has no IBAN
	nationalBankNumber					[5] UTF8String OPTIONAL,
		-- To be used in case that the account holding bank has neither IBAN nor BIC
	bankName							[6] UTF8String OPTIONAL,
581
582
583
	...,
	sepaRefNumber						[7] UTF8String OPTIONAL
		-- To be used for referenceNumber of a SEPA direct debit mandate
584
585
}

586
IBAN ::= UTF8String
587
588
589
	-- International Banking Account Number
	-- format as per ISO 13616-1:2007 [28]

590
BIC ::= UTF8String
591
592
593
594
595
596
597
598
599
600
	-- Business Identifier Code
	-- format as per ISO 9362:2009 [29]

BillingMethod ::= ENUMERATED
{
	debit(0),
	transfer(1),
	prepaid(2),
	...
}
601

602
603
TelephonyRecord ::= CHOICE
{
604
	telephonySubscriber		[1] TelephonySubscriber,
605
606
	telephonyBillingDetails		[2] TelephonyBillingDetails,
	telephonyServiceUsage		[3] TelephonyServiceUsage,
607
	telephonyDevice			[4] TelephonyDevice,
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
	telephonyNetworkElement		[5] TelephonyNetworkElement,
	...
}

-- ==============================
-- Definitions of Subscriber Data
-- ==============================

TelephonySubscriber ::= SEQUENCE
{
	subscriberID					[1] TelephonySubscriberId OPTIONAL,
		-- unique identifier for this subscriber, e.g. account number
	genericSubscriberInfo			[2] GenericSubscriberInfo OPTIONAL,
		-- generic personal information about this subscriber
	telephonySubscriberInfo			[3] TelephonySubscriberInfo OPTIONAL,
		-- service-specific information about this subscriber
	subscribedTelephonyServices		[4] SEQUENCE OF SubscribedTelephonyServices OPTIONAL,
		-- a subscriber (or account) may have more than one service listed against them
626
627
	...,
	nationalTelephonySubscriberInfo	[5] NationalTelephonySubscriberInfo OPTIONAL
628
		-- To be defined on a national basis
629
630
631
632
633
634
635
		-- Only to be used in case the present document cannot fulfil the national requirements
}

NationalTelephonySubscriberInfo ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
636
637
638
639
640
641
642
643
644
	...
}

TelephonySubscriberId ::= UTF8String
	-- unique identifier for this subscriber, e.g. account number

TelephonySubscriberInfo ::= NULL
	-- Reserved

645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
PartyNumberInfo ::= SEQUENCE
{
	partyNumber							[1] PartyNumber OPTIONAL,
		-- referenced partyNumber for the additional information in this type
	timeSpan							[2] TimeSpan OPTIONAL,
		-- start and end date if applicable in which the number was active
	disableReason						[3] UTF8String OPTIONAL,
		-- reason of temporarily disable procedure - if applicable
	...
}

ICCIDInfo ::= SEQUENCE
{
	iCCID								[1] UTF8String OPTIONAL,
	timeSpan							[2] TimeSpan OPTIONAL,
		-- activation- and deactivation-date if applicable in which the ICCID was active
661
662
663
664
665
	...,
	pUK								[3] UTF8String OPTIONAL,
		-- PUK code associated with the ICCID
	pUK2								[4] UTF8String OPTIONAL,
		-- PUK2 code associated with the ICCID
666
667
668
	iMSI								[5] IMSI OPTIONAL,
	sUPI								[6] SUPI OPTIONAL,
	gPSI								[7] GPSI OPTIONAL
669
670
}

671

672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
LoginInfo ::= SEQUENCE
{
	login								[1] UTF8String OPTIONAL,
		-- login used for authentication, usually a username or email address
	password							[2] UTF8String OPTIONAL,
	serviceName							[3] UTF8String OPTIONAL,
		-- short description of the kind of service the login / password is used for
	needsAdditionalAuthentication		[4] BOOLEAN OPTIONAL,
		-- true if additional authentication methods are required, like security questions or
		-- e-tokens
	timeSpan							[5] TimeSpan OPTIONAL,
		-- timespan when the login / password was valid
	...
}

687
688
SubscribedTelephonyServices ::= SEQUENCE
{
689
	serviceID							[1] UTF8String OPTIONAL,
690
		-- Unique identifier for this service within the operator
691
	providerID							[2] UTF8String OPTIONAL,
692
		-- Unique identifier for the service provider
693
	timeSpan							[3] TimeSpan OPTIONAL,
694
		-- Start and end data, if applicable, of the subscription
695
	registeredNumbers						[4] SEQUENCE OF PartyNumber OPTIONAL,
696
		-- The set of telephone numbers registered for this service
697
	registeredICCID							[5] UTF8String OPTIONAL,
698
	serviceType							[6] TelephonyServiceType OPTIONAL,
699
	installationAddress						[7] AddressInformation OPTIONAL,
700
		-- installation address, if different from the registered address
701
	connectionDate							[8] GeneralizedTime OPTIONAL,
702
		-- Date the subscriber was actually connected
703
		-- (May differ from the start of subscription)
704
	iMSI								[9] IMSI OPTIONAL,
705
	carrierPreselect						[10] BOOLEAN OPTIONAL,
706
	lineStatus							[11] UTF8String OPTIONAL,
707
		-- CSP-specific description of current line status, e.g. "Active", "Ceased", etc.
708
	...,
709
	allocatedDeviceIDs						[12] SEQUENCE OF TelephonyDeviceID OPTIONAL,
710
711
712
	pUKCode								[13] UTF8String OPTIONAL,
	pUK2Code							[14] UTF8String OPTIONAL,
	iMEI								[15] SEQUENCE OF IMEI OPTIONAL,
713
	nationalTelephonySubscriptionInfo				[16] NationalTelephonySubscriptionInfo OPTIONAL,
714
		-- To be defined on a national basis
715
		-- Only to be used in case the present document cannot fulfil the national requirements
716
717
	paymentDetails							[17] PaymentDetails OPTIONAL,
	subscriptionType						[18] SubscriptionType OPTIONAL,
718
		-- Describes the nature of the subscription
719
720
721
722
	deliveryAddress							[19] AddressInformation OPTIONAL,
	resellerAddress							[20] AddressInformation OPTIONAL,
	otherAddresses							[21] SEQUENCE OF OtherAddress OPTIONAL,
	registeredNumbersInfo						[22] SEQUENCE OF PartyNumberInfo OPTIONAL,
723
		-- information about timespan of the active number and deactivation events
724
	registeredICCIDs						[23] SEQUENCE OF ICCIDInfo OPTIONAL,
725
		-- in cases of MultiSIM card contracts
726
	loginInfos							[24] SEQUENCE OF LoginInfo OPTIONAL,
727
		-- e.g. login information according a VMS/UMS account
728
	paymentTransactions						[25] SEQUENCE OF BillingRecords OPTIONAL
729
}
730

731

732
733
734
735
736
737
738
SubscriptionType  ::= ENUMERATED
{
	unknown(0),
	postpay(1),
	prepay(2),
	other(3),
	...
739
}
740
	-- Describes the nature of the subscription
741
742
743
744
745

NationalTelephonySubscriptionInfo ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
746
747
748
749
750
	...
}

TelephonyBillingDetails ::= SEQUENCE
{
751
752
753
754
755
	subscriberID						[1] TelephonySubscriberId OPTIONAL,
	serviceID							[2] UTF8String OPTIONAL,
	billingAddress						[3] ContactDetails OPTIONAL,
	billingIdentifier					[4] BillingIdentifier OPTIONAL,
	billingRecords						[5] SEQUENCE OF BillingRecords OPTIONAL,
756
	...,
757
	nationalTelephonyBillingDetails		[6] NationalTelephonyBillingDetails OPTIONAL
758
		-- To be defined on a national basis
759
760
761
762
763
764
765
		-- Only to be used in case the present document cannot fulfil the national requirements
}

NationalTelephonyBillingDetails ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
766
767
768
769
770
771
772
773
774
	...
}

BillingIdentifier ::= OCTET STRING
	-- Used to correlate billing information
	-- useful if the bill-payer is not the subscriber, e.g. company mobiles

BillingRecords ::= SEQUENCE
{
775
776
777
778
	time								[1] GeneralizedTime OPTIONAL,
	place								[2] UTF8String OPTIONAL,
	amount								[3] REAL OPTIONAL,
	currency							[4] UTF8String (SIZE(3)) OPTIONAL,
779
		-- as per ISO 4217 [5]
780
	method								[5] UTF8String OPTIONAL,
781
		-- i.e. credit card, etc.
782
	...,
783
	nationalTelephonyBillingRecords					[6] NationalTelephonyBillingRecords OPTIONAL,
784
		-- To be defined on a national basis
785
		-- Only to be used in case the present document cannot fulfil the national requirements
786
	transactionID							[7] UTF8String OPTIONAL,
787
788
		-- Unique reference for this transaction/billing record
		-- Details to be defined on a national basis
789
	transactionStatus						[8] UTF8String OPTIONAL,
790
		-- Status of the transaction (i.e. "declined", "succeeded", etc.)
791
		-- Details to be defined on a national bases
792
	copyOfBill							[9] SEQUENCE OF File OPTIONAL
793
794
}

795

796
797
798
799
NationalTelephonyBillingRecords ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
	...
}

TelephonyServiceType ::= ENUMERATED
{
	private(0),
	privatePABX(1),
	publicPayphone(2),
	...
}

-- =================================
-- Definitions of Service Usage Data
-- =================================

TelephonyServiceUsage ::= SEQUENCE
{
817
	partyInformation				[1] SEQUENCE OF TelephonyPartyInformation OPTIONAL,
818
		-- This parameter provides the concerned party (Originating, Terminating or
819
820
		-- forwarded party), the identity(ies) of the party and all the information
		-- provided by the party
821
	communicationTime				[2] TimeSpan OPTIONAL,
822
		-- Time and duration of the communication
823
	eventInformation				[3] SEQUENCE OF TelephonyEventInformation OPTIONAL,
824
		-- A list of events that occurred during this service usage
825
	endReason						[4] INTEGER OPTIONAL,
826
		-- Q.850 cause code for call termination
827
828
829
830
831
832
	communicationType				[5] TelephonyCommunicationType OPTIONAL,
	bearerService					[6] TelephonyBearerService OPTIONAL,
	smsInformation					[7] SmsInformation OPTIONAL,
	ringDuration					[8] INTEGER OPTIONAL,
	...,
	mmsInformation					[9] MmsInformation OPTIONAL,
833
834
	nationalTelephonyServiceUsage	[10] NationalTelephonyServiceUsage OPTIONAL,
		-- To be defined on a national basis
835
		-- Only to be used in case the present document cannot fulfil the national requirements
836
837
838
	operatorSpecificCallDetails		[11] UTF8String OPTIONAL
		-- CSP specific value which indicates the nature of a call
		-- (e.g. "CallIndicator: GPR, CallActionCode: 2")
839
840
841
842
843
844
}

NationalTelephonyServiceUsage ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
845
846
847
848
849
	...
}

TelephonyPartyInformation ::= SEQUENCE
{
850
	partyRole							[1] TelephonyPartyRole OPTIONAL,
851
852
853
854
	partyNumber							[2] PartyNumber OPTIONAL,
	subscriberID						[3] TelephonySubscriberId OPTIONAL,
	deviceID							[4] TelephonyDeviceID OPTIONAL,
	locations							[5] SEQUENCE OF TelephonyLocation OPTIONAL,
855
		-- List of cell locations used by this party during the service usage
856
	communicationTime					[6] TimeSpan OPTIONAL,
857
		-- Time and duration of the communication
858
859
	iMSI								[8] IMSI OPTIONAL,
	natureOfAddress						[9] UTF8String OPTIONAL,
860
		-- Nature of address indicator, e.g. "National", "International"
861
	forwardedTransferredNumber			[10] PartyNumber OPTIONAL,
862
	terminatingTransferredNumber		[11] PartyNumber OPTIONAL,
863
864
	...,
	emailAddress						[12] UTF8String  OPTIONAL,
865
		-- used for MMS that supports also the use of E-Mail addresses (RFC 5322 [24])
866
867
	iMEI								[13] IMEI OPTIONAL,
	detailedLocation					[14] TelephonyNetworkElement OPTIONAL,
868
		-- In the case detailed location information per call and party is available
869
		-- (e.g. the geoCoordinates for this partyNumber)
870
	nationalTelephonyPartyInformation	[15] NationalTelephonyPartyInformation OPTIONAL,
871
		-- To be defined on a national basis
872
		-- Only to be used in case the present document cannot fulfil the national requirements
873
874
	partyType							[16] TelephonyPartyType OPTIONAL,
	dialledDigits						[17] UTF8String OPTIONAL
875
876
877
878
879
880
}

NationalTelephonyPartyInformation ::= SEQUENCE
{
	countryCode		[1] UTF8String (SIZE (2)),
		-- see comment in NationalRequestParameters
881
882
883
	...
}

884
885
886
887
888
889
890
891
TelephonyPartyType ::= CHOICE
{
	voicemail		[1] NULL,
	smsServer		[2] NULL,
	other			[3] UTF8String,
	...
}

892
TelephonyCommunicationType ::= ENUMERATED
893
894
895
896
{
	telephonyFixedCS(0),
	telephonyWirelessCS(1),
	sMS(2),
897
898
	...,
	mMS(3)
899
900
}

901
TelephonyBearerService ::= ENUMERATED
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
{
	speech(0),
	data(1),
	fax(2),
	...
}

SmsInformation ::= SEQUENCE
{
	smsEvent		[1] ENUMERATED
	{
		shortMessage(1),
		shortPartMessage(2),
		compositeMessage(3),
		notificationMessage(4),
		...
	} OPTIONAL,
	smsType			[2] ENUMERATED
	{
		deliverSCtoMS(1),
		deliverReportMStoSC(2),
		statusReportSCtoMS(3),
		commandMStoSC(4),
		submitMStoSC(5),
		submitReportSCtoMS(6),
		reservedMTIValue(7),
		...
	} OPTIONAL,
	smsStatus		[3] ENUMERATED
	{
		delivered(0),
		expired(1),
		deleted(2),
		replaced(3),
		submitted(4),
		incomplete-submission(5),
		incomplete-delivery(6),
		undeliverable(7),
		passed-on(8),
		...
	} OPTIONAL,
	smsCmRefNr		[4] OCTET STRING (SIZE(1..2)) OPTIONAL,
944
		-- format as per 3GPP TS 23.040 [16]
945
946
947
	smsNumOfSM		[5] INTEGER (0..65535) OPTIONAL,
	smsNotifyInd	[6] BOOLEAN OPTIONAL,
	smsProtocolId	[7] OCTET STRING (SIZE(1)) OPTIONAL,
948
		-- format as per 3GPP TS 23.040 [16]
949
950
951
	...
}

952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
MmsInformation	::= SEQUENCE
{
	mmsEvent		[1] ENUMERATED
	{
		message(1),
		notificationMessage(2),
		deliveryReportMessage(3),
		readReplyMessage(4),
		...
	} OPTIONAL,
		-- type of message exchanged
	mmsStatus		[2] ENUMERATED
	{
		delivered(0),
		expired(1),
		deleted(2),
		replaced(3),
		submitted(4),
		undeliverable(5),
		passed-on(6),
		delivery-rejection(7),
		delivery-forward(8),
		delivery-copy(9),
		submission-rejection(10),
		submission-failure(11),
977
978
979
980
		...,
		delivered-application(12)
		-- optional flag indicating MMS was retrieved using
		-- something other than mobile deivce e.g. web browser
981
982
983
984
985
986
987
988
989
990
991
992
993
994
	} OPTIONAL,
	mmsNotifInd		[3] BOOLEAN OPTIONAL,
		-- indication that a delivery notification has been generated
	mmsMsgMod		[4] ENUMERATED
	{
		none(1),
		modified(2),
		stripped(3),
		...
	} OPTIONAL,
		-- message modification indication for MMS
	...
}

995
996
TelephonyEventInformation ::= SEQUENCE
{
997
	time		[1] GeneralizedTime OPTIONAL,
998
		-- time when the event occurred
999
	type		[2] TelephonyEventType OPTIONAL,
1000
		-- type of event
For faster browsing, not all history is shown. View entire blame