EmailPDU,ver10.txt 11.6 KB
Newer Older
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version10(10)}

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

IMPORTS

	-- from TS 101 671 [4]
	IPAddress
		FROM HI2Operations
		{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(17)};


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

emailIRIObjId RELATIVE-OID		::= {li-ps(5) email(2) version10(10) iRI(1)}
emailCCObjId RELATIVE-OID		::= {li-ps(5) email(2) version10(10) cC(2)}
messagingIRIObjId RELATIVE-OID 	::= {li-ps(5) email(2) version10(10) messagingIRI(3)}
messagingCCObjId RELATIVE-OID 	::= {li-ps(5) email(2) version10(10) messagingCC(4)}
	-- definitions are relative to 
	-- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)}


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

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

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

	-- 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
	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
{
	status-unknown(1),
	operation-failed(2),
	operation-succeeded(3)
}

{
	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)
}

	undefined(255),
		-- The protocol is not known or not representable by the current enumeration
E-mail-Address-List ::= SEQUENCE (SIZE (0..1023)) OF UTF8String(SIZE (0..255))
National-EM-ASN1parameters ::= SEQUENCE
{
	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 (...)
}

	-- The AAAInformation field allows for POP3 and authenticated SMTP AAA information
{
	pOP3AAAInformation			[0] POP3AAAInformation,
	aSMTPAAAInformation			[1] ASMTPAAAInformation,
	...,
	iMAPAAAInformation			[2] IMAPAAAInformation
	-- 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,
	...
}

	-- 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,
	...
}

	-- The iMAPAAAInformation field contains the IMAP username & optionally the password
{
	username					[0] UTF8String (SIZE (0..64)),
	password					[1] UTF8String (SIZE (0..64)) OPTIONAL,
	aAAResult					[2] AAAResult OPTIONAL,
	...
}

-- =================================
-- 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
	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,
		-- MIME content type, i.e.: image/png, text/plain;charset=utf8, audio/PCMA
	...
}

-- ===========================================
-- 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,
		-- Used to correlate to MessagingCC within the same CIN. Mandatory when CC is also sent
	original-message			[9] OCTET STRING OPTIONAL,
	...,
	box-identifier				[10] OCTET STRING OPTIONAL
}

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),
	...
}

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),
	...,
	greeting-play(18),
	language-change(19),
	pin-security-enable(20),
	pin-security-disable(21)
}

Messaging-Notification-Event ::= ENUMERATED
{
	sms(1),
	sms-deposit(2),
	sms-slamdown(3),
	sms-pin-reminder(4),
	email(5),
	fax-to-email(6),
	...
}

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

Messaging-Status ::= ENUMERATED
{
	operation-failed(2),
	operation-succeeded(3),
	operation-cancelled(4),
	party-qualifier		[0] Messaging-Party-Qualifier,
	party-identity		[1] Messaging-Party-Identity,
	...
}

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.
	...,
	associated-party(3)
		-- In this case, the partyInformation parameter provides the identites related to
		-- an associated party and all information provided by this party
}

Messaging-Party-Identity ::= CHOICE
{
	msisdn				[0] OCTET STRING (SIZE (1..9)),
		-- MSISDN of the target, encoded in the same format as the AddressString
		-- parameters defined in MAP format 3GPP TS 09.02 [22], clause 17.7.8.
	e164-format			[1] OCTET STRING (SIZE (1..25)),
		-- E.164 address of the node in international format. Coded in the same format as 
		-- the calling party number parameter of the ISUP (parameter part: EN 300 356 [23])
	email-address		[2] E-mail-Address-List,
		--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)),
		-- see MAP format in TS 133.108 [5] for International Mobile Station Identity 
		-- ITU-T E 212 [27] number beginning with Mobile Country Code. 
	imei 				[7] OCTET STRING (SIZE (8)),
		-- see MAP format in TS 133.108 [5] for International Mobile Equipment Identity number.
		-- It is defined in 3GPP TS 22.016 [28].
	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]
	...
	user(1),
	user-agent(2),
	system(3),
	system-operator(4),
	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,
	language			[4] OCTET STRING
		-- Language according to RFC 3066 [24]
}

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),