Commit 4285ce0c authored by markc's avatar markc

TS 102 232-2 v3.1.1 (2012-02-28) agreed at LI#29 (Dun Laoghaire, 2012-01-24)

parent b432730c
Pipeline #3998 passed with stage
in 6 seconds
EmailPDU EmailPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version6(6)} {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version7(7)}
DEFINITIONS IMPLICIT TAGS ::= DEFINITIONS IMPLICIT TAGS ::=
BEGIN BEGIN
...@@ -16,8 +16,11 @@ IMPORTS ...@@ -16,8 +16,11 @@ IMPORTS
-- Object Identifier Definition -- Object Identifier Definition
-- ============================ -- ============================
emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) iRI(1)} emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version7(7) iRI(1)}
emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) cC(2)} 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 -- 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)}
...@@ -26,7 +29,7 @@ emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) cC(2)} ...@@ -26,7 +29,7 @@ emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) cC(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,
...@@ -35,7 +38,7 @@ EmailCC ::= SEQUENCE ...@@ -35,7 +38,7 @@ EmailCC ::= SEQUENCE
-- 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
...@@ -50,7 +53,7 @@ Email-Format ::= ENUMERATED ...@@ -50,7 +53,7 @@ Email-Format ::= ENUMERATED
-- 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,
...@@ -90,14 +93,14 @@ EmailIRI ::= SEQUENCE ...@@ -90,14 +93,14 @@ EmailIRI ::= SEQUENCE
} 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),
...@@ -111,19 +114,19 @@ E-mail-Event ::= ENUMERATED ...@@ -111,19 +114,19 @@ E-mail-Event ::= ENUMERATED
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),
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
..., ...
imap4(3)
} }
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],
...@@ -134,7 +137,7 @@ National-EM-ASN1parameters ::= SEQUENCE ...@@ -134,7 +137,7 @@ National-EM-ASN1parameters ::= SEQUENCE
-- 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,
...@@ -143,7 +146,7 @@ AAAInformation ::= CHOICE ...@@ -143,7 +146,7 @@ AAAInformation ::= CHOICE
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)),
...@@ -152,7 +155,7 @@ POP3AAAInformation ::= SEQUENCE ...@@ -152,7 +155,7 @@ POP3AAAInformation ::= SEQUENCE
... ...
} }
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
{ {
...@@ -167,7 +170,7 @@ ASMTPAAAInformation ::= SEQUENCE ...@@ -167,7 +170,7 @@ ASMTPAAAInformation ::= SEQUENCE
... ...
} }
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)),
...@@ -176,7 +179,7 @@ IMAPAAAInformation ::= SEQUENCE ...@@ -176,7 +179,7 @@ IMAPAAAInformation ::= SEQUENCE
... ...
} }
AAAResult ::= ENUMERATED AAAResult ::= ENUMERATED
{ {
resultUnknown(1), resultUnknown(1),
aAAFailed(2), aAAFailed(2),
...@@ -184,7 +187,7 @@ AAAResult ::= ENUMERATED ...@@ -184,7 +187,7 @@ AAAResult ::= ENUMERATED
... ...
} }
AAAauthMethod ::= ENUMERATED AAAauthMethod ::= ENUMERATED
{ {
undefinedAuthMethod(1), undefinedAuthMethod(1),
cramMD5(2), cramMD5(2),
...@@ -192,4 +195,161 @@ AAAauthMethod ::= ENUMERATED ...@@ -192,4 +195,161 @@ AAAauthMethod ::= ENUMERATED
... ...
} }
-- =================================
-- 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)),
...
}
END -- end of EmailPDU END -- end of EmailPDU
EmailPDU EmailPDU
{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version6(6)} {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version7(7)}
DEFINITIONS IMPLICIT TAGS ::= DEFINITIONS IMPLICIT TAGS ::=
BEGIN BEGIN
...@@ -16,8 +16,11 @@ IMPORTS ...@@ -16,8 +16,11 @@ IMPORTS
-- Object Identifier Definition -- Object Identifier Definition
-- ============================ -- ============================
emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) iRI(1)} emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version7(7) iRI(1)}
emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) cC(2)} 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 -- 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)}
...@@ -26,7 +29,7 @@ emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) cC(2)} ...@@ -26,7 +29,7 @@ emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version6(6) cC(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,
...@@ -35,7 +38,7 @@ EmailCC ::= SEQUENCE ...@@ -35,7 +38,7 @@ EmailCC ::= SEQUENCE
-- 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
...@@ -50,7 +53,7 @@ Email-Format ::= ENUMERATED ...@@ -50,7 +53,7 @@ Email-Format ::= ENUMERATED
-- 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,
...@@ -90,14 +93,14 @@ EmailIRI ::= SEQUENCE ...@@ -90,14 +93,14 @@ EmailIRI ::= SEQUENCE
} 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),
...@@ -111,19 +114,19 @@ E-mail-Event ::= ENUMERATED ...@@ -111,19 +114,19 @@ E-mail-Event ::= ENUMERATED
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),
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
..., ...
imap4(3)
} }
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],
...@@ -134,7 +137,7 @@ National-EM-ASN1parameters ::= SEQUENCE ...@@ -134,7 +137,7 @@ National-EM-ASN1parameters ::= SEQUENCE
-- 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,
...@@ -143,7 +146,7 @@ AAAInformation ::= CHOICE ...@@ -143,7 +146,7 @@ AAAInformation ::= CHOICE
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)),
...@@ -152,7 +155,7 @@ POP3AAAInformation ::= SEQUENCE ...@@ -152,7 +155,7 @@ POP3AAAInformation ::= SEQUENCE
... ...
} }
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
{ {
...@@ -167,7 +170,7 @@ ASMTPAAAInformation ::= SEQUENCE ...@@ -167,7 +170,7 @@ ASMTPAAAInformation ::= SEQUENCE
... ...
} }
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)),
...@@ -176,7 +179,7 @@ IMAPAAAInformation ::= SEQUENCE ...@@ -176,7 +179,7 @@ IMAPAAAInformation ::= SEQUENCE
... ...
} }
AAAResult ::= ENUMERATED AAAResult ::= ENUMERATED
{ {
resultUnknown(1), resultUnknown(1),
aAAFailed(2), aAAFailed(2),
...@@ -184,7 +187,7 @@ AAAResult ::= ENUMERATED ...@@ -184,7 +187,7 @@ AAAResult ::= ENUMERATED
... ...
} }
AAAauthMethod ::= ENUMERATED AAAauthMethod ::= ENUMERATED
{ {
undefinedAuthMethod(1), undefinedAuthMethod(1),
cramMD5(2), cramMD5(2),
...@@ -192,4 +195,161 @@ AAAauthMethod ::= ENUMERATED ...@@ -192,4 +195,161 @@ AAAauthMethod ::= ENUMERATED
... ...
} }
-- =================================
-- 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)),
...
}
END -- end of EmailPDU END -- end of EmailPDU
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment