Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
LI - Lawful Interception
Trial
Commits
7105ee3e
Commit
7105ee3e
authored
Jun 15, 2020
by
canterburym
Browse files
TS 102 232-2 v3.9.1 (2016-03-15) agreed at LI#41 (Sophia-Antipolis, 2016-02-10)
parent
e97719de
Pipeline
#4089
passed with stage
in 6 seconds
Changes
3
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1060 additions
and
1056 deletions
+1060
-1056
102232-2/EmailPDU.asn
102232-2/EmailPDU.asn
+530
-528
102232-2/portal/EmailPDU,ver14.txt
102232-2/portal/EmailPDU,ver14.txt
+0
-528
102232-2/portal/EmailPDU,ver15.txt
102232-2/portal/EmailPDU,ver15.txt
+530
-0
No files found.
102232-2/EmailPDU.asn
View file @
7105ee3e
EmailPDU
EmailPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version14(14)}
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version15(15)}
DEFINITIONS IMPLICIT TAGS ::=
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
BEGIN
IMPORTS
IMPORTS
-- from TS 101 671 [4]
-- from TS 101 671 [4]
IPAddress
IPAddress
FROM HI2Operations
FROM HI2Operations
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version18(18)}
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version18(18)}
-- from TS 102 232-5 [38]
-- from TS 102 232-5 [38]
IPMMCC
IPMMCC
FROM IPMultimediaPDU
FROM IPMultimediaPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version6(6)};
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version6(6)};
-- ============================
-- ============================
-- Object Identifier Definition
-- Object Identifier Definition
-- ============================
-- ============================
emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version14(14) iRI(1)}
emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version15(15) iRI(1)}
emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version14(14) cC(2)}
emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version15(15) cC(2)}
messagingIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version14(14) messagingIRI(3)}
messagingIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version15(15) messagingIRI(3)}
messagingCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version14(14) messagingCC(4)}
messagingCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version15(15) messagingCC(4)}
messagingMMCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version14(14) messagingMMCC(5)}
messagingMMCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version15(15) messagingMMCC(5)}
-- definitions are relative to
-- definitions are relative to
-- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)}
-- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)}
-- =============================
-- =============================
-- Email Communications Contents
-- Email Communications Contents
-- =============================
-- =============================
EmailCC ::= SEQUENCE
EmailCC ::= SEQUENCE
-- EmailCC is the PDU sent for each "piece" of E-mail captured content
-- EmailCC is the PDU sent for each "piece" of E-mail captured content
{
{
emailCCObjId [0] RELATIVE-OID,
emailCCObjId [0] RELATIVE-OID,
email-Format [1] Email-Format,
email-Format [1] Email-Format,
content [2] OCTET STRING
content [2] OCTET STRING
-- Network byte order
-- Network byte order
}
}
Email-Format ::= ENUMERATED
Email-Format ::= ENUMERATED
{
{
ip-packet(1),
ip-packet(1),
-- When this is the email format, the content will contain the bytes of the IP packet from
-- 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
-- the IP header through to the end of the IP packet
-- Meets requirement E.2.7
-- Meets requirement E.2.7
application(2)
application(2)
-- Only the IP stack Layer 4 payload, (i.e. no IP or TCP headers)
-- Only the IP stack Layer 4 payload, (i.e. no IP or TCP headers)
-- Meets requirement E.2.8
-- Meets requirement E.2.8
}
}
-- =======================================
-- =======================================
-- Intercept-related information for Email
-- Intercept-related information for Email
-- =======================================
-- =======================================
EmailIRI ::= SEQUENCE
EmailIRI ::= SEQUENCE
-- EmailIRI is the PDU sent for each "piece" of E-mail IRI
-- EmailIRI is the PDU sent for each "piece" of E-mail IRI
{
{
emailIRIObjId [0] RELATIVE-OID,
emailIRIObjId [0] RELATIVE-OID,
eventType [1] E-mail-Event,
eventType [1] E-mail-Event,
client-Address [2] IPAddress OPTIONAL,
client-Address [2] IPAddress OPTIONAL,
-- Provided if available
-- Provided if available
server-Address [3] IPAddress OPTIONAL,
server-Address [3] IPAddress OPTIONAL,
-- Provided if available
-- Provided if available
client-Port [4] INTEGER OPTIONAL,
client-Port [4] INTEGER OPTIONAL,
-- Provided if available
-- Provided if available
server-Port [5] INTEGER OPTIONAL,
server-Port [5] INTEGER OPTIONAL,
-- Provided if available
-- Provided if available
server-Octets-Sent [6] INTEGER,
server-Octets-Sent [6] INTEGER,
client-Octets-Sent [7] INTEGER,
client-Octets-Sent [7] INTEGER,
protocol-ID [8] E-mail-Protocol,
protocol-ID [8] E-mail-Protocol,
e-mail-Sender [9] UTF8String (SIZE (0..255)) OPTIONAL,
e-mail-Sender [9] UTF8String (SIZE (0..255)) OPTIONAL,
-- Not available in some cases; if a value is available, it must be provided
-- Not available in some cases; if a value is available, it must be provided
e-mail-Recipients [10] E-mail-Address-List OPTIONAL,
e-mail-Recipients [10] E-mail-Address-List OPTIONAL,
-- Not available in some cases; if a value is available, it must be provided
-- Not available in some cases; if a value is available, it must be provided
status [11] E-mail-Status,
status [11] E-mail-Status,
total-Recipient-Count [12] INTEGER (0..4294967295) OPTIONAL,
total-Recipient-Count [12] INTEGER (0..4294967295) OPTIONAL,
message-ID [13] OCTET STRING OPTIONAL,
message-ID [13] OCTET STRING OPTIONAL,
-- Network byte order
-- Network byte order
nationalParameter [14] OCTET STRING OPTIONAL,
nationalParameter [14] OCTET STRING OPTIONAL,
-- Completely defined on a national basis, including byte ordering
-- Completely defined on a national basis, including byte ordering
...,
...,
national-EM-ASN1parameters [15] National-EM-ASN1parameters OPTIONAL,
national-EM-ASN1parameters [15] National-EM-ASN1parameters OPTIONAL,
-- Completely defined on a national basis
-- Completely defined on a national basis
aAAInformation [16] AAAInformation OPTIONAL,
aAAInformation [16] AAAInformation OPTIONAL,
e-mail-Sender-Validity [17] ENUMERATED
e-mail-Sender-Validity [17] ENUMERATED
{
{
validated(0),
validated(0),
-- The operator has assured the e-mail-sender
-- The operator has assured the e-mail-sender
nonvalidated(1),
nonvalidated(1),
-- The operator does not assure the e-mail-sender
-- The operator does not assure the e-mail-sender
...
...
} OPTIONAL
} OPTIONAL
}
}
E-mail-Status ::= ENUMERATED
E-mail-Status ::= ENUMERATED
{
{
status-unknown(1),
status-unknown(1),
operation-failed(2),
operation-failed(2),
operation-succeeded(3)
operation-succeeded(3)
}
}
E-mail-Event ::= ENUMERATED
E-mail-Event ::= ENUMERATED
{
{
e-mail-send(1),
e-mail-send(1),
e-mail-receive(2),
e-mail-receive(2),
e-mail-download(3),
e-mail-download(3),
...,
...,
e-mail-logon-attempt(4),
e-mail-logon-attempt(4),
e-mail-logon(5),
e-mail-logon(5),
e-mail-logon-failure(6),
e-mail-logon-failure(6),
e-mail-logoff(7),
e-mail-logoff(7),
e-mail-partial-download(8),
e-mail-partial-download(8),
e-mail-upload(9)
e-mail-upload(9)
}
}
E-mail-Protocol ::= ENUMERATED
E-mail-Protocol ::= ENUMERATED
{
{
smtp(1),
smtp(1),
pop3(2),
pop3(2),
imap4(3),
imap4(3),
webmail(4),
webmail(4),
-- See Annex H for more information
-- See Annex H for more information
undefined(255),
undefined(255),
-- The protocol is not known or not representable by the current enumeration
-- 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))
E-mail-Address-List ::= SEQUENCE (SIZE (0..1023)) OF UTF8String(SIZE (0..255))
National-EM-ASN1parameters ::= SEQUENCE
National-EM-ASN1parameters ::= SEQUENCE
{
{
countryCode [1] PrintableString (SIZE (2)),
countryCode [1] PrintableString (SIZE (2)),
-- Country Code according to ISO 3166-1 [12],
-- Country Code according to ISO 3166-1 [12],
-- the country to which the parameters inserted after the extension marker apply
-- 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,
-- 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
-- these national parameters should be defined using the ASN.1 syntax and added after the
-- extension marker (...)
-- extension marker (...)
}
}
AAAInformation ::= CHOICE
AAAInformation ::= CHOICE
-- The AAAInformation field allows for POP3 and authenticated SMTP AAA information
-- The AAAInformation field allows for POP3 and authenticated SMTP AAA information
{
{
pOP3AAAInformation [0] POP3AAAInformation,
pOP3AAAInformation [0] POP3AAAInformation,
aSMTPAAAInformation [1] ASMTPAAAInformation,
aSMTPAAAInformation [1] ASMTPAAAInformation,
...,
...,
iMAPAAAInformation [2] IMAPAAAInformation
iMAPAAAInformation [2] IMAPAAAInformation
}
}
POP3AAAInformation ::= SEQUENCE
POP3AAAInformation ::= SEQUENCE
-- The POP3AAAInformation field contains the POP3 username & optionally the password
-- The POP3AAAInformation field contains the POP3 username & optionally the password
{
{
username [0] UTF8String (SIZE (0..64)),
username [0] UTF8String (SIZE (0..64)),
password [1] UTF8String (SIZE (0..64)) OPTIONAL,
password [1] UTF8String (SIZE (0..64)) OPTIONAL,
aAAResult [2] AAAResult OPTIONAL,
aAAResult [2] AAAResult OPTIONAL,
...
...
}
}
ASMTPAAAInformation ::= SEQUENCE
ASMTPAAAInformation ::= SEQUENCE
-- The ASMTPAAAInformation field contains the SMTP username and
-- The ASMTPAAAInformation field contains the SMTP username and
-- optionally the authentication fields
-- optionally the authentication fields
{
{
username [0] UTF8String (SIZE (0..64)),
username [0] UTF8String (SIZE (0..64)),
authMethod [1] AAAauthMethod OPTIONAL,
authMethod [1] AAAauthMethod OPTIONAL,
-- The hashing method used, i.e. CRAM-MD5, DIGEST-MD5, etc
-- The hashing method used, i.e. CRAM-MD5, DIGEST-MD5, etc
challenge [2] OCTET STRING OPTIONAL,
challenge [2] OCTET STRING OPTIONAL,
-- A BASE64 encoded challenge send by the SMTP server
-- A BASE64 encoded challenge send by the SMTP server
response [3] OCTET STRING OPTIONAL,
response [3] OCTET STRING OPTIONAL,
-- A BASE64 encoded hashed response returned by the client
-- A BASE64 encoded hashed response returned by the client
aAAResult [4] AAAResult OPTIONAL,
aAAResult [4] AAAResult OPTIONAL,
...
...
}
}
IMAPAAAInformation ::= SEQUENCE
IMAPAAAInformation ::= SEQUENCE
-- The iMAPAAAInformation field contains the IMAP username & optionally the password
-- The iMAPAAAInformation field contains the IMAP username & optionally the password
{
{
username [0] UTF8String (SIZE (0..64)),
username [0] UTF8String (SIZE (0..64)),
password [1] UTF8String (SIZE (0..64)) OPTIONAL,
password [1] UTF8String (SIZE (0..64)) OPTIONAL,
aAAResult [2] AAAResult OPTIONAL,
aAAResult [2] AAAResult OPTIONAL,
...
...
}
}
AAAResult ::= ENUMERATED
AAAResult ::= ENUMERATED
{
{
resultUnknown(1),
resultUnknown(1),
aAAFailed(2),
aAAFailed(2),
aAASucceeded(3),
aAASucceeded(3),
...
...
}
}
AAAauthMethod ::= ENUMERATED
AAAauthMethod ::= ENUMERATED
{
{
undefinedAuthMethod(1),
undefinedAuthMethod(1),
cramMD5(2),
cramMD5(2),
digestMD5(3),
digestMD5(3),
...
...
}
}
-- =================================
-- =================================
-- Messaging Communications Contents
-- Messaging Communications Contents
-- =================================
-- =================================
MessagingCC ::= SEQUENCE
MessagingCC ::= SEQUENCE
-- MessagingCC is the PDU sent for the captured content
-- MessagingCC is the PDU sent for the captured content
{
{
messaging-cc-obj-id [0] RELATIVE-OID,
messaging-cc-obj-id [0] RELATIVE-OID,
event-identifier [1] INTEGER (0..4294967295),
event-identifier [1] INTEGER (0..4294967295),
-- Used to correlate to MessagingIRI within the same CIN
-- Used to correlate to MessagingIRI within the same CIN
content-identifier [2] INTEGER (0..4294967295) OPTIONAL,
content-identifier [2] INTEGER (0..4294967295) OPTIONAL,
sequence-number [3] INTEGER (0..4294967295) OPTIONAL,
sequence-number [3] INTEGER (0..4294967295) OPTIONAL,
end-of-sequence [4] BOOLEAN DEFAULT FALSE,
end-of-sequence [4] BOOLEAN DEFAULT FALSE,
content-type [5] OCTET STRING,
content-type [5] OCTET STRING,
-- MIME content type, i.e.: image/png, text/plain;charset=utf8, audio/PCMA
-- MIME content type, i.e.: image/png, text/plain;charset=utf8, audio/PCMA
content [6] OCTET STRING,
content [6] OCTET STRING,
...,
...,
content-transfer-encoding [7] OCTET STRING OPTIONAL
content-transfer-encoding [7] OCTET STRING OPTIONAL
-- MIME Content-Transfer-Encoding mechanism.
-- MIME Content-Transfer-Encoding mechanism.
-- Refer to IETF RFC 2045 [20]
-- Refer to IETF RFC 2045 [20]
}
}
MessagingMMCC ::= SEQUENCE
MessagingMMCC ::= SEQUENCE
-- MessagingMMCC is the PDU sent for the captured IPMMCC content
-- MessagingMMCC is the PDU sent for the captured IPMMCC content
{
{
messaging-mm-cc-obj-id [0] RELATIVE-OID,
messaging-mm-cc-obj-id [0] RELATIVE-OID,
event-identifier [1] INTEGER (0..4294967295),
event-identifier [1] INTEGER (0..4294967295),
-- Used to correlate to MessagingIRI within the same CIN
-- Used to correlate to MessagingIRI within the same CIN
content-identifier [2] INTEGER (0..4294967295) OPTIONAL,
content-identifier [2] INTEGER (0..4294967295) OPTIONAL,
content [3] IPMMCC,
content [3] IPMMCC,
...
...
}
}
-- ===========================================
-- ===========================================
-- Intercept-related information for Messaging
-- Intercept-related information for Messaging
-- ===========================================
-- ===========================================
MessagingIRI ::= SEQUENCE
MessagingIRI ::= SEQUENCE
{
{
messaging-iri-obj-id [0] RELATIVE-OID,
messaging-iri-obj-id [0] RELATIVE-OID,
system-type [1] Messaging-System-Type,
system-type [1] Messaging-System-Type,
system-identifier [2] OCTET STRING OPTIONAL,
system-identifier [2] OCTET STRING OPTIONAL,
-- Identifier up to national agreement, uniquely identifies a certain messaging system
-- Identifier up to national agreement, uniquely identifies a certain messaging system
category [3] Messaging-Event-Category OPTIONAL,
category [3] Messaging-Event-Category OPTIONAL,
status [4] Messaging-Status,
status [4] Messaging-Status,
party-information [5] SET OF Messaging-Party-Information OPTIONAL,
party-information [5] SET OF Messaging-Party-Information OPTIONAL,
trigger [6] Messaging-Trigger,
trigger [6] Messaging-Trigger,
properties [7] SEQUENCE OF Messaging-Property OPTIONAL,
properties [7] SEQUENCE OF Messaging-Property OPTIONAL,
event-identifier [8] INTEGER (0..4294967295) 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
-- Used to correlate to MessagingCC or MessagingMMCC within the same CIN. Mandatory when CC is also sent
original-message [9] OCTET STRING OPTIONAL,
original-message [9] OCTET STRING OPTIONAL,
...,
...,
box-identifier [10] OCTET STRING OPTIONAL
box-identifier [10] OCTET STRING OPTIONAL
}
}
Messaging-System-Type ::= ENUMERATED
Messaging-System-Type ::= ENUMERATED
{
{
unified-messaging(1),
unified-messaging(1),
...
...
}
}
Messaging-Event-Category ::= CHOICE
Messaging-Event-Category ::= CHOICE
{
{
message [0] Messaging-Event,
message [0] Messaging-Event,
message-box [1] Messaging-Box-Event,
message-box [1] Messaging-Box-Event,
message-notification [2] Messaging-Notification-Event,
message-notification [2] Messaging-Notification-Event,
call [3] Messaging-Call-Event,
call [3] Messaging-Call-Event,
...
...
}
}
Messaging-Event ::= ENUMERATED
Messaging-Event ::= ENUMERATED
{
{
deposit(1),
deposit(1),
retrieve(2),
retrieve(2),
delete(3),
delete(3),
save(4),
save(4),
slamdown(5),
slamdown(5),
...
...,
}
calendar(6),
contact(7)
Messaging-Box-Event ::= ENUMERATED
}
{
login(1),
Messaging-Box-Event ::= ENUMERATED
logout(2),
{
lock(3),
login(1),
unlock(4),
logout(2),
activate(5),
lock(3),
deactivate(6),
unlock(4),
delete(7),
activate(5),
pin-change(8),
deactivate(6),
greeting-record(9),
delete(7),
greeting-change(10),
pin-change(8),
greeting-delete(11),
greeting-record(9),
greeting-enable(12),
greeting-change(10),
greeting-disable(13),
greeting-delete(11),
notification-enable(14),
greeting-enable(12),
notification-disable(15),
greeting-disable(13),
disconnect(16),
notification-enable(14),
connect(17),
notification-disable(15),
...,
disconnect(16),
unknown(0),
connect(17),
...,
greeting-play(18),
unknown(0),
language-change(19),
pin-security-enable(20),
greeting-play(18),
pin-security-disable(21),
language-change(19),
personal-operator-add(22),
pin-security-enable(20),
personal-operator-change(23),
pin-security-disable(21),
personal-operator-remove(24),
personal-operator-add(22),
additional-destination-add(25),
personal-operator-change(23),
additional-destination-change(26),
personal-operator-remove(24),
additional-destination-remove(27)
additional-destination-add(25),
}
additional-destination-change(26),
additional-destination-remove(27)
Messaging-Notification-Event ::= ENUMERATED
}
{
sms(1),
Messaging-Notification-Event ::= ENUMERATED
sms-deposit(2),
{
sms-slamdown(3),
sms(1),
sms-pin-reminder(4),
sms-deposit(2),
email(5),
sms-slamdown(3),
fax-to-email(6),
sms-pin-reminder(4),
...,
email(5),
mms(7),
fax-to-email(6),
generic(8)
...,
}
mms(7),
generic(8)
Messaging-Call-Event ::= ENUMERATED
}
{
callout(1),
Messaging-Call-Event ::= ENUMERATED
...
{
}
callout(1),
...
Messaging-Status ::= ENUMERATED
}
{
unknown(0),
Messaging-Status ::= ENUMERATED
not-applicable(1),
{
operation-failed(2),
unknown(0),
operation-succeeded(3),
not-applicable(1),
operation-cancelled(4),
operation-failed(2),
operation-started(5),
operation-succeeded(3),
...,
operation-cancelled(4),
operation-lost(6)
operation-started(5),
}
...,
operation-lost(6)
Messaging-Party-Information ::= SEQUENCE
}
{
party-qualifier [0] Messaging-Party-Qualifier,
Messaging-Party-Information ::= SEQUENCE
party-identity [1] Messaging-Party-Identity,
{
...,
party-qualifier [0] Messaging-Party-Qualifier,
party-validity [2] Messaging-Party-Validity OPTIONAL,
party-identity [1] Messaging-Party-Identity,
copy-qualifier [3] Messaging-Copy-Qualifier OPTIONAL
...,
}
party-validity [2] Messaging-Party-Validity OPTIONAL,
copy-qualifier [3] Messaging-Copy-Qualifier OPTIONAL
Messaging-Party-Qualifier ::= ENUMERATED
}
{
unknown-party(0),
Messaging-Party-Qualifier ::= ENUMERATED
-- In this case the party cannot be classified as either originating or terminating
{
originating-party(1),
unknown-party(0),
-- In this case, the partyInformation parameter provides the identities related to
<