Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
LI - Lawful Interception
Trial
Commits
f733cdb9
Commit
f733cdb9
authored
Sep 20, 2021
by
canterburym
Browse files
Correcting hyphens and double carriage returns
parent
cf6a40bd
Changes
1
Hide whitespace changes
Inline
Side-by-side
102232-2/EmailPDU.asn
View file @
f733cdb9
-- ============================
-- Description of the Email PDU
-- ============================
EmailPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version18(18)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
IMPORTS
-- from ETSI TS 102 232-1 [3]
IPAddress
FROM LI-PS-PDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version26(26)}
-- from ETSI 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) version8(8)};
-- ============================
-- Object Identifier Definition
-- ============================
emailPDUObjId RELATIVE-OID ::= {li-ps(5) email(2) version18(18)}
emailIRIObjId RELATIVE-OID ::= {emailPDUObjId iRI(1)}
emailCCObjId RELATIVE-OID ::= {emailPDUObjId cC(2)}
messagingIRIObjId RELATIVE-OID ::= {emailPDUObjId messagingIRI(3)}
messagingCCObjId RELATIVE-OID ::= {emailPDUObjId messagingCC(4)}
messagingMMCCObjId RELATIVE-OID ::= {emailPDUObjId messagingMMCC(5)}
-- definitions are relative to
-- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)}
-- =============================
-- Email Communications Contents
-- =============================
EmailCC ::= SEQUENCE
-- 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
}
Email-Format ::= ENUMERATED
{
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 ::= SEQUENCE
-- 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 shall be provided.
-- Note that as of version 3.13.1, this field may contain RFC 6530-compliant addresses.
e-mail-Recipients [10] E-mail-Address-List OPTIONAL,
-- Not available in some cases; if a value is available, it shall be provided
-- Note that as of version 3.13.1, this field may contain RFC 6530-compliant addresses.
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
}
E-mail-Status ::= ENUMERATED
{
status-unknown(1),
operation-failed(2),
operation-succeeded(3)
}
E-mail-Event ::= ENUMERATED
{
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)
}
E-mail-Protocol ::= ENUMERATED
{
smtp(1),
pop3(2),
imap4(3),
webmail(4),
-- See Annex H for more information
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 (...)
}
AAAInformation ::= CHOICE
-- The AAAInformation field allows for POP3 and authenticated SMTP AAA information
{
pOP3AAAInformation [0] POP3AAAInformation,
aSMTPAAAInformation [1] ASMTPAAAInformation,
...,
iMAPAAAInformation [2] IMAPAAAInformation
}
POP3AAAInformation ::= SEQUENCE
-- 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,
...
}
ASMTPAAAInformation ::= SEQUENCE
-- 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,
...
}
IMAPAAAInformation ::= SEQUENCE
-- 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,
...
}
AAAResult ::= ENUMERATED
{
resultUnknown(1),
aAAFailed(2),
aAASucceeded(3),
...
}
AAAauthMethod ::= ENUMERATED
{
undefinedAuthMethod(1),
cramMD5(2),
digestMD5(3),
...
}
-- =================================
-- 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
content [6] OCTET STRING,
...,
content-transfer-encoding [7] OCTET STRING OPTIONAL
-- MIME Content-Transfer-Encoding mechanism.
-- Refer to IETF RFC 2045 [20]
}
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,
...
}
-- ===========================================
-- 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 or MessagingMMCC 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),
slamdown(5),
...,
calendar(6),
contact(7)
}
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),
connect(17),
...,
unknown(0),
greeting-play(18),
language-change(19),
pin-security-enable(20),
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),
auto-play-enable(28),
auto-play-disable(29),
header-play-enable(30),
header-play-disable(31)
}
Messaging-Notification-Event ::= ENUMERATED
{
sms(1),