LI-PS-PDU,ver32.txt 23.2 KB
Newer Older
1
LI-PS-PDU
canterburym's avatar
canterburym committed
2
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version32(32)}
3
4
5
6
7
8
9
10
11
12
13

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

IMPORTS
	-- Any of the IMPORTs may be commented out if they are not used (see clause A.3)

	-- from ETSI TS 103 280 [44]
	LIID
		FROM Common-Parameters
canterburym's avatar
canterburym committed
14
		{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version231(231)}
15
16
17
18
19
20
21
22


	-- from ETSI TS 101 671 [4]
	IRI-Parameters,
	IRIsContent,
	Location,
	Network-Element-Identifier
		FROM HI2Operations
canterburym's avatar
canterburym committed
23
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version18(18)}
24
25
26
27

	-- from ETSI TS 101 671 [4]
	HI1-Operation
		FROM HI1NotificationOperations
canterburym's avatar
canterburym committed
28
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version7(7)}
29
30
31
32
33
34
35
36

	-- from ETSI TS 102 232-2 [5]
	EmailCC,
	EmailIRI,
	MessagingCC,
	MessagingMMCC,
	MessagingIRI
		FROM EmailPDU
canterburym's avatar
canterburym committed
37
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version18(18)}
38
39
40
41
42
43

	-- from ETSI TS 102 232-3 [6]
	IPCC,
	IPIRI,
	IPIRIOnly
		FROM IPAccessPDU
44
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version14(14)}
45
46
47
48
49
50
51
52
53
54
55
56

	-- from ETSI TS 102 232-4 [32]
	L2CC,
	L2IRI,
	L2IRIOnly
		FROM L2AccessPDU
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) l2Access(4) version7(7)}

	-- from ETSI TS 102 232-5 [37]
	IPMMCC,
	IPMMIRI
		FROM IPMultimediaPDU
57
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version13(13)}
58
59
60
61
62
63
64

	-- from ETSI TS 102 232-6 [36]
	PstnIsdnCC,
	PstnIsdnIRI
		FROM PstnIsdnPDU
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6) version5(5)}

65
	-- from 3GPP TS 33.108 [9]
66
67
68
69
70
71
72
73
74
	IRI-Parameters,
	UmtsIRIsContent,
	CorrelationValues,
	Location
		FROM UmtsHI2Operations
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2(1)}
			-- The relevant module (including the 3GPP release and version number) needs
			-- to be chosen when compiling the application.

75
	-- from 3GPP TS 33.108 [9]
76
77
78
79
80
81
82
	IRI-Parameters,
	UmtsCS-IRIsContent
		FROM UmtsCS-HI2Operations
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2CS(3)}
			-- The relevant module (including the 3GPP release and version number) needs
			-- to be chosen when compiling the application.

83
	-- from 3GPP TS 33.108 [9]
84
85
86
87
88
89
90
91
	IRI-Parameters,
	EpsIRIsContent,
	EPSLocation
		FROM EpsHI2Operations
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2eps(8)}
			-- The relevant module (including the 3GPP release and version number) needs
			-- to be chosen when compiling the application.

92
	-- from 3GPP TS 33.108 [9]
93
94
95
96
97
98
99
	IRI-Parameters,
	ConfIRIsContent
		FROM CONFHI2Operations
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2conf(10)}
			-- The relevant module (including the 3GPP release and version number) needs
			-- to be chosen when compiling the application.	

100
	-- from 3GPP TS 33.108 [9]
101
102
103
104
105
106
107
	IRI-Parameters,
	ProSeIRIsContent
		FROM ProSeHI2Operations
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2prose (15)}
			-- The relevant module (including the 3GPP release and version number) needs
			-- to be chosen when compiling the application.

108
	-- from 3GPP TS 33.108 [9]
109
110
111
112
113
114
115
	IRI-Parameters,
	GcseIRIsContent
		FROM GCSEHI2Operations
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2gcse(13)}
			-- The relevant module (including the 3GPP release and version number) needs
			-- to be chosen when compiling the application.
	
116
	-- from 3GPP TS 33.108 [9]
