EmailPDU,ver14.txt 13.9 KB
Newer Older
1
EmailPDU
2
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version14(14)}
3
4
5
6
7
8
9
10
11

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

IMPORTS

	-- from TS 101 671 [4]
	IPAddress
		FROM HI2Operations
12
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version18(18)}
13
14
15
16
17

	-- from TS 102 232-5 [38]
	IPMMCC
		FROM IPMultimediaPDU
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version6(6)};
18
19
20
21
22
23


-- ============================
-- Object Identifier Definition
-- ============================

24
25
26
27
28
emailIRIObjId RELATIVE-OID		::= {li-ps(5) email(2) version14(14) iRI(1)}
emailCCObjId RELATIVE-OID		::= {li-ps(5) email(2) version14(14) cC(2)}
messagingIRIObjId RELATIVE-OID 	::= {li-ps(5) email(2) version14(14) messagingIRI(3)}
messagingCCObjId RELATIVE-OID 	::= {li-ps(5) email(2) version14(14) messagingCC(4)}
messagingMMCCObjId RELATIVE-OID	::= {li-ps(5) email(2) version14(14) messagingMMCC(5)}
29

30
31
32
33
34
35
36
37
	-- definitions are relative to 
	-- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)}


-- =============================
-- Email Communications Contents
-- =============================

38
EmailCC ::= SEQUENCE
39
40
41
42
43
44
45
46
	-- EmailCC is the PDU sent for each "piece" of E-mail captured content
{
	emailCCObjId		[0] RELATIVE-OID,
	email-Format		[1] Email-Format,
	content				[2] OCTET STRING
		-- Network byte order
}

47
Email-Format ::= ENUMERATED
48
49
50
51
{
	ip-packet(1),
		-- When this is the email format, the content will contain the bytes of the IP packet from 
		-- the IP header through to the end of the IP packet
52
		-- Meets requirement E.2.7
53
54
55
56
57
58
59
60
61
	application(2)
		-- Only the IP stack Layer 4 payload, (i.e. no IP or TCP headers)
		-- Meets requirement E.2.8
}

-- =======================================
-- Intercept-related information for Email
-- =======================================

62
EmailIRI ::= SEQUENCE
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
	-- EmailIRI is the PDU sent for each "piece" of E-mail IRI
{
	emailIRIObjId				[0] RELATIVE-OID,
	eventType					[1] E-mail-Event,
	client-Address				[2] IPAddress OPTIONAL,
		-- Provided if available
	server-Address				[3] IPAddress OPTIONAL,
		-- Provided if available
	client-Port					[4] INTEGER OPTIONAL,
		-- Provided if available
	server-Port					[5] INTEGER OPTIONAL,
		-- Provided if available
	server-Octets-Sent			[6] INTEGER,
	client-Octets-Sent			[7] INTEGER,
	protocol-ID					[8] E-mail-Protocol,
	e-mail-Sender				[9] UTF8String (SIZE (0..255)) OPTIONAL,
		-- Not available in some cases; if a value is available, it must be provided
	e-mail-Recipients			[10] E-mail-Address-List OPTIONAL,
		-- Not available in some cases; if a value is available, it must be provided
	status						[11] E-mail-Status,
	total-Recipient-Count 		[12] INTEGER (0..4294967295) OPTIONAL,
	message-ID					[13] OCTET STRING OPTIONAL,
		-- Network byte order
	nationalParameter			[14] OCTET STRING OPTIONAL,
		-- Completely defined on a national basis, including byte ordering
	...,
	national-EM-ASN1parameters	[15] National-EM-ASN1parameters OPTIONAL,
		-- Completely defined on a national basis
91
92
93
94
95
96
97
98
99
	aAAInformation				[16] AAAInformation OPTIONAL,
	e-mail-Sender-Validity		[17] ENUMERATED
		{
			validated(0),
				-- The operator has assured the e-mail-sender
			nonvalidated(1),
				-- The operator does not assure the e-mail-sender
			...
		} OPTIONAL
100
101
}

102
E-mail-Status ::= ENUMERATED
103
104
105
106
107
108
{
	status-unknown(1),
	operation-failed(2),
	operation-succeeded(3)
}

109
E-mail-Event ::= ENUMERATED
110
111
112
113
114
115
116
117
118
119
120
121
122
{
	e-mail-send(1),
	e-mail-receive(2),
	e-mail-download(3),
	...,
	e-mail-logon-attempt(4),
	e-mail-logon(5),
	e-mail-logon-failure(6),
	e-mail-logoff(7),
	e-mail-partial-download(8),
	e-mail-upload(9)
}

