EmailPDU.asn 9.25 KB
Newer Older
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version7(7)}

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) version14(14)};


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

emailIRIObjId RELATIVE-OID		::= {li-ps(5) email(2) version7(7) iRI(1)}
emailCCObjId RELATIVE-OID		::= {li-ps(5) email(2) version7(7) cC(2)}
messagingIRIObjId RELATIVE-OID 	::= {li-ps(5) email(2) version7(7) messagingIRI(3)}
messagingCCObjId RELATIVE-OID 	::= {li-ps(5) email(2) version7(7) 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
		-- Meets requirement E.2.7.
	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-type				[2] OCTET STRING,
		-- MIME content type, i.e.: image/png, text/plain;charset=utf8, audio/PCMA
	content						[3] OCTET STRING,
	...
}

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

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

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

Messaging-Party-Information ::= SEQUENCE
{
	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.
	...
}

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 TS GSM 09.02 [32], clause 14.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 [5])
	email-address		[2] E-mail-Address-List,
	...
}

Messaging-Trigger ::= ENUMERATED
{
	unknown(0),
	fixed-device(1),
	mobile-device(2),
	mobile-application(3),
	web-application(4),
	network-operator(5),
	...
}

Messaging-Property ::= CHOICE
{
	pincode				[0] OCTET STRING (SIZE (1..8)),
	...
}