117
118
119
120
121
122
    CC-PDU
        FROM Umts-HI3-PS
        {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3(2)}
            -- The relevant module (including the 3GPP release and version number)
            -- needs to be chosen when compiling the application.

123
    -- from 3GPP TS 33.108 [9]
124
125
126
127
128
129
    CC-PDU
        FROM Eps-HI3-PS
        {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3eps(9)}
            -- The relevant module (including the 3GPP release and version number)
            -- needs to be chosen when compiling the application.

130
	-- from 3GPP TS 33.108 [9]
131
132
133
134
135
136
    Conf-CC-PDU
        FROM CONF-HI3-IMS
        {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3conf(11)}
            -- The relevant module (including the 3GPP release and version number)
            -- needs to be chosen when compiling the application.

137
	-- from 3GPP TS 33.108 [9]
138
139
140
141
142
143
    Voip-CC-PDU
        FROM VoIP-HI3-IMS
        {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3voip(12)}
            -- The relevant module (including the 3GPP release and version number)
            -- needs to be chosen when compiling the application.

144
	-- from 3GPP TS 33.108 [9]
145
146
147
148
149
150
    Gcse-CC-PDU
        FROM GCSE-HI3
        {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3gcse(14)}
            -- The relevant module (including the 3GPP release and version number)
            -- needs to be chosen when compiling the application.

151
    -- from 3GPP TS 33.108 [9]
152
153
154
155
156
157
158
159
160
161
    ThreeGPP-HI1-Operation
        FROM ThreeGPP-HI1NotificationOperations
        {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi1(0) notificationOperations(1)}
            -- The relevant module (including the 3GPP release and version number)
            -- needs to be chosen when compiling the application. 
			-- TS 101 671 HI1 and 3GPP HI1 are related to the same functionality but are
			-- corresponding to different implementations and exclusive usage each other.
			-- The implementation depends of national regulations or LEA/CSP negotiations. 
			-- 3GPP HI1 may be used with other services/networks than 3GPP's one.

162
    -- from 3GPP TS 33.108 [9]
163
    CSvoice-CC-PDU
164
        FROM CSvoice-HI3-IP
165
166
167
        {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi3CSvoice(18)}
            -- The relevant module (including the 3GPP release and version number)
            -- needs to be chosen when compiling the application.
168
            -- The implementation of the CS domain delivery in IP have to be based on 3GPP TS 33.108 [9].
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186

	-- from ETSI TS 101 909-20-1 [33]
	TARGETACTIVITYMONITOR-1,
	TTRAFFIC,
	CTTRAFFIC
		FROM TS101909201
		{itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)}

	-- from ETSI TS 101 909-20-2 [34]
	TARGETACTIVITYMONITOR,
	TTRAFFIC,
	CTTRAFFIC
		FROM TS101909202
		{itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart2(2) interceptVersion(0)}

	-- from ETSI TS 103 462 [45]
	ILHIPayload
		FROM ILHIPDU
canterburym's avatar
canterburym committed
187
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0) version2(2)}
188
189
		-- This import is only used for the handover between LEMFs.

190
	-- from 3GPP TS 33.128 [46]
191
192
193
	LINotificationPayload,
	IRIPayload,
	CCPayload
194
195
196
		FROM TS33128Payloads
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) ts33128(19)};
		-- The relevant module (including the 3GPP release and version number)
197
		-- needs to be chosen when compiling the application.
198
199
200
201
202
203
204
205
206

-- end of IMPORTS

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

lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)}

canterburym's avatar
canterburym committed
207
li-psDomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId li-ps(5) genHeader(1) version32(32)}
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230

-- ====================
-- Top-level definition
-- ====================

PS-PDU ::= SEQUENCE
{
	pSHeader	[1] PSHeader,
	payload		[2] Payload
}