123
E-mail-Protocol ::= ENUMERATED
124
125
126
{
	smtp(1),
	pop3(2),
127
	imap4(3),
128
129
	webmail(4),
		-- See Annex H for more information
130
131
	undefined(255),
		-- The protocol is not known or not representable by the current enumeration
132
	...
133
134
}

135
E-mail-Address-List ::= SEQUENCE (SIZE (0..1023)) OF UTF8String(SIZE (0..255))
136

137
National-EM-ASN1parameters ::= SEQUENCE
138
139
140
141
142
143
144
145
146
147
{
	countryCode		[1] PrintableString (SIZE (2)),
		-- Country Code according to ISO 3166-1 [12],
		-- 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 (...)
}

148
AAAInformation ::= CHOICE
149
150
151
152
	-- The AAAInformation field allows for POP3 and authenticated SMTP AAA information
{
	pOP3AAAInformation			[0] POP3AAAInformation,
	aSMTPAAAInformation			[1] ASMTPAAAInformation,
153
154
	...,
	iMAPAAAInformation			[2] IMAPAAAInformation
155
156
}

157
POP3AAAInformation ::= SEQUENCE
158
159
160
161
162
163
164
165
	-- The POP3AAAInformation field contains the POP3 username & optionally the password
{
	username					[0] UTF8String (SIZE (0..64)),
	password					[1] UTF8String (SIZE (0..64)) OPTIONAL,
	aAAResult					[2] AAAResult OPTIONAL,
	...
}

166
ASMTPAAAInformation ::= SEQUENCE
167
168
169
170
171
172
173
174
175
176
177
178
179
180
	-- The ASMTPAAAInformation field contains the SMTP username and
	-- optionally the authentication fields
{
	username					[0] UTF8String (SIZE (0..64)),
	authMethod					[1] AAAauthMethod OPTIONAL,
		-- The hashing method used, i.e. CRAM-MD5, DIGEST-MD5, etc
	challenge					[2] OCTET STRING OPTIONAL,
		-- A BASE64 encoded challenge send by the SMTP server
	response					[3] OCTET STRING OPTIONAL,
		-- A BASE64 encoded hashed response returned by the client
	aAAResult					[4] AAAResult OPTIONAL,
	...
}

181
IMAPAAAInformation ::= SEQUENCE
182
	-- The iMAPAAAInformation field contains the IMAP username & optionally the password
183
184
185
186
187
188
189
{
	username					[0] UTF8String (SIZE (0..64)),
	password					[1] UTF8String (SIZE (0..64)) OPTIONAL,
	aAAResult					[2] AAAResult OPTIONAL,
	...
}

190
AAAResult ::= ENUMERATED
191
192
193
194
195
196
197
{
	resultUnknown(1),
	aAAFailed(2),
	aAASucceeded(3),
	...
}

198
AAAauthMethod ::= ENUMERATED
199
200
201
202
203
204
205
{
	undefinedAuthMethod(1),
	cramMD5(2),
	digestMD5(3),
	...
}

206
207
208
209
210
211
212
213
214
215
-- =================================
-- Messaging Communications Contents
-- =================================

MessagingCC ::= SEQUENCE
	-- MessagingCC is the PDU sent for the captured content
{
	messaging-cc-obj-id			[0] RELATIVE-OID,
	event-identifier			[1] INTEGER (0..4294967295),
		-- Used to correlate to MessagingIRI within the same CIN
216
217
218
219
	content-identifier			[2] INTEGER (0..4294967295) OPTIONAL,
	sequence-number				[3] INTEGER (0..4294967295) OPTIONAL,
	end-of-sequence				[4] BOOLEAN DEFAULT FALSE,
	content-type				[5] OCTET STRING,
220
		-- MIME content type, i.e.: image/png, text/plain;charset=utf8, audio/PCMA
221
	content						[6] OCTET STRING,
222
223
224
225
	...,
	content-transfer-encoding	[7] OCTET STRING OPTIONAL
		-- MIME Content-Transfer-Encoding mechanism.
		-- Refer to IETF RFC 2045 [20]
226
227
}

228
229
230
231
232
233
234
235
236
237
238
239
MessagingMMCC ::= SEQUENCE
	-- MessagingMMCC is the PDU sent for the captured IPMMCC content
{
	messaging-mm-cc-obj-id		[0] RELATIVE-OID,
	event-identifier			[1] INTEGER (0..4294967295),
		-- Used to correlate to MessagingIRI within the same CIN
	content-identifier			[2] INTEGER (0..4294967295) OPTIONAL,
	content						[3] IPMMCC,
	...
}


240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
-- ===========================================
-- Intercept-related information for Messaging
-- ===========================================