PSHeader ::= SEQUENCE
{
	li-psDomainId					[0] OBJECT IDENTIFIER,
	lawfulInterceptionIdentifier	[1] LawfulInterceptionIdentifier,
		-- As of ASN.1 version 26 this parameter is included from ETSI TS 103 280 [44]
	authorizationCountryCode		[2] PrintableString (SIZE (2)) OPTIONAL,
		-- see clause 5.2.3
	communicationIdentifier			[3] CommunicationIdentifier, 
	sequenceNumber					[4] INTEGER (0..4294967295),
	timeStamp						[5] GeneralizedTime OPTIONAL,
		-- see clause 5.2.6
	...,
231
	interceptionPointID				[6] PrintableString (SIZE (1..8)) OPTIONAL,
232
233
		-- see clause 5.2.11
	microSecondTimeStamp			[7] MicroSecondTimeStamp OPTIONAL,
canterburym's avatar
canterburym committed
234
235
236
237
238
	timeStampQualifier				[8] TimeStampQualifier OPTIONAL,
	extendedInterceptionPointID		[9] OCTET STRING (SIZE (1..65535)) OPTIONAL,
		-- see clause 5.2.13
	networkFunctionIdentifier		[10] OCTET STRING (SIZE (1..65535)) OPTIONAL
		-- see clause 5.2.14
239
240
241
242
243
244
245
246
247
248
}

Payload ::= CHOICE
{
	iRIPayloadSequence		[0] SEQUENCE OF IRIPayload,
	cCPayloadSequence		[1] SEQUENCE OF CCPayload,
		-- Clause 6.2.3 explains how to include more than one payload in the same PDU
	tRIPayload				[2] TRIPayload,
	...,
	hI1-Operation			[3] HI1-Operation,
249
	encryptionContainer		[4] EncryptionContainer,
250
251
	threeGPP-HI1-Operation	[5] ThreeGPP-HI1-Operation,
		-- This structure may be functionally redundant with hI1-Operation from ETSI TS 101 671 [4]
252
	iLHIPayload				[6] SEQUENCE OF ILHIPayload,
253
		-- For typical use cases see ETSI TS 103 462 [45]
254
	hI4Payload				[7] SEQUENCE OF HI4Payload
255
256
257
258
259
260
261
262
263
264
265
}

TimeStampQualifier ::= ENUMERATED
{
	unknown(0),
	timeOfInterception(1),
	timeOfMediation(2),
	...,
	timeOfAggregation(3)
}

266
267
HI4Payload ::= CHOICE
{
268
	threeGPP-LI-Notification [1] TS33128Payloads.LINotificationPayload,
269
270
271
	... 
}

272
273
274
275
276
277
278
-- ====================================
-- Items contained within the PS-Header
-- ====================================

CommunicationIdentifier ::= SEQUENCE
{
	networkIdentifier				[0] NetworkIdentifier,
canterburym's avatar
canterburym committed
279
	communicationIdentityNumber		[1] INTEGER (0..4294967295) OPTIONAL,
280
281
		-- in case of transport of HI1 messages not required
		-- Mandatory for CC and IRI, with certain exceptions (see clause 5.2.4)
canterburym's avatar
canterburym committed
282
	deliveryCountryCode				[2] PrintableString (SIZE (2)) OPTIONAL,
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
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
		-- see clause 5.2.4
	...,
	cINExtension					[3] CorrelationValues OPTIONAL
		-- To be used when a single INTEGER is not sufficient to identify
		-- a particular session (see clause 5.2.4)
}

NetworkIdentifier ::= SEQUENCE
{
	operatorIdentifier			[0] OCTET STRING (SIZE(1..16)),
	networkElementIdentifier	[1] OCTET STRING (SIZE(1..16)) OPTIONAL,
	...,
	eTSI671NEID					[2] Network-Element-Identifier OPTIONAL
		-- For network element identifier, use either networkElementIdentifier or eTSI671NEID
}

-- ==========================
-- Definitions for CC Payload
-- ==========================

CCPayload ::= SEQUENCE
{
	payloadDirection		[0] PayloadDirection OPTIONAL,
	timeStamp				[1] GeneralizedTime OPTIONAL,
		-- For aggregated payloads (see clause 6.2.3)
	cCContents				[2] CCContents,
	...,
	microSecondTimeStamp	[3] MicroSecondTimeStamp OPTIONAL,
		-- For aggregated payloads (see clause 6.2.3)
	timeStampQualifier		[4] TimeStampQualifier OPTIONAL
}