MessagingIRI ::= SEQUENCE
{
	messaging-iri-obj-id		[0] RELATIVE-OID,
	system-type					[1] Messaging-System-Type,
	system-identifier			[2] OCTET STRING OPTIONAL,
		-- Identifier up to national agreement, uniquely identifies a certain messaging system
	category					[3] Messaging-Event-Category OPTIONAL,
	status						[4] Messaging-Status,
	party-information			[5] SET OF Messaging-Party-Information OPTIONAL,
	trigger						[6] Messaging-Trigger,
	properties					[7] SEQUENCE OF Messaging-Property OPTIONAL,
	event-identifier			[8] INTEGER (0..4294967295) OPTIONAL,
256
		-- Used to correlate to MessagingCC or MessagingMMCC within the same CIN. Mandatory when CC is also sent
257
	original-message			[9] OCTET STRING OPTIONAL,
258
259
	...,
	box-identifier				[10] OCTET STRING OPTIONAL
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
}

Messaging-System-Type ::= ENUMERATED
{
	unified-messaging(1),
	...
}

Messaging-Event-Category ::= CHOICE
{
	message						[0] Messaging-Event,
	message-box					[1] Messaging-Box-Event,
	message-notification		[2] Messaging-Notification-Event,
	call						[3] Messaging-Call-Event,
	...
}

Messaging-Event ::= ENUMERATED
{
	deposit(1),
	retrieve(2),
	delete(3),
	save(4),
283
	slamdown(5),
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
	...
}

Messaging-Box-Event ::= ENUMERATED
{
	login(1),
	logout(2),
	lock(3),
	unlock(4),
	activate(5),
	deactivate(6),
	delete(7),
	pin-change(8),
	greeting-record(9),
	greeting-change(10),
	greeting-delete(11),
	greeting-enable(12),
	greeting-disable(13),
	notification-enable(14),
	notification-disable(15),
	disconnect(16),
305
	connect(17),
306
	...,
307
308
	unknown(0),
	
309
310
311
	greeting-play(18),
	language-change(19),
	pin-security-enable(20),
312
313
314
315
316
317
318
	pin-security-disable(21),
	personal-operator-add(22),
	personal-operator-change(23),
	personal-operator-remove(24),
	additional-destination-add(25),
	additional-destination-change(26),
	additional-destination-remove(27)
319
320
321
322
323
324
325
326
327
328
}

Messaging-Notification-Event ::= ENUMERATED
{
	sms(1),
	sms-deposit(2),
	sms-slamdown(3),
	sms-pin-reminder(4),
	email(5),
	fax-to-email(6),
329
	...,
330
331
	mms(7),
	generic(8)
332
333
334
335
336
337
338
339
340
341
}

Messaging-Call-Event ::= ENUMERATED
{
	callout(1),
	...
}

Messaging-Status ::= ENUMERATED
{
342
343
	unknown(0),
	not-applicable(1),
344
345
346
	operation-failed(2),
	operation-succeeded(3),
	operation-cancelled(4),
347
	operation-started(5),
348
349
	...,
	operation-lost(6)
350
351
352
353
}

Messaging-Party-Information ::= SEQUENCE
{
354
	party-qualifier		[0] Messaging-Party-Qualifier,
355
	party-identity		[1] Messaging-Party-Identity,
356
357
358
	...,
	party-validity		[2] Messaging-Party-Validity OPTIONAL,
	copy-qualifier		[3]	Messaging-Copy-Qualifier OPTIONAL
359
360
361
362
363
364
365
366
367
368
369
370
}

Messaging-Party-Qualifier ::= ENUMERATED
{
	unknown-party(0),
		-- In this case the party cannot be classified as either originating or terminating
	originating-party(1),
		-- In this case, the partyInformation parameter provides the identities related to 
		-- the originating party and all information provided by this party.
	terminating-party(2),
		-- In this case, the partyInformation parameter provides the identities related to 
		-- the terminating party and all information provided by this party.
371
372
373
374
	...,
	associated-party(3)
		-- In this case, the partyInformation parameter provides the identites related to
		-- an associated party and all information provided by this party
375
376
377
378
379
380
}