PayloadDirection ::= ENUMERATED
{
	fromTarget(0),
	toTarget(1),
	...,
	indeterminate(2),
		-- Indication that the direction was indeterminate
	combined(3),
		-- Indication applicable to some services that the traffic is actually a combination
		-- of To and From
	notapplicable(4)
		-- Indication that direction of interceptable service does not make sense
}

CCContents ::= CHOICE
	-- Any of these choices may be commented out if they are not being used, see clause A.3
{
canterburym's avatar
canterburym committed
332
	-- tag [0] deprecated in version15, ETSI TS 102 232-1 V3.3.1 (2013-02)
333
334
	emailCC						[1] EmailCC,
	iPCC						[2] IPCC,
canterburym's avatar
canterburym committed
335
	-- tag [3] not used
336
	uMTSCC						[4] OCTET STRING,
337
	...,
canterburym's avatar
canterburym committed
338
	-- tag [5] deprecated in version15, ETSI TS 102 232-1 V3.3.1 (2013-02)
339
340
341
342
343
344
345
	l2CC						[6] L2CC,
	tTRAFFIC-1					[7] TS101909201.TTRAFFIC,
	cTTRAFFIC-1					[8] TS101909201.CTTRAFFIC,
	tTRAFFIC-2					[9] TS101909202.TTRAFFIC,
	cTTRAFFIC-2					[10] TS101909202.CTTRAFFIC,
	pstnIsdnCC					[11] PstnIsdnCC,
	iPMMCC						[12] IPMMCC,
canterburym's avatar
canterburym committed
346
	-- tag [13] deprecated in version32, ETSI TS 102 232-1 V3.24.1 (2021-07)
347
348
349
350
351
352
353
354
355
356
357
	messagingCC					[14] MessagingCC,
	ePSCC						[15] OCTET STRING,
	uMTSCC-CC-PDU				[16] Umts-HI3-PS.CC-PDU,
    ePSCC-CC-PDU				[17] Eps-HI3-PS.CC-PDU,
	messagingMMCC				[18] MessagingMMCC,
	confCC-CC-PDU				[19] CONF-HI3-IMS.Conf-CC-PDU,
	voipCC-CC-PDU				[20] VoIP-HI3-IMS.Voip-CC-PDU,
	gcseCC-CC-PDU				[21] GCSE-HI3.Gcse-CC-PDU,
	cSvoice-CC-PDU				[22] CSvoice-HI3-IP.CSvoice-CC-PDU,
	threeGPP33128DefinedCC		[23] OCTET STRING (CONTAINING TS33128Payloads.CCPayload)
}
358
359
360
361
362
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
389
390
391
392
393
394
395
396
397
398
399
400
401
402

MicroSecondTimeStamp ::= SEQUENCE
{
	seconds			[0] INTEGER (0..18446744073709551615),
		-- number of seconds since 1970-1-1 00:00Z also known as unix time epoch
	microSeconds	[1] INTEGER (0..999999),
	...
}

-- ===========================
-- Definitions for IRI Payload
-- ===========================

IRIPayload ::= SEQUENCE
{
	iRIType					[0] IRIType OPTIONAL,
		-- See clause 5.2.10
	timeStamp				[1] GeneralizedTime OPTIONAL,
		-- For aggregated payloads (see clause 6.2.3)
	iRIContents				[2] IRIContents,
	...,
	microSecondTimeStamp	[3] MicroSecondTimeStamp OPTIONAL,
		-- For aggregated payloads (see clause 6.2.3)
	timeStampQualifier		[4] TimeStampQualifier OPTIONAL,
	sessionDirection		[5] PayloadDirection OPTIONAL,
		-- If the sessionDirection field is to be used for a given service then 
		-- the exact meaning and use of the field will be described in the 
		-- relevant service-specific details
	payloadDirection		[6] PayloadDirection OPTIONAL
		-- If the payloadDirection field is to be used for a given service then 
		-- the exact meaning and use of the field will be described in the 
		-- relevant service-specific details
}

IRIType ::= ENUMERATED
{
	iRI-Begin(1),
	iRI-End(2),
	iRI-Continue(3),
	iRI-Report(4)
}

IRIContents ::= CHOICE
	-- Any of these choices may be commented out if they are not being used (see clause A.3)
{
canterburym's avatar
canterburym committed
403
	-- tag [0] deprecated in version15, ETSI TS 102 232-1 V3.3.1 (2013-02)
404
405
406
407
408
409
410
411
412
413
414
415
	emailIRI					[1] EmailIRI,
	iPIRI						[2] IPIRI,
	iPIRIOnly					[3] IPIRIOnly,
	uMTSIRI						[4] UMTSIRI,
	eTSI671IRI					[5] ETSI671IRI,
	...,
	l2IRI						[6] L2IRI,
	l2IRIOnly					[7] L2IRIOnly,
	tARGETACTIVITYMONITOR-1		[8] TS101909201.TARGETACTIVITYMONITOR-1,
	tARGETACTIVITYMONITOR-2		[9] TS101909202.TARGETACTIVITYMONITOR,
	pstnIsdnIRI					[10] PstnIsdnIRI,
	iPMMIRI						[11] IPMMIRI,
canterburym's avatar
canterburym committed
416
417
	-- tag [12] deprecated in version32, ETSI TS 102 232-1 V3.24.1 (2021-07)
	-- tag [13] deprecated in version32, ETSI TS 102 232-1 V3.24.1 (2021-07)
418
419
420
421
422
	messagingIRI				[14] MessagingIRI,
	ePSIRI						[15] EPSIRI,
	confIRI						[16] ConfIRI,
	proseIRI					[17] ProSeIRI,
	gcseIRI						[18] GcseIRI,
423
424
	threeGPP33128DefinedIRI		[19] OCTET STRING (CONTAINING TS33128Payloads.IRIPayload)
}
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514

UMTSIRI ::= CHOICE
	-- This structure may be commented out if not used
{
	iRI-Parameters		[0] UmtsHI2Operations.IRI-Parameters,
	umtsIRIsContent		[1] UmtsIRIsContent,
	...,
	iRI-CS-Parameters	[2] UmtsCS-HI2Operations.IRI-Parameters,
	umtsCS-IRIsContent	[3] UmtsCS-IRIsContent
}

ETSI671IRI ::= CHOICE
	-- This structure may be commented out if not used
{
	iRI-Parameters	[0] HI2Operations.IRI-Parameters,
	iRIsContent		[1] IRIsContent,
	...
}

EPSIRI ::= CHOICE
	-- This structure may be commented out if not used
{
	iRI-EPS-Parameters	[0] EpsHI2Operations.IRI-Parameters,
	epsIRIsContent		[1] EpsIRIsContent,
	...
}

ConfIRI ::= CHOICE
	-- This structure may be commented out if not used
{
	iRI-Conf-Parameters		[0] CONFHI2Operations.IRI-Parameters,
	confIRIsContent			[1] ConfIRIsContent,
	...
}


ProSeIRI ::= CHOICE
	-- This structure may be commented out if not used
{
	iRI-ProSe-Parameters	[0] ProSeHI2Operations.IRI-Parameters,
	proseIRIsContent		[1] ProSeIRIsContent,
	...
}


GcseIRI ::= CHOICE
	-- This structure may be commented out if not used
{
	iRI-Gcse-Parameters		[0] GCSEHI2Operations.IRI-Parameters,
	gcseIRIsContent			[1] GcseIRIsContent,
	...
}


-- ===========================
-- Definitions for TRI Payload
-- ===========================

TRIPayload ::= CHOICE
{
	integrityCheck					[0] IntegrityCheck,
	testPDU							[1] NULL,
	paddingPDU						[2] OCTET STRING,
		-- Undefined contents (will be discarded)
	keep-alive						[3] NULL,
	keep-aliveResponse				[4] NULL,
	firstSegmentFlag				[5] NULL,
	lastSegmentFlag					[6] NULL,
	...,
	cINReset						[7] NULL,
	operatorLeaMessage				[8] OperatorLeaMessage,
	optionRequest					[9] OptionRequest,
	optionResponse					[10] OptionResponse,
	optionComplete					[11] NULL,
	pDUAcknowledgementRequest		[12] NULL,
	pDUAcknowledgementResponse		[13] NULL
}