Messaging-Party-Identity ::= CHOICE
{
	msisdn				[0] OCTET STRING (SIZE (1..9)),
		-- MSISDN of the target, encoded in the same format as the AddressString
381
		-- parameters defined in MAP format 3GPP TS 09.02 [22], clause 17.7.8.
382
383
	e164-format			[1] OCTET STRING (SIZE (1..25)),
		-- E.164 address of the node in international format. Coded in the same format as 
384
		-- the calling party number parameter of the ISUP (parameter part: EN 300 356 [23])
385
	email-address		[2] E-mail-Address-List,
386
387
	...,
	ip-address			[3] IPAddress,
388
389
390
391
		--IPAddress is defined by IETF RFC 791 [31] and RFC 2460 [34]
	alphanumeric		[4] UTF8String,
	ip-address-and-port [5] IP-Address-And-Port,
	imsi 				[6] OCTET STRING (SIZE (3..8)),
392
393
394
		-- International Mobile Subscriber Identity of the target, encoded in the same format as the
		-- TBCD-STRING parameter defined in MAP format 3GPP TS 29.002 [36], clause 17.7.8.
		-- It is described in 3GPP TS 23.003 [37] clause 2.2.
395
	imei 				[7] OCTET STRING (SIZE (8)),
396
397
		-- International Mobile Equipment Identity of the target, encoded in the same format as the
		-- TBCD-STRING parameter defined in MAP format 3GPP TS 23.003 [37] clause 6
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
	fax-url 			[8] OCTET STRING,
		-- see format defined in RFC 2806 [29].
	tel-url 			[9] OCTET STRING,
		-- see format used in TS 133.108 [5], TS 24 229[30] and defined in RFC 2806 [29].
	modem-url			[10] OCTET STRING,
		-- see format defined in RFC 2806 [29].
	sip-uri 			[11] OCTET STRING,
		-- see format used in in TS 133.108 [5] and defined in RFC 3261 [32].
	sips-uri 			[12] OCTET STRING,
		-- see format defined in RFC 3261 [32].
	nai 				[13] OCTET STRING 
		-- Network Access Identity of the party, encoded in the same format as used EPS 
		-- domain in TS 133.108 [5] and defined in RFC 4282 [33].
}

IP-Address-And-Port ::= SEQUENCE
{
	ip-address				[0] IPAddress,
		-- IPAddress is defined by IETF RFC 791 [31] and RFC 2460 [34]
	port-number				[1] INTEGER,
		-- port-number is defined by IETF RFC 6533 [35]
	...
420
421
}

422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
Messaging-Party-Validity ::= ENUMERATED
{
	unknown(0),
	trusted(1),
	untrusted(2),
	...
}

Messaging-Copy-Qualifier ::= ENUMERATED
{
	unknown(0),
	none(1),
	cc(2),
	bcc(3),
	...
}


440
441
442
Messaging-Trigger ::= ENUMERATED
{
	unknown(0),
443
444
445
446
	user(1),
	user-agent(2),
	system(3),
	system-operator(4),
447
448
449
450
451
	...
}

Messaging-Property ::= CHOICE
{
452
453
454
455
456
	pincode				[0] OCTET STRING (SIZE (1..32)),
	...,
	priority			[1] Messaging-Property-Priority,
	greeting-type		[2] Messaging-Property-Greeting-Type,
	notification-type	[3] Messaging-Property-Notification-Type,
457
	language			[4] OCTET STRING,
458
		-- Language according to RFC 3066 [24]
459
460
461
462
463
464
465
466
	message-identifier	[5]	OCTET STRING,
	subject				[6]	UTF8String,
	user-agent			[7] UTF8String,
	password			[8] OCTET STRING,
	message-status		[9] Messaging-Property-Message-Status,
	requested-reports	[10] Messaging-Property-Requested-Reports,
	expires				[11] GeneralizedTime,
	message-date		[12] GeneralizedTime
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
}

Messaging-Property-Priority ::= ENUMERATED
{
	low(1),
	medium(2),
	high(3),
	private(4),
	...
}

Messaging-Property-Greeting-Type ::= ENUMERATED
{
	general(1),
	name(2),
	personal(3),
	absence(4),
	number(5),
	...
}

Messaging-Property-Notification-Type ::= ENUMERATED
{
	empty-call(1),
	lost-call(2),
492
	...,
493
494
495
496
	message-to-email(3),
	read-report(4),
	delivery-report(5),
	allow-delivery-report(6),
497
498
499
500
	deny-delivery-report(7),
	message-wait-indication(8),
	voice-to-text(9)

501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
}

Messaging-Property-Message-Status ::= ENUMERATED
{
	indeterminate(0),
	expired(1),
	retrieved(2),
	rejected(3),
	deferred(4),
	forwarded(5),
	unrecognized(6),
	unreachable(7),
	read(8),
	deleted-without-being-read(9),
	delivery-condition-not-met(10),
	...
}

Messaging-Property-Requested-Reports ::= ENUMERATED
{
	none(0),
	delivery(1),
	read(2),
	delivery-and-read(3),
	...
526
527
}

528
END -- end of EmailPDU