IntegrityCheck ::= SEQUENCE
{
	includedSequenceNumbers		[0] SEQUENCE OF INTEGER (0..4294967295),
		-- gives the order the PDUs were processed
	checkType					[1] CheckType,
	dataType					[2] DataType OPTIONAL,
		-- From version5(5) the dataType is mandatory for hashes and for signatures
		-- (see clause 7.2.3)
	checkValue					[3] OCTET STRING,
		-- Network byte order
		-- If checkValue contains a signature, the octet string field space may be
		-- used to insert the appropriate ASN.1 DER or BER encoded structure for the 
515
		-- DSS/DSA signature as described in IETF RFC 3279 [43], clause 2.2.2.
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
	...,
	hashAlgorithm				[4] HashAlgorithm OPTIONAL
		-- Clarifies the hash function if checkType is hash(1).
		-- If used, it shall be present for each checkType hash(1).
}

CheckType ::= ENUMERATED
{
	hash(1),
		-- hash value
	signature(2),
		-- DSS/DSA signature
	...
}

DataType ::= ENUMERATED
{
	iRI(1),
	cC(2),
	...,
	iLHI(3)
}

HashAlgorithm ::= ENUMERATED
{
	sHA-1(1),
		-- Included for legacy/migration purposes only, not to be used for new implementations
	sHA-256(2),
	sHA-384(3),
	sHA-512(4),
	...
}

Option ::= CHOICE
{
	pDUAcknowledgement	[0] NULL,
	...
}

OptionRequest ::= SEQUENCE
{
	requestedOptions	[0] SEQUENCE OF Option,
	...
}

OptionResponse ::= SEQUENCE
{
	acceptedOptions		[0] SEQUENCE OF Option,
	declinedOptions		[1] SEQUENCE OF Option,
	...
}

-- ==================================
-- Definitions for OperatorLeaMessage
-- ==================================

OperatorLeaMessage ::= SEQUENCE
{
	messagePriority		[0] OperatorLeaMessagePriority,
	message				[1] OCTET STRING (SIZE(1..255)),
	...
}

OperatorLeaMessagePriority ::= ENUMERATED
{
	error(1),
		-- reporting of error conditions that have impact on the quality of the
		-- intercepted data
	informational(2),
		-- reporting of conditions that will not have direct impact on the quality of
		-- the intercepted data
	...
}

-- ===================================
-- Definitions for EncryptionContainer
-- ===================================

EncryptionContainer ::= SEQUENCE
{
	encryptionType			[0] EncryptionType,
	encryptedPayload		[1] OCTET STRING,
		-- once decrypted, it can be interpreted as EncryptedPayload
	...,
	encryptedPayloadType	[2] EncryptedPayloadType OPTIONAL
}

EncryptionType ::= ENUMERATED
{
	none(1),
		-- No encryption is applied.
	national-option(2),
		-- Use this option when an encryption scheme is negotiated on a national level
	aES-192-CBC(3),
		-- The Advanced Encryption Standard using a 192 bit key in CBC mode
	aES-256-CBC(4),
		-- The Advanced Encryption Standard using a 256 bit key in CBC mode
	blowfish-192-CBC(5),
		-- Blowfish (www.schneier.com/blowfish.html) using a 192 bit key in CBC mode
	blowfish-256-CBC(6),
		-- Blowfish using a 256 bit key in CBC mode
	threedes-cbc(7),
		-- Triple-DES using a 192 bit key in CBC mode
	...
}

EncryptedPayload ::= SEQUENCE
{
	byteCounter			[0] INTEGER (0..18446744073709551615),
		-- The sum of the sizes of all PDUs before this PDU.
		-- It is initialized with the unixTime (number of seconds since 01-01-1970)
		-- multiplied by 2^32 at first use.
		-- Where N is sequencenumber of the n-th PDU in transfer, and size(PDU(N))
		-- as defined in annex G:
		-- 		IF N > 0 THEN
		-- 		PDU[N].byteCounter = PDU[N-1].byteCounter + size(PDU[N-1])
		-- 		ELSE
		-- 		PDU[N].byteCounter = ( unixTime(now) << 32 )
		-- 		ENDIF
	payload				[1] Payload,
	...
}

EncryptedPayloadType ::= ENUMERATED
{
	unknown(1),
	part2(2),
		-- encrypted payload is ETSI TS 102 232-2 [5]
	part3(3),
		-- encrypted payload is ETSI TS 102 232-3 [6]
	part4(4),
		-- encrypted payload is ETSI TS 102 232-4 [32]
	part5(5),
		-- encrypted payload is ETSI TS 102 232-5 [37]
	part6(6),
		-- encrypted payload is ETSI TS 102 232-6 [36]
	part7(7),
		-- encrypted payload is ETSI TS 102 232-7 [38]
	...,
	part1(8)
		-- encrypted payload is ETSI TS 102 232-1 (the present document)
}

-- ===================================
-- Common Parameters
-- ===================================

Location ::= SEQUENCE
	-- This is a common parameter, the use of this parameter is described in clause 4.5
{
	umtsHI2Location			[0] UmtsHI2Operations.Location OPTIONAL,
	epsLocation				[1] EpsHI2Operations.EPSLocation OPTIONAL,
	...,
	wlanLocationAttributes	[2] WlanLocationAttributes OPTIONAL,
	eTSI671HI2Location		[3] HI2Operations.Location OPTIONAL
}

WlanLocationAttributes ::= SEQUENCE
{
	wlanAPMACAddress 		[0] OCTET STRING (SIZE(6)) OPTIONAL,
		-- 48-bit (6 octet) MAC address of the WLAN access point derived from the BSSID
	...
} 

IPAddress ::= SEQUENCE
	-- This parameter was previously imported from ETSI TS 101 671 [4] but has been copied
    -- to ETSI TS 102 232-1 (the present document). It is not recommended to use this parameter in 
    -- future change requests. Suggested approach is to use a parameter from ETSI TS 103 280 [44]
    -- instead.
{
	iP-type				[1] ENUMERATED
	{
		iPV4(0),
		iPV6(1),
		...
	},
	iP-value			[2] IP-value,
	iP-assignment		[3] ENUMERATED
	{
		static(1),
			-- The static coding shall be used to report a static address.
		dynamic(2),
			-- The dynamic coding shall be used to report a dynamically allocated address.
		notKnown(3),
			-- The notKnown coding shall be used to report other than static or dynamically
			-- allocated IP addresses.
		...
	} OPTIONAL,
	...,
	iPv6PrefixLength	[4] INTEGER (1..128) OPTIONAL,
		-- Indicates the length of the prefix delegated by the CSP to the subscriber
		-- example: 60 if IP address is "2001:db8:0:85a3::ac1f:8001/60"
		-- Mandatory in case where the iP-value contains an IPv6 binary value
	iPv4SubnetMask		[5] OCTET STRING (SIZE(4)) OPTIONAL
		-- For IPv4 addresses, this indicates the subnet mask to be applied to the iP-value field.
		-- The subnet mask is intended to be presented as a binary value, e.g. "ff ff ff f8" to
		-- represent the dotted-decimal subnet mask of "255.255.255.248" corresponding to
		-- a /29 CIDR-format subnet mask
}

IP-value ::= CHOICE
{
	iPBinaryAddress	[1] OCTET STRING (SIZE(4..16)),
		-- In case of IPv6, the Prefix Length is provided by the "iPv6PrefixLength"
		-- In case of IPv4, the netmask is provided by the "iPv4SubnetMask"
	iPTextAddress	[2] IA5String (SIZE(7..45)),
		-- In case of IPv6, the delivered iPTextAddress field could include a complete
		-- single IPv6-Address or an IPv6-Prefix for a subnetwork on the target side.
		-- In case of IPv4, the delivered iPTextAddress field could include a single
		-- IPv4 address or an IPv4address/netmask, for example "192.168.1.1" or "192.168.1.1/24"
	...
}

LawfulInterceptionIdentifier ::= LIID
	-- LIID is a common parameter imported from ETSI TS 103 280 [44].
	-- It is redefined as LawfulInterceptionIdentifier in this
	-- module to preserve the original type name during the
	-- removal of imports from ETSI TS 101 671 [4].

END --end of LI-PS-PDU