diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn new file mode 100644 index 0000000000000000000000000000000000000000..6def9ef41abb49dbb2822b8705affa36cfb6617f --- /dev/null +++ b/102232-1/LI-PS-PDU.asn @@ -0,0 +1,734 @@ +LI-PS-PDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version30(30)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +IMPORTS + -- Any of the IMPORTs may be commented out if they are not used (see clause A.3) + + -- from ETSI TS 103 280 [44] + LIID + FROM Common-Parameters + {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version211(211)} + + + -- from ETSI TS 101 671 [4] + IRI-Parameters, + IRIsContent, + Location, + Network-Element-Identifier + FROM HI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(17)} + + -- from ETSI TS 101 671 [4] + HI1-Operation + FROM HI1NotificationOperations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version6(6)} + + -- from ETSI TS 102 232-2 [5] + EmailCC, + EmailIRI, + MessagingCC, + MessagingMMCC, + MessagingIRI + FROM EmailPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version17(17)} + + -- from ETSI TS 102 232-3 [6] + IPCC, + IPIRI, + IPIRIOnly + FROM IPAccessPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version13(13)} + + -- from ETSI TS 102 232-4 [32] + L2CC, + L2IRI, + L2IRIOnly + FROM L2AccessPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) l2Access(4) version7(7)} + + -- from ETSI TS 102 232-5 [37] + IPMMCC, + IPMMIRI + FROM IPMultimediaPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version10(10)} + + -- from ETSI TS 102 232-6 [36] + PstnIsdnCC, + PstnIsdnIRI + FROM PstnIsdnPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6) version5(5)} + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + UmtsIRIsContent, + CorrelationValues, + Location + FROM UmtsHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2(1)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + UmtsCS-IRIsContent + FROM UmtsCS-HI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2CS(3)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + EpsIRIsContent, + EPSLocation + FROM EpsHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2eps(8)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + ConfIRIsContent + FROM CONFHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2conf(10)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + ProSeIRIsContent + FROM ProSeHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2prose (15)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + GcseIRIsContent + FROM GCSEHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2gcse(13)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + CC-PDU + FROM Umts-HI3-PS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3(2)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + CC-PDU + FROM Eps-HI3-PS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3eps(9)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + Conf-CC-PDU + FROM CONF-HI3-IMS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3conf(11)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + Voip-CC-PDU + FROM VoIP-HI3-IMS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3voip(12)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + Gcse-CC-PDU + FROM GCSE-HI3 + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3gcse(14)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + ThreeGPP-HI1-Operation + FROM ThreeGPP-HI1NotificationOperations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi1(0) notificationOperations(1)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + -- TS 101 671 HI1 and 3GPP HI1 are related to the same functionality but are + -- corresponding to different implementations and exclusive usage each other. + -- The implementation depends of national regulations or LEA/CSP negotiations. + -- 3GPP HI1 may be used with other services/networks than 3GPP's one. + + -- from ETSI TS 133 108 [9] + CSvoice-CC-PDU + FROM CSvoice-HI3-IP + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi3CSvoice(18)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + -- The implementation of the CS domain delivery in IP have to be based on ETSI TS 133 108 [9]. + + -- from ETSI TS 101 909-20-1 [33] + TARGETACTIVITYMONITOR-1, + TTRAFFIC, + CTTRAFFIC + FROM TS101909201 + {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)} + + -- from ETSI TS 101 909-20-2 [34] + TARGETACTIVITYMONITOR, + TTRAFFIC, + CTTRAFFIC + FROM TS101909202 + {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart2(2) interceptVersion(0)} + + -- from J-STD-025-B [39] + LAESProtocol + FROM Laesp-j-std-025-b + {iso(1) member-body(2) us(840) tia(113737) laes(2) tr45(0) j-std-025(0) j-std-025-b(2) version-1(0)} + CDMA2000LAESMessage + FROM CDMA2000CIIModule + {iso(1) member-body(2) us(840) tia(113737) laes(2) tr45(0) cdma2000(1) cii(0) version-2(1)} + CCIPPacketHeader + FROM CDMA2000CCModule + {iso(1) member-body(2) us(840) tia(113737) laes(2) tr45(0) cdma2000(1) cc(1) version-1(0)} + + -- from ETSI TS 103 462 [45] + ILHIPayload + FROM ILHIPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0) version1(1)} + -- This import is only used for the handover between LEMFs. + + -- from 3GPP TS 33.128 [46] + LINotificationPayload + FROM TS33128Payloads + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) ts33128(19)}; + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + +-- end of IMPORTS + +-- ============================= +-- Object Identifier Definitions +-- ============================= + +lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +li-psDomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId li-ps(5) genHeader(1) version30(30)} + +-- ==================== +-- Top-level definition +-- ==================== + +PS-PDU ::= SEQUENCE +{ + pSHeader [1] PSHeader, + payload [2] Payload +} + +PSHeader ::= SEQUENCE +{ + li-psDomainId [0] OBJECT IDENTIFIER, + lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, + -- As of ASN.1 version 26 this parameter is included from ETSI TS 103 280 [44] + authorizationCountryCode [2] PrintableString (SIZE (2)) OPTIONAL, + -- see clause 5.2.3 + communicationIdentifier [3] CommunicationIdentifier, + sequenceNumber [4] INTEGER (0..4294967295), + timeStamp [5] GeneralizedTime OPTIONAL, + -- see clause 5.2.6 + ..., + interceptionPointID [6] PrintableString (SIZE (1..8)) OPTIONAL, + -- see clause 5.2.11 + microSecondTimeStamp [7] MicroSecondTimeStamp OPTIONAL, + timeStampQualifier [8] TimeStampQualifier OPTIONAL +} + +Payload ::= CHOICE +{ + iRIPayloadSequence [0] SEQUENCE OF IRIPayload, + cCPayloadSequence [1] SEQUENCE OF CCPayload, + -- Clause 6.2.3 explains how to include more than one payload in the same PDU + tRIPayload [2] TRIPayload, + ..., + hI1-Operation [3] HI1-Operation, + encryptionContainer [4] EncryptionContainer, + threeGPP-HI1-Operation [5] ThreeGPP-HI1-Operation, + -- This structure may be functionally redundant with hI1-Operation from ETSI TS 101 671 [4] + iLHIPayload [6] SEQUENCE OF ILHIPayload, + -- For typical use cases see ETSI TS 103 462 [45] + hI4Payload [7] SEQUENCE OF HI4Payload +} + +TimeStampQualifier ::= ENUMERATED +{ + unknown(0), + timeOfInterception(1), + timeOfMediation(2), + ..., + timeOfAggregation(3) +} + +HI4Payload ::= CHOICE +{ + threeGPP-LI-Notification [1] TS33128Payloads.LiNotificationPayload, + ... +} + +-- ==================================== +-- Items contained within the PS-Header +-- ==================================== + +CommunicationIdentifier ::= SEQUENCE +{ + networkIdentifier [0] NetworkIdentifier, + communicationIdentityNumber [1] INTEGER (0..4294967295) OPTIONAL, + -- in case of transport of HI1 messages not required + -- Mandatory for CC and IRI, with certain exceptions (see clause 5.2.4) + deliveryCountryCode [2] PrintableString (SIZE (2)) OPTIONAL, + -- see clause 5.2.4 + ..., + cINExtension [3] CorrelationValues OPTIONAL + -- To be used when a single INTEGER is not sufficient to identify + -- a particular session (see clause 5.2.4) +} + +NetworkIdentifier ::= SEQUENCE +{ + operatorIdentifier [0] OCTET STRING (SIZE(1..16)), + networkElementIdentifier [1] OCTET STRING (SIZE(1..16)) OPTIONAL, + ..., + eTSI671NEID [2] Network-Element-Identifier OPTIONAL + -- For network element identifier, use either networkElementIdentifier or eTSI671NEID +} + +-- ========================== +-- Definitions for CC Payload +-- ========================== + +CCPayload ::= SEQUENCE +{ + payloadDirection [0] PayloadDirection OPTIONAL, + timeStamp [1] GeneralizedTime OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + cCContents [2] CCContents, + ..., + microSecondTimeStamp [3] MicroSecondTimeStamp OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + timeStampQualifier [4] TimeStampQualifier OPTIONAL +} + +PayloadDirection ::= ENUMERATED +{ + fromTarget(0), + toTarget(1), + ..., + indeterminate(2), + -- Indication that the direction was indeterminate + combined(3), + -- Indication applicable to some services that the traffic is actually a combination + -- of To and From + notapplicable(4) + -- Indication that direction of interceptable service does not make sense +} + +CCContents ::= CHOICE + -- Any of these choices may be commented out if they are not being used, see clause A.3 +{ + emailCC [1] EmailCC, + iPCC [2] IPCC, + uMTSCC [4] OCTET STRING, + ..., + l2CC [6] L2CC, + tTRAFFIC-1 [7] TS101909201.TTRAFFIC, + cTTRAFFIC-1 [8] TS101909201.CTTRAFFIC, + tTRAFFIC-2 [9] TS101909202.TTRAFFIC, + cTTRAFFIC-2 [10] TS101909202.CTTRAFFIC, + pstnIsdnCC [11] PstnIsdnCC, + iPMMCC [12] IPMMCC, + cCIPPacketHeader [13] CDMA2000CCModule.CCIPPacketHeader, + messagingCC [14] MessagingCC, + ePSCC [15] OCTET STRING, + uMTSCC-CC-PDU [16] Umts-HI3-PS.CC-PDU, + ePSCC-CC-PDU [17] Eps-HI3-PS.CC-PDU, + messagingMMCC [18] MessagingMMCC, + confCC-CC-PDU [19] CONF-HI3-IMS.Conf-CC-PDU, + voipCC-CC-PDU [20] VoIP-HI3-IMS.Voip-CC-PDU, + gcseCC-CC-PDU [21] GCSE-HI3.Gcse-CC-PDU, + cSvoice-CC-PDU [22] CSvoice-HI3-IP.CSvoice-CC-PDU, + threeGPP33128DefinedCC [23] OCTET STRING } + +MicroSecondTimeStamp ::= SEQUENCE +{ + seconds [0] INTEGER (0..18446744073709551615), + -- number of seconds since 1970-1-1 00:00Z also known as unix time epoch + microSeconds [1] INTEGER (0..999999), + ... +} + +-- =========================== +-- Definitions for IRI Payload +-- =========================== + +IRIPayload ::= SEQUENCE +{ + iRIType [0] IRIType OPTIONAL, + -- See clause 5.2.10 + timeStamp [1] GeneralizedTime OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + iRIContents [2] IRIContents, + ..., + microSecondTimeStamp [3] MicroSecondTimeStamp OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + timeStampQualifier [4] TimeStampQualifier OPTIONAL, + sessionDirection [5] PayloadDirection OPTIONAL, + -- If the sessionDirection field is to be used for a given service then + -- the exact meaning and use of the field will be described in the + -- relevant service-specific details + payloadDirection [6] PayloadDirection OPTIONAL + -- If the payloadDirection field is to be used for a given service then + -- the exact meaning and use of the field will be described in the + -- relevant service-specific details +} + +IRIType ::= ENUMERATED +{ + iRI-Begin(1), + iRI-End(2), + iRI-Continue(3), + iRI-Report(4) +} + +IRIContents ::= CHOICE + -- Any of these choices may be commented out if they are not being used (see clause A.3) +{ + emailIRI [1] EmailIRI, + iPIRI [2] IPIRI, + iPIRIOnly [3] IPIRIOnly, + uMTSIRI [4] UMTSIRI, + eTSI671IRI [5] ETSI671IRI, + ..., + l2IRI [6] L2IRI, + l2IRIOnly [7] L2IRIOnly, + tARGETACTIVITYMONITOR-1 [8] TS101909201.TARGETACTIVITYMONITOR-1, + tARGETACTIVITYMONITOR-2 [9] TS101909202.TARGETACTIVITYMONITOR, + pstnIsdnIRI [10] PstnIsdnIRI, + iPMMIRI [11] IPMMIRI, + lAESProtocol [12] Laesp-j-std-025-b.LAESProtocol, + cDMA2000LAESMessage [13] CDMA2000CIIModule.CDMA2000LAESMessage, + messagingIRI [14] MessagingIRI, + ePSIRI [15] EPSIRI, + confIRI [16] ConfIRI, + proseIRI [17] ProSeIRI, + gcseIRI [18] GcseIRI, + threeGPP33128DefinedIRI [19] OCTET STRING} + +UMTSIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Parameters [0] UmtsHI2Operations.IRI-Parameters, + umtsIRIsContent [1] UmtsIRIsContent, + ..., + iRI-CS-Parameters [2] UmtsCS-HI2Operations.IRI-Parameters, + umtsCS-IRIsContent [3] UmtsCS-IRIsContent +} + +ETSI671IRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Parameters [0] HI2Operations.IRI-Parameters, + iRIsContent [1] IRIsContent, + ... +} + +EPSIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-EPS-Parameters [0] EpsHI2Operations.IRI-Parameters, + epsIRIsContent [1] EpsIRIsContent, + ... +} + +ConfIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Conf-Parameters [0] CONFHI2Operations.IRI-Parameters, + confIRIsContent [1] ConfIRIsContent, + ... +} + + +ProSeIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-ProSe-Parameters [0] ProSeHI2Operations.IRI-Parameters, + proseIRIsContent [1] ProSeIRIsContent, + ... +} + + +GcseIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Gcse-Parameters [0] GCSEHI2Operations.IRI-Parameters, + gcseIRIsContent [1] GcseIRIsContent, + ... +} + + +-- =========================== +-- Definitions for TRI Payload +-- =========================== + +TRIPayload ::= CHOICE +{ + integrityCheck [0] IntegrityCheck, + testPDU [1] NULL, + paddingPDU [2] OCTET STRING, + -- Undefined contents (will be discarded) + keep-alive [3] NULL, + keep-aliveResponse [4] NULL, + firstSegmentFlag [5] NULL, + lastSegmentFlag [6] NULL, + ..., + cINReset [7] NULL, + operatorLeaMessage [8] OperatorLeaMessage, + optionRequest [9] OptionRequest, + optionResponse [10] OptionResponse, + optionComplete [11] NULL, + pDUAcknowledgementRequest [12] NULL, + pDUAcknowledgementResponse [13] NULL +} + +IntegrityCheck ::= SEQUENCE +{ + includedSequenceNumbers [0] SEQUENCE OF INTEGER (0..4294967295), + -- gives the order the PDUs were processed + checkType [1] CheckType, + dataType [2] DataType OPTIONAL, + -- From version5(5) the dataType is mandatory for hashes and for signatures + -- (see clause 7.2.3) + checkValue [3] OCTET STRING, + -- Network byte order + -- If checkValue contains a signature, the octet string field space may be + -- used to insert the appropriate ASN.1 DER or BER encoded structure for the + -- DSS/DSA signature as described in RFC 3279 clause 2.2.2 [43]. + ..., + hashAlgorithm [4] HashAlgorithm OPTIONAL + -- Clarifies the hash function if checkType is hash(1). + -- If used, it shall be present for each checkType hash(1). +} + +CheckType ::= ENUMERATED +{ + hash(1), + -- hash value + signature(2), + -- DSS/DSA signature + ... +} + +DataType ::= ENUMERATED +{ + iRI(1), + cC(2), + ..., + iLHI(3) +} + +HashAlgorithm ::= ENUMERATED +{ + sHA-1(1), + -- Included for legacy/migration purposes only, not to be used for new implementations + sHA-256(2), + sHA-384(3), + sHA-512(4), + ... +} + +Option ::= CHOICE +{ + pDUAcknowledgement [0] NULL, + ... +} + +OptionRequest ::= SEQUENCE +{ + requestedOptions [0] SEQUENCE OF Option, + ... +} + +OptionResponse ::= SEQUENCE +{ + acceptedOptions [0] SEQUENCE OF Option, + declinedOptions [1] SEQUENCE OF Option, + ... +} + +-- ================================== +-- Definitions for OperatorLeaMessage +-- ================================== + +OperatorLeaMessage ::= SEQUENCE +{ + messagePriority [0] OperatorLeaMessagePriority, + message [1] OCTET STRING (SIZE(1..255)), + ... +} + +OperatorLeaMessagePriority ::= ENUMERATED +{ + error(1), + -- reporting of error conditions that have impact on the quality of the + -- intercepted data + informational(2), + -- reporting of conditions that will not have direct impact on the quality of + -- the intercepted data + ... +} + +-- =================================== +-- Definitions for EncryptionContainer +-- =================================== + +EncryptionContainer ::= SEQUENCE +{ + encryptionType [0] EncryptionType, + encryptedPayload [1] OCTET STRING, + -- once decrypted, it can be interpreted as EncryptedPayload + ..., + encryptedPayloadType [2] EncryptedPayloadType OPTIONAL +} + +EncryptionType ::= ENUMERATED +{ + none(1), + -- No encryption is applied. + national-option(2), + -- Use this option when an encryption scheme is negotiated on a national level + aES-192-CBC(3), + -- The Advanced Encryption Standard using a 192 bit key in CBC mode + aES-256-CBC(4), + -- The Advanced Encryption Standard using a 256 bit key in CBC mode + blowfish-192-CBC(5), + -- Blowfish (www.schneier.com/blowfish.html) using a 192 bit key in CBC mode + blowfish-256-CBC(6), + -- Blowfish using a 256 bit key in CBC mode + threedes-cbc(7), + -- Triple-DES using a 192 bit key in CBC mode + ... +} + +EncryptedPayload ::= SEQUENCE +{ + byteCounter [0] INTEGER (0..18446744073709551615), + -- The sum of the sizes of all PDUs before this PDU. + -- It is initialized with the unixTime (number of seconds since 01-01-1970) + -- multiplied by 2^32 at first use. + -- Where N is sequencenumber of the n-th PDU in transfer, and size(PDU(N)) + -- as defined in annex G: + -- IF N > 0 THEN + -- PDU[N].byteCounter = PDU[N-1].byteCounter + size(PDU[N-1]) + -- ELSE + -- PDU[N].byteCounter = ( unixTime(now) << 32 ) + -- ENDIF + payload [1] Payload, + ... +} + +EncryptedPayloadType ::= ENUMERATED +{ + unknown(1), + part2(2), + -- encrypted payload is ETSI TS 102 232-2 [5] + part3(3), + -- encrypted payload is ETSI TS 102 232-3 [6] + part4(4), + -- encrypted payload is ETSI TS 102 232-4 [32] + part5(5), + -- encrypted payload is ETSI TS 102 232-5 [37] + part6(6), + -- encrypted payload is ETSI TS 102 232-6 [36] + part7(7), + -- encrypted payload is ETSI TS 102 232-7 [38] + ..., + part1(8) + -- encrypted payload is ETSI TS 102 232-1 (the present document) +} + +-- =================================== +-- Common Parameters +-- =================================== + +Location ::= SEQUENCE + -- This is a common parameter, the use of this parameter is described in clause 4.5 +{ + umtsHI2Location [0] UmtsHI2Operations.Location OPTIONAL, + epsLocation [1] EpsHI2Operations.EPSLocation OPTIONAL, + ..., + wlanLocationAttributes [2] WlanLocationAttributes OPTIONAL, + eTSI671HI2Location [3] HI2Operations.Location OPTIONAL +} + +WlanLocationAttributes ::= SEQUENCE +{ + wlanAPMACAddress [0] OCTET STRING (SIZE(6)) OPTIONAL, + -- 48-bit (6 octet) MAC address of the WLAN access point derived from the BSSID + ... +} + +IPAddress ::= SEQUENCE + -- This parameter was previously imported from ETSI TS 101 671 [4] but has been copied + -- to ETSI TS 102 232-1 (the present document). It is not recommended to use this parameter in + -- future change requests. Suggested approach is to use a parameter from ETSI TS 103 280 [44] + -- instead. +{ + iP-type [1] ENUMERATED + { + iPV4(0), + iPV6(1), + ... + }, + iP-value [2] IP-value, + iP-assignment [3] ENUMERATED + { + static(1), + -- The static coding shall be used to report a static address. + dynamic(2), + -- The dynamic coding shall be used to report a dynamically allocated address. + notKnown(3), + -- The notKnown coding shall be used to report other than static or dynamically + -- allocated IP addresses. + ... + } OPTIONAL, + ..., + iPv6PrefixLength [4] INTEGER (1..128) OPTIONAL, + -- Indicates the length of the prefix delegated by the CSP to the subscriber + -- example: 60 if IP address is "2001:db8:0:85a3::ac1f:8001/60" + -- Mandatory in case where the iP-value contains an IPv6 binary value + iPv4SubnetMask [5] OCTET STRING (SIZE(4)) OPTIONAL + -- For IPv4 addresses, this indicates the subnet mask to be applied to the iP-value field. + -- The subnet mask is intended to be presented as a binary value, e.g. "ff ff ff f8" to + -- represent the dotted-decimal subnet mask of "255.255.255.248" corresponding to + -- a /29 CIDR-format subnet mask +} + +IP-value ::= CHOICE +{ + iPBinaryAddress [1] OCTET STRING (SIZE(4..16)), + -- In case of IPv6, the Prefix Length is provided by the "iPv6PrefixLength" + -- In case of IPv4, the netmask is provided by the "iPv4SubnetMask" + iPTextAddress [2] IA5String (SIZE(7..45)), + -- In case of IPv6, the delivered iPTextAddress field could include a complete + -- single IPv6-Address or an IPv6-Prefix for a subnetwork on the target side. + -- In case of IPv4, the delivered iPTextAddress field could include a single + -- IPv4 address or an IPv4address/netmask, for example "192.168.1.1" or "192.168.1.1/24" + ... +} + +LawfulInterceptionIdentifier ::= LIID + -- LIID is a common parameter imported from ETSI TS 103 280 [44]. + -- It is redefined as LawfulInterceptionIdentifier in this + -- module to preserve the original type name during the + -- removal of imports from ETSI TS 101 671 [4]. + +END --end of LI-PS-PDU diff --git a/102232-1/portal/LI-PS-PDU,ver30.txt b/102232-1/portal/LI-PS-PDU,ver30.txt new file mode 100644 index 0000000000000000000000000000000000000000..6def9ef41abb49dbb2822b8705affa36cfb6617f --- /dev/null +++ b/102232-1/portal/LI-PS-PDU,ver30.txt @@ -0,0 +1,734 @@ +LI-PS-PDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version30(30)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +IMPORTS + -- Any of the IMPORTs may be commented out if they are not used (see clause A.3) + + -- from ETSI TS 103 280 [44] + LIID + FROM Common-Parameters + {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version211(211)} + + + -- from ETSI TS 101 671 [4] + IRI-Parameters, + IRIsContent, + Location, + Network-Element-Identifier + FROM HI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(17)} + + -- from ETSI TS 101 671 [4] + HI1-Operation + FROM HI1NotificationOperations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi1(0) notificationOperations(1) version6(6)} + + -- from ETSI TS 102 232-2 [5] + EmailCC, + EmailIRI, + MessagingCC, + MessagingMMCC, + MessagingIRI + FROM EmailPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version17(17)} + + -- from ETSI TS 102 232-3 [6] + IPCC, + IPIRI, + IPIRIOnly + FROM IPAccessPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version13(13)} + + -- from ETSI TS 102 232-4 [32] + L2CC, + L2IRI, + L2IRIOnly + FROM L2AccessPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) l2Access(4) version7(7)} + + -- from ETSI TS 102 232-5 [37] + IPMMCC, + IPMMIRI + FROM IPMultimediaPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version10(10)} + + -- from ETSI TS 102 232-6 [36] + PstnIsdnCC, + PstnIsdnIRI + FROM PstnIsdnPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6) version5(5)} + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + UmtsIRIsContent, + CorrelationValues, + Location + FROM UmtsHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2(1)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + UmtsCS-IRIsContent + FROM UmtsCS-HI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2CS(3)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + EpsIRIsContent, + EPSLocation + FROM EpsHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2eps(8)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + ConfIRIsContent + FROM CONFHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2conf(10)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + ProSeIRIsContent + FROM ProSeHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2prose (15)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + IRI-Parameters, + GcseIRIsContent + FROM GCSEHI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi2gcse(13)} + -- The relevant module (including the 3GPP release and version number) needs + -- to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + CC-PDU + FROM Umts-HI3-PS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3(2)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + CC-PDU + FROM Eps-HI3-PS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3eps(9)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + Conf-CC-PDU + FROM CONF-HI3-IMS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3conf(11)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + Voip-CC-PDU + FROM VoIP-HI3-IMS + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3voip(12)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + Gcse-CC-PDU + FROM GCSE-HI3 + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2) threeGPP(4) hi3gcse(14)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + + -- from ETSI TS 133 108 [9] + ThreeGPP-HI1-Operation + FROM ThreeGPP-HI1NotificationOperations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi1(0) notificationOperations(1)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + -- TS 101 671 HI1 and 3GPP HI1 are related to the same functionality but are + -- corresponding to different implementations and exclusive usage each other. + -- The implementation depends of national regulations or LEA/CSP negotiations. + -- 3GPP HI1 may be used with other services/networks than 3GPP's one. + + -- from ETSI TS 133 108 [9] + CSvoice-CC-PDU + FROM CSvoice-HI3-IP + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) hi3CSvoice(18)} + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + -- The implementation of the CS domain delivery in IP have to be based on ETSI TS 133 108 [9]. + + -- from ETSI TS 101 909-20-1 [33] + TARGETACTIVITYMONITOR-1, + TTRAFFIC, + CTTRAFFIC + FROM TS101909201 + {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart1(1) interceptVersion(0)} + + -- from ETSI TS 101 909-20-2 [34] + TARGETACTIVITYMONITOR, + TTRAFFIC, + CTTRAFFIC + FROM TS101909202 + {itu-t(0) identified-organization(4) etsi(0) ts101909(1909) part20(20) subpart2(2) interceptVersion(0)} + + -- from J-STD-025-B [39] + LAESProtocol + FROM Laesp-j-std-025-b + {iso(1) member-body(2) us(840) tia(113737) laes(2) tr45(0) j-std-025(0) j-std-025-b(2) version-1(0)} + CDMA2000LAESMessage + FROM CDMA2000CIIModule + {iso(1) member-body(2) us(840) tia(113737) laes(2) tr45(0) cdma2000(1) cii(0) version-2(1)} + CCIPPacketHeader + FROM CDMA2000CCModule + {iso(1) member-body(2) us(840) tia(113737) laes(2) tr45(0) cdma2000(1) cc(1) version-1(0)} + + -- from ETSI TS 103 462 [45] + ILHIPayload + FROM ILHIPDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0) version1(1)} + -- This import is only used for the handover between LEMFs. + + -- from 3GPP TS 33.128 [46] + LINotificationPayload + FROM TS33128Payloads + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) threeGPP(4) ts33128(19)}; + -- The relevant module (including the 3GPP release and version number) + -- needs to be chosen when compiling the application. + +-- end of IMPORTS + +-- ============================= +-- Object Identifier Definitions +-- ============================= + +lawfulInterceptDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +li-psDomainId OBJECT IDENTIFIER ::= {lawfulInterceptDomainId li-ps(5) genHeader(1) version30(30)} + +-- ==================== +-- Top-level definition +-- ==================== + +PS-PDU ::= SEQUENCE +{ + pSHeader [1] PSHeader, + payload [2] Payload +} + +PSHeader ::= SEQUENCE +{ + li-psDomainId [0] OBJECT IDENTIFIER, + lawfulInterceptionIdentifier [1] LawfulInterceptionIdentifier, + -- As of ASN.1 version 26 this parameter is included from ETSI TS 103 280 [44] + authorizationCountryCode [2] PrintableString (SIZE (2)) OPTIONAL, + -- see clause 5.2.3 + communicationIdentifier [3] CommunicationIdentifier, + sequenceNumber [4] INTEGER (0..4294967295), + timeStamp [5] GeneralizedTime OPTIONAL, + -- see clause 5.2.6 + ..., + interceptionPointID [6] PrintableString (SIZE (1..8)) OPTIONAL, + -- see clause 5.2.11 + microSecondTimeStamp [7] MicroSecondTimeStamp OPTIONAL, + timeStampQualifier [8] TimeStampQualifier OPTIONAL +} + +Payload ::= CHOICE +{ + iRIPayloadSequence [0] SEQUENCE OF IRIPayload, + cCPayloadSequence [1] SEQUENCE OF CCPayload, + -- Clause 6.2.3 explains how to include more than one payload in the same PDU + tRIPayload [2] TRIPayload, + ..., + hI1-Operation [3] HI1-Operation, + encryptionContainer [4] EncryptionContainer, + threeGPP-HI1-Operation [5] ThreeGPP-HI1-Operation, + -- This structure may be functionally redundant with hI1-Operation from ETSI TS 101 671 [4] + iLHIPayload [6] SEQUENCE OF ILHIPayload, + -- For typical use cases see ETSI TS 103 462 [45] + hI4Payload [7] SEQUENCE OF HI4Payload +} + +TimeStampQualifier ::= ENUMERATED +{ + unknown(0), + timeOfInterception(1), + timeOfMediation(2), + ..., + timeOfAggregation(3) +} + +HI4Payload ::= CHOICE +{ + threeGPP-LI-Notification [1] TS33128Payloads.LiNotificationPayload, + ... +} + +-- ==================================== +-- Items contained within the PS-Header +-- ==================================== + +CommunicationIdentifier ::= SEQUENCE +{ + networkIdentifier [0] NetworkIdentifier, + communicationIdentityNumber [1] INTEGER (0..4294967295) OPTIONAL, + -- in case of transport of HI1 messages not required + -- Mandatory for CC and IRI, with certain exceptions (see clause 5.2.4) + deliveryCountryCode [2] PrintableString (SIZE (2)) OPTIONAL, + -- see clause 5.2.4 + ..., + cINExtension [3] CorrelationValues OPTIONAL + -- To be used when a single INTEGER is not sufficient to identify + -- a particular session (see clause 5.2.4) +} + +NetworkIdentifier ::= SEQUENCE +{ + operatorIdentifier [0] OCTET STRING (SIZE(1..16)), + networkElementIdentifier [1] OCTET STRING (SIZE(1..16)) OPTIONAL, + ..., + eTSI671NEID [2] Network-Element-Identifier OPTIONAL + -- For network element identifier, use either networkElementIdentifier or eTSI671NEID +} + +-- ========================== +-- Definitions for CC Payload +-- ========================== + +CCPayload ::= SEQUENCE +{ + payloadDirection [0] PayloadDirection OPTIONAL, + timeStamp [1] GeneralizedTime OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + cCContents [2] CCContents, + ..., + microSecondTimeStamp [3] MicroSecondTimeStamp OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + timeStampQualifier [4] TimeStampQualifier OPTIONAL +} + +PayloadDirection ::= ENUMERATED +{ + fromTarget(0), + toTarget(1), + ..., + indeterminate(2), + -- Indication that the direction was indeterminate + combined(3), + -- Indication applicable to some services that the traffic is actually a combination + -- of To and From + notapplicable(4) + -- Indication that direction of interceptable service does not make sense +} + +CCContents ::= CHOICE + -- Any of these choices may be commented out if they are not being used, see clause A.3 +{ + emailCC [1] EmailCC, + iPCC [2] IPCC, + uMTSCC [4] OCTET STRING, + ..., + l2CC [6] L2CC, + tTRAFFIC-1 [7] TS101909201.TTRAFFIC, + cTTRAFFIC-1 [8] TS101909201.CTTRAFFIC, + tTRAFFIC-2 [9] TS101909202.TTRAFFIC, + cTTRAFFIC-2 [10] TS101909202.CTTRAFFIC, + pstnIsdnCC [11] PstnIsdnCC, + iPMMCC [12] IPMMCC, + cCIPPacketHeader [13] CDMA2000CCModule.CCIPPacketHeader, + messagingCC [14] MessagingCC, + ePSCC [15] OCTET STRING, + uMTSCC-CC-PDU [16] Umts-HI3-PS.CC-PDU, + ePSCC-CC-PDU [17] Eps-HI3-PS.CC-PDU, + messagingMMCC [18] MessagingMMCC, + confCC-CC-PDU [19] CONF-HI3-IMS.Conf-CC-PDU, + voipCC-CC-PDU [20] VoIP-HI3-IMS.Voip-CC-PDU, + gcseCC-CC-PDU [21] GCSE-HI3.Gcse-CC-PDU, + cSvoice-CC-PDU [22] CSvoice-HI3-IP.CSvoice-CC-PDU, + threeGPP33128DefinedCC [23] OCTET STRING } + +MicroSecondTimeStamp ::= SEQUENCE +{ + seconds [0] INTEGER (0..18446744073709551615), + -- number of seconds since 1970-1-1 00:00Z also known as unix time epoch + microSeconds [1] INTEGER (0..999999), + ... +} + +-- =========================== +-- Definitions for IRI Payload +-- =========================== + +IRIPayload ::= SEQUENCE +{ + iRIType [0] IRIType OPTIONAL, + -- See clause 5.2.10 + timeStamp [1] GeneralizedTime OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + iRIContents [2] IRIContents, + ..., + microSecondTimeStamp [3] MicroSecondTimeStamp OPTIONAL, + -- For aggregated payloads (see clause 6.2.3) + timeStampQualifier [4] TimeStampQualifier OPTIONAL, + sessionDirection [5] PayloadDirection OPTIONAL, + -- If the sessionDirection field is to be used for a given service then + -- the exact meaning and use of the field will be described in the + -- relevant service-specific details + payloadDirection [6] PayloadDirection OPTIONAL + -- If the payloadDirection field is to be used for a given service then + -- the exact meaning and use of the field will be described in the + -- relevant service-specific details +} + +IRIType ::= ENUMERATED +{ + iRI-Begin(1), + iRI-End(2), + iRI-Continue(3), + iRI-Report(4) +} + +IRIContents ::= CHOICE + -- Any of these choices may be commented out if they are not being used (see clause A.3) +{ + emailIRI [1] EmailIRI, + iPIRI [2] IPIRI, + iPIRIOnly [3] IPIRIOnly, + uMTSIRI [4] UMTSIRI, + eTSI671IRI [5] ETSI671IRI, + ..., + l2IRI [6] L2IRI, + l2IRIOnly [7] L2IRIOnly, + tARGETACTIVITYMONITOR-1 [8] TS101909201.TARGETACTIVITYMONITOR-1, + tARGETACTIVITYMONITOR-2 [9] TS101909202.TARGETACTIVITYMONITOR, + pstnIsdnIRI [10] PstnIsdnIRI, + iPMMIRI [11] IPMMIRI, + lAESProtocol [12] Laesp-j-std-025-b.LAESProtocol, + cDMA2000LAESMessage [13] CDMA2000CIIModule.CDMA2000LAESMessage, + messagingIRI [14] MessagingIRI, + ePSIRI [15] EPSIRI, + confIRI [16] ConfIRI, + proseIRI [17] ProSeIRI, + gcseIRI [18] GcseIRI, + threeGPP33128DefinedIRI [19] OCTET STRING} + +UMTSIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Parameters [0] UmtsHI2Operations.IRI-Parameters, + umtsIRIsContent [1] UmtsIRIsContent, + ..., + iRI-CS-Parameters [2] UmtsCS-HI2Operations.IRI-Parameters, + umtsCS-IRIsContent [3] UmtsCS-IRIsContent +} + +ETSI671IRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Parameters [0] HI2Operations.IRI-Parameters, + iRIsContent [1] IRIsContent, + ... +} + +EPSIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-EPS-Parameters [0] EpsHI2Operations.IRI-Parameters, + epsIRIsContent [1] EpsIRIsContent, + ... +} + +ConfIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Conf-Parameters [0] CONFHI2Operations.IRI-Parameters, + confIRIsContent [1] ConfIRIsContent, + ... +} + + +ProSeIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-ProSe-Parameters [0] ProSeHI2Operations.IRI-Parameters, + proseIRIsContent [1] ProSeIRIsContent, + ... +} + + +GcseIRI ::= CHOICE + -- This structure may be commented out if not used +{ + iRI-Gcse-Parameters [0] GCSEHI2Operations.IRI-Parameters, + gcseIRIsContent [1] GcseIRIsContent, + ... +} + + +-- =========================== +-- Definitions for TRI Payload +-- =========================== + +TRIPayload ::= CHOICE +{ + integrityCheck [0] IntegrityCheck, + testPDU [1] NULL, + paddingPDU [2] OCTET STRING, + -- Undefined contents (will be discarded) + keep-alive [3] NULL, + keep-aliveResponse [4] NULL, + firstSegmentFlag [5] NULL, + lastSegmentFlag [6] NULL, + ..., + cINReset [7] NULL, + operatorLeaMessage [8] OperatorLeaMessage, + optionRequest [9] OptionRequest, + optionResponse [10] OptionResponse, + optionComplete [11] NULL, + pDUAcknowledgementRequest [12] NULL, + pDUAcknowledgementResponse [13] NULL +} + +IntegrityCheck ::= SEQUENCE +{ + includedSequenceNumbers [0] SEQUENCE OF INTEGER (0..4294967295), + -- gives the order the PDUs were processed + checkType [1] CheckType, + dataType [2] DataType OPTIONAL, + -- From version5(5) the dataType is mandatory for hashes and for signatures + -- (see clause 7.2.3) + checkValue [3] OCTET STRING, + -- Network byte order + -- If checkValue contains a signature, the octet string field space may be + -- used to insert the appropriate ASN.1 DER or BER encoded structure for the + -- DSS/DSA signature as described in RFC 3279 clause 2.2.2 [43]. + ..., + hashAlgorithm [4] HashAlgorithm OPTIONAL + -- Clarifies the hash function if checkType is hash(1). + -- If used, it shall be present for each checkType hash(1). +} + +CheckType ::= ENUMERATED +{ + hash(1), + -- hash value + signature(2), + -- DSS/DSA signature + ... +} + +DataType ::= ENUMERATED +{ + iRI(1), + cC(2), + ..., + iLHI(3) +} + +HashAlgorithm ::= ENUMERATED +{ + sHA-1(1), + -- Included for legacy/migration purposes only, not to be used for new implementations + sHA-256(2), + sHA-384(3), + sHA-512(4), + ... +} + +Option ::= CHOICE +{ + pDUAcknowledgement [0] NULL, + ... +} + +OptionRequest ::= SEQUENCE +{ + requestedOptions [0] SEQUENCE OF Option, + ... +} + +OptionResponse ::= SEQUENCE +{ + acceptedOptions [0] SEQUENCE OF Option, + declinedOptions [1] SEQUENCE OF Option, + ... +} + +-- ================================== +-- Definitions for OperatorLeaMessage +-- ================================== + +OperatorLeaMessage ::= SEQUENCE +{ + messagePriority [0] OperatorLeaMessagePriority, + message [1] OCTET STRING (SIZE(1..255)), + ... +} + +OperatorLeaMessagePriority ::= ENUMERATED +{ + error(1), + -- reporting of error conditions that have impact on the quality of the + -- intercepted data + informational(2), + -- reporting of conditions that will not have direct impact on the quality of + -- the intercepted data + ... +} + +-- =================================== +-- Definitions for EncryptionContainer +-- =================================== + +EncryptionContainer ::= SEQUENCE +{ + encryptionType [0] EncryptionType, + encryptedPayload [1] OCTET STRING, + -- once decrypted, it can be interpreted as EncryptedPayload + ..., + encryptedPayloadType [2] EncryptedPayloadType OPTIONAL +} + +EncryptionType ::= ENUMERATED +{ + none(1), + -- No encryption is applied. + national-option(2), + -- Use this option when an encryption scheme is negotiated on a national level + aES-192-CBC(3), + -- The Advanced Encryption Standard using a 192 bit key in CBC mode + aES-256-CBC(4), + -- The Advanced Encryption Standard using a 256 bit key in CBC mode + blowfish-192-CBC(5), + -- Blowfish (www.schneier.com/blowfish.html) using a 192 bit key in CBC mode + blowfish-256-CBC(6), + -- Blowfish using a 256 bit key in CBC mode + threedes-cbc(7), + -- Triple-DES using a 192 bit key in CBC mode + ... +} + +EncryptedPayload ::= SEQUENCE +{ + byteCounter [0] INTEGER (0..18446744073709551615), + -- The sum of the sizes of all PDUs before this PDU. + -- It is initialized with the unixTime (number of seconds since 01-01-1970) + -- multiplied by 2^32 at first use. + -- Where N is sequencenumber of the n-th PDU in transfer, and size(PDU(N)) + -- as defined in annex G: + -- IF N > 0 THEN + -- PDU[N].byteCounter = PDU[N-1].byteCounter + size(PDU[N-1]) + -- ELSE + -- PDU[N].byteCounter = ( unixTime(now) << 32 ) + -- ENDIF + payload [1] Payload, + ... +} + +EncryptedPayloadType ::= ENUMERATED +{ + unknown(1), + part2(2), + -- encrypted payload is ETSI TS 102 232-2 [5] + part3(3), + -- encrypted payload is ETSI TS 102 232-3 [6] + part4(4), + -- encrypted payload is ETSI TS 102 232-4 [32] + part5(5), + -- encrypted payload is ETSI TS 102 232-5 [37] + part6(6), + -- encrypted payload is ETSI TS 102 232-6 [36] + part7(7), + -- encrypted payload is ETSI TS 102 232-7 [38] + ..., + part1(8) + -- encrypted payload is ETSI TS 102 232-1 (the present document) +} + +-- =================================== +-- Common Parameters +-- =================================== + +Location ::= SEQUENCE + -- This is a common parameter, the use of this parameter is described in clause 4.5 +{ + umtsHI2Location [0] UmtsHI2Operations.Location OPTIONAL, + epsLocation [1] EpsHI2Operations.EPSLocation OPTIONAL, + ..., + wlanLocationAttributes [2] WlanLocationAttributes OPTIONAL, + eTSI671HI2Location [3] HI2Operations.Location OPTIONAL +} + +WlanLocationAttributes ::= SEQUENCE +{ + wlanAPMACAddress [0] OCTET STRING (SIZE(6)) OPTIONAL, + -- 48-bit (6 octet) MAC address of the WLAN access point derived from the BSSID + ... +} + +IPAddress ::= SEQUENCE + -- This parameter was previously imported from ETSI TS 101 671 [4] but has been copied + -- to ETSI TS 102 232-1 (the present document). It is not recommended to use this parameter in + -- future change requests. Suggested approach is to use a parameter from ETSI TS 103 280 [44] + -- instead. +{ + iP-type [1] ENUMERATED + { + iPV4(0), + iPV6(1), + ... + }, + iP-value [2] IP-value, + iP-assignment [3] ENUMERATED + { + static(1), + -- The static coding shall be used to report a static address. + dynamic(2), + -- The dynamic coding shall be used to report a dynamically allocated address. + notKnown(3), + -- The notKnown coding shall be used to report other than static or dynamically + -- allocated IP addresses. + ... + } OPTIONAL, + ..., + iPv6PrefixLength [4] INTEGER (1..128) OPTIONAL, + -- Indicates the length of the prefix delegated by the CSP to the subscriber + -- example: 60 if IP address is "2001:db8:0:85a3::ac1f:8001/60" + -- Mandatory in case where the iP-value contains an IPv6 binary value + iPv4SubnetMask [5] OCTET STRING (SIZE(4)) OPTIONAL + -- For IPv4 addresses, this indicates the subnet mask to be applied to the iP-value field. + -- The subnet mask is intended to be presented as a binary value, e.g. "ff ff ff f8" to + -- represent the dotted-decimal subnet mask of "255.255.255.248" corresponding to + -- a /29 CIDR-format subnet mask +} + +IP-value ::= CHOICE +{ + iPBinaryAddress [1] OCTET STRING (SIZE(4..16)), + -- In case of IPv6, the Prefix Length is provided by the "iPv6PrefixLength" + -- In case of IPv4, the netmask is provided by the "iPv4SubnetMask" + iPTextAddress [2] IA5String (SIZE(7..45)), + -- In case of IPv6, the delivered iPTextAddress field could include a complete + -- single IPv6-Address or an IPv6-Prefix for a subnetwork on the target side. + -- In case of IPv4, the delivered iPTextAddress field could include a single + -- IPv4 address or an IPv4address/netmask, for example "192.168.1.1" or "192.168.1.1/24" + ... +} + +LawfulInterceptionIdentifier ::= LIID + -- LIID is a common parameter imported from ETSI TS 103 280 [44]. + -- It is redefined as LawfulInterceptionIdentifier in this + -- module to preserve the original type name during the + -- removal of imports from ETSI TS 101 671 [4]. + +END --end of LI-PS-PDU diff --git a/102232-2/EmailPDU.asn b/102232-2/EmailPDU.asn new file mode 100644 index 0000000000000000000000000000000000000000..881e769b4d32cda54fa6d9ca05a0c572f32db3ef --- /dev/null +++ b/102232-2/EmailPDU.asn @@ -0,0 +1,529 @@ +EmailPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version17(17)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + + -- from 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 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 +-- ============================ + +emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) iRI(1)} +emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) cC(2)} +messagingIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) messagingIRI(3)} +messagingCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) messagingCC(4)} +messagingMMCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) 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 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 +} + +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), + sms-deposit(2), + sms-slamdown(3), + sms-pin-reminder(4), + email(5), + fax-to-email(6), + ..., + mms(7), + generic(8) +} + +Messaging-Call-Event ::= ENUMERATED +{ + callout(1), + ... +} + +Messaging-Status ::= ENUMERATED +{ + unknown(0), + not-applicable(1), + operation-failed(2), + operation-succeeded(3), + operation-cancelled(4), + operation-started(5), + ..., + operation-lost(6) +} + +Messaging-Party-Information ::= SEQUENCE +{ + party-qualifier [0] Messaging-Party-Qualifier, + party-identity [1] Messaging-Party-Identity, + ..., + party-validity [2] Messaging-Party-Validity OPTIONAL, + copy-qualifier [3] Messaging-Copy-Qualifier OPTIONAL +} + +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, + ..., + ip-address [3] IPAddress, + --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)), + -- International Mobile Subscriber Identity of the target, encoded in the same format as the + -- TBCD-STRING parameter defined in MAP format 3GPP TS 29.002 [36], clause 17.7.8. + -- It is described in 3GPP TS 23.003 [37] clause 2.2. + imei [7] OCTET STRING (SIZE (8)), + -- International Mobile Equipment Identity of the target, encoded in the same format as the + -- TBCD-STRING parameter defined in MAP format 3GPP TS 23.003 [37] clause 6 + 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] + ... +} + +Messaging-Party-Validity ::= ENUMERATED +{ + unknown(0), + trusted(1), + untrusted(2), + ... +} + +Messaging-Copy-Qualifier ::= ENUMERATED +{ + unknown(0), + none(1), + cc(2), + bcc(3), + ... +} + + +Messaging-Trigger ::= ENUMERATED +{ + unknown(0), + user(1), + user-agent(2), + system(3), + system-operator(4), + ... +} + +Messaging-Property ::= CHOICE +{ + 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] + message-identifier [5] OCTET STRING, + subject [6] UTF8String, + user-agent [7] UTF8String, + password [8] OCTET STRING, + message-status [9] Messaging-Property-Message-Status, + requested-reports [10] Messaging-Property-Requested-Reports, + expires [11] GeneralizedTime, + message-date [12] GeneralizedTime +} + +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), + ..., + message-to-email(3), + read-report(4), + delivery-report(5), + allow-delivery-report(6), + deny-delivery-report(7), + message-wait-indication(8), + voice-to-text(9), new-message-sms(10), new-message-outcall(11), new-message-reminder(12) +} + +Messaging-Property-Message-Status ::= ENUMERATED +{ + indeterminate(0), + expired(1), + retrieved(2), + rejected(3), + deferred(4), + forwarded(5), + unrecognized(6), + unreachable(7), + read(8), + deleted-without-being-read(9), + delivery-condition-not-met(10), + ... +} + +Messaging-Property-Requested-Reports ::= ENUMERATED +{ + none(0), + delivery(1), + read(2), + delivery-and-read(3), + ... +} + +END -- end of EmailPDU diff --git a/102232-2/portal/EmailPDU,ver17.txt b/102232-2/portal/EmailPDU,ver17.txt new file mode 100644 index 0000000000000000000000000000000000000000..881e769b4d32cda54fa6d9ca05a0c572f32db3ef --- /dev/null +++ b/102232-2/portal/EmailPDU,ver17.txt @@ -0,0 +1,529 @@ +EmailPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) email(2) version17(17)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + + -- from 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 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 +-- ============================ + +emailIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) iRI(1)} +emailCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) cC(2)} +messagingIRIObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) messagingIRI(3)} +messagingCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) messagingCC(4)} +messagingMMCCObjId RELATIVE-OID ::= {li-ps(5) email(2) version17(17) 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 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 +} + +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), + sms-deposit(2), + sms-slamdown(3), + sms-pin-reminder(4), + email(5), + fax-to-email(6), + ..., + mms(7), + generic(8) +} + +Messaging-Call-Event ::= ENUMERATED +{ + callout(1), + ... +} + +Messaging-Status ::= ENUMERATED +{ + unknown(0), + not-applicable(1), + operation-failed(2), + operation-succeeded(3), + operation-cancelled(4), + operation-started(5), + ..., + operation-lost(6) +} + +Messaging-Party-Information ::= SEQUENCE +{ + party-qualifier [0] Messaging-Party-Qualifier, + party-identity [1] Messaging-Party-Identity, + ..., + party-validity [2] Messaging-Party-Validity OPTIONAL, + copy-qualifier [3] Messaging-Copy-Qualifier OPTIONAL +} + +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, + ..., + ip-address [3] IPAddress, + --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)), + -- International Mobile Subscriber Identity of the target, encoded in the same format as the + -- TBCD-STRING parameter defined in MAP format 3GPP TS 29.002 [36], clause 17.7.8. + -- It is described in 3GPP TS 23.003 [37] clause 2.2. + imei [7] OCTET STRING (SIZE (8)), + -- International Mobile Equipment Identity of the target, encoded in the same format as the + -- TBCD-STRING parameter defined in MAP format 3GPP TS 23.003 [37] clause 6 + 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] + ... +} + +Messaging-Party-Validity ::= ENUMERATED +{ + unknown(0), + trusted(1), + untrusted(2), + ... +} + +Messaging-Copy-Qualifier ::= ENUMERATED +{ + unknown(0), + none(1), + cc(2), + bcc(3), + ... +} + + +Messaging-Trigger ::= ENUMERATED +{ + unknown(0), + user(1), + user-agent(2), + system(3), + system-operator(4), + ... +} + +Messaging-Property ::= CHOICE +{ + 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] + message-identifier [5] OCTET STRING, + subject [6] UTF8String, + user-agent [7] UTF8String, + password [8] OCTET STRING, + message-status [9] Messaging-Property-Message-Status, + requested-reports [10] Messaging-Property-Requested-Reports, + expires [11] GeneralizedTime, + message-date [12] GeneralizedTime +} + +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), + ..., + message-to-email(3), + read-report(4), + delivery-report(5), + allow-delivery-report(6), + deny-delivery-report(7), + message-wait-indication(8), + voice-to-text(9), new-message-sms(10), new-message-outcall(11), new-message-reminder(12) +} + +Messaging-Property-Message-Status ::= ENUMERATED +{ + indeterminate(0), + expired(1), + retrieved(2), + rejected(3), + deferred(4), + forwarded(5), + unrecognized(6), + unreachable(7), + read(8), + deleted-without-being-read(9), + delivery-condition-not-met(10), + ... +} + +Messaging-Property-Requested-Reports ::= ENUMERATED +{ + none(0), + delivery(1), + read(2), + delivery-and-read(3), + ... +} + +END -- end of EmailPDU diff --git a/102232-3/IPAccessPDU.asn b/102232-3/IPAccessPDU.asn new file mode 100644 index 0000000000000000000000000000000000000000..e4813de50d32b0620b5624e6c05c778e938d2c36 --- /dev/null +++ b/102232-3/IPAccessPDU.asn @@ -0,0 +1,343 @@ +IPAccessPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version13(13)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + -- from ETSI TS 102 232-1 [2] + IPAddress + Location + FROM LI-PS-PDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version26(26)}; + + +-- ============================ +-- Object Identifier Definition +-- ============================ + +iPIRIObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version13(13) iRI(1)} +iPCCObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version13(13) cC(2)} +iPIRIOnlyObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version13(13) iRIOnly(3)} + -- all three definitions relative to {itu-t(0) identified-organization(4) + -- etsi(0) securityDomain(2) lawfulintercept(2)} + +-- ========================== +-- IP Communications Contents +-- ========================== + +IPCC ::= SEQUENCE +{ + iPCCObjId [0] RELATIVE-OID, + iPCCContents [1] IPCCContents +} + +IPCCContents ::= CHOICE +{ + iPPackets [0] OCTET STRING, + ... +} + +-- =================================================== +-- Intercept-related information for general IP-Access +-- =================================================== + +IPIRI ::= SEQUENCE +{ + iPIRIObjId [0] RELATIVE-OID, + iPIRIContents [1] IPIRIContents, + ... +} + +IPIRIContents ::= SEQUENCE +{ + accessEventType [0] AccessEventType, + targetUsername [1] OCTET STRING, + -- in ASCIIcharacters + internetAccessType [2] InternetAccessType, + iPVersion [3] IPVersion, + targetIPAddress [4] IPAddress OPTIONAL, + -- IP address may not be available in case of failed logon attempts. + -- If it is available, it must be sent. + -- This field will carry the first IPv4 or IPv6 target IP address with or without + -- subnet. Use of this field is fully described in section 6.2.1. + targetNetworkID [5] UTF8String (SIZE (1..20)) OPTIONAL, + -- Target network ID (e.g. MAC address, PSTN number) + targetCPEID [6] UTF8String (SIZE (1..128)) OPTIONAL, + -- CPEID (e.g. Relay Agent info, computer name) + targetLocation [7] UTF8String (SIZE (1..64)) OPTIONAL, + -- When internetAccessType is Wireless LAN, this field should contain a string which + -- uniquely identifies the wireless accesspoint within the SvP domain + -- New implementations are encouraged to use the location [24] parameter where possible. + pOPPortNumber [8] INTEGER (0..4294967295) OPTIONAL, + -- The POP port number used by the target + callBackNumber [9] UTF8String (SIZE (1..20)) OPTIONAL, + -- The number used to call-back the target + startTime [10] GeneralizedTime OPTIONAL, + -- The start date-time of the session or lease + endTime [11] GeneralizedTime OPTIONAL, + -- The actual end date-time of the session or lease + endReason [12] EndReason OPTIONAL, + -- The reason for the session to end + octetsReceived [13] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target received + octetsTransmitted [14] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target transmitted + rawAAAData [15] OCTET STRING OPTIONAL, + -- Content of the raw AAA record + ..., + expectedEndTime [16] GeneralizedTime OPTIONAL, + -- The expected end date-time of the session or lease + pOPPhoneNumber [17] UTF8String (SIZE (1..20)) OPTIONAL, + -- The phone number dialed by the target for dial-up + pOPIdentifier [18] IPIRIIDType OPTIONAL, + -- The identifier or name of the POP + pOPIPAddress [19] IPAddress OPTIONAL, + -- The IP address of the POP + nationalIPIRIParameters [20] NationalIPIRIParameters OPTIONAL, + -- National IP IRI Parameters + additionalIPAddress [21] IPAddress OPTIONAL, + -- This field will carry the first IPv6 target IP address with or without prefix when the + -- iPVersion parameter is set to iPV4andV6. + -- Use of this field is fully described in section 6.2.1 + authenticationType [22] AuthenticationType OPTIONAL, + -- Field used to identify the authentication type to assist with LEMF data validation + otherTargetIdentifiers [23] SEQUENCE OF OtherTargetIdentifiers OPTIONAL, + -- This parameter will carry the second and subsequent IPv4 or IPv6 target IP addresses + -- It is used when multiple subnet/prefix ranges are assigned to a target service. + -- Use of this field is fully described in section 6.2.1 + location [24] Location OPTIONAL, + -- The location associated with the target + pOPPortID [25] OCTET STRING OPTIONAL, + -- This field will carry the NAS-Port-ID as defined in RFC 2869 [17]: + -- This parameter shall be populated with the RADIUS value. + framedRoutes [26] SEQUENCE OF FramedRoute OPTIONAL + -- It is used to list all the available Framed Route and Framed IPv6 Route information + + +} + +AccessEventType ::= ENUMERATED +{ + accessAttempt(0), + -- A target requests access to the IAS + accessAccept(1), + -- IAS access is granted to the target, the session begins + accessReject(2), + -- IAS access is refused to the target + accessFailed(3), + -- The Access_attempt timed-out or failed otherwise + sessionStart(4), + -- A target starts using the IAS; not in use anymore from version 4(4) + sessionEnd(5), + -- A target stops using the IAS; not in use anymore from version 4(4) + interimUpdate(6), + -- Intermediate status report on service status or usage + ..., + startOfInterceptionWithSessionActive(7), + -- LI is started on a target who already has an active session + accessEnd(8), + -- A target stops using the IAS, the session ends + endOfInterceptionWithSessionActive(9), + -- LI is ended on a target who still has an active session + unknown(10) +} + +InternetAccessType ::= ENUMERATED +{ + undefined(0), + dialUp(1), + -- IAS via DialUp access + xDSL(2), + -- IAS via DSL access + cableModem(3), + -- IAS via Cable access + lAN(4), + -- IAS via LAN access + ..., + wirelessLAN(5), + -- IAS via Wireless LAN access + fTTx(6), + -- IAS via Fiber access + wIMAX-HIPERMAN(7), + -- IAS via WIMAX/HIPERMAN (fixed access) + satellite(8), + -- IAS via Satellite access + -- (when it is not covered by any 3GPP or ETSI mobile Lawful Interception specifications) + wireless-other(9) + -- IAS via other type of Wireless access + -- (when it is not covered by any 3GPP or ETSI mobile Lawful Interception specifications) +} + +IPVersion ::= ENUMERATED +{ + iPV4(1), + -- The IPv4 protocol is used + iPV6(2), + -- The IPv6 protocol is used + iPV4andV6(3), + -- The IPv4 and IPv6 protocols are used + ... +} + +EndReason ::= ENUMERATED +{ + undefined(0), + regularLogoff(1), + -- The target logged off + connectionLoss(2), + -- The connection was lost + connectionTimeout(3), + -- The connection timed-out + leaseExpired(4), + -- The DHCP lease expired + ... +} + +IPIRIIDType ::= CHOICE +{ + printableIDType [0] UTF8String (SIZE (1..128)), + -- For printable userIDs, such as the Radius username, phonenumbers + macAddressType [1] OCTET STRING (SIZE (6)), + -- For MAC address types, raw binary format as in RFC 2132 [15] + ipAddressType [2] IPAddress, + -- For IP address types + ... +} + +NationalIPIRIParameters ::= SEQUENCE +{ + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [16], + -- 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 (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from the IANA web site (see Annex E Bibliography). Besides, it is recommended + -- to avoid using tags from 240 to 255 in a formal type definition. +} + +AuthenticationType ::= ENUMERATED +{ + unknown(0), + -- AAA function for the target service is unknown + static(1), + -- The target service is assigned a static IP address & no AAA expected + radiusAAA(2), + -- AAA function for the target service is provided by RADIUS + dhcpAAA(3), + -- AAA function for the target service is provided by DHCP + diameterAAA(4), + -- AAA function for the target service is provided by DIAMETER + ... +} + +OtherTargetIdentifiers ::= CHOICE +{ + -- Additional target identifiers associated with the target service + -- This list is extensible to accommodate other target identifiers which + -- may be required in future. + iPAddress [0] IPAddress, + -- IPAddress imported from TS 101 671 [1]. + -- This can be an IPv4 address (with or without a subnet range defined) or + -- an IPv6 address (with or without a prefix range defined). + ... +} + +FramedRoute ::= CHOICE +{ + -- Additional Framed Route prefix information associated with the target service + + framedRoute [0] OCTET STRING, + -- This could contain an IPv4 as well as IPv6 FramedRoute information + -- including additional information such Gateway address and + -- one or more metrics in texual format. + -- This parameter shall be populated with the RADIUS value. + ... +} + + +-- ===================================================== +-- Intercept-related information for IRI-Only intercepts +-- ===================================================== + +IPIRIOnly ::= SEQUENCE +{ + iPIRIOnlyObjId [0] RELATIVE-OID, + iPInformation [1] IPInformation, + protocolInformation [2] ProtocolInformation, + iPAggregatedNbrOfPackets [3] INTEGER OPTIONAL, + iPAggregatedNbrOfBytes [4] INTEGER OPTIONAL, + ... +} + +IPInformation ::= CHOICE +{ + iPv4Information [0] IPv4Information, + iPv6Information [1] IPv6Information +} + +ProtocolInformation ::= CHOICE +{ + none [0] NULL, + -- No layer 4 protocol information is provided + tCPInformation [1] TCPInformation, + uDPInformation [2] UDPInformation, + ... +} + +IPv4Information ::= SEQUENCE +{ + headerLength [0] OCTET STRING OPTIONAL, + typeOfService [1] OCTET STRING OPTIONAL, + totalLength [2] OCTET STRING (SIZE (2))OPTIONAL, + identification [3] OCTET STRING (SIZE (2))OPTIONAL, + fragment [4] OCTET STRING (SIZE (2))OPTIONAL, + ttl [5] OCTET STRING OPTIONAL, + protocol [6] OCTET STRING OPTIONAL, + headerChecksum [7] OCTET STRING (SIZE (2))OPTIONAL, + source [8] OCTET STRING (SIZE (4)), + destination [9] OCTET STRING (SIZE (4)), + options [10] OCTET STRING (SIZE (0..40))OPTIONAL +} + +IPv6Information ::= SEQUENCE +{ + trafficClass [0] OCTET STRING OPTIONAL, + flowLabel [1] OCTET STRING (SIZE (20))OPTIONAL, + payloadLength [2] OCTET STRING (SIZE (4))OPTIONAL, + nextHeader [3] OCTET STRING OPTIONAL, + hopLimit [4] OCTET STRING OPTIONAL, + source [5] OCTET STRING (SIZE (16)), + destination [6] OCTET STRING (SIZE (16)) +} + +TCPInformation ::= SEQUENCE +{ + sourcePort [0] OCTET STRING (SIZE (2))OPTIONAL, + destinationPort [1] OCTET STRING (SIZE (2))OPTIONAL, + sequenceNumber [2] OCTET STRING (SIZE (4))OPTIONAL, + ackNumber [3] OCTET STRING (SIZE (4))OPTIONAL, + dataOffset [4] BIT STRING (SIZE (4))OPTIONAL, + -- First 4 bits + controlBits [5] BIT STRING (SIZE (6))OPTIONAL, + -- Last 6 bits + windowSize [6] OCTET STRING (SIZE (2))OPTIONAL, + checkSum [7] OCTET STRING (SIZE (2))OPTIONAL, + urgentPointer [8] OCTET STRING (SIZE (2))OPTIONAL, + options [9] OCTET STRING (SIZE (0..40))OPTIONAL +} + +UDPInformation ::= SEQUENCE +{ + sourcePort [0] OCTET STRING (SIZE (2))OPTIONAL, + destinationPort [1] OCTET STRING (SIZE (2))OPTIONAL, + length [2] OCTET STRING (SIZE (2))OPTIONAL, + checkSum [3] OCTET STRING (SIZE (2))OPTIONAL +} + +END -- end of IPAccessPDU + diff --git a/102232-3/portal/IPAccessPDU,ver13.txt b/102232-3/portal/IPAccessPDU,ver13.txt new file mode 100644 index 0000000000000000000000000000000000000000..e4813de50d32b0620b5624e6c05c778e938d2c36 --- /dev/null +++ b/102232-3/portal/IPAccessPDU,ver13.txt @@ -0,0 +1,343 @@ +IPAccessPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPAccess(3) version13(13)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + -- from ETSI TS 102 232-1 [2] + IPAddress + Location + FROM LI-PS-PDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version26(26)}; + + +-- ============================ +-- Object Identifier Definition +-- ============================ + +iPIRIObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version13(13) iRI(1)} +iPCCObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version13(13) cC(2)} +iPIRIOnlyObjId RELATIVE-OID ::= {li-ps(5) iPAccess(3) version13(13) iRIOnly(3)} + -- all three definitions relative to {itu-t(0) identified-organization(4) + -- etsi(0) securityDomain(2) lawfulintercept(2)} + +-- ========================== +-- IP Communications Contents +-- ========================== + +IPCC ::= SEQUENCE +{ + iPCCObjId [0] RELATIVE-OID, + iPCCContents [1] IPCCContents +} + +IPCCContents ::= CHOICE +{ + iPPackets [0] OCTET STRING, + ... +} + +-- =================================================== +-- Intercept-related information for general IP-Access +-- =================================================== + +IPIRI ::= SEQUENCE +{ + iPIRIObjId [0] RELATIVE-OID, + iPIRIContents [1] IPIRIContents, + ... +} + +IPIRIContents ::= SEQUENCE +{ + accessEventType [0] AccessEventType, + targetUsername [1] OCTET STRING, + -- in ASCIIcharacters + internetAccessType [2] InternetAccessType, + iPVersion [3] IPVersion, + targetIPAddress [4] IPAddress OPTIONAL, + -- IP address may not be available in case of failed logon attempts. + -- If it is available, it must be sent. + -- This field will carry the first IPv4 or IPv6 target IP address with or without + -- subnet. Use of this field is fully described in section 6.2.1. + targetNetworkID [5] UTF8String (SIZE (1..20)) OPTIONAL, + -- Target network ID (e.g. MAC address, PSTN number) + targetCPEID [6] UTF8String (SIZE (1..128)) OPTIONAL, + -- CPEID (e.g. Relay Agent info, computer name) + targetLocation [7] UTF8String (SIZE (1..64)) OPTIONAL, + -- When internetAccessType is Wireless LAN, this field should contain a string which + -- uniquely identifies the wireless accesspoint within the SvP domain + -- New implementations are encouraged to use the location [24] parameter where possible. + pOPPortNumber [8] INTEGER (0..4294967295) OPTIONAL, + -- The POP port number used by the target + callBackNumber [9] UTF8String (SIZE (1..20)) OPTIONAL, + -- The number used to call-back the target + startTime [10] GeneralizedTime OPTIONAL, + -- The start date-time of the session or lease + endTime [11] GeneralizedTime OPTIONAL, + -- The actual end date-time of the session or lease + endReason [12] EndReason OPTIONAL, + -- The reason for the session to end + octetsReceived [13] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target received + octetsTransmitted [14] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target transmitted + rawAAAData [15] OCTET STRING OPTIONAL, + -- Content of the raw AAA record + ..., + expectedEndTime [16] GeneralizedTime OPTIONAL, + -- The expected end date-time of the session or lease + pOPPhoneNumber [17] UTF8String (SIZE (1..20)) OPTIONAL, + -- The phone number dialed by the target for dial-up + pOPIdentifier [18] IPIRIIDType OPTIONAL, + -- The identifier or name of the POP + pOPIPAddress [19] IPAddress OPTIONAL, + -- The IP address of the POP + nationalIPIRIParameters [20] NationalIPIRIParameters OPTIONAL, + -- National IP IRI Parameters + additionalIPAddress [21] IPAddress OPTIONAL, + -- This field will carry the first IPv6 target IP address with or without prefix when the + -- iPVersion parameter is set to iPV4andV6. + -- Use of this field is fully described in section 6.2.1 + authenticationType [22] AuthenticationType OPTIONAL, + -- Field used to identify the authentication type to assist with LEMF data validation + otherTargetIdentifiers [23] SEQUENCE OF OtherTargetIdentifiers OPTIONAL, + -- This parameter will carry the second and subsequent IPv4 or IPv6 target IP addresses + -- It is used when multiple subnet/prefix ranges are assigned to a target service. + -- Use of this field is fully described in section 6.2.1 + location [24] Location OPTIONAL, + -- The location associated with the target + pOPPortID [25] OCTET STRING OPTIONAL, + -- This field will carry the NAS-Port-ID as defined in RFC 2869 [17]: + -- This parameter shall be populated with the RADIUS value. + framedRoutes [26] SEQUENCE OF FramedRoute OPTIONAL + -- It is used to list all the available Framed Route and Framed IPv6 Route information + + +} + +AccessEventType ::= ENUMERATED +{ + accessAttempt(0), + -- A target requests access to the IAS + accessAccept(1), + -- IAS access is granted to the target, the session begins + accessReject(2), + -- IAS access is refused to the target + accessFailed(3), + -- The Access_attempt timed-out or failed otherwise + sessionStart(4), + -- A target starts using the IAS; not in use anymore from version 4(4) + sessionEnd(5), + -- A target stops using the IAS; not in use anymore from version 4(4) + interimUpdate(6), + -- Intermediate status report on service status or usage + ..., + startOfInterceptionWithSessionActive(7), + -- LI is started on a target who already has an active session + accessEnd(8), + -- A target stops using the IAS, the session ends + endOfInterceptionWithSessionActive(9), + -- LI is ended on a target who still has an active session + unknown(10) +} + +InternetAccessType ::= ENUMERATED +{ + undefined(0), + dialUp(1), + -- IAS via DialUp access + xDSL(2), + -- IAS via DSL access + cableModem(3), + -- IAS via Cable access + lAN(4), + -- IAS via LAN access + ..., + wirelessLAN(5), + -- IAS via Wireless LAN access + fTTx(6), + -- IAS via Fiber access + wIMAX-HIPERMAN(7), + -- IAS via WIMAX/HIPERMAN (fixed access) + satellite(8), + -- IAS via Satellite access + -- (when it is not covered by any 3GPP or ETSI mobile Lawful Interception specifications) + wireless-other(9) + -- IAS via other type of Wireless access + -- (when it is not covered by any 3GPP or ETSI mobile Lawful Interception specifications) +} + +IPVersion ::= ENUMERATED +{ + iPV4(1), + -- The IPv4 protocol is used + iPV6(2), + -- The IPv6 protocol is used + iPV4andV6(3), + -- The IPv4 and IPv6 protocols are used + ... +} + +EndReason ::= ENUMERATED +{ + undefined(0), + regularLogoff(1), + -- The target logged off + connectionLoss(2), + -- The connection was lost + connectionTimeout(3), + -- The connection timed-out + leaseExpired(4), + -- The DHCP lease expired + ... +} + +IPIRIIDType ::= CHOICE +{ + printableIDType [0] UTF8String (SIZE (1..128)), + -- For printable userIDs, such as the Radius username, phonenumbers + macAddressType [1] OCTET STRING (SIZE (6)), + -- For MAC address types, raw binary format as in RFC 2132 [15] + ipAddressType [2] IPAddress, + -- For IP address types + ... +} + +NationalIPIRIParameters ::= SEQUENCE +{ + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [16], + -- 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 (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from the IANA web site (see Annex E Bibliography). Besides, it is recommended + -- to avoid using tags from 240 to 255 in a formal type definition. +} + +AuthenticationType ::= ENUMERATED +{ + unknown(0), + -- AAA function for the target service is unknown + static(1), + -- The target service is assigned a static IP address & no AAA expected + radiusAAA(2), + -- AAA function for the target service is provided by RADIUS + dhcpAAA(3), + -- AAA function for the target service is provided by DHCP + diameterAAA(4), + -- AAA function for the target service is provided by DIAMETER + ... +} + +OtherTargetIdentifiers ::= CHOICE +{ + -- Additional target identifiers associated with the target service + -- This list is extensible to accommodate other target identifiers which + -- may be required in future. + iPAddress [0] IPAddress, + -- IPAddress imported from TS 101 671 [1]. + -- This can be an IPv4 address (with or without a subnet range defined) or + -- an IPv6 address (with or without a prefix range defined). + ... +} + +FramedRoute ::= CHOICE +{ + -- Additional Framed Route prefix information associated with the target service + + framedRoute [0] OCTET STRING, + -- This could contain an IPv4 as well as IPv6 FramedRoute information + -- including additional information such Gateway address and + -- one or more metrics in texual format. + -- This parameter shall be populated with the RADIUS value. + ... +} + + +-- ===================================================== +-- Intercept-related information for IRI-Only intercepts +-- ===================================================== + +IPIRIOnly ::= SEQUENCE +{ + iPIRIOnlyObjId [0] RELATIVE-OID, + iPInformation [1] IPInformation, + protocolInformation [2] ProtocolInformation, + iPAggregatedNbrOfPackets [3] INTEGER OPTIONAL, + iPAggregatedNbrOfBytes [4] INTEGER OPTIONAL, + ... +} + +IPInformation ::= CHOICE +{ + iPv4Information [0] IPv4Information, + iPv6Information [1] IPv6Information +} + +ProtocolInformation ::= CHOICE +{ + none [0] NULL, + -- No layer 4 protocol information is provided + tCPInformation [1] TCPInformation, + uDPInformation [2] UDPInformation, + ... +} + +IPv4Information ::= SEQUENCE +{ + headerLength [0] OCTET STRING OPTIONAL, + typeOfService [1] OCTET STRING OPTIONAL, + totalLength [2] OCTET STRING (SIZE (2))OPTIONAL, + identification [3] OCTET STRING (SIZE (2))OPTIONAL, + fragment [4] OCTET STRING (SIZE (2))OPTIONAL, + ttl [5] OCTET STRING OPTIONAL, + protocol [6] OCTET STRING OPTIONAL, + headerChecksum [7] OCTET STRING (SIZE (2))OPTIONAL, + source [8] OCTET STRING (SIZE (4)), + destination [9] OCTET STRING (SIZE (4)), + options [10] OCTET STRING (SIZE (0..40))OPTIONAL +} + +IPv6Information ::= SEQUENCE +{ + trafficClass [0] OCTET STRING OPTIONAL, + flowLabel [1] OCTET STRING (SIZE (20))OPTIONAL, + payloadLength [2] OCTET STRING (SIZE (4))OPTIONAL, + nextHeader [3] OCTET STRING OPTIONAL, + hopLimit [4] OCTET STRING OPTIONAL, + source [5] OCTET STRING (SIZE (16)), + destination [6] OCTET STRING (SIZE (16)) +} + +TCPInformation ::= SEQUENCE +{ + sourcePort [0] OCTET STRING (SIZE (2))OPTIONAL, + destinationPort [1] OCTET STRING (SIZE (2))OPTIONAL, + sequenceNumber [2] OCTET STRING (SIZE (4))OPTIONAL, + ackNumber [3] OCTET STRING (SIZE (4))OPTIONAL, + dataOffset [4] BIT STRING (SIZE (4))OPTIONAL, + -- First 4 bits + controlBits [5] BIT STRING (SIZE (6))OPTIONAL, + -- Last 6 bits + windowSize [6] OCTET STRING (SIZE (2))OPTIONAL, + checkSum [7] OCTET STRING (SIZE (2))OPTIONAL, + urgentPointer [8] OCTET STRING (SIZE (2))OPTIONAL, + options [9] OCTET STRING (SIZE (0..40))OPTIONAL +} + +UDPInformation ::= SEQUENCE +{ + sourcePort [0] OCTET STRING (SIZE (2))OPTIONAL, + destinationPort [1] OCTET STRING (SIZE (2))OPTIONAL, + length [2] OCTET STRING (SIZE (2))OPTIONAL, + checkSum [3] OCTET STRING (SIZE (2))OPTIONAL +} + +END -- end of IPAccessPDU + diff --git a/102232-4/L2AccessPDU.asn b/102232-4/L2AccessPDU.asn new file mode 100644 index 0000000000000000000000000000000000000000..df562af6659bca77e854cad9faa9f5e0148ef827 --- /dev/null +++ b/102232-4/L2AccessPDU.asn @@ -0,0 +1,200 @@ +L2AccessPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) +li-ps(5) l2Access(4) version7(7)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- ============================ +-- Object Identifier Definition +-- ============================ + +l2IRIObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version7(7) iRI(1)} +l2CCObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version7(7) cC(2)} +l2IRIOnlyObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version7(7) iRIOnly(3)} + -- all three definitions relative to {itu-t(0) identified-organization(4) + -- etsi(0) securityDomain(2) lawfulintercept(2)} + +-- ========================== +-- L2 Communications Contents +-- ========================== + +L2CC ::= SEQUENCE +{ + l2CCObjId [0] RELATIVE-OID, + l2CCContents [1] CHOICE + { + l2TP [1] OCTET STRING, + -- The L2TP protocol is used + l2F [2] OCTET STRING, + -- The L2F protocol is used + pPTP [3] OCTET STRING, + -- The PPTP protocol is used + pPP [4] OCTET STRING, + -- The PPP protocol is used + ethernet [5] OCTET STRING, + -- The ethernet protocol is used + ..., + l2ATM2684 [6] OCTET STRING, + -- The protocol RFC 2684, method "LLC Encapsulation for Bridged Protocols` [16] is used + l2FR2427 [7] OCTET STRING + -- The protocol RFC 2427 “Multiprotocol Interconnect over Frame Relay” [18] is used + } +} + +-- =================================================== +-- Intercept-related information for general L2-Access +-- =================================================== + +L2IRI ::= SEQUENCE +{ + l2IRIObjId [0] RELATIVE-OID, + l2IRIContents [1] L2IRIContents, + ... +} + +L2IRIContents ::= SEQUENCE +{ + accessEventType [0] AccessEventType, + internetAccessType [2] InternetAccessType OPTIONAL, + targetNetworkID [5] UTF8String (SIZE (1..128)) OPTIONAL, + -- Target network ID (e.g. MAC address, PSTN number, additional information from + -- network elements) + targetCPEID [6] UTF8String (SIZE (1..128)) OPTIONAL, + -- CPEID (e.g. Relay Agent info, computer name) + targetLocation [7] UTF8String (SIZE (1..64))OPTIONAL, + -- + nASPortNumber [8] INTEGER (0..4294967295) OPTIONAL, + -- The NAS port number used by the target + callBackNumber [9] UTF8String (SIZE (1..20)) OPTIONAL, + -- The number used to call-back the target + startTime [10] GeneralizedTime OPTIONAL, + -- The start date-time of the session or lease + endTime [11] GeneralizedTime OPTIONAL, + -- The end date-time of the session or lease + endReason [12] EndReason OPTIONAL, + -- The reason for the session to end + octetsReceived [13] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target received + octetsTransmitted [14] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target transmitted + rawAAAData [15] OCTET STRING OPTIONAL, + -- Content of the raw AAA record + ..., + authenticationType [16] AuthenticationType OPTIONAL + -- Field used to identify the authentication type to assist with LEMF data validation +} + +AccessEventType ::= ENUMERATED +{ + accessAttempt(0), + -- A target requests access to the IAS + accessAccept(1), + -- IAS access is granted to the target, the session begins + accessReject(2), + -- IAS access is refused to the target + accessFailed(3), + -- The accessAttempt timed-out or failed otherwise + sessionStart(4), + -- A target starts using the IAS; not in use anymore from version 4(4). + sessionEnd(5), + -- A target stops using the IAS; not in use anymore from version 4(4). + interimUpdate(6), + -- Intermediate status report on service status or usage + unknown(7), + ..., + startOfInterceptionWithSessionActive(8), + -- LI is started on a target who already has an active session + accessEnd(9), + -- A target stops using the IAS, the session ends. + endOfInterceptionWithSessionActive(10) + -- LI is ended on a target who still has an active session +} + +InternetAccessType ::= ENUMERATED +{ + undefined(0), + dialUp(1), + -- IAS via DialUp access + xDSL(2), + -- IAS via DSL access + cableModem(3), + -- IAS via Cable access + lAN(4), + -- IAS via LAN access + ..., + wirelessLAN(5), + -- IAS via Wireless LAN access + fTTx(6), + -- IAS via Fiber access + wIMAX-HIPERMAN(7), + -- IAS via WIMAX/HIPERMAN (fixed access) + satellite(8) + -- IAS via Satellite access + -- (when it is not covered by any 3GPP or ETSI mobile Lawful Interception specifications) +} + +EndReason ::= ENUMERATED +{ + undefined(0), + regularLogoff(1), + -- The target logged off + connectionLoss(2), + -- The connection was lost + connectionTimeout(3), + -- The connection timed-out + leaseExpired(4), + -- The DHCP lease expired + ... +} + +AuthenticationType ::= ENUMERATED +{ + unknown(0), + -- AAA function for the target service is unknown + static(1), + -- The target service is assigned a static IP address & no AAA expected + radiusAAA(2), + -- AAA function for the target service is provided by RADIUS + dhcpAAA(3), + -- AAA function for the target service is provided by DHCP + diameterAAA(4), + -- AAA function for the target service is provided by DIAMETER + ... +} + + +-- ===================================================== +-- Intercept-related information for IRI-Only intercepts +-- ===================================================== + +L2IRIOnly ::= SEQUENCE +{ + l2IRIOnlyObjId [0] RELATIVE-OID, + l2protocolInformation [2] L2ProtocolInformation, + l2AggregatedNbrOfPackets [3] INTEGER OPTIONAL, + l2AggregatedNbrOfBytes [4] INTEGER OPTIONAL, + ... +} + +L2ProtocolInformation ::= ENUMERATED +{ + l2ProtocolL2tp(1), + -- The L2TP protocol is used + l2ProtocolL2f(2), + -- The L2F protocol is used + l2ProtocolPptp(3), + -- The PPTP protocol is used + l2ProtocolPpp(4), + -- The PPP protocol is used + ethernetProtocol(5), + -- The ethernet protocol is used + undefined(6), + ..., + l2ProtocolATM2684(7), + -- The protocol RFC 2684, method "LLC Encapsulation for Bridged Protocols" [16] is used + l2ProtocolFR2427(8) + -- The protocol RFC2427 “Multiprotocol Interconnect over Frame Relay” [18] is used +} + +END -- end of L2AccessPDU diff --git a/102232-4/portal/L2AccessPDU,ver7.txt b/102232-4/portal/L2AccessPDU,ver7.txt new file mode 100644 index 0000000000000000000000000000000000000000..df562af6659bca77e854cad9faa9f5e0148ef827 --- /dev/null +++ b/102232-4/portal/L2AccessPDU,ver7.txt @@ -0,0 +1,200 @@ +L2AccessPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) +li-ps(5) l2Access(4) version7(7)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- ============================ +-- Object Identifier Definition +-- ============================ + +l2IRIObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version7(7) iRI(1)} +l2CCObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version7(7) cC(2)} +l2IRIOnlyObjId RELATIVE-OID ::= {li-ps(5) l2Access(4) version7(7) iRIOnly(3)} + -- all three definitions relative to {itu-t(0) identified-organization(4) + -- etsi(0) securityDomain(2) lawfulintercept(2)} + +-- ========================== +-- L2 Communications Contents +-- ========================== + +L2CC ::= SEQUENCE +{ + l2CCObjId [0] RELATIVE-OID, + l2CCContents [1] CHOICE + { + l2TP [1] OCTET STRING, + -- The L2TP protocol is used + l2F [2] OCTET STRING, + -- The L2F protocol is used + pPTP [3] OCTET STRING, + -- The PPTP protocol is used + pPP [4] OCTET STRING, + -- The PPP protocol is used + ethernet [5] OCTET STRING, + -- The ethernet protocol is used + ..., + l2ATM2684 [6] OCTET STRING, + -- The protocol RFC 2684, method "LLC Encapsulation for Bridged Protocols` [16] is used + l2FR2427 [7] OCTET STRING + -- The protocol RFC 2427 “Multiprotocol Interconnect over Frame Relay” [18] is used + } +} + +-- =================================================== +-- Intercept-related information for general L2-Access +-- =================================================== + +L2IRI ::= SEQUENCE +{ + l2IRIObjId [0] RELATIVE-OID, + l2IRIContents [1] L2IRIContents, + ... +} + +L2IRIContents ::= SEQUENCE +{ + accessEventType [0] AccessEventType, + internetAccessType [2] InternetAccessType OPTIONAL, + targetNetworkID [5] UTF8String (SIZE (1..128)) OPTIONAL, + -- Target network ID (e.g. MAC address, PSTN number, additional information from + -- network elements) + targetCPEID [6] UTF8String (SIZE (1..128)) OPTIONAL, + -- CPEID (e.g. Relay Agent info, computer name) + targetLocation [7] UTF8String (SIZE (1..64))OPTIONAL, + -- + nASPortNumber [8] INTEGER (0..4294967295) OPTIONAL, + -- The NAS port number used by the target + callBackNumber [9] UTF8String (SIZE (1..20)) OPTIONAL, + -- The number used to call-back the target + startTime [10] GeneralizedTime OPTIONAL, + -- The start date-time of the session or lease + endTime [11] GeneralizedTime OPTIONAL, + -- The end date-time of the session or lease + endReason [12] EndReason OPTIONAL, + -- The reason for the session to end + octetsReceived [13] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target received + octetsTransmitted [14] INTEGER (0..18446744073709551615) OPTIONAL, + -- The number of octets the target transmitted + rawAAAData [15] OCTET STRING OPTIONAL, + -- Content of the raw AAA record + ..., + authenticationType [16] AuthenticationType OPTIONAL + -- Field used to identify the authentication type to assist with LEMF data validation +} + +AccessEventType ::= ENUMERATED +{ + accessAttempt(0), + -- A target requests access to the IAS + accessAccept(1), + -- IAS access is granted to the target, the session begins + accessReject(2), + -- IAS access is refused to the target + accessFailed(3), + -- The accessAttempt timed-out or failed otherwise + sessionStart(4), + -- A target starts using the IAS; not in use anymore from version 4(4). + sessionEnd(5), + -- A target stops using the IAS; not in use anymore from version 4(4). + interimUpdate(6), + -- Intermediate status report on service status or usage + unknown(7), + ..., + startOfInterceptionWithSessionActive(8), + -- LI is started on a target who already has an active session + accessEnd(9), + -- A target stops using the IAS, the session ends. + endOfInterceptionWithSessionActive(10) + -- LI is ended on a target who still has an active session +} + +InternetAccessType ::= ENUMERATED +{ + undefined(0), + dialUp(1), + -- IAS via DialUp access + xDSL(2), + -- IAS via DSL access + cableModem(3), + -- IAS via Cable access + lAN(4), + -- IAS via LAN access + ..., + wirelessLAN(5), + -- IAS via Wireless LAN access + fTTx(6), + -- IAS via Fiber access + wIMAX-HIPERMAN(7), + -- IAS via WIMAX/HIPERMAN (fixed access) + satellite(8) + -- IAS via Satellite access + -- (when it is not covered by any 3GPP or ETSI mobile Lawful Interception specifications) +} + +EndReason ::= ENUMERATED +{ + undefined(0), + regularLogoff(1), + -- The target logged off + connectionLoss(2), + -- The connection was lost + connectionTimeout(3), + -- The connection timed-out + leaseExpired(4), + -- The DHCP lease expired + ... +} + +AuthenticationType ::= ENUMERATED +{ + unknown(0), + -- AAA function for the target service is unknown + static(1), + -- The target service is assigned a static IP address & no AAA expected + radiusAAA(2), + -- AAA function for the target service is provided by RADIUS + dhcpAAA(3), + -- AAA function for the target service is provided by DHCP + diameterAAA(4), + -- AAA function for the target service is provided by DIAMETER + ... +} + + +-- ===================================================== +-- Intercept-related information for IRI-Only intercepts +-- ===================================================== + +L2IRIOnly ::= SEQUENCE +{ + l2IRIOnlyObjId [0] RELATIVE-OID, + l2protocolInformation [2] L2ProtocolInformation, + l2AggregatedNbrOfPackets [3] INTEGER OPTIONAL, + l2AggregatedNbrOfBytes [4] INTEGER OPTIONAL, + ... +} + +L2ProtocolInformation ::= ENUMERATED +{ + l2ProtocolL2tp(1), + -- The L2TP protocol is used + l2ProtocolL2f(2), + -- The L2F protocol is used + l2ProtocolPptp(3), + -- The PPTP protocol is used + l2ProtocolPpp(4), + -- The PPP protocol is used + ethernetProtocol(5), + -- The ethernet protocol is used + undefined(6), + ..., + l2ProtocolATM2684(7), + -- The protocol RFC 2684, method "LLC Encapsulation for Bridged Protocols" [16] is used + l2ProtocolFR2427(8) + -- The protocol RFC2427 “Multiprotocol Interconnect over Frame Relay” [18] is used +} + +END -- end of L2AccessPDU diff --git a/102232-5/IPMultimediaPDU.asn b/102232-5/IPMultimediaPDU.asn new file mode 100644 index 0000000000000000000000000000000000000000..67e9fbebee0fb3f1c0936b8c98ad9964bca047b5 --- /dev/null +++ b/102232-5/IPMultimediaPDU.asn @@ -0,0 +1,174 @@ +-- ==================================== +-- Description of the IP Multimedia PDU +-- ==================================== + + +IPMultimediaPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version12(12)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS +-- from ETSI TS 102 232-1 [2] + IPAddress, + Location + FROM LI-PS-PDU + {itu-u(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version30(30)}; + + + +-- ============================ +-- Object Identifier Definition +-- ============================ + +iPMMIRIObjId RELATIVE-OID ::= {li-ps(5) iPMultimedia(5) version12(12) iRI(1)} +iPMMCCObjId RELATIVE-OID ::= {li-ps(5) iPMultimedia(5) version12(12) cC(2)} + -- both definitions relative to: + -- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +-- ===================================== +-- IP Multimedia Communications Contents +-- ===================================== + +IPMMCC ::= SEQUENCE +{ + iPMMCCObjId [0] RELATIVE-OID, + mMCCContents [1] OCTET STRING, + -- Copy of the multimediastream, i.e. all related RTP/RTCP, UDPTL or MSRP packets + -- Each IPMMCC shall contain one intercepted packet + -- Protocol of the multimedia packets is indicated by means of mMCCprotocol parameter + -- mMCCContents was called rTPCCContents in earlier versions until v2.3.2. + ..., + frameType [2] FrameType OPTIONAL, + -- The availability of header information shall be signalled with the frameType parameter + -- The module is defined as OPTIONAL because of backwards compatibility reasons + -- For new implementations the module is MANDATORY to be used as defined in clause 5.5 + streamIdentifier [3] OCTET STRING OPTIONAL, + -- Used to identify the media stream within the current CIN, typically in case of + -- multiple media streams communications + -- May be used to correlate each media stream with the relevant SDP media description of IRI + -- May contain c= and m= lines extracts for instance + mMCCprotocol [4] MMCCprotocol OPTIONAL + -- Used to identify the protocol of packets sent in MMCCContent (RTP, UDPTL, MSRP, etc.) + -- Absence means mMCCContents contains RTP/RTCP packets +} + +FrameType ::= ENUMERATED +{ + ipFrame(0), + -- All headers are present + udpFrame(1), + -- IP header is missing + rtpFrame(2), + -- UDP and IP headers are missing + audioFrame(3), + -- All headers are missing + ..., + tcpFrame(4), + -- IP header is missing + artificialRtpFrame(5), + -- UDP and IP headers are missing; artificial RTP frame has been added + udptlFrame(6), + -- UDP and IP headers are missing + msrpFrame(7) + -- TCP and IP headers are missing + +} + +MMCCprotocol ::= ENUMERATED +{ + rTP(0), + -- mMCCContents parameter contains RTP/RTCP packets + mSRP(1), + -- mMCCContents parameter contains MSRP packets + ..., + uDPTL(2) + -- mMCCContents parameter contains UDPTL packets +} + +-- ======================================================== +-- Intercept-related information for IP Multimedia sessions +-- ======================================================== + +IPMMIRI ::= SEQUENCE +{ + iPMMIRIObjId [0] RELATIVE-OID, + iPMMIRIContents [1] IPIRIContents, + ..., + targetLocation [2] Location OPTIONAL, + -- This common parameter is defined in ETSI TS 102 232-1 [2], the use of this parameter is described in clause 5.2.3 + additionalSignalling [3] SEQUENCE OF AdditionalSignalling OPTIONAL + -- The use of this parameter is defined in clause 5.2.5 +} + +IPIRIContents ::= CHOICE +{ + originalIPMMMessage [0] OCTET STRING, + -- Copy of the IP MM signalling packet including the original IP and UDP/TCP headers + sIPMessage [1] SIPMessage, + -- Copy of the SIP content and the source and destination IP address + h323Message [2] H323Message, + -- Copy of the H.323 content and the source and destination IP address + ..., + nationalIPMMIRIParameters [3] NationalIPMMIRIParameters, + -- This parameter is used according to national regulations + -- This parameter shall be delivered as an IRI-Report-record + xCAPMessage [4] OCTET STRING, + -- Copy of the XCAP message including all HTTP headers and contents + iRIOnlyOriginalIPMMMessage [5] OCTET STRING, + -- Copy of the IP MM signalling packet including the original IP and UDP/TCP headers + -- see clause 5.2.6. + iRIOnlySIPMessage [6] SIPMessage + -- Copy of the SIP content and the source and destination IP address + -- see clause 5.2.6. +} + +SIPMessage ::= SEQUENCE +{ + iPSourceAddress [0] IPAddress, + iPDestinationAddress [1] IPAddress, + sIPContent [2] OCTET STRING, + ... +} + +H323Message ::= SEQUENCE +{ + iPSourceAddress [0] IPAddress, + iPDestinationAddress [1] IPAddress, + h323Content [2] H323MessageContent, + ... +} + +H323MessageContent ::= CHOICE +{ + h225CSMessageContent [0] OCTET STRING, + h225RASMessageContent [1] OCTET STRING, + h245MessageContent [2] OCTET STRING, + genericMessageContent [3] OCTET STRING, + ... +} + +NationalIPMMIRIParameters ::= SEQUENCE +{ + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [20], + -- 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 (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from the IANA web site. Besides, it is recommended + -- to avoid using tags from 240 to 255 in a formal type definition. +} + +AdditionalSignalling ::= CHOICE +{ + sipHeaderLine [0] OCTET STRING, + -- A SIP header line, eg: "Contact: tel:+123456789". + ... +} + +END -- end of IPMultimediaPDU diff --git a/102232-5/portal/IPMultimediaPDU,ver12.txt b/102232-5/portal/IPMultimediaPDU,ver12.txt new file mode 100644 index 0000000000000000000000000000000000000000..67e9fbebee0fb3f1c0936b8c98ad9964bca047b5 --- /dev/null +++ b/102232-5/portal/IPMultimediaPDU,ver12.txt @@ -0,0 +1,174 @@ +-- ==================================== +-- Description of the IP Multimedia PDU +-- ==================================== + + +IPMultimediaPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) iPMultimedia(5) version12(12)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS +-- from ETSI TS 102 232-1 [2] + IPAddress, + Location + FROM LI-PS-PDU + {itu-u(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version30(30)}; + + + +-- ============================ +-- Object Identifier Definition +-- ============================ + +iPMMIRIObjId RELATIVE-OID ::= {li-ps(5) iPMultimedia(5) version12(12) iRI(1)} +iPMMCCObjId RELATIVE-OID ::= {li-ps(5) iPMultimedia(5) version12(12) cC(2)} + -- both definitions relative to: + -- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2)} + +-- ===================================== +-- IP Multimedia Communications Contents +-- ===================================== + +IPMMCC ::= SEQUENCE +{ + iPMMCCObjId [0] RELATIVE-OID, + mMCCContents [1] OCTET STRING, + -- Copy of the multimediastream, i.e. all related RTP/RTCP, UDPTL or MSRP packets + -- Each IPMMCC shall contain one intercepted packet + -- Protocol of the multimedia packets is indicated by means of mMCCprotocol parameter + -- mMCCContents was called rTPCCContents in earlier versions until v2.3.2. + ..., + frameType [2] FrameType OPTIONAL, + -- The availability of header information shall be signalled with the frameType parameter + -- The module is defined as OPTIONAL because of backwards compatibility reasons + -- For new implementations the module is MANDATORY to be used as defined in clause 5.5 + streamIdentifier [3] OCTET STRING OPTIONAL, + -- Used to identify the media stream within the current CIN, typically in case of + -- multiple media streams communications + -- May be used to correlate each media stream with the relevant SDP media description of IRI + -- May contain c= and m= lines extracts for instance + mMCCprotocol [4] MMCCprotocol OPTIONAL + -- Used to identify the protocol of packets sent in MMCCContent (RTP, UDPTL, MSRP, etc.) + -- Absence means mMCCContents contains RTP/RTCP packets +} + +FrameType ::= ENUMERATED +{ + ipFrame(0), + -- All headers are present + udpFrame(1), + -- IP header is missing + rtpFrame(2), + -- UDP and IP headers are missing + audioFrame(3), + -- All headers are missing + ..., + tcpFrame(4), + -- IP header is missing + artificialRtpFrame(5), + -- UDP and IP headers are missing; artificial RTP frame has been added + udptlFrame(6), + -- UDP and IP headers are missing + msrpFrame(7) + -- TCP and IP headers are missing + +} + +MMCCprotocol ::= ENUMERATED +{ + rTP(0), + -- mMCCContents parameter contains RTP/RTCP packets + mSRP(1), + -- mMCCContents parameter contains MSRP packets + ..., + uDPTL(2) + -- mMCCContents parameter contains UDPTL packets +} + +-- ======================================================== +-- Intercept-related information for IP Multimedia sessions +-- ======================================================== + +IPMMIRI ::= SEQUENCE +{ + iPMMIRIObjId [0] RELATIVE-OID, + iPMMIRIContents [1] IPIRIContents, + ..., + targetLocation [2] Location OPTIONAL, + -- This common parameter is defined in ETSI TS 102 232-1 [2], the use of this parameter is described in clause 5.2.3 + additionalSignalling [3] SEQUENCE OF AdditionalSignalling OPTIONAL + -- The use of this parameter is defined in clause 5.2.5 +} + +IPIRIContents ::= CHOICE +{ + originalIPMMMessage [0] OCTET STRING, + -- Copy of the IP MM signalling packet including the original IP and UDP/TCP headers + sIPMessage [1] SIPMessage, + -- Copy of the SIP content and the source and destination IP address + h323Message [2] H323Message, + -- Copy of the H.323 content and the source and destination IP address + ..., + nationalIPMMIRIParameters [3] NationalIPMMIRIParameters, + -- This parameter is used according to national regulations + -- This parameter shall be delivered as an IRI-Report-record + xCAPMessage [4] OCTET STRING, + -- Copy of the XCAP message including all HTTP headers and contents + iRIOnlyOriginalIPMMMessage [5] OCTET STRING, + -- Copy of the IP MM signalling packet including the original IP and UDP/TCP headers + -- see clause 5.2.6. + iRIOnlySIPMessage [6] SIPMessage + -- Copy of the SIP content and the source and destination IP address + -- see clause 5.2.6. +} + +SIPMessage ::= SEQUENCE +{ + iPSourceAddress [0] IPAddress, + iPDestinationAddress [1] IPAddress, + sIPContent [2] OCTET STRING, + ... +} + +H323Message ::= SEQUENCE +{ + iPSourceAddress [0] IPAddress, + iPDestinationAddress [1] IPAddress, + h323Content [2] H323MessageContent, + ... +} + +H323MessageContent ::= CHOICE +{ + h225CSMessageContent [0] OCTET STRING, + h225RASMessageContent [1] OCTET STRING, + h245MessageContent [2] OCTET STRING, + genericMessageContent [3] OCTET STRING, + ... +} + +NationalIPMMIRIParameters ::= SEQUENCE +{ + countryCode [1] PrintableString (SIZE (2)), + -- Country Code according to ISO 3166-1 [20], + -- 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 (...). + -- It is recommended that "version parameter" and "vendor identification parameter" are + -- included in the national parameters definition. Vendor identifications can be + -- retrieved from the IANA web site. Besides, it is recommended + -- to avoid using tags from 240 to 255 in a formal type definition. +} + +AdditionalSignalling ::= CHOICE +{ + sipHeaderLine [0] OCTET STRING, + -- A SIP header line, eg: "Contact: tel:+123456789". + ... +} + +END -- end of IPMultimediaPDU diff --git a/102232-6/PstnIsdnPDU.asn b/102232-6/PstnIsdnPDU.asn new file mode 100644 index 0000000000000000000000000000000000000000..0983a7efa1bc842c6b92cbdddb947bdd1cde1f27 --- /dev/null +++ b/102232-6/PstnIsdnPDU.asn @@ -0,0 +1,125 @@ +-- =============================== +-- Description of the PstnIsdn PDU +-- =============================== + +PstnIsdnPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6) version5(5)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + + + + -- from TS 102 232-01 [2] + PayloadDirection + FROM LI-PS-PDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version18(18)}; + + +-- ============================ +-- Object Identifier Definition +-- ============================ + + -- definitions are relative to + -- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)} +pstnIsdnIRIObjId RELATIVE-OID ::= {li-ps(5) pstnIsdn(6) version5(5) iRI(1)} +pstnIsdnCCObjId RELATIVE-OID ::= {li-ps(5) pstnIsdn(6) version5(5) cC(2)} + + +-- =============================== +-- Description of the PstnIsdn IRI +-- =============================== + +PstnIsdnIRI ::= SEQUENCE +{ + pstnIsdnIRIObjId [0] RELATIVE-OID, + pstnIsdnIRIContents [1] PstnIsdnIRIContents +} + +PstnIsdnIRIContents ::= CHOICE +{ + supplementaryInfo [0] SupplementaryInfo, + ... +} + +SupplementaryInfo ::= SEQUENCE +{ + informationAppliesTo [0] InformationAppliesTo, + -- Identifies the PDUs to which this info applies + mediaFormat [1] INTEGER (0..127), + -- As defined in RFC 3551 [10] + mediaAttributes [2] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + -- Clause 6.3 describes when the mediaAttributes shall be present + encryptionKey [3] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + sessionName [4] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + sessionInfo [5] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + copyOfSDPMessage [6] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + ..., + frameType [7] FrameType OPTIONAL, + -- Populated if one or more protocol layers are missing from CC data + -- May be omitted if all headers are present. + alternateProtocol [8] AlternateProtocol OPTIONAL + -- Used to identify the protocol of packets sent in pstnIsdnCCContents + + +} + +InformationAppliesTo ::= SEQUENCE + -- Identifies the PDUs to which a piece of supplementary information applies +{ + payloadDirection [0] PayloadDirection, + -- The direction of the traffic to which this info applies + cCLinkID [1] INTEGER (0..65535) OPTIONAL, + -- If there are multiple CCLinks, this field states CCLink to which this info applies + firstPDUNumber [2] INTEGER (0..4294967295) OPTIONAL, + -- The supplementary info applies to all PDUs with this sequence number and above + ... +} + +FrameType ::= ENUMERATED +{ + ipFrame(0), + -- All headers are present. Use AlternateProtocol to signal the contents if not RTP + udpFrame(1), + -- IP header is missing. Use AlternateProtocol to signal the contents if not RTP + applicationFrame(2), + -- UDP and IP headers are missing. Use AlternateProtocol to signal the contents if not RTP + audioFrame(3), + -- All headers are missing + ..., + artificialRtpFrame(4) + -- UDP and IP headers are missing, artificial RTP frame has been added + +} +AlternateProtocol ::= ENUMERATED +{ + uDPTL(1), + -- pstnIsdnCCContents parameter contains UDPTL packets + ... +} + + +-- ============================== +-- Description of the PstnIsdn CC +-- ============================== + +PstnIsdnCC ::= SEQUENCE +{ + pstnIsdnCCObjId [0] RELATIVE-OID, + pstnIsdnCCContents [1] OCTET STRING, + -- See clause 6.2 for definition of format of PstnIsdn CC + cCLinkID [2] INTEGER (0..65535) OPTIONAL, + -- Shall be present if multiple CCLinks are used (see clause 6.3.4) + ..., + supplementaryInfo [3] SupplementaryInfo OPTIONAL + -- Shall be present at least in the first PDU +} + +END -- end of PstnIsdnPDU diff --git a/102232-6/portal/PstnIsdnPDU,ver5.txt b/102232-6/portal/PstnIsdnPDU,ver5.txt new file mode 100644 index 0000000000000000000000000000000000000000..0983a7efa1bc842c6b92cbdddb947bdd1cde1f27 --- /dev/null +++ b/102232-6/portal/PstnIsdnPDU,ver5.txt @@ -0,0 +1,125 @@ +-- =============================== +-- Description of the PstnIsdn PDU +-- =============================== + +PstnIsdnPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) pstnIsdn(6) version5(5)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +IMPORTS + + + + -- from TS 102 232-01 [2] + PayloadDirection + FROM LI-PS-PDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader(1) version18(18)}; + + +-- ============================ +-- Object Identifier Definition +-- ============================ + + -- definitions are relative to + -- {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulintercept(2)} +pstnIsdnIRIObjId RELATIVE-OID ::= {li-ps(5) pstnIsdn(6) version5(5) iRI(1)} +pstnIsdnCCObjId RELATIVE-OID ::= {li-ps(5) pstnIsdn(6) version5(5) cC(2)} + + +-- =============================== +-- Description of the PstnIsdn IRI +-- =============================== + +PstnIsdnIRI ::= SEQUENCE +{ + pstnIsdnIRIObjId [0] RELATIVE-OID, + pstnIsdnIRIContents [1] PstnIsdnIRIContents +} + +PstnIsdnIRIContents ::= CHOICE +{ + supplementaryInfo [0] SupplementaryInfo, + ... +} + +SupplementaryInfo ::= SEQUENCE +{ + informationAppliesTo [0] InformationAppliesTo, + -- Identifies the PDUs to which this info applies + mediaFormat [1] INTEGER (0..127), + -- As defined in RFC 3551 [10] + mediaAttributes [2] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + -- Clause 6.3 describes when the mediaAttributes shall be present + encryptionKey [3] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + sessionName [4] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + sessionInfo [5] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + copyOfSDPMessage [6] OCTET STRING OPTIONAL, + -- Format as per RFC 4566 [7] + ..., + frameType [7] FrameType OPTIONAL, + -- Populated if one or more protocol layers are missing from CC data + -- May be omitted if all headers are present. + alternateProtocol [8] AlternateProtocol OPTIONAL + -- Used to identify the protocol of packets sent in pstnIsdnCCContents + + +} + +InformationAppliesTo ::= SEQUENCE + -- Identifies the PDUs to which a piece of supplementary information applies +{ + payloadDirection [0] PayloadDirection, + -- The direction of the traffic to which this info applies + cCLinkID [1] INTEGER (0..65535) OPTIONAL, + -- If there are multiple CCLinks, this field states CCLink to which this info applies + firstPDUNumber [2] INTEGER (0..4294967295) OPTIONAL, + -- The supplementary info applies to all PDUs with this sequence number and above + ... +} + +FrameType ::= ENUMERATED +{ + ipFrame(0), + -- All headers are present. Use AlternateProtocol to signal the contents if not RTP + udpFrame(1), + -- IP header is missing. Use AlternateProtocol to signal the contents if not RTP + applicationFrame(2), + -- UDP and IP headers are missing. Use AlternateProtocol to signal the contents if not RTP + audioFrame(3), + -- All headers are missing + ..., + artificialRtpFrame(4) + -- UDP and IP headers are missing, artificial RTP frame has been added + +} +AlternateProtocol ::= ENUMERATED +{ + uDPTL(1), + -- pstnIsdnCCContents parameter contains UDPTL packets + ... +} + + +-- ============================== +-- Description of the PstnIsdn CC +-- ============================== + +PstnIsdnCC ::= SEQUENCE +{ + pstnIsdnCCObjId [0] RELATIVE-OID, + pstnIsdnCCContents [1] OCTET STRING, + -- See clause 6.2 for definition of format of PstnIsdn CC + cCLinkID [2] INTEGER (0..65535) OPTIONAL, + -- Shall be present if multiple CCLinks are used (see clause 6.3.4) + ..., + supplementaryInfo [3] SupplementaryInfo OPTIONAL + -- Shall be present at least in the first PDU +} + +END -- end of PstnIsdnPDU diff --git a/102657/RDMessage.asn b/102657/RDMessage.asn new file mode 100644 index 0000000000000000000000000000000000000000..e806118ac58b26df5f381adefc8a154baf0d8e52 --- /dev/null +++ b/102657/RDMessage.asn @@ -0,0 +1,2870 @@ +RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version23(23)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +-- ============================= +-- Object Identifier definitions +-- ============================= + +-- RetainedData DomainId +retainedDataDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3)} + +-- rdHeader +rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version23(23)} + +-- ====================================== +-- Top level definitions for RDHI wrapper +-- ====================================== + +RetainedDataMessage ::= SEQUENCE +{ + rdHeaderId [0] OBJECT IDENTIFIER, + retainedDataHeader [1] RetainedDataHeader, + retainedDataPayload [2] RetainedDataPayload, + retainedDataDigest [3] OCTET STRING OPTIONAL, + -- The digitally signed hash of the combined fields above (retainedDataHeader and + -- retainedDataPayload) + ... +} + +-- ========================================================================== +-- Definitions for Retained Data header information, present in every message +-- ========================================================================== + +RetainedDataHeader ::= SEQUENCE +{ + requestID [1] RequestID, + cSPID [2] CSPID, + timeStamp [3] GeneralizedTime, + thirdPartyCSPID [4] CSPID OPTIONAL, + ... , + requestType [5] RequestType OPTIONAL, + requestFlag [6] RequestFlag OPTIONAL + -- Optional parameter specifying additional information associated with the request. + +} + +CSPID ::= UTF8String + -- Unique identifier for the CSP that issued the request + +RequestType ::= UTF8String +-- Description or reference of the type of Retained Data request + +RequestFlag ::= UTF8String + -- Configuration information associated with the request + +RequestID ::= SEQUENCE +{ + countryCode [1] CountryCode, + authorisedOrganisationID [2] AuthorisedOrganisationID, + requestNumber [3] RequestNumber OPTIONAL, + -- all messages except GetStatusMessage and StatusMessage have a request number + -- (see clause 6.1.2) + ..., + externalIdentifier [4] ExternalIdentifier OPTIONAL + -- Optional identifier for the request, for correlation with warrant management systems. +} + +CountryCode ::= UTF8String (SIZE(2)) +-- A country code as per ISO 3166-1 [4] + +AuthorisedOrganisationID::= UTF8String +-- A unique identifier for an Authorized Organization issuing a Retained Data request + +RequestNumber ::= UTF8String +-- Unique within a given country and Authorized Organization + +ExternalIdentifier ::= UTF8String + +-- ================================================= +-- Definitions for Retained Data payload information +-- ================================================= + +RetainedDataPayload ::= CHOICE + -- Payload can be a request, response, error or acknowledgement +{ + requestMessage [1] RequestMessage, + requestAcknowledgement [2] RequestAcknowledgement, + responseMessage [3] ResponseMessage, + responseAcknowledgement [4] ResponseAcknowledgement, + errorMessage [5] FurtherInformation, + cancelMessage [6] CancelMessage, + cancelAcknowledgement [7] CancelAcknowledgement, + getstatusMessage [8] GetStatusMessage, + statusMessage [9] StatusMessage, + getResultsMessage [10] GetResultsMessage, + ..., + supplementaryRequest [11] SupplementaryRequest, + supplementaryResponse [12] SupplementaryResponse +} + +-- ================================================== +-- Definitions of Request message and acknowledgement +-- ================================================== + +RequestMessage ::= SEQUENCE +{ + requestPriority [1] RequestPriority OPTIONAL, + requestParameters [2] RequestConstraints OPTIONAL, + -- Optional only in case a warrant is transmitted independently of a request + deliveryPointHIB [3] DeliveryPointHIB OPTIONAL, + -- pre-arranged set of delivery address(es) of that specific Authorized Organization + maxHits [4] INTEGER OPTIONAL, + -- Maximum number of records to be returned. + -- On a national basis maximum numbers could be considered + -- In case of maxHit a responseFailed message is sent and no data is sent + -- This parameter shall not be used simultaneously with the numberOfRecordsLimit parameter. + -- (see clause 6.3.3.2) + nationalRequestParameters [5] NationalRequestParameters OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + -- or to transmit a warrant. + ..., + maxRecordsPerBatch [6] INTEGER OPTIONAL, + -- Indicates that multi-part delivery shall be used and each ResponseMessage shall not + -- contain more records than specified. (see clause 6.3.3.3) + requestedData [7] SEQUENCE OF UTF8String OPTIONAL, + -- only to use in case of selective requests, it contains + -- the path to the selected parameter in XPATH notation + numberOfRecordsLimit [8] INTEGER OPTIONAL + -- Indicates the upper limit on the number of records to be provided by the CSP. + -- This parameter shall not be used simultaneously with the maxHits parameter. + -- (see clause 6.3.3.4) +} + +DeliveryPointHIB ::= UTF8String + +RequestConstraints ::= SEQUENCE +{ + equals [1] RetainedDataRecord OPTIONAL, + notEqualTo [2] RetainedDataRecord OPTIONAL, + lessThan [3] RetainedDataRecord OPTIONAL, + -- For numerical values + lessThanOrEqualTo [4] RetainedDataRecord OPTIONAL, + -- For numerical values + greaterThan [5] RetainedDataRecord OPTIONAL, + -- For numerical values + greaterThanOrEqualTo [6] RetainedDataRecord OPTIONAL, + -- For numerical values + startsWith [7] RetainedDataRecord OPTIONAL, + -- For strings + endsWith [8] RetainedDataRecord OPTIONAL, + -- For strings + isAMemberOf [9] SEQUENCE OF RetainedDataRecord OPTIONAL, + ... +} + +RequestPriority ::= OCTET STRING + -- Priority considerations are a matter for national implementation + -- This standard makes no statement regarding how such priorities are represented or used + +RequestAcknowledgement ::= SEQUENCE +{ + suggestedCompletionTime [1] GeneralizedTime OPTIONAL, + -- Indicative time that results will be ready + -- Purely informational, not binding for either party + ... +} + +-- =================================================== +-- Definitions of Response message and acknowledgement +-- =================================================== + +ResponseMessage ::= SEQUENCE +{ + responseStatus [1] ResponseStatus, + responsePayload [2] SEQUENCE OF ResponseRecord OPTIONAL, + -- Clause 6 explains use of this field + -- A responseUnavailable message shall not have a responsePayload (see clause 5.3.1) + -- The responseComplete and responseIncomplete message shall have a responsePayload + -- If there are no responses, the responsePayload is present but has zero entries + nationalResponsePayload [3] NationalResponsePayload OPTIONAL, + -- to be defined on a national basis + -- only to be used in case the present document cannot fulfil the national requirements + ..., + responseNumber [4] INTEGER OPTIONAL, + -- number to identify partial results within parallel multi-part delivery + numberOfRecordsFound [5] INTEGER OPTIONAL + -- Indicates the total number of records found by the CSP when the value set in the + -- numberOfRecordsLimit has been reached or exceeded. + -- (see clause 6.3.3.4) +} + +ResponseStatus ::= CHOICE +{ + responseComplete [1] NULL, + -- No further results to come + responseIncomplete [2] NULL, + -- There will be at least one further response message to come + responseUnavailable [3] NULL, + -- See clause 5.3.1 + responseFailed [4] FurtherInformation, + -- See clauses 6.2.2.2 and 6.3.3.2 + ... +} + +ResponseRecord ::= SEQUENCE +{ + recordNumber [1] INTEGER, + recordPayload [2] RetainedDataRecord, + additionalInformation [3] AdditionalInformation OPTIONAL, + -- see clause 6.2.4 + nationalRecordPayload [4] NationalRecordPayload OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ... +} + +AdditionalInformation ::= SEQUENCE +{ + contactInformation [1] UTF8String OPTIONAL, + -- Name or address of operator or person who may have further information + otherInformation [2] UTF8String OPTIONAL, + ... +} + +RetainedDataRecord ::= CHOICE +{ + telephonyRecord [1] TelephonyRecord, + -- Details are defined in Annex B + messageRecord [2] MessageRecord, + -- Details are defined in Annex C + networkAccess [3] NetworkAccessRecord, + -- Details are defined in Annex E + ..., + multimediaRecord [4] MultimediaRecord + -- Details are defined in Annex D + -- Other services will be included (as they are implemented) +} + +ResponseAcknowledgement ::= CHOICE +{ + -- Acknowledges a response has been sent + acknowledgeCompleteResults [1] NULL, + acknowledgePartialResults [2] NULL, + ..., + acknowledgePartialResultsNumber [3] INTEGER + -- number to acknowledge a specific resultMessage within parallel multi-part delivery +} + +-- ================================================== +-- Definitions of an error message and acknowledgment +-- ================================================== + +FurtherInformation ::= SEQUENCE +{ + information [1] UTF8String, + contactInformation [2] UTF8String OPTIONAL, + ..., + categorisedErrorDescription [3] CategorisedErrorDescription OPTIONAL -- see 6.4 +} + +CategorisedErrorDescription ::= SEQUENCE +{ + value [1] INTEGER, + description [2] UTF8String OPTIONAL, + ... +} + +-- =================================================== +-- Definitions of a cancel message and acknowledgement +-- =================================================== + +CancelMessage ::= NULL + -- Cancels an active request + +CancelAcknowledgement ::= NULL + -- Acknowledges the receipt of a cancel message (no other information required) + +-- =================================================== +-- Definitions of status request and response messages +-- =================================================== + +GetStatusMessage ::= SEQUENCE +{ + requestNumbers [1] SEQUENCE OF RequestNumber, + ... +} + +StatusMessage ::= SEQUENCE +{ + statusResponse [1] SEQUENCE OF StatusResponse, + ... +} + +StatusResponse ::= SEQUENCE +{ + requestNumber [1] RequestNumber, + requestStatus [2] RequestStatus, + ... +} + +RequestStatus ::= CHOICE +{ + ready [1] NULL, + incompleteResultsReady [2] NULL, + failureResponseReady [3] NULL, + notReady [4] NULL, + error [5] FurtherInformation, + inDelivery [6] NULL, + invalidRequestID [7] NULL, + ... +} + +-- ========================================== +-- Definitions of status get results messages +-- ========================================== + +GetResultsMessage ::= NULL + -- No further information required (the RequestID is given in the header) + +-- =================== +-- National parameters +-- =================== + +NationalRequestParameters ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- Country Code according to ISO 3166-1 [4], + -- 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 (...). + -- It is recommended that an version indicator is included in the national parameters + -- definition. +} + +NationalResponsePayload ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalRecordPayload ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +SupplementaryRequest ::= CHOICE +{ + nationalSupplementaryRequest [1] NationalSupplementaryRequest, + ... +} + +SupplementaryResponse ::= CHOICE +{ + nationalSupplementaryResponse [1] NationalSupplementaryResponse, + ... +} + +NationalSupplementaryRequest ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- Country Code according to ISO 3166-1 [4], + -- 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 (...). + -- It is recommended that a version indicator is included. +} + +NationalSupplementaryResponse ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- Country Code according to ISO 3166-1 [4], + -- 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 (...). + -- It is recommended that a version indicator is included. +} + +TimeSpan ::= SEQUENCE +{ + startTime [1] GeneralizedTime OPTIONAL, + endTime [2] GeneralizedTime OPTIONAL, + ..., + durationTime [3] INTEGER OPTIONAL + -- duration in seconds +} + +File ::= SEQUENCE +{ + mediaType [1] UTF8String, + -- Media type of the file, e.g. image/jpeg, application/pdf + -- Media types (formerly known as MIME types) are assigned and listed by the IANA + content [2] OCTET STRING, + -- Content of the file + ... +} + +-- ============================================== +-- Definitions for Generic Subscriber Information +-- ============================================== + +GenericSubscriberInfo ::= SEQUENCE +{ + organizationInfo [1] OrganizationInfo OPTIONAL, + individualInfo [2] IndividualInfo OPTIONAL, + ..., + contracts [3] SEQUENCE OF ContractInformation OPTIONAL +} + +OrganizationInfo ::= SEQUENCE +{ + name [1] UTF8String OPTIONAL, + -- name of the organization + contactDetails [2] ContactDetails OPTIONAL, + -- address, and name/phone number of a point of contact + nationalRegistrationID [3] UTF8String OPTIONAL, + -- e.g. social security number + ..., + registeredAddress [4] AddressInformation OPTIONAL, + tradingAddress [5] AddressInformation OPTIONAL, + otherAddresses [6] SEQUENCE OF OtherAddress OPTIONAL, + groupID [7] UTF8String OPTIONAL, + -- identity of organization group + groupAdministrator [8] UTF8String OPTIONAL, + -- identity of organization administrator + companyType [9] UTF8String OPTIONAL, + -- type of company + vatEnabled [10] BOOLEAN OPTIONAL, + -- VAT enabled or not + vatNumber [11] UTF8String OPTIONAL, + -- VAT number + createIP [12] IPAddress OPTIONAL, + -- IP used to create the subscriber account + createTime [13] GeneralizedTime OPTIONAL, + -- time that subscriber account was created + modifiedDate [14] GeneralizedTime OPTIONAL + -- date that subscriber account was modified +} + +IndividualInfo ::= SEQUENCE +{ + name [1] PersonName OPTIONAL, + contactAddress [2] ContactDetails OPTIONAL, + dateOfBirth [3] GeneralizedTime OPTIONAL, + gender [4] ENUMERATED + { + male(0), + female(1), + ... + } OPTIONAL, + identificationNumber [5] UTF8String OPTIONAL, + authenticationInfo [6] AuthenticationInfo OPTIONAL, + ..., + profession [7] UTF8String OPTIONAL, + otherAddresses [8] SEQUENCE OF OtherAddress OPTIONAL, + createTime [9] GeneralizedTime OPTIONAL + -- time that subscriber account was created +} + +ContractInformation ::= SEQUENCE +{ + contractDesignation [1] UTF8String OPTIONAL, + contractNumber [2] UTF8String OPTIONAL, + otherInformation [3] UTF8String OPTIONAL, + timeSpan [4] TimeSpan OPTIONAL, + contractDocuments [5] SEQUENCE OF File OPTIONAL, + ... +} + +PersonName ::= SEQUENCE +{ + salutation [1] UTF8String OPTIONAL, + surname [2] UTF8String OPTIONAL, + -- the non-chosen or inherited name of an individual, e.g. "Arend" + surnamePrefix [3] UTF8String OPTIONAL, + -- any prefix before the surname, e.g. "von", "van der" + surnameSuffix [4] UTF8String OPTIONAL, + -- any suffix after the surname, e.g. "Jr", "III" + middleNames [5] UTF8String OPTIONAL, + -- that part of the name excluding forename, separable and preceding the surname + firstname [6] UTF8String OPTIONAL, + -- the first name or initials, e.g. "Peter" + ..., + secondsurname [7] UTF8String OPTIONAL, + -- a second surname is used in several countries + secondsurnamePrefix [8] UTF8String OPTIONAL, + secondsurnameSuffix [9] UTF8String OPTIONAL +} + +ContactDetails ::= SEQUENCE +{ + address [1] AddressInformation OPTIONAL, + emailAddress [2] UTF8String OPTIONAL, + contactNumber [3] SEQUENCE OF PartyNumber OPTIONAL, + -- several numbers (work, home, mobile) may be given for a single subscriber + ..., + additionalEmailAddresses [4] SEQUENCE OF UTF8String OPTIONAL + -- several email addresses may be given for a single subscriber +} + +AddressInformation ::= SEQUENCE +{ + flatNumber [1] UTF8String OPTIONAL, + buildingName [2] UTF8String OPTIONAL, + buildingNumber [3] UTF8String OPTIONAL, + streetName [4] UTF8String OPTIONAL, + poBox [5] UTF8String OPTIONAL, + -- PO box or Response number + postalCode [6] UTF8String OPTIONAL, + -- Postal code. Example: 2289AC + region [7] UTF8String OPTIONAL, + province [8] UTF8String OPTIONAL, + language [9] UTF8String OPTIONAL, + city [10] UTF8String OPTIONAL, + country [11] CountryCode OPTIONAL, + -- Country code as defined in ISO 3166-1 [4] + validity [12] TimeSpan OPTIONAL, + -- time from which the address was registered + ..., + relatedOrganizationInfo [13] OrganizationInfo OPTIONAL, + relatedPersonName [14] PersonName OPTIONAL, + otherInformation [15] UTF8String OPTIONAL + -- additional information in cases of divergent addresses +} + +OtherAddress ::= SEQUENCE +{ + address [1] AddressInformation OPTIONAL, + addressType [2] UTF8String OPTIONAL, + -- Description of the type of address that has been given in the address field + addressComments [3] UTF8String OPTIONAL, + -- Any extra information to aid the understanding of the address given + ... +} + +AuthenticationInfo ::= SEQUENCE +{ + authenticationType [1] UTF8String OPTIONAL, + + authenticationNumber [2] UTF8String OPTIONAL, + + ..., + issuingCountry [3] UTF8String (SIZE (2)) OPTIONAL, + issuingOrganization [4] UTF8String OPTIONAL, + nationality [5] UTF8String OPTIONAL, + authenticationDocument [6] SEQUENCE OF File OPTIONAL + +} + + +PaymentDetails ::= SEQUENCE +{ + billingMethod [1] BillingMethod OPTIONAL, + bankAccount [2] BankAccount OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + ..., + billingIdentifier [4] BillingIdentifier OPTIONAL +} + +BankAccount ::= SEQUENCE +{ + iBAN [1] IBAN OPTIONAL, + bIC [2] BIC OPTIONAL, + accountHolder [3] UTF8String OPTIONAL, + nationalAccountNumber [4] UTF8String OPTIONAL, + -- To be used in case that the account holding bank has no IBAN + nationalBankNumber [5] UTF8String OPTIONAL, + -- To be used in case that the account holding bank has neither IBAN nor BIC + bankName [6] UTF8String OPTIONAL, + ..., + sepaRefNumber [7] UTF8String OPTIONAL + -- To be used for referenceNumber of a SEPA direct debit mandate +} + +IBAN ::= UTF8String + -- International Banking Account Number + -- format as per ISO 13616-1:2007 [28] + +BIC ::= UTF8String + -- Business Identifier Code + -- format as per ISO 9362:2009 [29] + +BillingMethod ::= ENUMERATED +{ + debit(0), + transfer(1), + prepaid(2), + ... +} + +TelephonyRecord ::= CHOICE +{ + telephonySubscriber [1] TelephonySubscriber, + telephonyBillingDetails [2] TelephonyBillingDetails, + telephonyServiceUsage [3] TelephonyServiceUsage, + telephonyDevice [4] TelephonyDevice, + telephonyNetworkElement [5] TelephonyNetworkElement, + ... +} + +-- ============================== +-- Definitions of Subscriber Data +-- ============================== + +TelephonySubscriber ::= SEQUENCE +{ + subscriberID [1] TelephonySubscriberId OPTIONAL, + -- unique identifier for this subscriber, e.g. account number + genericSubscriberInfo [2] GenericSubscriberInfo OPTIONAL, + -- generic personal information about this subscriber + telephonySubscriberInfo [3] TelephonySubscriberInfo OPTIONAL, + -- service-specific information about this subscriber + subscribedTelephonyServices [4] SEQUENCE OF SubscribedTelephonyServices OPTIONAL, + -- a subscriber (or account) may have more than one service listed against them + ..., + nationalTelephonySubscriberInfo [5] NationalTelephonySubscriberInfo OPTIONAL + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonySubscriberInfo ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonySubscriberId ::= UTF8String + -- unique identifier for this subscriber, e.g. account number + +TelephonySubscriberInfo ::= NULL + -- Reserved + +PartyNumberInfo ::= SEQUENCE +{ + partyNumber [1] PartyNumber OPTIONAL, + -- referenced partyNumber for the additional information in this type + timeSpan [2] TimeSpan OPTIONAL, + -- start and end date if applicable in which the number was active + disableReason [3] UTF8String OPTIONAL, + -- reason of temporarily disable procedure - if applicable + ... +} + +ICCIDInfo ::= SEQUENCE +{ + iCCID [1] UTF8String OPTIONAL, + timeSpan [2] TimeSpan OPTIONAL, + -- activation- and deactivation-date if applicable in which the ICCID was active + ..., + pUK [3] UTF8String OPTIONAL, + -- PUK code associated with the ICCID + pUK2 [4] UTF8String OPTIONAL, + -- PUK2 code associated with the ICCID + iMSI [5] IMSI OPTIONAL, + sUPI [6] SUPI OPTIONAL, + gPSI [7] GPSI OPTIONAL +} + + +LoginInfo ::= SEQUENCE +{ + login [1] UTF8String OPTIONAL, + -- login used for authentication, usually a username or email address + password [2] UTF8String OPTIONAL, + serviceName [3] UTF8String OPTIONAL, + -- short description of the kind of service the login / password is used for + needsAdditionalAuthentication [4] BOOLEAN OPTIONAL, + -- true if additional authentication methods are required, like security questions or + -- e-tokens + timeSpan [5] TimeSpan OPTIONAL, + -- timespan when the login / password was valid + ... +} + +SubscribedTelephonyServices ::= SEQUENCE +{ + serviceID [1] UTF8String OPTIONAL, + -- Unique identifier for this service within the operator + providerID [2] UTF8String OPTIONAL, + -- Unique identifier for the service provider + timeSpan [3] TimeSpan OPTIONAL, + -- Start and end data, if applicable, of the subscription + registeredNumbers [4] SEQUENCE OF PartyNumber OPTIONAL, + -- The set of telephone numbers registered for this service + registeredICCID [5] UTF8String OPTIONAL, + serviceType [6] TelephonyServiceType OPTIONAL, + installationAddress [7] AddressInformation OPTIONAL, + -- installation address, if different from the registered address + connectionDate [8] GeneralizedTime OPTIONAL, + -- Date the subscriber was actually connected + -- (May differ from the start of subscription) + iMSI [9] IMSI OPTIONAL, + carrierPreselect [10] BOOLEAN OPTIONAL, + lineStatus [11] UTF8String OPTIONAL, + -- CSP-specific description of current line status, e.g. "Active", "Ceased", etc. + ..., + allocatedDeviceIDs [12] SEQUENCE OF TelephonyDeviceID OPTIONAL, + pUKCode [13] UTF8String OPTIONAL, + pUK2Code [14] UTF8String OPTIONAL, + iMEI [15] SEQUENCE OF IMEI OPTIONAL, + nationalTelephonySubscriptionInfo [16] NationalTelephonySubscriptionInfo OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + paymentDetails [17] PaymentDetails OPTIONAL, + subscriptionType [18] SubscriptionType OPTIONAL, + -- Describes the nature of the subscription + deliveryAddress [19] AddressInformation OPTIONAL, + resellerAddress [20] AddressInformation OPTIONAL, + otherAddresses [21] SEQUENCE OF OtherAddress OPTIONAL, + registeredNumbersInfo [22] SEQUENCE OF PartyNumberInfo OPTIONAL, + -- information about timespan of the active number and deactivation events + registeredICCIDs [23] SEQUENCE OF ICCIDInfo OPTIONAL, + -- in cases of MultiSIM card contracts + loginInfos [24] SEQUENCE OF LoginInfo OPTIONAL, + -- e.g. login information according a VMS/UMS account + paymentTransactions [25] SEQUENCE OF BillingRecords OPTIONAL +} + + +SubscriptionType ::= ENUMERATED +{ + unknown(0), + postpay(1), + prepay(2), + other(3), + ... +} + -- Describes the nature of the subscription + +NationalTelephonySubscriptionInfo ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyBillingDetails ::= SEQUENCE +{ + subscriberID [1] TelephonySubscriberId OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] BillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL, + ..., + nationalTelephonyBillingDetails [6] NationalTelephonyBillingDetails OPTIONAL + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonyBillingDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +BillingIdentifier ::= OCTET STRING + -- Used to correlate billing information + -- useful if the bill-payer is not the subscriber, e.g. company mobiles + +BillingRecords ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + place [2] UTF8String OPTIONAL, + amount [3] REAL OPTIONAL, + currency [4] UTF8String (SIZE(3)) OPTIONAL, + -- as per ISO 4217 [5] + method [5] UTF8String OPTIONAL, + -- i.e. credit card, etc. + ..., + nationalTelephonyBillingRecords [6] NationalTelephonyBillingRecords OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + transactionID [7] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + transactionStatus [8] UTF8String OPTIONAL, + -- Status of the transaction (i.e. "declined", "succeeded", etc.) + -- Details to be defined on a national bases + copyOfBill [9] SEQUENCE OF File OPTIONAL +} + + +NationalTelephonyBillingRecords ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyServiceType ::= ENUMERATED +{ + private(0), + privatePABX(1), + publicPayphone(2), + ... +} + +-- ================================= +-- Definitions of Service Usage Data +-- ================================= + +TelephonyServiceUsage ::= SEQUENCE +{ + partyInformation [1] SEQUENCE OF TelephonyPartyInformation OPTIONAL, + -- This parameter provides the concerned party (Originating, Terminating or + -- forwarded party), the identity(ies) of the party and all the information + -- provided by the party + communicationTime [2] TimeSpan OPTIONAL, + -- Time and duration of the communication + eventInformation [3] SEQUENCE OF TelephonyEventInformation OPTIONAL, + -- A list of events that occurred during this service usage + endReason [4] INTEGER OPTIONAL, + -- Q.850 cause code for call termination + communicationType [5] TelephonyCommunicationType OPTIONAL, + bearerService [6] TelephonyBearerService OPTIONAL, + smsInformation [7] SmsInformation OPTIONAL, + ringDuration [8] INTEGER OPTIONAL, + ..., + mmsInformation [9] MmsInformation OPTIONAL, + nationalTelephonyServiceUsage [10] NationalTelephonyServiceUsage OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + operatorSpecificCallDetails [11] UTF8String OPTIONAL + -- CSP specific value which indicates the nature of a call + -- (e.g. "CallIndicator: GPR, CallActionCode: 2") +} + +NationalTelephonyServiceUsage ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyPartyInformation ::= SEQUENCE +{ + partyRole [1] TelephonyPartyRole OPTIONAL, + partyNumber [2] PartyNumber OPTIONAL, + subscriberID [3] TelephonySubscriberId OPTIONAL, + deviceID [4] TelephonyDeviceID OPTIONAL, + locations [5] SEQUENCE OF TelephonyLocation OPTIONAL, + -- List of cell locations used by this party during the service usage + communicationTime [6] TimeSpan OPTIONAL, + -- Time and duration of the communication + iMSI [8] IMSI OPTIONAL, + natureOfAddress [9] UTF8String OPTIONAL, + -- Nature of address indicator, e.g. "National", "International" + forwardedTransferredNumber [10] PartyNumber OPTIONAL, + terminatingTransferredNumber [11] PartyNumber OPTIONAL, + ..., + emailAddress [12] UTF8String OPTIONAL, + -- used for MMS that supports also the use of E-Mail addresses (RFC 5322 [24]) + iMEI [13] IMEI OPTIONAL, + detailedLocation [14] TelephonyNetworkElement OPTIONAL, + -- In the case detailed location information per call and party is available + -- (e.g. the geoCoordinates for this partyNumber) + nationalTelephonyPartyInformation [15] NationalTelephonyPartyInformation OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + partyType [16] TelephonyPartyType OPTIONAL, + dialledDigits [17] UTF8String OPTIONAL +} + +NationalTelephonyPartyInformation ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyPartyType ::= CHOICE +{ + voicemail [1] NULL, + smsServer [2] NULL, + other [3] UTF8String, + ... +} + +TelephonyCommunicationType ::= ENUMERATED +{ + telephonyFixedCS(0), + telephonyWirelessCS(1), + sMS(2), + ..., + mMS(3) +} + +TelephonyBearerService ::= ENUMERATED +{ + speech(0), + data(1), + fax(2), + ... +} + +SmsInformation ::= SEQUENCE +{ + smsEvent [1] ENUMERATED + { + shortMessage(1), + shortPartMessage(2), + compositeMessage(3), + notificationMessage(4), + ... + } OPTIONAL, + smsType [2] ENUMERATED + { + deliverSCtoMS(1), + deliverReportMStoSC(2), + statusReportSCtoMS(3), + commandMStoSC(4), + submitMStoSC(5), + submitReportSCtoMS(6), + reservedMTIValue(7), + ... + } OPTIONAL, + smsStatus [3] ENUMERATED + { + delivered(0), + expired(1), + deleted(2), + replaced(3), + submitted(4), + incomplete-submission(5), + incomplete-delivery(6), + undeliverable(7), + passed-on(8), + ... + } OPTIONAL, + smsCmRefNr [4] OCTET STRING (SIZE(1..2)) OPTIONAL, + -- format as per 3GPP TS 23.040 [16] + smsNumOfSM [5] INTEGER (0..65535) OPTIONAL, + smsNotifyInd [6] BOOLEAN OPTIONAL, + smsProtocolId [7] OCTET STRING (SIZE(1)) OPTIONAL, + -- format as per 3GPP TS 23.040 [16] + ... +} + +MmsInformation ::= SEQUENCE +{ + mmsEvent [1] ENUMERATED + { + message(1), + notificationMessage(2), + deliveryReportMessage(3), + readReplyMessage(4), + ... + } OPTIONAL, + -- type of message exchanged + mmsStatus [2] ENUMERATED + { + delivered(0), + expired(1), + deleted(2), + replaced(3), + submitted(4), + undeliverable(5), + passed-on(6), + delivery-rejection(7), + delivery-forward(8), + delivery-copy(9), + submission-rejection(10), + submission-failure(11), + ..., + delivered-application(12) + -- optional flag indicating MMS was retrieved using + -- something other than mobile deivce e.g. web browser + } OPTIONAL, + mmsNotifInd [3] BOOLEAN OPTIONAL, + -- indication that a delivery notification has been generated + mmsMsgMod [4] ENUMERATED + { + none(1), + modified(2), + stripped(3), + ... + } OPTIONAL, + -- message modification indication for MMS + ... +} + +TelephonyEventInformation ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + -- time when the event occurred + type [2] TelephonyEventType OPTIONAL, + -- type of event + party [3] TelephonyPartyRole OPTIONAL, + -- party to which the event is related + location [4] TelephonyLocation OPTIONAL, + ... +} + +TelephonyEventType ::= CHOICE +{ + basicEventType [1] BasicEventType, + callConferenceEventType [2] CallConferenceEventType, + callForwardingEventType [3] CallForwardingEventType, + messagingEventType [4] MessagingEventType, + prepayServiceEventType [5] PrepayServiceEventType, + ..., + nationalTelephonyEventType [6] NationalTelephonyEventType + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonyEventType ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +BasicEventType ::= ENUMERATED +{ + handover(1), + hold(2), + retrieve(3), + suspend(4), + resume(5), + ect(6), + mpty(7), + mptyHold(8), + mptyRetrieve(9), + mptySplit(10), + uus1(11), + uus2(12), + uus3(13), + serviceSpeech(14), + serviceFax(15), + tpyInvoke(16), + tpyPrivateComm(17), + serviceActivation(18), + transit(19), + mSOriginating(20), + callForwarding(21), + mSTerminating(22), + ..., + callAttempt(23), + callStart(24), + callEnd(25), + cliWithheld(26) +} + +CallForwardingEventType ::= ENUMERATED +{ + cfuActivation(1), + cfuModification(2), + cfuDe-activation(3), + cfcNoReplyActivation(4), + cfcNoReplyModification(5), + cfcNoReplyDe-activation(6), + cfcBusyActivation(7), + cfcBusyModification(8), + cfcBusyDe-activation(9), + cfcOutOfRangeActivation(10), + cfcOutOfRangeModification(11), + cfcOutOfRangeDe-activation(12), + cfcUnavailableActivation(13), + cfcUnavailableModification(14), + cfcUnavailableDe-activation(15), + cfuFaxActivation(16), + cfuFaxModification(17), + cfuFaxDe-activation(18), + ... +} + +CallConferenceEventType ::= ENUMERATED +{ + confBeginSeizure(1), + confAdd(2), + confSplit(3), + confIsolate(4), + confReattach(5), + confDrop(6), + confBeginActive(7), + ... +} + +MessagingEventType ::= ENUMERATED +{ + mSOriginatingSMSinMSC(1), + mSTerminatingSMSinMSC(2), + shortMessageDelivery(3), + mMMessage(4), + mMNotification(5), + mMDeliveryReport(6), + mMReadReply(7), + ... +} + +PrepayServiceEventType ::= ENUMERATED +{ + serviceActivation(1), + ... +} + +TelephonyLocation ::= SEQUENCE +{ + telephonyNetworkID [1] TelephonyNetworkID OPTIONAL, + -- ID of the network element location (e.g. Cell ID) + timeSpan [2] TimeSpan OPTIONAL, + -- Time span that this location was valid for + ..., + nationalTelephonyLocation [3] NationalTelephonyLocation OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + detailedLocation [4] TelephonyNetworkElement OPTIONAL + -- The extended information for this network element as it was at the time of the + -- communication +} + +NationalTelephonyLocation ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyPartyRole ::= ENUMERATED +{ + originating-Party(0), + terminating-Party(1), + forwarded-to-Party(2), + originalCalled(3), + redirecting(4), + connected(5), + userProvidedCalling(6), + roaming(7), + translated(8), + singlePersonalNumber(9), + smsOriginator(10), + smsRecipient(11), + smsOriginatorTrn(12), + smsRecipientTrn(13), + ..., + mmsOriginator(14), + mmsRecipient(15), + mmsOriginatorTrn(16), + mmsRecipientTrn(17) +} + +-- ======================= +-- Device Data definitions +-- ======================= + +TelephonyDevice ::= SEQUENCE +{ + deviceIDType [1] ENUMERATED + -- Type of identifier for telephony device + { + unknown(0), + imei(1), + macAddress(2), + ... + } OPTIONAL, + telephonyDeviceID [2] TelephonyDeviceID OPTIONAL, + -- Unique identifier for this telephony device according to type of identifier + ..., + subscriberID [3] TelephonySubscriberId OPTIONAL, + -- Identifier for a known user of this equipment. + -- Usage of this parameter is subject to national legislation. + nationalTelephonyDevice [4] NationalTelephonyDevice OPTIONAL + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonyDevice ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyDeviceID ::= OCTET STRING + -- A unique identifier for the telephony device. For example, the IMEI number + -- of a mobile handset + +-- ======================== +-- Network Data definitions +-- ======================== + +TelephonyNetworkElement ::= SEQUENCE +{ + telephonyNetworkID [1] TelephonyNetworkID OPTIONAL, + cellInformation [2] Location OPTIONAL, + -- The Location information id + validity [3] TimeSpan OPTIONAL, + ..., + nationalTelephonyNetworkElement [4] NationalTelephonyNetworkElement OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + transmitterDetails [5] TransmitterDetails OPTIONAL +} + +NationalTelephonyNetworkElement ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyNetworkID ::= OCTET STRING + -- Unique identifier for this network element: e.g. a Cell ID + +TransmitterDetails ::= SEQUENCE +{ + alternativeID [1] UTF8String OPTIONAL, + -- For use by CSPs with an alternative naming scheme for cells + beamWidth [2] INTEGER OPTIONAL, + -- beam width in degrees + -- note that the beam bearing is given in the gsmLocation Azimuth field + radiatedPower [3] INTEGER OPTIONAL, + -- Effective radiated power in watts. + antennaHeight [4] INTEGER OPTIONAL, + -- Height of antenna from ground in metres + range [5] INTEGER OPTIONAL, + -- Indication of range or radius of cell or sector coverage, in metres + -- Precise definition is to be decided on a national basis (e.g. distance + -- at which some fixed percentage of calls are connected) + frequency [6] INTEGER OPTIONAL, + -- transmitter frequency in kHz + technology [7] TransmitterTechnology OPTIONAL, + nationalTransmitterDetails [8] NationalTransmitterDetails OPTIONAL, + ... +} + +TransmitterTechnology ::= ENUMERATED +{ + gen2G(0), -- This corresponds to GERAN in ETSI TS 129 274 [32] + gen3G(1), -- This corresponds to UTRAN in ETSI TS 129 274 [32] + ..., + eUTRAN(2), + wLAN(3), + hSPAEvolution(4), + gAN(5), + vIRTUAL(6), + eUTRANNBIoT(7), + lTEM(8), + nR(9) + -- Note that the labels are taken from ETSI TS 129 274 [32] v15.9.0 clause 8.17, though the + -- enumeration values (0 to 9) are not. +} + + +NationalTransmitterDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +-- ==================== +-- Location information +-- ==================== + +Location ::= SEQUENCE +{ + e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, + -- Coded in the same format as the ISUP location number (parameter field) + -- of the ISUP (see ETSI EN 300 356 [7]) + globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, + -- See MAP format (see ETSI TS 100 974 [8]) + rAI [3] OCTET STRING (SIZE (6)) OPTIONAL, + -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with + -- ETSI TS 124 008 [9] without the Routing Area Identification IEI (only the + -- last 6 octets are used) + gsmLocation [4] GSMLocation OPTIONAL, + umtsLocation [5] UMTSLocation OPTIONAL, + sAI [6] OCTET STRING (SIZE (7)) OPTIONAL, + -- format: PLMN-ID 3 octets (no. 1-3) + -- LAC 2 octets (no. 4-5) + -- SAC 2 octets (no. 6-7) + -- (according to ETSI TS 125 413 [31]) + oldRAI [7] OCTET STRING (SIZE (6)) OPTIONAL, + -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with + -- ETSI TS 124 008 [9] without the Routing Area Identification IEI + -- (only the last 6 octets are used) + -- This parameter is duplicated from ETSI TS 133 108 [11] + ..., + postalLocation [8] AddressInformation OPTIONAL, + extendedLocation [9] ExtendedLocation OPTIONAL, + userLocationInformation [10] OCTET STRING (SIZE(1..35)) OPTIONAL, + -- coded according to ETSI TS 129 274 [32]; the type IE is not included + tAI [11] OCTET STRING (SIZE (6)) OPTIONAL, + eCGI [12] OCTET STRING (SIZE (8)) OPTIONAL, + maritimeTransport [13] MaritimeTransport OPTIONAL, + -- Information about the mobile cells embarked on ships using + -- satellite transponder backhaul + airTransport [14] AirTransport OPTIONAL, + -- Information about the mobile cells embarked on aircraft using + -- satellite transponder backhaul + bSSID [15] OCTET STRING (SIZE (6)) OPTIONAL, + -- 48-bit (6 octet) MAC address of the WLAN access point derived from the BSSID + nCGI [16] NCGI OPTIONAL, + -- format as specified in 3GPP TS 38.413 [42]. + n3gaLocation [17] OCTET STRING (SIZE (4)) OPTIONAL, + -- The use of this parameter is not recommended, as it is not aligned + -- with the format specified in ETSI TS 129 571 [43] + -- The parameter n3gppaLocation should be used instead. + trackingAreaIdentifier [18] OCTET STRING (SIZE (5..6)) OPTIONAL, + -- where: MCC+MNC = 3 octets, TAC (4G) = 2 octets or + -- TAC (5G) = 3 octets and without length indicator + locationInformationSource [19] UTF8String OPTIONAL, + n3gppaLocation [20] N3gppaLocation OPTIONAL, + -- format as specified in ETSI TS 129 571 [43] + transmitterDetails [21] TransmitterDetails OPTIONAL +} + +NCGI ::= SEQUENCE +{ + pLMNID [1] PLMNID, + nRCellID [2] NRCellID +} + +N3gppaLocation ::= SEQUENCE +{ + n3gppTai [1] OCTET STRING (SIZE (5..6)) OPTIONAL, + n3IwfId [2] OCTET STRING (SIZE (5)) OPTIONAL, + -- Composed of the PLMN-ID (3 octets) and the N3IWF ID (2 + -- octets) according to ETSI TS 138 413 clause 9.3.1.57. + ueIpv4Addr [3] IPAddress OPTIONAL, + ueIpv6Addr [4] IPAddress OPTIONAL, + portNumber [5] INTEGER OPTIONAL, + ... +} + +NRCellID ::= BIT STRING (SIZE(36)) +-- TS 38.413 [23], clause 9.3.1.7 + +GSMLocation ::= CHOICE +{ + geoCoordinates [1] SEQUENCE + { + latitude [1] UTF8String (SIZE(7..10)) OPTIONAL, + -- format: XDDMMSS.SS + longitude [2] UTF8String (SIZE(8..11)) OPTIONAL, + -- format: XDDDMMSS.SS + mapDatum [3] MapDatum OPTIONAL, + azimuth [4] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + }, + -- format: XDDMMSS.SS (on latitudes) or XDDDMMSS.SS (on longitudes) + -- X : N(orth), S(outh), E(ast), W(est) + -- DD or DDD : degrees (numeric characters) + -- MM : minutes (numeric characters) + -- SS.SS : seconds, the second part (.SS) is optional + -- Example: + -- latitude (short form) N502312 + -- longitude (long form) E1122312.18 + utmCoordinates [2] SEQUENCE + { + utm-Zone [1] UTF8String (SIZE(3)) OPTIONAL, + utm-East [2] UTF8String (SIZE(6)) OPTIONAL, + utm-North [3] UTF8String (SIZE(7)) OPTIONAL, + -- Universal Transverse Mercator + -- example utm-Zone 32U + -- utm-East 439955 + -- utm-North 5540736 + mapDatum [4] MapDatum OPTIONAL, + azimuth [5] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + }, + utmRefCoordinates [3] SEQUENCE + { + utm-GridZone [1] UTF8String (SIZE(2)) OPTIONAL, + -- numerals from 1 to 60 + utm-GridBand [2] UTF8String (SIZE(1)) OPTIONAL, + -- character between C and X + squareID [3] UTF8String (SIZE(2)) OPTIONAL, + -- characters from A to Z + numericalLocationEasting [4] UTF8String (SIZE(5)) OPTIONAL, + numericalLocationNorthing [5] UTF8String (SIZE(5)) OPTIONAL, + -- Universal Transverse Mercator Reference = Military Grid Reference System (MGRS) + -- example utm-GridZone 32 + -- utm-GridBand U + -- squareID PU + -- numericalLocationEasting 9129 + -- mumericalLocationNorthing 4045 + -- In both panels, utm-GridBand and squareID the 'I' and 'O' characters are not used + -- because of their similarity to the digits one and zero. + mapDatum [6] MapDatum OPTIONAL, + azimuth [7] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + }, + wGS84Coordinates [4] OCTET STRING, + -- format is as defined in 3GPP TS 03.32 [12] + ..., + geoCoordinatesDec [5] SEQUENCE + { + latitudeDec [1] UTF8String (SIZE(3..12)) OPTIONAL, + -- format: XDD.nnnnnnnn + longitudeDec [2] UTF8String (SIZE(4..13)) OPTIONAL, + -- format: XDDD.nnnnnnnn + mapDatum [3] MapDatum OPTIONAL, + azimuth [4] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + } + -- format: XDD.nnnnnnnn (on latitudes) or XDDD.nnnnnnnn (on longitudes) + -- X : N(orth), S(outh), E(ast), W(est) + -- DD or DDD : degrees (numeric characters) + -- nnnnnnnn : post decimal positions (numeric characters) + -- Example: + -- latitude N50.38666667 + -- longitude E112.38671670 +} + +MapDatum ::= ENUMERATED +{ + wGS84(1), + -- World Geodetic System 1984 + wGS72(2), + eD50(3), + -- European Datum 50 + rD(4), + -- Rijks Driehoek (Netherlands) + potsdamDatum(5), + datumAustria(6), + eTRS89(7), + -- European Terrestrial Reference System 1989 + nAD27(8), + -- North American Datum 1927 + oSGB36(9), + -- Ordnance Survey of Great Britain + oSNI52(10), + -- Ordnance Survey of Northern Ireland + tM65(11), + iTM(12), + -- Irish Transverse Mercator + ..., + cH1903(13), + -- Swiss reference system + cH1903Plus(14) + -- New Swiss reference system +} + + +UMTSLocation ::= CHOICE +{ + point [1] GA-Point, + pointWithUnCertainty [2] GA-PointWithUnCertainty, + polygon [3] GA-Polygon, + ... +} + +GeographicalCoordinates ::= SEQUENCE +{ + latitudeSign [1] ENUMERATED + { + north(0), + south(1) + } OPTIONAL, + latitude [2] INTEGER (0..8388607) OPTIONAL, + longitude [3] INTEGER (-8388608..8388607) OPTIONAL, + ..., + mapDatum [4] MapDatum OPTIONAL, + azimuth [5] INTEGER (0..359) OPTIONAL + -- The azimuth is the bearing, relative to true north +} + +GA-Point ::= SEQUENCE +{ + geographicalCoordinates [1] GeographicalCoordinates, + ... +} + +GA-PointWithUnCertainty ::=SEQUENCE +{ + geographicalCoordinates [1] GeographicalCoordinates, + uncertaintyCode [2] INTEGER (0..127) +} + +maxNrOfPoints INTEGER ::= 15 + +GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF GA-Polygon-Elements + +GA-Polygon-Elements ::= SEQUENCE +{ + geographicalCoordinates [1] GeographicalCoordinates, + ... +} + +ExtendedLocation ::= CHOICE +{ + spot [1] Spot, + circle [2] Circle, + region [3] Region, + route [4] Route, + ... +} + +Spot ::= CHOICE +{ + gsmLocation [1] GSMLocation, + postalLocation [2] AddressInformation, + ... +} + +Circle ::= SEQUENCE +{ + centre [1] Spot, + radius [2] HorizontalExtent, + ... +} + +Region ::= SEQUENCE +{ + cornerMarks [1] SEQUENCE OF Spot, + ... +} + +Route ::= SEQUENCE +{ + routeMarks [1] SEQUENCE OF Spot, + width [2] HorizontalExtent OPTIONAL, + ... +} + +HorizontalExtent ::= INTEGER + -- metres + +MaritimeTransport ::= SEQUENCE +{ + shipName [1] UTF8String OPTIONAL, + -- Registered ship name + imoNumber [2] IA5String (SIZE(10)) OPTIONAL, + -- International Maritime Organization (IMO) ship number: + -- IMO prefix with 7-digit number, e.g. IMO7812345 + ... +} + +AirTransport ::= SEQUENCE +{ + iATAAirlineCode [1] IA5String (SIZE(2)) OPTIONAL, + -- Two-character designation code assigned to the airline + -- by the International Air Transport Association (IATA) + iCAOOperatorCode [2] IA5String (SIZE(3)) OPTIONAL, + -- Three-letter designation code assigned to the aircraft operator agency + -- by the International Civil Aviation Organization (ICAO). + -- The iCAOOperatorCode should be used only when the aircraft operator does not have + -- an assigned IATA airline code. + aircraftRegistration [3] UTF8String OPTIONAL, + -- Aircraft identification as in the aircraft's certificate of registration + -- e.g. G-IABC, N99999, F-OAAA + flightNumber [4] IA5String OPTIONAL, + -- Flight number assigned by the airline operating the aircraft + ... +} + + +-- =================== +-- General definitions +-- =================== + +PartyNumber ::= UTF8String + -- E.164 address of the party in international format + +MessageRecord ::= CHOICE +{ + msgSubscriber [1] MsgSubscriber, + msgServiceUsage [2] MsgServiceUsage, + ..., + msgBillingDetails [3] MsgBillingDetails +} + +-- ====================================== +-- Definitions of Message Subscriber Data +-- ====================================== + +MsgSubscriber ::= SEQUENCE + -- Generic information on a service subscriber, supplemented with information specific to + -- asynchronous message services +{ + validity [1] TimeSpan OPTIONAL, + subscriberID [2] MsgSubscriberID OPTIONAL, + msgStores [3] SEQUENCE OF MsgStore OPTIONAL, + -- message stores allocated to this subscriber + subscriber [4] GenericSubscriberInfo OPTIONAL, + ..., + paymentDetails [5] PaymentDetails OPTIONAL +} + +MsgSubscriberID ::= OCTET STRING + -- Unique identifier for this subscriber, e.g. account number + +MsgStore ::= SEQUENCE + -- Location into which messages are temporarily stored. All asynchronous message services by + -- definition require some message store. E.g. in the case of e-mail this will be a mailbox +{ + validity [1] TimeSpan OPTIONAL, + msgStoreID [2] MsgStoreID OPTIONAL, + aliases [3] SEQUENCE OF MsgAddress OPTIONAL, + -- The complete list of all addresses that get delivered into this message store. + providerID [4] MsgProviderID OPTIONAL, + ..., + msgForwardingAddresses [5] SEQUENCE OF MsgAddress OPTIONAL, + msgStoreSubscriberRelatedIDs [6] SEQUENCE OF ContactDetails OPTIONAL +} + +MsgStoreID ::= OCTET STRING + -- Unique identifier of the message store. Since not all IDs will necessarily be human + -- readable, a generic byte string is used + +MsgAddress ::= UTF8String + -- Messaging address, an address to which messages can be sent. In the case of Internet e-mail + -- this will be an RFC822-style address + -- NOTE - as of v1.2.1, this field has changed from OCTET STRING to UTF8String + +MsgProviderID ::= UTF8String + -- Unique identifier for a service provider, e.g. company name + -- NOTE - as of v1.2.1, this field has changed from OCTET STRING to UTF8String + +-- ==================================== +-- Definitions of Message Service Usage +-- ==================================== + +MsgServiceUsage ::= CHOICE + -- Choice of different types of activities + -- Manipulation of stored address books is outside the scope +{ + msgTransmission [1] MsgTransmission, + msgStoreOperation [2] MsgStoreOperation, + ... +} + +MsgTransmission ::= SEQUENCE + -- Sending of an outgoing message, or reception of an incoming message +{ + dateTime [1] GeneralizedTime OPTIONAL, + subscriberID [2] MsgSubscriberID OPTIONAL, + senderAddress [3] MsgAddress OPTIONAL, + recipients [4] SEQUENCE OF MsgAddress OPTIONAL, + msgStores [5] SEQUENCE OF MsgStoreID OPTIONAL, + -- List of all local msgStores that received a copy of the message + -- For transit messages this field is not used + deliveryStatus [6] ENUMERATED + { + unknown(0), + succeeded(1), + -- Delivery might still fail at a subsequent mail server + failed(2), + -- E.g. when mailbox quota exceeded (mailbox full) + retried(3), + -- Deferred and retried at a later time + ... + } OPTIONAL, + protocol [7] ENUMERATED + { + smtp(0), + x400(1), + ... + } OPTIONAL, + clientID [8] IPAddress OPTIONAL, + serverID [9] IPAddress OPTIONAL, + ..., + messageID [10] MessageID OPTIONAL, + sourceServerName [11] UTF8String OPTIONAL, + destinationServerName [12] UTF8String OPTIONAL +} + +MsgStoreOperation ::= SEQUENCE + -- Manipulation of a message store. +{ + dateTime [1] GeneralizedTime OPTIONAL, + subscriberID [2] MsgSubscriberID OPTIONAL, + msgStore [3] MsgStoreID OPTIONAL, + operation [4] ENUMERATED + { + connect(0), + -- Successful authorization for access to msgStore + disconnect(1), + retrieveMsg(2), + -- Viewing msg using a webmail client is also considered retrieval + partialretrieveMsg(3), + -- E.g. the TOP command in POP3 + deleteMsg(4), + addMsg(5), + -- E.g. the APPEND command in IMAP + ..., + editMsg(6) + } OPTIONAL, + senderAddress [5] MsgAddress OPTIONAL, + -- For Internet email, use the From address in the mail headers + recipients [6] SEQUENCE OF MsgAddress OPTIONAL, + -- For Internet email, use the To, CC, and BCC addresses in the mail headers + protocol [7] ENUMERATED + { + pop(0), + imap(1), + ..., + webmail(2) + } OPTIONAL, + clientID [8] IPAddress OPTIONAL, + serverID [9] IPAddress OPTIONAL, + ..., + messageID [10] MessageID OPTIONAL +} + +MessageID ::= UTF8String + -- Unique identifier for this message, e.g RFC 822 header + +-- ============================== +-- Definitions of Billing Data +-- ============================== + +MsgBillingDetails ::= SEQUENCE +{ + subscriberID [1] MsgSubscriberID OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] MsgBillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF MsgBillingRecords OPTIONAL, + nationalMsgBillingDetails [6] NationalMsgBillingDetails OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + copyOfBill [7] SEQUENCE OF File OPTIONAL +} + + +NationalMsgBillingDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MsgBillingIdentifier ::= OCTET STRING + -- Used to correlate billing information + -- useful if the bill-payer is not the subscriber, e.g. company mobiles + +MsgBillingRecords ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + place [2] UTF8String OPTIONAL, + amount [3] REAL OPTIONAL, + currency [4] UTF8String (SIZE(3)) OPTIONAL, + -- as per ISO 4217 [5] + method [5] UTF8String OPTIONAL, + -- i.e. credit card etc. + nationalMsgBillingRecords [6] NationalMsgBillingRecords OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + msgTransactionID [7] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + mgsTransactionStatus [8] UTF8String OPTIONAL + -- Status of the transaction (i.e. "declined", "succeeded" etc.) + -- Details to be defined on a national bases +} + +NationalMsgBillingRecords ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MultimediaRecord ::= CHOICE +{ + multimediaSubscriber [1] MultimediaSubscriber, + multimediaBillingDetails [2] MultimediaBillingDetails, + multimediaServiceUsage [3] MultimediaServiceUsage, + ..., + multimediaDevice [4] MultimediaDevice +} + +-- ============================== +-- Definitions of Subscriber Data +-- ============================== + +MultimediaSubscriber ::= SEQUENCE +{ + subscriberID [1] MultimediaSubscriberID OPTIONAL, + -- unique identifier for this subscriber, e.g. account number + genericSubscriberInfo [2] GenericSubscriberInfo OPTIONAL, + -- generic personal information about this subscriber + multimediaSubscriberInfo [3] MultimediaSubscriberInfo OPTIONAL, + -- service-specific information about this subscriber + subscribedMultimediaServices [4] SEQUENCE OF SubscribedMultimediaServices OPTIONAL, + -- a subscriber (or account) may have more than one service listed against them + ..., + multimediaServiceRegistrationInfo [5] MultimediaServiceRegistrationInfo OPTIONAL +} + +MultimediaSubscriberInfo ::= SEQUENCE +{ + nationalMultimediaSubscriberInfo [1] NationalMultimediaSubscriberInfo OPTIONAL, + ... +} + +MultimediaSubscriberID ::= UTF8String + -- unique identifier for this subscriber, e.g. account number + +MultimediaServiceRegistrationInfo ::= SEQUENCE +{ + emailAddress [1] UTF8String OPTIONAL, + -- subscriber email address in RFC2822 format + languageAtRegistration [2] UTF8String OPTIONAL, + -- subscriber language as in ISO 639 + accountCreationTime [3] GeneralizedTime OPTIONAL, -- start time of account + accountCreationIP [4] IPAddress OPTIONAL, -- subscriber IP at creation + accountCreationCountry [5] UTF8String (SIZE (2)) OPTIONAL, + -- subscriber country as specified in ISO 3166-1 + clientPlatformType [6] UTF8String OPTIONAL, -- subscriber platform + clientVersion [7] UTF8String OPTIONAL, -- subscriber platform version + ... +} + +SubscribedMultimediaServices ::= SEQUENCE +{ + serviceID [1] UTF8String OPTIONAL, + -- Unique identifier for this service within the operator + providerID [2] UTF8String OPTIONAL, + -- Unique identifier for the service provider + timeSpan [3] TimeSpan OPTIONAL, + -- Start and end data, if applicable, of the subscription + registeredIdentifiers [4] SEQUENCE OF PartyIdentity OPTIONAL, + -- The set of identifiers registered for this service + registeredICCID [5] UTF8String OPTIONAL, + serviceType [6] MultimediaServiceType OPTIONAL, + installationAddress [7] AddressInformation OPTIONAL, + -- installation address, if different from the registered address + connectionDate [8] GeneralizedTime OPTIONAL, + -- Date the subscriber was actually connected + -- (May differ from the start of subscription) + iMSI [9] IMSI OPTIONAL, + carrierPreselect [10] BOOLEAN OPTIONAL, + lineStatus [11] UTF8String OPTIONAL, + -- CSP-specific description of current line status, + -- e.g. "Active", "Ceased", etc. + nationalMultimediaServices [12] NationalMultimediaServices OPTIONAL, + -- national extension + ..., + paymentDetails [13] PaymentDetails OPTIONAL, + subscriptionType [14] SubscriptionType OPTIONAL, + -- Describes the nature of the subscription + deliveryAddress [15] AddressInformation OPTIONAL, + resellerAddress [16] AddressInformation OPTIONAL, + otherAddresses [17] SEQUENCE OF OtherAddress OPTIONAL, + multimediaServiceType [18] UTF8String OPTIONAL, + -- Service name used by the service provider which may be proprietary + orderTime [19] GeneralizedTime OPTIONAL, + -- Time when the subscribed service was ordered by the user + iMEIs [20] SEQUENCE OF IMEI OPTIONAL, + registeredICCIDs [21] SEQUENCE OF ICCIDInfo OPTIONAL, + privateUserIdentities [22] SEQUENCE OF IMPI OPTIONAL, + allocatedDeviceIDs [23] SEQUENCE OF MultimediaDeviceID OPTIONAL, + paymentTransactions [24] SEQUENCE OF MultimediaBillingRecords OPTIONAL, + sUPI [25] SUPI OPTIONAL, + gPSI [26] GPSI OPTIONAL +} + +MultimediaServiceType ::= ENUMERATED +{ + private(0), + privatePABX(1), + publicPayphone(2), + geographicalfixed(3), + geographicalindependent(4), + ... +} + +IMPI ::= UTF8String + -- Private User Identity of the IP Multimedia Subsystem subscription + +-- ================================= +-- Definitions of Service Usage Data +-- ================================= + +MultimediaServiceUsage ::= SEQUENCE +{ + partyInformation [1] SEQUENCE OF MultimediaPartyInformation OPTIONAL, + -- This parameter provides the concerned party (Originating, Terminating or + -- forwarded party), the identity(ies) of the party and all the information + -- provided by the party + communicationTime [2] TimeSpan OPTIONAL, + -- Time and duration of the communication + reasonCause [3] INTEGER OPTIONAL, + -- cause code for call termination e.g. SIP Reason code + communicationType [4] MultimediaCommunicationType OPTIONAL, + bearerService [5] MultimediaBearerService OPTIONAL, + qualityOfService [6] QualityOfService OPTIONAL, + ringDuration [7] INTEGER OPTIONAL, + callID [8] MultimediaCallID OPTIONAL, + originalCallID [9] MultimediaCallID OPTIONAL, + callState [10] ENUMERATED + { + bNotReached(1), + bAlert(2), + bAnswered(3), + ... + } OPTIONAL, + answerTime [11] GeneralizedTime OPTIONAL, + contentType [12] SEQUENCE OF UTF8String OPTIONAL, + mediaComponents [13] SEQUENCE OF MediaComponent OPTIONAL, + imsInformation [14] ImsInformation OPTIONAL, + nationalMultimediaServiceUsage [15] NationalMultimediaServiceUsage OPTIONAL, + serviceID [16] UTF8String OPTIONAL, + providerID [17] UTF8String OPTIONAL, + ..., + cdrNumber [18] UTF8String OPTIONAL, -- as per CSP defined format + clientIP [19] IPAddress OPTIONAL, + relayIP [20] IPAddress OPTIONAL, + vmLength [21] INTEGER OPTIONAL, -- number of seconds + reason [22] UTF8String OPTIONAL, + smsInformation [23] SmsInformation OPTIONAL, + mmsInformation [24] MmsInformation OPTIONAL +} + +MultimediaPartyInformation ::= SEQUENCE +{ + partyRole [1] MultimediaPartyRole OPTIONAL, + partyIdentity [2] PartyIdentity OPTIONAL, + subscriberID [3] MultimediaSubscriberID OPTIONAL, + communicationTime [4] TimeSpan OPTIONAL, + -- Time and duration of the communication + iMSI [6] IMSI OPTIONAL, + natureOfAddress [7] UTF8String OPTIONAL, + -- Nature of address indicator, e.g. "National", "International" + uRI [8] UTF8String OPTIONAL, + partyNumber [9] PartyNumber OPTIONAL, + naAssignedAddress [10] NAAssignedAddress OPTIONAL, + forwardedTransferredIdentifier [11] PartyIdentity OPTIONAL, + terminatingTransferredIdentifier [12] PartyIdentity OPTIONAL, + nationalMultimediaPartyInformation [13] NationalMultimediaPartyInformation OPTIONAL, + ..., + userAgent [14] UTF8String OPTIONAL, + -- e.g. SIP User-Agent field (see RFC 3261 [26]) + octetsUploaded [15] INTEGER OPTIONAL, + octetsDownloaded [16] INTEGER OPTIONAL, + accessNetworkInformation [17] SEQUENCE OF AccessNetworkInfo OPTIONAL, + privateUserIdentity [18] IMPI OPTIONAL, + iMEI [19] IMEI OPTIONAL +} + +MultimediaCallID ::= UTF8String + +MultimediaCommunicationType ::= ENUMERATED +{ + multimediaFixed(0), + multimediaWireless(1), + multimediaNetworkIndependent(2), + ..., + telephonyFixed(3), + telephonyWireless(4), + sMS(5), + mMS(6) +} + +MultimediaPartyRole ::= ENUMERATED +{ + calling(0), + called(1), + calledAssertedIdentity(2), + calledApplicationServer(3), + originalCalled(4), + redirecting(5), + multimediaNetworkIndependent(6), + directory(7), + broadcastReceiver(8), + broadcastSender(9), + ..., + originalCalling(10), + forwarded-to-Party(11), + connected(12), + userProvidedCalling(13), + roaming(14), + translated(15), + singlePersonalNumber(16), + smsOriginator(17), + smsRecipient(18), + smsOriginatorTrn(19), + smsRecipientTrn(20), + mmsOriginator(21), + mmsRecipient(22), + mmsOriginatorTrn(23), + mmsRecipientTrn(24) +} + +MultimediaBearerService ::= ENUMERATED +{ + speech(0), + data(1), + fax(2), + video(3), + emergencyCall(4), + ... +} + +ImsInformation ::= SEQUENCE +{ + service [1] ENUMERATED + { + session(1), + message(2), + refer(3), + ... + } OPTIONAL, + roleOfNode [2] ENUMERATED + { + originating(1), + terminating(2), + proxy(3), + b2bua(4), + ... + } OPTIONAL, + serviceInfo [4] SEQUENCE OF ImsServiceInfo OPTIONAL, + ... +} + +ImsServiceInfo ::= SEQUENCE +{ + serviceData [1] OCTET STRING OPTIONAL, + -- service data + serviceType [2] INTEGER OPTIONAL, + -- service type + ... +} + +MediaComponent ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + mediaName [2] UTF8String OPTIONAL, + mediaDescription [3] UTF8String OPTIONAL, + mediaInitiator [4] PartyIdentity OPTIONAL, + accessCorrelationID [5] OCTET STRING OPTIONAL, + nationalMultimediaMediaComponent [6] NationalMultimediaMediaComponent OPTIONAL, + ... +} + +AccessNetworkInfo ::= CHOICE +{ + paniHeaderInfo [1] PaniHeaderInfo, + ... +} + +PaniHeaderInfo ::= SEQUENCE +{ + accessType [1] OCTET STRING OPTIONAL, + -- ASCII string '3GPP-E-UTRAN-TDD', ' IEEE-802.11'... : see ETSI TS 124 229 [xx] clause 7.2A.4 + accessClass [2] OCTET STRING OPTIONAL, + -- ASCII string '3GPP-UTRAN', '3GPP-E-UTRAN',... : see ETSI TS 124 229 [xx] clause 7.2A.4 + networkProvided [3] NULL OPTIONAL, + -- present if provided by the network + paniLocation [4] Location OPTIONAL, + -- Cell-ID and location information if available + paniTime [5] GeneralizedTime OPTIONAL, + -- indicates the time when the location was reported at the start of the session, + -- or during or at the end of the session if the location is retained for the event + ..., + paniHeaderContent [6] OCTET STRING OPTIONAL + -- Complete content of the P-Access-Network-Info header field +} + + +-- ============================== +-- Definitions of Billing Data +-- ============================== + +MultimediaBillingDetails ::= SEQUENCE +{ + subscriberID [1] MultimediaSubscriberID OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] MultimediaBillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF MultimediaBillingRecords OPTIONAL, + nationalMultimediaBillingDetails [6] NationalMultimediaBillingDetails OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + multimediaBillingAddress [7] MultimediaBillingAddress OPTIONAL, + copyOfBill [8] SEQUENCE OF File OPTIONAL +} + + +MultimediaBillingAddress ::= SEQUENCE +{ + addressSuppliedTime [1] GeneralizedTime OPTIONAL, + name [2] PersonName OPTIONAL, + address [3] AddressInformation OPTIONAL, + ... +} + +NationalMultimediaBillingDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MultimediaBillingIdentifier ::= OCTET STRING + -- Used to correlate billing information + -- useful if the bill-payer is not the subscriber, e.g. company mobiles + +MultimediaBillingRecords ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + place [2] UTF8String OPTIONAL, + amount [3] REAL OPTIONAL, + currency [4] UTF8String (SIZE(3)) OPTIONAL, + -- as per ISO 4217 [5] + method [5] UTF8String OPTIONAL, + -- i.e. credit card etc. + nationalMultimediaBillingRecords [6] NationalMultimediaBillingRecords OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + multimediaTransactionID [7] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + multimediaTransactionStatus [8] UTF8String OPTIONAL + -- Status of the transaction (i.e. "declined", "succeeded", etc.) + -- Details to be defined on a national bases +} + +NationalMultimediaBillingRecords ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +-- =================== +-- General definitions +-- =================== + +PartyIdentity ::= UTF8String + -- E.164 address of the party in international format, or + -- SIP URI or TEL URI representing E.164 + +QualityOfService ::= UTF8String + -- Free text description of the invoked quality of service + +NationalMultimediaSubscriberInfo ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaServices ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaServiceUsage ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaPartyInformation ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaMediaComponent ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +-- ======================= +-- Device Data definitions +-- ======================= + +MultimediaDevice ::= SEQUENCE +{ + deviceIDType [1] ENUMERATED + -- Type of identifier for telephony device + { + unknown(0), + imei(1), + macAddress(2), + ... + } OPTIONAL, + multimediaDeviceID [2] MultimediaDeviceID OPTIONAL, + -- Unique identifier for this device according to type of identifier + subscriberID [3] MultimediaSubscriberID OPTIONAL, + -- Identifier for a known user of this equipment. + -- Usage of this parameter is subject to national legislation. + nationalMultimediaDevice [4] NationalMultimediaDevice OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ... +} + +NationalMultimediaDevice ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MultimediaDeviceID ::= OCTET STRING + -- A unique identifier for the multimedia device. For example, the IMEI number + -- of a mobile handset + +NetworkAccessRecord::= CHOICE +{ + naSubscriber [1] NASubscriber, + naServiceUsage [2] NAServiceUsage, + naDevice [3] NADevice, + naNetworkElement [4] NANwElement, + naBillingDetails [5] NABillingDetails, + ... +} + +-- ============================================= +-- Definitions of Network Access Subscriber Data +-- ============================================= + +NAProviderID ::= UTF8String + +NAAuthID ::= UTF8String + +NaSubscriberID ::= UTF8String + +NASubscriber ::= SEQUENCE + -- Generic information on a service subscriber, supplemented with information specific to + -- network access services. +{ + validity [1] TimeSpan OPTIONAL, + subscriberID [2] NaSubscriberID OPTIONAL, + -- Unique identifier for this subscriber, e.g. account number + naSubscriptions [3] SEQUENCE OF NAServiceSubscription OPTIONAL, + -- List of all known services subscribed to by this user + allocatedDeviceIDs [4] SEQUENCE OF NADeviceId OPTIONAL, + -- List of all known devices allocated to this user. + subscriber [5] GenericSubscriberInfo OPTIONAL, + -- Name, address and other generic subscriber information + ..., + allocatedDevices [6] SEQUENCE OF NADevice OPTIONAL + -- If present, contains device details for all elements from allocatedDeviceIDs +} + +NAServiceSubscription ::= SEQUENCE + -- Description of the subscription to a Network Access service +{ + validity [1] TimeSpan OPTIONAL, + naServiceID [2] UTF8String OPTIONAL, + -- Identifier for the service, e.g. account plan name. + naProviderID [3] NAProviderID OPTIONAL, + -- Unique identifier for the provider of the service, e.g. company name + naAuthID [4] NAAuthID OPTIONAL, + -- Unique identifier for this subscription, e.g. logon name + options [5] UTF8String OPTIONAL, + -- Human readable text with restrictions or options to the subscription + installationAddress [6] AddressInformation OPTIONAL, + fixIpAddress [7] IPAddress OPTIONAL, + -- fix assigned IP address + imsi [8] IMSI OPTIONAL, + ..., + allocatedDeviceIDs [9] SEQUENCE OF NADeviceId OPTIONAL, + naServiceStatus [10] UTF8String OPTIONAL, + -- CSP-specific description of current service status, e.g. "Active", "Ceased", etc. + registeredICCID [11] UTF8String OPTIONAL, + nationalNASubscription [12] NationalNASubscription OPTIONAL, + paymentDetails [13] PaymentDetails OPTIONAL, + additionalIPAddresses [14] SEQUENCE OF IPAddressSetOrRangeOrMask OPTIONAL, + subscriptionType [15] SubscriptionType OPTIONAL, + -- Describes the nature of the subscription + deliveryAddress [16] AddressInformation OPTIONAL, + resellerAddress [17] AddressInformation OPTIONAL, + otherAddresses [18] SEQUENCE OF OtherAddress OPTIONAL, + allocatedDevices [19] SEQUENCE OF NADevice OPTIONAL, + -- If present, contains device details for all elements from allocatedDeviceIDs + mSISDNs [20] SEQUENCE OF PartyNumber OPTIONAL, + registeredICCIDs [21] SEQUENCE OF ICCIDInfo OPTIONAL, + paymentTransactions [22] SEQUENCE OF BillingRecords OPTIONAL, + sUPI [23] SUPI OPTIONAL, + gPSI [24] GPSI OPTIONAL, + timedIPAddresses [25] SEQUENCE OF TimedIPAddress OPTIONAL +} + + +NationalNASubscription ::= SEQUENCE + -- Description of the subscription to a Network Access service +{ + countryCode [1] UTF8String (SIZE(2)), + -- see comment in NationalRequestParameters + ... +} + +-- =========================================== +-- Definitions of Network Access Service Usage +-- =========================================== + +NAServiceUsage ::= SEQUENCE +{ + naAccessTime [1] GeneralizedTime OPTIONAL, + -- Time of connection to the NAS + naAuthID [2] NAAuthID OPTIONAL, + -- Username used to obtain network access + nwAccessType [3] NwAccessType OPTIONAL, + -- Type of network access attempted. If not undefined(0), this should be one of the types + -- supported by the NAS (identified below by naNwElementID) + naStatus [4] ENUMERATED + { + unknown(0), + succeeded(1), + -- Authentication OK and access granted + failed(2), + -- Authentication failure (wrong credentials or time out) + rejected(3), + -- Rejected by the CSP (e.g. usage limits exceeded) + ... + } OPTIONAL, + interval [5] TimeSpan OPTIONAL, + -- Start time and end time (duration) of network access. + naDeviceId [6] NADeviceId OPTIONAL, + -- Device used to access the service + naNwElementID [7] NANwElementID OPTIONAL, + -- Network element (NAS) onto which the naDevice is connected + naAssignedAddress [8] SEQUENCE OF NAAssignedAddress OPTIONAL, + -- IP address assigned by the network access service. May be fixed or dynamic + location [9] Location OPTIONAL, + -- Location of the access (for e.g. GPRS handsets) + dialUpInformation [10] DialUpInformation OPTIONAL, + gprsInformation [11] GprsInformation OPTIONAL, + ..., + octetsDownloaded [12] INTEGER OPTIONAL, + octetsUploaded [13] INTEGER OPTIONAL, + endReason [14] NAEndReason OPTIONAL, + subscriberID [15] NaSubscriberID OPTIONAL, + -- Identifier for a known user of this network access + ePSInformation [16] EPSInformation OPTIONAL, + wifiInformation [17] WifiInformation OPTIONAL, + addressTranslationRecords [18] SEQUENCE OF AddressTranslationRecord OPTIONAL, + -- contains extended information about the NAT or PAT operations carried out within this + -- service usage session + naDevice [19] NADevice OPTIONAL, + -- If present, contains the device details for the device referenced in naDeviceID + additionalLocations [20] SEQUENCE OF TimedLocation OPTIONAL, + -- List of additional locations and optional access time during the network access service + -- usage + sNSSAI [21] OCTET STRING (SIZE(4)) OPTIONAL, + notifyUri [22] OCTET STRING (SIZE(3..8)) OPTIONAL, + fiveGSInformation [23] FIVEGSInformation OPTIONAL +} + + +TimedLocation ::= SEQUENCE +{ + location [1] Location, + naAccessTime [2] GeneralizedTime OPTIONAL, + ... +} + +WifiInformation ::= SEQUENCE +{ + bSSID [1] OCTET STRING (SIZE (6)) OPTIONAL, + -- The Basic Service Set Identification for the connection. + -- This is also the MAC address of the access point (the present document assumes + -- that records are for infrastructure mode, not ad-hoc mode). + -- The MAC address of the user is given in the naDeviceID in the structure (one level up) + sSID [2] UTF8String OPTIONAL, + -- The human-readable Service Set Identifier + -- It should be noted that this is typically only available on the air interface and so + -- is not likely to be logged by CSPs (though may be recorded at a more local level). + -- Therefore requesting organizations should not expect this to be populated typically. + -- It is not guaranteed to be unique. + username [3] UTF8String OPTIONAL, + locationOfAccessPoint [4] Location OPTIONAL, + -- Location of the Access Point as lat/long, grid reference or postal address. + -- Requesting organizations should be aware that Access Points can be moved, sometimes + -- without the knowledge of the CSP + authenticationType [5] AuthenticationType OPTIONAL, + additionalAuthenticationInformation [6] AdditionalAuthenticationInformation OPTIONAL, + ..., + accessPointIPAddress [7] IPAddress OPTIONAL, + accessPointAdditionalDescriptions [8] SEQUENCE OF UTF8String OPTIONAL, + -- Informal description of location, category or type of access point, + -- or a name of the network to which the access point belongs. + accessPointAdditionalProviders [9] SEQUENCE OF UTF8String OPTIONAL + -- For WiFi, there may be other parties involved in hosting or owning the + -- Access Points, e.g. access point provider or partner providers +} + +AuthenticationType ::= ENUMERATED +{ + authenticationBySMS(1), + -- Used if authentication arranged through a code sent to mobile + -- additionalAuthenticationInformation shall contain the phone number + authenticationByCookie(2), + -- If authentication was granted on the basis of a cookie left from a previous visit to a + -- site. + -- No other mandatory addtionalAuthenticationInformation + authenticationByMACAddress(3), + -- If authentication was granted because the MAC address of the UE was recognised due + -- to a previous visit. + -- additionalAuthenticationInformation shall contain the MAC Address unless it is already + -- populated as NADeviceID in this record. + authenticationByEAPSIM(4), + -- If authenticated by EAP SIM see TS 33.234 [36] + -- additionalAuthenticationInformation shall contain the IMSI + -- Other varieties of EAP could be added here later, together with any extra information + -- they could provide. + authenticationByUsernameAndPassword(5), + -- additionalAuthenticationInformation should contain username and password if appropriate + authenticationByPaymentOrVoucher(6), + -- additionalAuthenticationInformation should contain Voucher or Payment details + -- if appropriate. + ... +} + +AdditionalAuthenticationInformation ::= SEQUENCE +{ + phoneNumber [1] PartyNumber OPTIONAL, + -- e.g. number to which an SMS was sent + mACAddress [2] OCTET STRING (SIZE (6)) OPTIONAL, + iMSI [3] IMSI OPTIONAL, + username [4] UTF8String OPTIONAL, + -- Names supplied are unlikely to be verified + password [5] UTF8String OPTIONAL, + -- Only to be populated if it is both appropriate and available + paymentReference [6] UTF8String OPTIONAL, + -- For example, the number of a voucher that was used in authentication + ... +} + +AddressTranslationRecord ::= SEQUENCE +{ + validity [1] TimeSpan OPTIONAL, + -- time at which the address translation started and/or ended + privateIPAddress [2] IPAddress OPTIONAL, + -- the private IP of the host + privatePort [3] INTEGER OPTIONAL, + -- the private port of the host + publicIPAddress [4] IPAddress OPTIONAL, + -- the translated IP of the host, i.e. the address known by the remote host + publicPort [5] AddressTranslationPortAssignment OPTIONAL, + -- the translated port(s) of the host, i.e. the port(s) known by the remote host, if + -- applicable + destinationIPAddress [6] IPAddress OPTIONAL, + -- the IP address of the remote host + destinationPort [7] INTEGER OPTIONAL, + -- the port of the remote host + connectionType [8] ENUMERATED + { + udp(0), + tcp(1), + sctp(2), + other(3), + ... + } OPTIONAL, + ... +} + +AddressTranslationPortAssignment ::= CHOICE +{ + singlePort [1] INTEGER, + -- only one port is assigned to the host, that port number is specified here + portRange [2] SEQUENCE OF PortRange, + -- if a range of translated ports is assigned to the host, specify it here + ... +} + +PortRange ::= SEQUENCE +{ + -- The range given is inclusive of both ends + lowerBound [1] INTEGER OPTIONAL, + upperBound [2] INTEGER OPTIONAL, + ... +} + +NAEndReason ::= ENUMERATED +{ + unknownReason(0), + timeout(1), + userDisconnect(2), + -- e.g. user logs off + networkDisconnect(3), + -- e.g. user's time/credits have been used up + networkError(4), + ... +} + +NwAccessType ::= ENUMERATED +{ + undefined(0), + dialUp(1), + -- DialUp access + xDSL(2), + -- DSL access + cableModem(3), + -- Cable access + lAN(4), + -- LAN access + wirelessLAN(5), + -- Wireless LAN access (e.g. hotspot) + wimax(6), + mobilePacketData(7), + -- Network access over GSM/3GPP GPRS, UMTS, etc. + ... +} + +DialUpInformation ::= SEQUENCE +{ + diallingNumber [1] PartyNumber OPTIONAL, + -- Telephone number used for dial-up access + dialledNumber [2] PartyNumber OPTIONAL, + callback [3] PartyNumber OPTIONAL, + -- Call back number used for dial-up access + ... +} + +GprsInformation ::= SEQUENCE +{ + iMSI [1] IMSI OPTIONAL, + mSISDN [2] PartyNumber OPTIONAL, + sgsnAddress [3] SEQUENCE OF IPAddress OPTIONAL, + ggsnAddress [4] IPAddress OPTIONAL, + pDP-address-allocated [5] IPAddress OPTIONAL, + aPN [6] UTF8String OPTIONAL, + pDP-type [7] OCTET STRING (SIZE(2)) OPTIONAL, + -- format as per TS 101 671 [6] + ..., + gPRSEvent [8] GPRSEvent OPTIONAL + -- format as per 3GPP TS 33.108 [11] + -- Tag [9] was used in the past and shall not be reused. +} + +GPRSEvent ::= ENUMERATED +{ + pDPContextActivation(1), + pDPContextDeactivation(4), + gPRSAttach(5), + gPRSDetach(6), + locationInfoUpdate(10), + -- sMS ommited from 3GPP TS 33.108 [11] + pDPContextModification(11), + servingSystem(12), + ... +} + +EPSInformation ::= SEQUENCE +{ + iMSI [1] IMSI OPTIONAL, + iMSIUnauthenticatedFlag [2] IMSIUnauthenticatedFlag OPTIONAL, + mSISDN [3] PartyNumber OPTIONAL, + iMEISV [4] IMEI OPTIONAL, + s-GWAddress [5] IPAddress OPTIONAL, + p-GWAddress [6] IPAddress OPTIONAL, + p-GWPLMNIdentifier [7] P-GWPLMN-ID OPTIONAL, + aPNNetworkID [8] AccessPointNameNI OPTIONAL, + pDP-PDNType [9] OCTET STRING (SIZE (1))OPTIONAL, + -- PDN/PDP Type number as defined in ETSI TS 129 274 [32] clause 8.34 + pDP-PDNAddress [10] IPAddress OPTIONAL, + -- IP address allocated to the PDP context / PDN connection + -- i.e. IPv4 address when PDP/PDN Type is IPv4 or IPv6 prefix + -- when PDP/PDN Type is IPv6 or IPv4v6. + pDP-PDNAddressExtension [11] IPAddress OPTIONAL, + -- IPv4 address of the served IMSI when PDP/PDN type is IPv4v6 + dynamicAddressFlag [12] DynamicAddressFlag OPTIONAL, + dynamicAddressFlagExt [13] DynamicAddressFlagExt OPTIONAL, + rATType [14] INTEGER (0..255) OPTIONAL, + -- RAT Type coding according to ETSI TS 129 274 [32] clause 8.17 + -- NOTE - as of v1.23.1 of the present document, this field has changed to optional + ePSEvent [15] EPSEvent OPTIONAL, + ... +} + + +IMSIUnauthenticatedFlag ::= BOOLEAN + -- TRUE if unauthenticated IMSI vs. FALSE for authenticated IMSI + +P-GWPLMN-ID ::= OCTET STRING (SIZE (3)) + -- This is a copy from the Tracking Area Identity (TAI) IE + -- specified in TS 29.274 [32] clause 8.21.4: + -- Bits 8 7 6 5 4 3 2 1 + -- 1st OCTET MCC digit 2 MCC digit 1 + -- 2nd OCTET MNC digit 3 MCC digit 3 + -- 3rd OCTET MNC digit 2 MNC digit 1 + +AccessPointNameNI ::= IA5String (SIZE(1..63)) + -- Network Identifier part of APN in dot representation. + -- For example, if the complete APN is "apn1a.apn1b.apn1c.mnc022.mcc111.gprs" + -- NI is "apn1a.apn1b.apn1c" + +DynamicAddressFlag ::= BOOLEAN + -- TRUE if the PDP/PDN address is dynamic. + -- FALSE if IPv4 address is static when PDN type is IPv6 or IPv4v6 + +DynamicAddressFlagExt ::= BOOLEAN + -- TRUE if IPv4 PDP/PDN address is dynamic, which is allocated during IP CAN bearer activation, + -- initial attach and UE requested PDN connectivity with PDP/PDN type IPv4v6. + -- FALSE if IPv4 address is static. + +EPSEvent ::= ENUMERATED + -- The list of "EPSEvent" below is partly taken from 3GPP TS 33.108 [11] EpsHI2Operations + -- from the "EPSEvent ::=ENUMERATED" module +{ + e-UTRANAttach(16), + e-UTRANDetach(17), + bearerActivation(18), + bearerModification(20), + bearerDeactivation(21), + trackingAreaUpdate(25), + servingEvolvedPacketSystem(26), + ... +} + +FIVEGSInformation ::= SEQUENCE +{ + sUPI [1] SUPI OPTIONAL, + dNN [2] UTF8String OPTIONAL, + gPSI [3] GPSI OPTIONAL, + pEI [4] PEI OPTIONAL, + pDUSessionID [6] INTEGER (0..255) OPTIONAL, + sNSSAI [7] OCTET STRING (SIZE(4)) OPTIONAL, + pDUIpv4Address [8] IPAddress OPTIONAL, + pDUIpv6Address [9] IPAddress OPTIONAL, + pDUAddressPrefixLength [10] INTEGER (0..128) OPTIONAL, + rFSPIndex [11] INTEGER (1..255) OPTIONAL, + applicationId [12] UTF8String OPTIONAL, + applicationServiceProviderIdentity [13] UTF8String OPTIONAL, + serviceId [14] INTEGER OPTIONAL, + chargingId [15] UTF8String OPTIONAL, + pDUType [16] PDUSessionType OPTIONAL, + sSCMode [17] SSCMode OPTIONAL, + vPLMNId [18] PLMNID OPTIONAL, + hPLMNId [19] PLMNID OPTIONAL, + chargingCharacteristics [20] UTF8String OPTIONAL, + chargingCharacteristicsSelectionMode [21] UTF8String OPTIONAL, + pDUSessionStartTime [22] GeneralizedTime OPTIONAL, + pDUSessionStopTime [23] GeneralizedTime OPTIONAL, + lowPriorityIndicator [24] BOOLEAN OPTIONAL, + dataOffStatus [25] BOOLEAN OPTIONAL, + diagnostics [26] INTEGER OPTIONAL, + uETimeZone [27] UTF8String OPTIONAL, + uPFAddress [28] IPAddress OPTIONAL, + aMFAddress [29] IPAddress OPTIONAL, + uDMAddress [30] IPAddress OPTIONAL, + sMFAddress [31] IPAddress OPTIONAL, + uPFId [32] UUID OPTIONAL, + aMFIdentifier [33] AMFID OPTIONAL, + uDMIdentifier [34] UUID OPTIONAL, + sMFIdentifier [35] UUID OPTIONAL, + uPFPDNAddress [36] IPAddress OPTIONAL, + uPFPDNAddressExtension [37] IPAddress OPTIONAL, + dynamicAddressFlag [38] BOOLEAN OPTIONAL, + dynamicAddressFlagExt [39] BOOLEAN OPTIONAL, + rAT5Type [40] RAT5Type OPTIONAL, + flowQosInfo [41] OCTET STRING OPTIONAL, + serviceID [42] INTEGER OPTIONAL + +} + +PDUSessionType ::= ENUMERATED +{ + iPv4(1), + iPv6(2), + iPv4v6(3), + unstructured(4), + ethernet(5) +} + +-- ==================================== +-- Definitions of Network Access Device +-- ==================================== + +NADeviceId ::= UTF8String + +NADevice ::= SEQUENCE +{ + naDeviceId [1] NADeviceId OPTIONAL, + -- Identifier of this device. + description [2] UTF8String OPTIONAL, + -- Human readable description of device + location [3] Location OPTIONAL, + macAddress [4] OCTET STRING (SIZE (6)) OPTIONAL, + -- MAC or ethernet address + dslID [5] UTF8String OPTIONAL, + imei [6] IMEI OPTIONAL, + ..., + subscriberID [7] NaSubscriberID OPTIONAL +} + +SUPI ::= CHOICE +{ + iMSI [1] IMSI, + nAI [2] NAI, + ... +} + +GPSI ::= CHOICE +{ + mSISDN [1] PartyNumber, + nAI [2] NAI, + ... +} + +PEI ::= CHOICE +{ + iMEI [1] IMEI, + iMEISV [2] IMEISV +} + +IMEI ::= OCTET STRING (SIZE(8)) + -- format as per 3GPP TS 09.02 [8] + -- NOTE: When comparing IMEIs, an IMEI can be considered "equal to" the requested IMEI even + -- if the checksum or software version digits are different or not present. + +IMEISV ::= NumericString (SIZE(16)) + +IMSI ::= OCTET STRING (SIZE(3..8)) + -- format as per 3GPP TS 09.02 [8] + +NAI ::= UTF8String + +-- ====================================== +-- Definitions of Message Network element +-- ====================================== + +NANwElementID ::= UTF8String + +NANwElement ::= SEQUENCE + -- In this context, the network element is more commonly referred to as NAS +{ + validity [1] TimeSpan OPTIONAL, + -- Period for which this interval is valid + naNwElementID [2] NANwElementID OPTIONAL, + -- Unique ID of this NAS (Network Access Server) + naProviderID [3] NAProviderID OPTIONAL, + -- Unique identifier of the provider managing this NAS. + supportedAccessTypes [4] SEQUENCE OF NwAccessType OPTIONAL, + location [5] Location OPTIONAL, + ... +} + +IPAddress ::= CHOICE +{ + iPv4BinaryAddress [1] OCTET STRING (SIZE(4)), + iPv6BinaryAddress [2] OCTET STRING (SIZE(16)), + iPTextAddress [3] IA5String (SIZE(7..45)), + ... +} + +NAAssignedAddress ::= SEQUENCE +{ + addressSetOrRangeOrMask [1] IPAddressSetOrRangeOrMask OPTIONAL, + portNumber [2] INTEGER OPTIONAL, + -- populated with the outbound port number + addressType [3] ENUMERATED + { + unknown(0), + internal(1), + external(2), + ... + } OPTIONAL, + assignedTime [4] TimeSpan OPTIONAL, + ..., + destinationAddress [5] IPAddress OPTIONAL, + -- used in cases where a single external IP/port pair is translated to multiple internal + -- IP/port pairs, with the destination IP/port used to multiplex them + destinationPort [6] INTEGER OPTIONAL + -- used in cases where a single external IP/port pair is translated to multiple internal + -- IP/port pairs, with the destination IP/port used to multiplex them +} + +IPAddressSetOrRangeOrMask ::= CHOICE +{ + set [0] SEQUENCE OF IPAddress, + range [1] IPRange, + mask [2] IPMask +} + +IPRange ::= SEQUENCE + -- Things like 172.16.10.0/26 +{ + prefix [0] IPAddress, + subnetlength [1] INTEGER (1..128) +} + +IPMask ::= SEQUENCE + -- Things like 172.16.10.0/255.255.255.240 +{ + base [0] IPAddress, + mask [1] IPAddress +} + +TimedIPAddress ::= SEQUENCE +{ + iPAddressSetOrRangeOrMask [0] IPAddressSetOrRangeOrMask, + validity [1] TimeSpan, + -- Time period during which the information given in this structure is or was valid. + ... + +} + +NABillingDetails ::= SEQUENCE +{ + subscriberID [1] NaSubscriberID OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] BillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL, + ..., + naTransactionID [6] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + naTransactionStatus [7] UTF8String OPTIONAL + -- Status of the transaction (i.e. "declined", "succeeded", etc.) + -- Details to be defined on a national basis +} + +SSCMode ::= ENUMERATED +{ + sSCMode1(1), + sSCMode2(2), + sSCMode3MultiPDUSession(3), + sSCMode3Multihome(4), + ... +} + +PLMNID ::= OCTET STRING (SIZE(3)) + +UUID ::= OCTET STRING (SIZE(16)) + +RAT5Type ::= ENUMERATED +{ + nr(1), + eutra(2), + wlan(3), + virtual(4), + ... +} + +AMFID ::= SEQUENCE +{ + aMFRegionID [1] AMFRegionID, + aMFSetID [2] AMFSetID, + aMFPointer [3] AMFPointer +} + +AMFRegionID ::= INTEGER (0..255) + +AMFSetID ::= INTEGER (0..1023) + +AMFPointer ::= INTEGER (0..63) + +END -- end of RDMessage + + diff --git a/102657/RDMessage.xsd b/102657/RDMessage.xsd new file mode 100644 index 0000000000000000000000000000000000000000..0f6a4b5ba07409b86865b0aefba22fdd89e7d362 --- /dev/null +++ b/102657/RDMessage.xsd @@ -0,0 +1,3243 @@ + + + + + XSD translated from ASN.1 derived from outcome of TS 102 657 v1.25.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A country code as per ISO 3166-1 [4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/102657/portal/RDMessagever23.txt b/102657/portal/RDMessagever23.txt new file mode 100644 index 0000000000000000000000000000000000000000..e806118ac58b26df5f381adefc8a154baf0d8e52 --- /dev/null +++ b/102657/portal/RDMessagever23.txt @@ -0,0 +1,2870 @@ +RDMessage {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3) rdHeader(0) version23(23)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +-- ============================= +-- Object Identifier definitions +-- ============================= + +-- RetainedData DomainId +retainedDataDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) retainedData(3)} + +-- rdHeader +rdHeaderId OBJECT IDENTIFIER ::= {retainedDataDomainId rdHeader(0) version23(23)} + +-- ====================================== +-- Top level definitions for RDHI wrapper +-- ====================================== + +RetainedDataMessage ::= SEQUENCE +{ + rdHeaderId [0] OBJECT IDENTIFIER, + retainedDataHeader [1] RetainedDataHeader, + retainedDataPayload [2] RetainedDataPayload, + retainedDataDigest [3] OCTET STRING OPTIONAL, + -- The digitally signed hash of the combined fields above (retainedDataHeader and + -- retainedDataPayload) + ... +} + +-- ========================================================================== +-- Definitions for Retained Data header information, present in every message +-- ========================================================================== + +RetainedDataHeader ::= SEQUENCE +{ + requestID [1] RequestID, + cSPID [2] CSPID, + timeStamp [3] GeneralizedTime, + thirdPartyCSPID [4] CSPID OPTIONAL, + ... , + requestType [5] RequestType OPTIONAL, + requestFlag [6] RequestFlag OPTIONAL + -- Optional parameter specifying additional information associated with the request. + +} + +CSPID ::= UTF8String + -- Unique identifier for the CSP that issued the request + +RequestType ::= UTF8String +-- Description or reference of the type of Retained Data request + +RequestFlag ::= UTF8String + -- Configuration information associated with the request + +RequestID ::= SEQUENCE +{ + countryCode [1] CountryCode, + authorisedOrganisationID [2] AuthorisedOrganisationID, + requestNumber [3] RequestNumber OPTIONAL, + -- all messages except GetStatusMessage and StatusMessage have a request number + -- (see clause 6.1.2) + ..., + externalIdentifier [4] ExternalIdentifier OPTIONAL + -- Optional identifier for the request, for correlation with warrant management systems. +} + +CountryCode ::= UTF8String (SIZE(2)) +-- A country code as per ISO 3166-1 [4] + +AuthorisedOrganisationID::= UTF8String +-- A unique identifier for an Authorized Organization issuing a Retained Data request + +RequestNumber ::= UTF8String +-- Unique within a given country and Authorized Organization + +ExternalIdentifier ::= UTF8String + +-- ================================================= +-- Definitions for Retained Data payload information +-- ================================================= + +RetainedDataPayload ::= CHOICE + -- Payload can be a request, response, error or acknowledgement +{ + requestMessage [1] RequestMessage, + requestAcknowledgement [2] RequestAcknowledgement, + responseMessage [3] ResponseMessage, + responseAcknowledgement [4] ResponseAcknowledgement, + errorMessage [5] FurtherInformation, + cancelMessage [6] CancelMessage, + cancelAcknowledgement [7] CancelAcknowledgement, + getstatusMessage [8] GetStatusMessage, + statusMessage [9] StatusMessage, + getResultsMessage [10] GetResultsMessage, + ..., + supplementaryRequest [11] SupplementaryRequest, + supplementaryResponse [12] SupplementaryResponse +} + +-- ================================================== +-- Definitions of Request message and acknowledgement +-- ================================================== + +RequestMessage ::= SEQUENCE +{ + requestPriority [1] RequestPriority OPTIONAL, + requestParameters [2] RequestConstraints OPTIONAL, + -- Optional only in case a warrant is transmitted independently of a request + deliveryPointHIB [3] DeliveryPointHIB OPTIONAL, + -- pre-arranged set of delivery address(es) of that specific Authorized Organization + maxHits [4] INTEGER OPTIONAL, + -- Maximum number of records to be returned. + -- On a national basis maximum numbers could be considered + -- In case of maxHit a responseFailed message is sent and no data is sent + -- This parameter shall not be used simultaneously with the numberOfRecordsLimit parameter. + -- (see clause 6.3.3.2) + nationalRequestParameters [5] NationalRequestParameters OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + -- or to transmit a warrant. + ..., + maxRecordsPerBatch [6] INTEGER OPTIONAL, + -- Indicates that multi-part delivery shall be used and each ResponseMessage shall not + -- contain more records than specified. (see clause 6.3.3.3) + requestedData [7] SEQUENCE OF UTF8String OPTIONAL, + -- only to use in case of selective requests, it contains + -- the path to the selected parameter in XPATH notation + numberOfRecordsLimit [8] INTEGER OPTIONAL + -- Indicates the upper limit on the number of records to be provided by the CSP. + -- This parameter shall not be used simultaneously with the maxHits parameter. + -- (see clause 6.3.3.4) +} + +DeliveryPointHIB ::= UTF8String + +RequestConstraints ::= SEQUENCE +{ + equals [1] RetainedDataRecord OPTIONAL, + notEqualTo [2] RetainedDataRecord OPTIONAL, + lessThan [3] RetainedDataRecord OPTIONAL, + -- For numerical values + lessThanOrEqualTo [4] RetainedDataRecord OPTIONAL, + -- For numerical values + greaterThan [5] RetainedDataRecord OPTIONAL, + -- For numerical values + greaterThanOrEqualTo [6] RetainedDataRecord OPTIONAL, + -- For numerical values + startsWith [7] RetainedDataRecord OPTIONAL, + -- For strings + endsWith [8] RetainedDataRecord OPTIONAL, + -- For strings + isAMemberOf [9] SEQUENCE OF RetainedDataRecord OPTIONAL, + ... +} + +RequestPriority ::= OCTET STRING + -- Priority considerations are a matter for national implementation + -- This standard makes no statement regarding how such priorities are represented or used + +RequestAcknowledgement ::= SEQUENCE +{ + suggestedCompletionTime [1] GeneralizedTime OPTIONAL, + -- Indicative time that results will be ready + -- Purely informational, not binding for either party + ... +} + +-- =================================================== +-- Definitions of Response message and acknowledgement +-- =================================================== + +ResponseMessage ::= SEQUENCE +{ + responseStatus [1] ResponseStatus, + responsePayload [2] SEQUENCE OF ResponseRecord OPTIONAL, + -- Clause 6 explains use of this field + -- A responseUnavailable message shall not have a responsePayload (see clause 5.3.1) + -- The responseComplete and responseIncomplete message shall have a responsePayload + -- If there are no responses, the responsePayload is present but has zero entries + nationalResponsePayload [3] NationalResponsePayload OPTIONAL, + -- to be defined on a national basis + -- only to be used in case the present document cannot fulfil the national requirements + ..., + responseNumber [4] INTEGER OPTIONAL, + -- number to identify partial results within parallel multi-part delivery + numberOfRecordsFound [5] INTEGER OPTIONAL + -- Indicates the total number of records found by the CSP when the value set in the + -- numberOfRecordsLimit has been reached or exceeded. + -- (see clause 6.3.3.4) +} + +ResponseStatus ::= CHOICE +{ + responseComplete [1] NULL, + -- No further results to come + responseIncomplete [2] NULL, + -- There will be at least one further response message to come + responseUnavailable [3] NULL, + -- See clause 5.3.1 + responseFailed [4] FurtherInformation, + -- See clauses 6.2.2.2 and 6.3.3.2 + ... +} + +ResponseRecord ::= SEQUENCE +{ + recordNumber [1] INTEGER, + recordPayload [2] RetainedDataRecord, + additionalInformation [3] AdditionalInformation OPTIONAL, + -- see clause 6.2.4 + nationalRecordPayload [4] NationalRecordPayload OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ... +} + +AdditionalInformation ::= SEQUENCE +{ + contactInformation [1] UTF8String OPTIONAL, + -- Name or address of operator or person who may have further information + otherInformation [2] UTF8String OPTIONAL, + ... +} + +RetainedDataRecord ::= CHOICE +{ + telephonyRecord [1] TelephonyRecord, + -- Details are defined in Annex B + messageRecord [2] MessageRecord, + -- Details are defined in Annex C + networkAccess [3] NetworkAccessRecord, + -- Details are defined in Annex E + ..., + multimediaRecord [4] MultimediaRecord + -- Details are defined in Annex D + -- Other services will be included (as they are implemented) +} + +ResponseAcknowledgement ::= CHOICE +{ + -- Acknowledges a response has been sent + acknowledgeCompleteResults [1] NULL, + acknowledgePartialResults [2] NULL, + ..., + acknowledgePartialResultsNumber [3] INTEGER + -- number to acknowledge a specific resultMessage within parallel multi-part delivery +} + +-- ================================================== +-- Definitions of an error message and acknowledgment +-- ================================================== + +FurtherInformation ::= SEQUENCE +{ + information [1] UTF8String, + contactInformation [2] UTF8String OPTIONAL, + ..., + categorisedErrorDescription [3] CategorisedErrorDescription OPTIONAL -- see 6.4 +} + +CategorisedErrorDescription ::= SEQUENCE +{ + value [1] INTEGER, + description [2] UTF8String OPTIONAL, + ... +} + +-- =================================================== +-- Definitions of a cancel message and acknowledgement +-- =================================================== + +CancelMessage ::= NULL + -- Cancels an active request + +CancelAcknowledgement ::= NULL + -- Acknowledges the receipt of a cancel message (no other information required) + +-- =================================================== +-- Definitions of status request and response messages +-- =================================================== + +GetStatusMessage ::= SEQUENCE +{ + requestNumbers [1] SEQUENCE OF RequestNumber, + ... +} + +StatusMessage ::= SEQUENCE +{ + statusResponse [1] SEQUENCE OF StatusResponse, + ... +} + +StatusResponse ::= SEQUENCE +{ + requestNumber [1] RequestNumber, + requestStatus [2] RequestStatus, + ... +} + +RequestStatus ::= CHOICE +{ + ready [1] NULL, + incompleteResultsReady [2] NULL, + failureResponseReady [3] NULL, + notReady [4] NULL, + error [5] FurtherInformation, + inDelivery [6] NULL, + invalidRequestID [7] NULL, + ... +} + +-- ========================================== +-- Definitions of status get results messages +-- ========================================== + +GetResultsMessage ::= NULL + -- No further information required (the RequestID is given in the header) + +-- =================== +-- National parameters +-- =================== + +NationalRequestParameters ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- Country Code according to ISO 3166-1 [4], + -- 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 (...). + -- It is recommended that an version indicator is included in the national parameters + -- definition. +} + +NationalResponsePayload ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalRecordPayload ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +SupplementaryRequest ::= CHOICE +{ + nationalSupplementaryRequest [1] NationalSupplementaryRequest, + ... +} + +SupplementaryResponse ::= CHOICE +{ + nationalSupplementaryResponse [1] NationalSupplementaryResponse, + ... +} + +NationalSupplementaryRequest ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- Country Code according to ISO 3166-1 [4], + -- 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 (...). + -- It is recommended that a version indicator is included. +} + +NationalSupplementaryResponse ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- Country Code according to ISO 3166-1 [4], + -- 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 (...). + -- It is recommended that a version indicator is included. +} + +TimeSpan ::= SEQUENCE +{ + startTime [1] GeneralizedTime OPTIONAL, + endTime [2] GeneralizedTime OPTIONAL, + ..., + durationTime [3] INTEGER OPTIONAL + -- duration in seconds +} + +File ::= SEQUENCE +{ + mediaType [1] UTF8String, + -- Media type of the file, e.g. image/jpeg, application/pdf + -- Media types (formerly known as MIME types) are assigned and listed by the IANA + content [2] OCTET STRING, + -- Content of the file + ... +} + +-- ============================================== +-- Definitions for Generic Subscriber Information +-- ============================================== + +GenericSubscriberInfo ::= SEQUENCE +{ + organizationInfo [1] OrganizationInfo OPTIONAL, + individualInfo [2] IndividualInfo OPTIONAL, + ..., + contracts [3] SEQUENCE OF ContractInformation OPTIONAL +} + +OrganizationInfo ::= SEQUENCE +{ + name [1] UTF8String OPTIONAL, + -- name of the organization + contactDetails [2] ContactDetails OPTIONAL, + -- address, and name/phone number of a point of contact + nationalRegistrationID [3] UTF8String OPTIONAL, + -- e.g. social security number + ..., + registeredAddress [4] AddressInformation OPTIONAL, + tradingAddress [5] AddressInformation OPTIONAL, + otherAddresses [6] SEQUENCE OF OtherAddress OPTIONAL, + groupID [7] UTF8String OPTIONAL, + -- identity of organization group + groupAdministrator [8] UTF8String OPTIONAL, + -- identity of organization administrator + companyType [9] UTF8String OPTIONAL, + -- type of company + vatEnabled [10] BOOLEAN OPTIONAL, + -- VAT enabled or not + vatNumber [11] UTF8String OPTIONAL, + -- VAT number + createIP [12] IPAddress OPTIONAL, + -- IP used to create the subscriber account + createTime [13] GeneralizedTime OPTIONAL, + -- time that subscriber account was created + modifiedDate [14] GeneralizedTime OPTIONAL + -- date that subscriber account was modified +} + +IndividualInfo ::= SEQUENCE +{ + name [1] PersonName OPTIONAL, + contactAddress [2] ContactDetails OPTIONAL, + dateOfBirth [3] GeneralizedTime OPTIONAL, + gender [4] ENUMERATED + { + male(0), + female(1), + ... + } OPTIONAL, + identificationNumber [5] UTF8String OPTIONAL, + authenticationInfo [6] AuthenticationInfo OPTIONAL, + ..., + profession [7] UTF8String OPTIONAL, + otherAddresses [8] SEQUENCE OF OtherAddress OPTIONAL, + createTime [9] GeneralizedTime OPTIONAL + -- time that subscriber account was created +} + +ContractInformation ::= SEQUENCE +{ + contractDesignation [1] UTF8String OPTIONAL, + contractNumber [2] UTF8String OPTIONAL, + otherInformation [3] UTF8String OPTIONAL, + timeSpan [4] TimeSpan OPTIONAL, + contractDocuments [5] SEQUENCE OF File OPTIONAL, + ... +} + +PersonName ::= SEQUENCE +{ + salutation [1] UTF8String OPTIONAL, + surname [2] UTF8String OPTIONAL, + -- the non-chosen or inherited name of an individual, e.g. "Arend" + surnamePrefix [3] UTF8String OPTIONAL, + -- any prefix before the surname, e.g. "von", "van der" + surnameSuffix [4] UTF8String OPTIONAL, + -- any suffix after the surname, e.g. "Jr", "III" + middleNames [5] UTF8String OPTIONAL, + -- that part of the name excluding forename, separable and preceding the surname + firstname [6] UTF8String OPTIONAL, + -- the first name or initials, e.g. "Peter" + ..., + secondsurname [7] UTF8String OPTIONAL, + -- a second surname is used in several countries + secondsurnamePrefix [8] UTF8String OPTIONAL, + secondsurnameSuffix [9] UTF8String OPTIONAL +} + +ContactDetails ::= SEQUENCE +{ + address [1] AddressInformation OPTIONAL, + emailAddress [2] UTF8String OPTIONAL, + contactNumber [3] SEQUENCE OF PartyNumber OPTIONAL, + -- several numbers (work, home, mobile) may be given for a single subscriber + ..., + additionalEmailAddresses [4] SEQUENCE OF UTF8String OPTIONAL + -- several email addresses may be given for a single subscriber +} + +AddressInformation ::= SEQUENCE +{ + flatNumber [1] UTF8String OPTIONAL, + buildingName [2] UTF8String OPTIONAL, + buildingNumber [3] UTF8String OPTIONAL, + streetName [4] UTF8String OPTIONAL, + poBox [5] UTF8String OPTIONAL, + -- PO box or Response number + postalCode [6] UTF8String OPTIONAL, + -- Postal code. Example: 2289AC + region [7] UTF8String OPTIONAL, + province [8] UTF8String OPTIONAL, + language [9] UTF8String OPTIONAL, + city [10] UTF8String OPTIONAL, + country [11] CountryCode OPTIONAL, + -- Country code as defined in ISO 3166-1 [4] + validity [12] TimeSpan OPTIONAL, + -- time from which the address was registered + ..., + relatedOrganizationInfo [13] OrganizationInfo OPTIONAL, + relatedPersonName [14] PersonName OPTIONAL, + otherInformation [15] UTF8String OPTIONAL + -- additional information in cases of divergent addresses +} + +OtherAddress ::= SEQUENCE +{ + address [1] AddressInformation OPTIONAL, + addressType [2] UTF8String OPTIONAL, + -- Description of the type of address that has been given in the address field + addressComments [3] UTF8String OPTIONAL, + -- Any extra information to aid the understanding of the address given + ... +} + +AuthenticationInfo ::= SEQUENCE +{ + authenticationType [1] UTF8String OPTIONAL, + + authenticationNumber [2] UTF8String OPTIONAL, + + ..., + issuingCountry [3] UTF8String (SIZE (2)) OPTIONAL, + issuingOrganization [4] UTF8String OPTIONAL, + nationality [5] UTF8String OPTIONAL, + authenticationDocument [6] SEQUENCE OF File OPTIONAL + +} + + +PaymentDetails ::= SEQUENCE +{ + billingMethod [1] BillingMethod OPTIONAL, + bankAccount [2] BankAccount OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + ..., + billingIdentifier [4] BillingIdentifier OPTIONAL +} + +BankAccount ::= SEQUENCE +{ + iBAN [1] IBAN OPTIONAL, + bIC [2] BIC OPTIONAL, + accountHolder [3] UTF8String OPTIONAL, + nationalAccountNumber [4] UTF8String OPTIONAL, + -- To be used in case that the account holding bank has no IBAN + nationalBankNumber [5] UTF8String OPTIONAL, + -- To be used in case that the account holding bank has neither IBAN nor BIC + bankName [6] UTF8String OPTIONAL, + ..., + sepaRefNumber [7] UTF8String OPTIONAL + -- To be used for referenceNumber of a SEPA direct debit mandate +} + +IBAN ::= UTF8String + -- International Banking Account Number + -- format as per ISO 13616-1:2007 [28] + +BIC ::= UTF8String + -- Business Identifier Code + -- format as per ISO 9362:2009 [29] + +BillingMethod ::= ENUMERATED +{ + debit(0), + transfer(1), + prepaid(2), + ... +} + +TelephonyRecord ::= CHOICE +{ + telephonySubscriber [1] TelephonySubscriber, + telephonyBillingDetails [2] TelephonyBillingDetails, + telephonyServiceUsage [3] TelephonyServiceUsage, + telephonyDevice [4] TelephonyDevice, + telephonyNetworkElement [5] TelephonyNetworkElement, + ... +} + +-- ============================== +-- Definitions of Subscriber Data +-- ============================== + +TelephonySubscriber ::= SEQUENCE +{ + subscriberID [1] TelephonySubscriberId OPTIONAL, + -- unique identifier for this subscriber, e.g. account number + genericSubscriberInfo [2] GenericSubscriberInfo OPTIONAL, + -- generic personal information about this subscriber + telephonySubscriberInfo [3] TelephonySubscriberInfo OPTIONAL, + -- service-specific information about this subscriber + subscribedTelephonyServices [4] SEQUENCE OF SubscribedTelephonyServices OPTIONAL, + -- a subscriber (or account) may have more than one service listed against them + ..., + nationalTelephonySubscriberInfo [5] NationalTelephonySubscriberInfo OPTIONAL + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonySubscriberInfo ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonySubscriberId ::= UTF8String + -- unique identifier for this subscriber, e.g. account number + +TelephonySubscriberInfo ::= NULL + -- Reserved + +PartyNumberInfo ::= SEQUENCE +{ + partyNumber [1] PartyNumber OPTIONAL, + -- referenced partyNumber for the additional information in this type + timeSpan [2] TimeSpan OPTIONAL, + -- start and end date if applicable in which the number was active + disableReason [3] UTF8String OPTIONAL, + -- reason of temporarily disable procedure - if applicable + ... +} + +ICCIDInfo ::= SEQUENCE +{ + iCCID [1] UTF8String OPTIONAL, + timeSpan [2] TimeSpan OPTIONAL, + -- activation- and deactivation-date if applicable in which the ICCID was active + ..., + pUK [3] UTF8String OPTIONAL, + -- PUK code associated with the ICCID + pUK2 [4] UTF8String OPTIONAL, + -- PUK2 code associated with the ICCID + iMSI [5] IMSI OPTIONAL, + sUPI [6] SUPI OPTIONAL, + gPSI [7] GPSI OPTIONAL +} + + +LoginInfo ::= SEQUENCE +{ + login [1] UTF8String OPTIONAL, + -- login used for authentication, usually a username or email address + password [2] UTF8String OPTIONAL, + serviceName [3] UTF8String OPTIONAL, + -- short description of the kind of service the login / password is used for + needsAdditionalAuthentication [4] BOOLEAN OPTIONAL, + -- true if additional authentication methods are required, like security questions or + -- e-tokens + timeSpan [5] TimeSpan OPTIONAL, + -- timespan when the login / password was valid + ... +} + +SubscribedTelephonyServices ::= SEQUENCE +{ + serviceID [1] UTF8String OPTIONAL, + -- Unique identifier for this service within the operator + providerID [2] UTF8String OPTIONAL, + -- Unique identifier for the service provider + timeSpan [3] TimeSpan OPTIONAL, + -- Start and end data, if applicable, of the subscription + registeredNumbers [4] SEQUENCE OF PartyNumber OPTIONAL, + -- The set of telephone numbers registered for this service + registeredICCID [5] UTF8String OPTIONAL, + serviceType [6] TelephonyServiceType OPTIONAL, + installationAddress [7] AddressInformation OPTIONAL, + -- installation address, if different from the registered address + connectionDate [8] GeneralizedTime OPTIONAL, + -- Date the subscriber was actually connected + -- (May differ from the start of subscription) + iMSI [9] IMSI OPTIONAL, + carrierPreselect [10] BOOLEAN OPTIONAL, + lineStatus [11] UTF8String OPTIONAL, + -- CSP-specific description of current line status, e.g. "Active", "Ceased", etc. + ..., + allocatedDeviceIDs [12] SEQUENCE OF TelephonyDeviceID OPTIONAL, + pUKCode [13] UTF8String OPTIONAL, + pUK2Code [14] UTF8String OPTIONAL, + iMEI [15] SEQUENCE OF IMEI OPTIONAL, + nationalTelephonySubscriptionInfo [16] NationalTelephonySubscriptionInfo OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + paymentDetails [17] PaymentDetails OPTIONAL, + subscriptionType [18] SubscriptionType OPTIONAL, + -- Describes the nature of the subscription + deliveryAddress [19] AddressInformation OPTIONAL, + resellerAddress [20] AddressInformation OPTIONAL, + otherAddresses [21] SEQUENCE OF OtherAddress OPTIONAL, + registeredNumbersInfo [22] SEQUENCE OF PartyNumberInfo OPTIONAL, + -- information about timespan of the active number and deactivation events + registeredICCIDs [23] SEQUENCE OF ICCIDInfo OPTIONAL, + -- in cases of MultiSIM card contracts + loginInfos [24] SEQUENCE OF LoginInfo OPTIONAL, + -- e.g. login information according a VMS/UMS account + paymentTransactions [25] SEQUENCE OF BillingRecords OPTIONAL +} + + +SubscriptionType ::= ENUMERATED +{ + unknown(0), + postpay(1), + prepay(2), + other(3), + ... +} + -- Describes the nature of the subscription + +NationalTelephonySubscriptionInfo ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyBillingDetails ::= SEQUENCE +{ + subscriberID [1] TelephonySubscriberId OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] BillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL, + ..., + nationalTelephonyBillingDetails [6] NationalTelephonyBillingDetails OPTIONAL + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonyBillingDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +BillingIdentifier ::= OCTET STRING + -- Used to correlate billing information + -- useful if the bill-payer is not the subscriber, e.g. company mobiles + +BillingRecords ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + place [2] UTF8String OPTIONAL, + amount [3] REAL OPTIONAL, + currency [4] UTF8String (SIZE(3)) OPTIONAL, + -- as per ISO 4217 [5] + method [5] UTF8String OPTIONAL, + -- i.e. credit card, etc. + ..., + nationalTelephonyBillingRecords [6] NationalTelephonyBillingRecords OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + transactionID [7] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + transactionStatus [8] UTF8String OPTIONAL, + -- Status of the transaction (i.e. "declined", "succeeded", etc.) + -- Details to be defined on a national bases + copyOfBill [9] SEQUENCE OF File OPTIONAL +} + + +NationalTelephonyBillingRecords ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyServiceType ::= ENUMERATED +{ + private(0), + privatePABX(1), + publicPayphone(2), + ... +} + +-- ================================= +-- Definitions of Service Usage Data +-- ================================= + +TelephonyServiceUsage ::= SEQUENCE +{ + partyInformation [1] SEQUENCE OF TelephonyPartyInformation OPTIONAL, + -- This parameter provides the concerned party (Originating, Terminating or + -- forwarded party), the identity(ies) of the party and all the information + -- provided by the party + communicationTime [2] TimeSpan OPTIONAL, + -- Time and duration of the communication + eventInformation [3] SEQUENCE OF TelephonyEventInformation OPTIONAL, + -- A list of events that occurred during this service usage + endReason [4] INTEGER OPTIONAL, + -- Q.850 cause code for call termination + communicationType [5] TelephonyCommunicationType OPTIONAL, + bearerService [6] TelephonyBearerService OPTIONAL, + smsInformation [7] SmsInformation OPTIONAL, + ringDuration [8] INTEGER OPTIONAL, + ..., + mmsInformation [9] MmsInformation OPTIONAL, + nationalTelephonyServiceUsage [10] NationalTelephonyServiceUsage OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + operatorSpecificCallDetails [11] UTF8String OPTIONAL + -- CSP specific value which indicates the nature of a call + -- (e.g. "CallIndicator: GPR, CallActionCode: 2") +} + +NationalTelephonyServiceUsage ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyPartyInformation ::= SEQUENCE +{ + partyRole [1] TelephonyPartyRole OPTIONAL, + partyNumber [2] PartyNumber OPTIONAL, + subscriberID [3] TelephonySubscriberId OPTIONAL, + deviceID [4] TelephonyDeviceID OPTIONAL, + locations [5] SEQUENCE OF TelephonyLocation OPTIONAL, + -- List of cell locations used by this party during the service usage + communicationTime [6] TimeSpan OPTIONAL, + -- Time and duration of the communication + iMSI [8] IMSI OPTIONAL, + natureOfAddress [9] UTF8String OPTIONAL, + -- Nature of address indicator, e.g. "National", "International" + forwardedTransferredNumber [10] PartyNumber OPTIONAL, + terminatingTransferredNumber [11] PartyNumber OPTIONAL, + ..., + emailAddress [12] UTF8String OPTIONAL, + -- used for MMS that supports also the use of E-Mail addresses (RFC 5322 [24]) + iMEI [13] IMEI OPTIONAL, + detailedLocation [14] TelephonyNetworkElement OPTIONAL, + -- In the case detailed location information per call and party is available + -- (e.g. the geoCoordinates for this partyNumber) + nationalTelephonyPartyInformation [15] NationalTelephonyPartyInformation OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + partyType [16] TelephonyPartyType OPTIONAL, + dialledDigits [17] UTF8String OPTIONAL +} + +NationalTelephonyPartyInformation ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyPartyType ::= CHOICE +{ + voicemail [1] NULL, + smsServer [2] NULL, + other [3] UTF8String, + ... +} + +TelephonyCommunicationType ::= ENUMERATED +{ + telephonyFixedCS(0), + telephonyWirelessCS(1), + sMS(2), + ..., + mMS(3) +} + +TelephonyBearerService ::= ENUMERATED +{ + speech(0), + data(1), + fax(2), + ... +} + +SmsInformation ::= SEQUENCE +{ + smsEvent [1] ENUMERATED + { + shortMessage(1), + shortPartMessage(2), + compositeMessage(3), + notificationMessage(4), + ... + } OPTIONAL, + smsType [2] ENUMERATED + { + deliverSCtoMS(1), + deliverReportMStoSC(2), + statusReportSCtoMS(3), + commandMStoSC(4), + submitMStoSC(5), + submitReportSCtoMS(6), + reservedMTIValue(7), + ... + } OPTIONAL, + smsStatus [3] ENUMERATED + { + delivered(0), + expired(1), + deleted(2), + replaced(3), + submitted(4), + incomplete-submission(5), + incomplete-delivery(6), + undeliverable(7), + passed-on(8), + ... + } OPTIONAL, + smsCmRefNr [4] OCTET STRING (SIZE(1..2)) OPTIONAL, + -- format as per 3GPP TS 23.040 [16] + smsNumOfSM [5] INTEGER (0..65535) OPTIONAL, + smsNotifyInd [6] BOOLEAN OPTIONAL, + smsProtocolId [7] OCTET STRING (SIZE(1)) OPTIONAL, + -- format as per 3GPP TS 23.040 [16] + ... +} + +MmsInformation ::= SEQUENCE +{ + mmsEvent [1] ENUMERATED + { + message(1), + notificationMessage(2), + deliveryReportMessage(3), + readReplyMessage(4), + ... + } OPTIONAL, + -- type of message exchanged + mmsStatus [2] ENUMERATED + { + delivered(0), + expired(1), + deleted(2), + replaced(3), + submitted(4), + undeliverable(5), + passed-on(6), + delivery-rejection(7), + delivery-forward(8), + delivery-copy(9), + submission-rejection(10), + submission-failure(11), + ..., + delivered-application(12) + -- optional flag indicating MMS was retrieved using + -- something other than mobile deivce e.g. web browser + } OPTIONAL, + mmsNotifInd [3] BOOLEAN OPTIONAL, + -- indication that a delivery notification has been generated + mmsMsgMod [4] ENUMERATED + { + none(1), + modified(2), + stripped(3), + ... + } OPTIONAL, + -- message modification indication for MMS + ... +} + +TelephonyEventInformation ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + -- time when the event occurred + type [2] TelephonyEventType OPTIONAL, + -- type of event + party [3] TelephonyPartyRole OPTIONAL, + -- party to which the event is related + location [4] TelephonyLocation OPTIONAL, + ... +} + +TelephonyEventType ::= CHOICE +{ + basicEventType [1] BasicEventType, + callConferenceEventType [2] CallConferenceEventType, + callForwardingEventType [3] CallForwardingEventType, + messagingEventType [4] MessagingEventType, + prepayServiceEventType [5] PrepayServiceEventType, + ..., + nationalTelephonyEventType [6] NationalTelephonyEventType + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonyEventType ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +BasicEventType ::= ENUMERATED +{ + handover(1), + hold(2), + retrieve(3), + suspend(4), + resume(5), + ect(6), + mpty(7), + mptyHold(8), + mptyRetrieve(9), + mptySplit(10), + uus1(11), + uus2(12), + uus3(13), + serviceSpeech(14), + serviceFax(15), + tpyInvoke(16), + tpyPrivateComm(17), + serviceActivation(18), + transit(19), + mSOriginating(20), + callForwarding(21), + mSTerminating(22), + ..., + callAttempt(23), + callStart(24), + callEnd(25), + cliWithheld(26) +} + +CallForwardingEventType ::= ENUMERATED +{ + cfuActivation(1), + cfuModification(2), + cfuDe-activation(3), + cfcNoReplyActivation(4), + cfcNoReplyModification(5), + cfcNoReplyDe-activation(6), + cfcBusyActivation(7), + cfcBusyModification(8), + cfcBusyDe-activation(9), + cfcOutOfRangeActivation(10), + cfcOutOfRangeModification(11), + cfcOutOfRangeDe-activation(12), + cfcUnavailableActivation(13), + cfcUnavailableModification(14), + cfcUnavailableDe-activation(15), + cfuFaxActivation(16), + cfuFaxModification(17), + cfuFaxDe-activation(18), + ... +} + +CallConferenceEventType ::= ENUMERATED +{ + confBeginSeizure(1), + confAdd(2), + confSplit(3), + confIsolate(4), + confReattach(5), + confDrop(6), + confBeginActive(7), + ... +} + +MessagingEventType ::= ENUMERATED +{ + mSOriginatingSMSinMSC(1), + mSTerminatingSMSinMSC(2), + shortMessageDelivery(3), + mMMessage(4), + mMNotification(5), + mMDeliveryReport(6), + mMReadReply(7), + ... +} + +PrepayServiceEventType ::= ENUMERATED +{ + serviceActivation(1), + ... +} + +TelephonyLocation ::= SEQUENCE +{ + telephonyNetworkID [1] TelephonyNetworkID OPTIONAL, + -- ID of the network element location (e.g. Cell ID) + timeSpan [2] TimeSpan OPTIONAL, + -- Time span that this location was valid for + ..., + nationalTelephonyLocation [3] NationalTelephonyLocation OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + detailedLocation [4] TelephonyNetworkElement OPTIONAL + -- The extended information for this network element as it was at the time of the + -- communication +} + +NationalTelephonyLocation ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyPartyRole ::= ENUMERATED +{ + originating-Party(0), + terminating-Party(1), + forwarded-to-Party(2), + originalCalled(3), + redirecting(4), + connected(5), + userProvidedCalling(6), + roaming(7), + translated(8), + singlePersonalNumber(9), + smsOriginator(10), + smsRecipient(11), + smsOriginatorTrn(12), + smsRecipientTrn(13), + ..., + mmsOriginator(14), + mmsRecipient(15), + mmsOriginatorTrn(16), + mmsRecipientTrn(17) +} + +-- ======================= +-- Device Data definitions +-- ======================= + +TelephonyDevice ::= SEQUENCE +{ + deviceIDType [1] ENUMERATED + -- Type of identifier for telephony device + { + unknown(0), + imei(1), + macAddress(2), + ... + } OPTIONAL, + telephonyDeviceID [2] TelephonyDeviceID OPTIONAL, + -- Unique identifier for this telephony device according to type of identifier + ..., + subscriberID [3] TelephonySubscriberId OPTIONAL, + -- Identifier for a known user of this equipment. + -- Usage of this parameter is subject to national legislation. + nationalTelephonyDevice [4] NationalTelephonyDevice OPTIONAL + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements +} + +NationalTelephonyDevice ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyDeviceID ::= OCTET STRING + -- A unique identifier for the telephony device. For example, the IMEI number + -- of a mobile handset + +-- ======================== +-- Network Data definitions +-- ======================== + +TelephonyNetworkElement ::= SEQUENCE +{ + telephonyNetworkID [1] TelephonyNetworkID OPTIONAL, + cellInformation [2] Location OPTIONAL, + -- The Location information id + validity [3] TimeSpan OPTIONAL, + ..., + nationalTelephonyNetworkElement [4] NationalTelephonyNetworkElement OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + transmitterDetails [5] TransmitterDetails OPTIONAL +} + +NationalTelephonyNetworkElement ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +TelephonyNetworkID ::= OCTET STRING + -- Unique identifier for this network element: e.g. a Cell ID + +TransmitterDetails ::= SEQUENCE +{ + alternativeID [1] UTF8String OPTIONAL, + -- For use by CSPs with an alternative naming scheme for cells + beamWidth [2] INTEGER OPTIONAL, + -- beam width in degrees + -- note that the beam bearing is given in the gsmLocation Azimuth field + radiatedPower [3] INTEGER OPTIONAL, + -- Effective radiated power in watts. + antennaHeight [4] INTEGER OPTIONAL, + -- Height of antenna from ground in metres + range [5] INTEGER OPTIONAL, + -- Indication of range or radius of cell or sector coverage, in metres + -- Precise definition is to be decided on a national basis (e.g. distance + -- at which some fixed percentage of calls are connected) + frequency [6] INTEGER OPTIONAL, + -- transmitter frequency in kHz + technology [7] TransmitterTechnology OPTIONAL, + nationalTransmitterDetails [8] NationalTransmitterDetails OPTIONAL, + ... +} + +TransmitterTechnology ::= ENUMERATED +{ + gen2G(0), -- This corresponds to GERAN in ETSI TS 129 274 [32] + gen3G(1), -- This corresponds to UTRAN in ETSI TS 129 274 [32] + ..., + eUTRAN(2), + wLAN(3), + hSPAEvolution(4), + gAN(5), + vIRTUAL(6), + eUTRANNBIoT(7), + lTEM(8), + nR(9) + -- Note that the labels are taken from ETSI TS 129 274 [32] v15.9.0 clause 8.17, though the + -- enumeration values (0 to 9) are not. +} + + +NationalTransmitterDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +-- ==================== +-- Location information +-- ==================== + +Location ::= SEQUENCE +{ + e164-Number [1] OCTET STRING (SIZE (1..25)) OPTIONAL, + -- Coded in the same format as the ISUP location number (parameter field) + -- of the ISUP (see ETSI EN 300 356 [7]) + globalCellID [2] OCTET STRING (SIZE (5..7)) OPTIONAL, + -- See MAP format (see ETSI TS 100 974 [8]) + rAI [3] OCTET STRING (SIZE (6)) OPTIONAL, + -- The Routeing Area Identifier (RAI) in the current SGSN is coded in accordance with + -- ETSI TS 124 008 [9] without the Routing Area Identification IEI (only the + -- last 6 octets are used) + gsmLocation [4] GSMLocation OPTIONAL, + umtsLocation [5] UMTSLocation OPTIONAL, + sAI [6] OCTET STRING (SIZE (7)) OPTIONAL, + -- format: PLMN-ID 3 octets (no. 1-3) + -- LAC 2 octets (no. 4-5) + -- SAC 2 octets (no. 6-7) + -- (according to ETSI TS 125 413 [31]) + oldRAI [7] OCTET STRING (SIZE (6)) OPTIONAL, + -- the "Routeing Area Identifier" in the old SGSN is coded in accordance with + -- ETSI TS 124 008 [9] without the Routing Area Identification IEI + -- (only the last 6 octets are used) + -- This parameter is duplicated from ETSI TS 133 108 [11] + ..., + postalLocation [8] AddressInformation OPTIONAL, + extendedLocation [9] ExtendedLocation OPTIONAL, + userLocationInformation [10] OCTET STRING (SIZE(1..35)) OPTIONAL, + -- coded according to ETSI TS 129 274 [32]; the type IE is not included + tAI [11] OCTET STRING (SIZE (6)) OPTIONAL, + eCGI [12] OCTET STRING (SIZE (8)) OPTIONAL, + maritimeTransport [13] MaritimeTransport OPTIONAL, + -- Information about the mobile cells embarked on ships using + -- satellite transponder backhaul + airTransport [14] AirTransport OPTIONAL, + -- Information about the mobile cells embarked on aircraft using + -- satellite transponder backhaul + bSSID [15] OCTET STRING (SIZE (6)) OPTIONAL, + -- 48-bit (6 octet) MAC address of the WLAN access point derived from the BSSID + nCGI [16] NCGI OPTIONAL, + -- format as specified in 3GPP TS 38.413 [42]. + n3gaLocation [17] OCTET STRING (SIZE (4)) OPTIONAL, + -- The use of this parameter is not recommended, as it is not aligned + -- with the format specified in ETSI TS 129 571 [43] + -- The parameter n3gppaLocation should be used instead. + trackingAreaIdentifier [18] OCTET STRING (SIZE (5..6)) OPTIONAL, + -- where: MCC+MNC = 3 octets, TAC (4G) = 2 octets or + -- TAC (5G) = 3 octets and without length indicator + locationInformationSource [19] UTF8String OPTIONAL, + n3gppaLocation [20] N3gppaLocation OPTIONAL, + -- format as specified in ETSI TS 129 571 [43] + transmitterDetails [21] TransmitterDetails OPTIONAL +} + +NCGI ::= SEQUENCE +{ + pLMNID [1] PLMNID, + nRCellID [2] NRCellID +} + +N3gppaLocation ::= SEQUENCE +{ + n3gppTai [1] OCTET STRING (SIZE (5..6)) OPTIONAL, + n3IwfId [2] OCTET STRING (SIZE (5)) OPTIONAL, + -- Composed of the PLMN-ID (3 octets) and the N3IWF ID (2 + -- octets) according to ETSI TS 138 413 clause 9.3.1.57. + ueIpv4Addr [3] IPAddress OPTIONAL, + ueIpv6Addr [4] IPAddress OPTIONAL, + portNumber [5] INTEGER OPTIONAL, + ... +} + +NRCellID ::= BIT STRING (SIZE(36)) +-- TS 38.413 [23], clause 9.3.1.7 + +GSMLocation ::= CHOICE +{ + geoCoordinates [1] SEQUENCE + { + latitude [1] UTF8String (SIZE(7..10)) OPTIONAL, + -- format: XDDMMSS.SS + longitude [2] UTF8String (SIZE(8..11)) OPTIONAL, + -- format: XDDDMMSS.SS + mapDatum [3] MapDatum OPTIONAL, + azimuth [4] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + }, + -- format: XDDMMSS.SS (on latitudes) or XDDDMMSS.SS (on longitudes) + -- X : N(orth), S(outh), E(ast), W(est) + -- DD or DDD : degrees (numeric characters) + -- MM : minutes (numeric characters) + -- SS.SS : seconds, the second part (.SS) is optional + -- Example: + -- latitude (short form) N502312 + -- longitude (long form) E1122312.18 + utmCoordinates [2] SEQUENCE + { + utm-Zone [1] UTF8String (SIZE(3)) OPTIONAL, + utm-East [2] UTF8String (SIZE(6)) OPTIONAL, + utm-North [3] UTF8String (SIZE(7)) OPTIONAL, + -- Universal Transverse Mercator + -- example utm-Zone 32U + -- utm-East 439955 + -- utm-North 5540736 + mapDatum [4] MapDatum OPTIONAL, + azimuth [5] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + }, + utmRefCoordinates [3] SEQUENCE + { + utm-GridZone [1] UTF8String (SIZE(2)) OPTIONAL, + -- numerals from 1 to 60 + utm-GridBand [2] UTF8String (SIZE(1)) OPTIONAL, + -- character between C and X + squareID [3] UTF8String (SIZE(2)) OPTIONAL, + -- characters from A to Z + numericalLocationEasting [4] UTF8String (SIZE(5)) OPTIONAL, + numericalLocationNorthing [5] UTF8String (SIZE(5)) OPTIONAL, + -- Universal Transverse Mercator Reference = Military Grid Reference System (MGRS) + -- example utm-GridZone 32 + -- utm-GridBand U + -- squareID PU + -- numericalLocationEasting 9129 + -- mumericalLocationNorthing 4045 + -- In both panels, utm-GridBand and squareID the 'I' and 'O' characters are not used + -- because of their similarity to the digits one and zero. + mapDatum [6] MapDatum OPTIONAL, + azimuth [7] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + }, + wGS84Coordinates [4] OCTET STRING, + -- format is as defined in 3GPP TS 03.32 [12] + ..., + geoCoordinatesDec [5] SEQUENCE + { + latitudeDec [1] UTF8String (SIZE(3..12)) OPTIONAL, + -- format: XDD.nnnnnnnn + longitudeDec [2] UTF8String (SIZE(4..13)) OPTIONAL, + -- format: XDDD.nnnnnnnn + mapDatum [3] MapDatum OPTIONAL, + azimuth [4] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... + } + -- format: XDD.nnnnnnnn (on latitudes) or XDDD.nnnnnnnn (on longitudes) + -- X : N(orth), S(outh), E(ast), W(est) + -- DD or DDD : degrees (numeric characters) + -- nnnnnnnn : post decimal positions (numeric characters) + -- Example: + -- latitude N50.38666667 + -- longitude E112.38671670 +} + +MapDatum ::= ENUMERATED +{ + wGS84(1), + -- World Geodetic System 1984 + wGS72(2), + eD50(3), + -- European Datum 50 + rD(4), + -- Rijks Driehoek (Netherlands) + potsdamDatum(5), + datumAustria(6), + eTRS89(7), + -- European Terrestrial Reference System 1989 + nAD27(8), + -- North American Datum 1927 + oSGB36(9), + -- Ordnance Survey of Great Britain + oSNI52(10), + -- Ordnance Survey of Northern Ireland + tM65(11), + iTM(12), + -- Irish Transverse Mercator + ..., + cH1903(13), + -- Swiss reference system + cH1903Plus(14) + -- New Swiss reference system +} + + +UMTSLocation ::= CHOICE +{ + point [1] GA-Point, + pointWithUnCertainty [2] GA-PointWithUnCertainty, + polygon [3] GA-Polygon, + ... +} + +GeographicalCoordinates ::= SEQUENCE +{ + latitudeSign [1] ENUMERATED + { + north(0), + south(1) + } OPTIONAL, + latitude [2] INTEGER (0..8388607) OPTIONAL, + longitude [3] INTEGER (-8388608..8388607) OPTIONAL, + ..., + mapDatum [4] MapDatum OPTIONAL, + azimuth [5] INTEGER (0..359) OPTIONAL + -- The azimuth is the bearing, relative to true north +} + +GA-Point ::= SEQUENCE +{ + geographicalCoordinates [1] GeographicalCoordinates, + ... +} + +GA-PointWithUnCertainty ::=SEQUENCE +{ + geographicalCoordinates [1] GeographicalCoordinates, + uncertaintyCode [2] INTEGER (0..127) +} + +maxNrOfPoints INTEGER ::= 15 + +GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF GA-Polygon-Elements + +GA-Polygon-Elements ::= SEQUENCE +{ + geographicalCoordinates [1] GeographicalCoordinates, + ... +} + +ExtendedLocation ::= CHOICE +{ + spot [1] Spot, + circle [2] Circle, + region [3] Region, + route [4] Route, + ... +} + +Spot ::= CHOICE +{ + gsmLocation [1] GSMLocation, + postalLocation [2] AddressInformation, + ... +} + +Circle ::= SEQUENCE +{ + centre [1] Spot, + radius [2] HorizontalExtent, + ... +} + +Region ::= SEQUENCE +{ + cornerMarks [1] SEQUENCE OF Spot, + ... +} + +Route ::= SEQUENCE +{ + routeMarks [1] SEQUENCE OF Spot, + width [2] HorizontalExtent OPTIONAL, + ... +} + +HorizontalExtent ::= INTEGER + -- metres + +MaritimeTransport ::= SEQUENCE +{ + shipName [1] UTF8String OPTIONAL, + -- Registered ship name + imoNumber [2] IA5String (SIZE(10)) OPTIONAL, + -- International Maritime Organization (IMO) ship number: + -- IMO prefix with 7-digit number, e.g. IMO7812345 + ... +} + +AirTransport ::= SEQUENCE +{ + iATAAirlineCode [1] IA5String (SIZE(2)) OPTIONAL, + -- Two-character designation code assigned to the airline + -- by the International Air Transport Association (IATA) + iCAOOperatorCode [2] IA5String (SIZE(3)) OPTIONAL, + -- Three-letter designation code assigned to the aircraft operator agency + -- by the International Civil Aviation Organization (ICAO). + -- The iCAOOperatorCode should be used only when the aircraft operator does not have + -- an assigned IATA airline code. + aircraftRegistration [3] UTF8String OPTIONAL, + -- Aircraft identification as in the aircraft's certificate of registration + -- e.g. G-IABC, N99999, F-OAAA + flightNumber [4] IA5String OPTIONAL, + -- Flight number assigned by the airline operating the aircraft + ... +} + + +-- =================== +-- General definitions +-- =================== + +PartyNumber ::= UTF8String + -- E.164 address of the party in international format + +MessageRecord ::= CHOICE +{ + msgSubscriber [1] MsgSubscriber, + msgServiceUsage [2] MsgServiceUsage, + ..., + msgBillingDetails [3] MsgBillingDetails +} + +-- ====================================== +-- Definitions of Message Subscriber Data +-- ====================================== + +MsgSubscriber ::= SEQUENCE + -- Generic information on a service subscriber, supplemented with information specific to + -- asynchronous message services +{ + validity [1] TimeSpan OPTIONAL, + subscriberID [2] MsgSubscriberID OPTIONAL, + msgStores [3] SEQUENCE OF MsgStore OPTIONAL, + -- message stores allocated to this subscriber + subscriber [4] GenericSubscriberInfo OPTIONAL, + ..., + paymentDetails [5] PaymentDetails OPTIONAL +} + +MsgSubscriberID ::= OCTET STRING + -- Unique identifier for this subscriber, e.g. account number + +MsgStore ::= SEQUENCE + -- Location into which messages are temporarily stored. All asynchronous message services by + -- definition require some message store. E.g. in the case of e-mail this will be a mailbox +{ + validity [1] TimeSpan OPTIONAL, + msgStoreID [2] MsgStoreID OPTIONAL, + aliases [3] SEQUENCE OF MsgAddress OPTIONAL, + -- The complete list of all addresses that get delivered into this message store. + providerID [4] MsgProviderID OPTIONAL, + ..., + msgForwardingAddresses [5] SEQUENCE OF MsgAddress OPTIONAL, + msgStoreSubscriberRelatedIDs [6] SEQUENCE OF ContactDetails OPTIONAL +} + +MsgStoreID ::= OCTET STRING + -- Unique identifier of the message store. Since not all IDs will necessarily be human + -- readable, a generic byte string is used + +MsgAddress ::= UTF8String + -- Messaging address, an address to which messages can be sent. In the case of Internet e-mail + -- this will be an RFC822-style address + -- NOTE - as of v1.2.1, this field has changed from OCTET STRING to UTF8String + +MsgProviderID ::= UTF8String + -- Unique identifier for a service provider, e.g. company name + -- NOTE - as of v1.2.1, this field has changed from OCTET STRING to UTF8String + +-- ==================================== +-- Definitions of Message Service Usage +-- ==================================== + +MsgServiceUsage ::= CHOICE + -- Choice of different types of activities + -- Manipulation of stored address books is outside the scope +{ + msgTransmission [1] MsgTransmission, + msgStoreOperation [2] MsgStoreOperation, + ... +} + +MsgTransmission ::= SEQUENCE + -- Sending of an outgoing message, or reception of an incoming message +{ + dateTime [1] GeneralizedTime OPTIONAL, + subscriberID [2] MsgSubscriberID OPTIONAL, + senderAddress [3] MsgAddress OPTIONAL, + recipients [4] SEQUENCE OF MsgAddress OPTIONAL, + msgStores [5] SEQUENCE OF MsgStoreID OPTIONAL, + -- List of all local msgStores that received a copy of the message + -- For transit messages this field is not used + deliveryStatus [6] ENUMERATED + { + unknown(0), + succeeded(1), + -- Delivery might still fail at a subsequent mail server + failed(2), + -- E.g. when mailbox quota exceeded (mailbox full) + retried(3), + -- Deferred and retried at a later time + ... + } OPTIONAL, + protocol [7] ENUMERATED + { + smtp(0), + x400(1), + ... + } OPTIONAL, + clientID [8] IPAddress OPTIONAL, + serverID [9] IPAddress OPTIONAL, + ..., + messageID [10] MessageID OPTIONAL, + sourceServerName [11] UTF8String OPTIONAL, + destinationServerName [12] UTF8String OPTIONAL +} + +MsgStoreOperation ::= SEQUENCE + -- Manipulation of a message store. +{ + dateTime [1] GeneralizedTime OPTIONAL, + subscriberID [2] MsgSubscriberID OPTIONAL, + msgStore [3] MsgStoreID OPTIONAL, + operation [4] ENUMERATED + { + connect(0), + -- Successful authorization for access to msgStore + disconnect(1), + retrieveMsg(2), + -- Viewing msg using a webmail client is also considered retrieval + partialretrieveMsg(3), + -- E.g. the TOP command in POP3 + deleteMsg(4), + addMsg(5), + -- E.g. the APPEND command in IMAP + ..., + editMsg(6) + } OPTIONAL, + senderAddress [5] MsgAddress OPTIONAL, + -- For Internet email, use the From address in the mail headers + recipients [6] SEQUENCE OF MsgAddress OPTIONAL, + -- For Internet email, use the To, CC, and BCC addresses in the mail headers + protocol [7] ENUMERATED + { + pop(0), + imap(1), + ..., + webmail(2) + } OPTIONAL, + clientID [8] IPAddress OPTIONAL, + serverID [9] IPAddress OPTIONAL, + ..., + messageID [10] MessageID OPTIONAL +} + +MessageID ::= UTF8String + -- Unique identifier for this message, e.g RFC 822 header + +-- ============================== +-- Definitions of Billing Data +-- ============================== + +MsgBillingDetails ::= SEQUENCE +{ + subscriberID [1] MsgSubscriberID OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] MsgBillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF MsgBillingRecords OPTIONAL, + nationalMsgBillingDetails [6] NationalMsgBillingDetails OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + copyOfBill [7] SEQUENCE OF File OPTIONAL +} + + +NationalMsgBillingDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MsgBillingIdentifier ::= OCTET STRING + -- Used to correlate billing information + -- useful if the bill-payer is not the subscriber, e.g. company mobiles + +MsgBillingRecords ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + place [2] UTF8String OPTIONAL, + amount [3] REAL OPTIONAL, + currency [4] UTF8String (SIZE(3)) OPTIONAL, + -- as per ISO 4217 [5] + method [5] UTF8String OPTIONAL, + -- i.e. credit card etc. + nationalMsgBillingRecords [6] NationalMsgBillingRecords OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + msgTransactionID [7] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + mgsTransactionStatus [8] UTF8String OPTIONAL + -- Status of the transaction (i.e. "declined", "succeeded" etc.) + -- Details to be defined on a national bases +} + +NationalMsgBillingRecords ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MultimediaRecord ::= CHOICE +{ + multimediaSubscriber [1] MultimediaSubscriber, + multimediaBillingDetails [2] MultimediaBillingDetails, + multimediaServiceUsage [3] MultimediaServiceUsage, + ..., + multimediaDevice [4] MultimediaDevice +} + +-- ============================== +-- Definitions of Subscriber Data +-- ============================== + +MultimediaSubscriber ::= SEQUENCE +{ + subscriberID [1] MultimediaSubscriberID OPTIONAL, + -- unique identifier for this subscriber, e.g. account number + genericSubscriberInfo [2] GenericSubscriberInfo OPTIONAL, + -- generic personal information about this subscriber + multimediaSubscriberInfo [3] MultimediaSubscriberInfo OPTIONAL, + -- service-specific information about this subscriber + subscribedMultimediaServices [4] SEQUENCE OF SubscribedMultimediaServices OPTIONAL, + -- a subscriber (or account) may have more than one service listed against them + ..., + multimediaServiceRegistrationInfo [5] MultimediaServiceRegistrationInfo OPTIONAL +} + +MultimediaSubscriberInfo ::= SEQUENCE +{ + nationalMultimediaSubscriberInfo [1] NationalMultimediaSubscriberInfo OPTIONAL, + ... +} + +MultimediaSubscriberID ::= UTF8String + -- unique identifier for this subscriber, e.g. account number + +MultimediaServiceRegistrationInfo ::= SEQUENCE +{ + emailAddress [1] UTF8String OPTIONAL, + -- subscriber email address in RFC2822 format + languageAtRegistration [2] UTF8String OPTIONAL, + -- subscriber language as in ISO 639 + accountCreationTime [3] GeneralizedTime OPTIONAL, -- start time of account + accountCreationIP [4] IPAddress OPTIONAL, -- subscriber IP at creation + accountCreationCountry [5] UTF8String (SIZE (2)) OPTIONAL, + -- subscriber country as specified in ISO 3166-1 + clientPlatformType [6] UTF8String OPTIONAL, -- subscriber platform + clientVersion [7] UTF8String OPTIONAL, -- subscriber platform version + ... +} + +SubscribedMultimediaServices ::= SEQUENCE +{ + serviceID [1] UTF8String OPTIONAL, + -- Unique identifier for this service within the operator + providerID [2] UTF8String OPTIONAL, + -- Unique identifier for the service provider + timeSpan [3] TimeSpan OPTIONAL, + -- Start and end data, if applicable, of the subscription + registeredIdentifiers [4] SEQUENCE OF PartyIdentity OPTIONAL, + -- The set of identifiers registered for this service + registeredICCID [5] UTF8String OPTIONAL, + serviceType [6] MultimediaServiceType OPTIONAL, + installationAddress [7] AddressInformation OPTIONAL, + -- installation address, if different from the registered address + connectionDate [8] GeneralizedTime OPTIONAL, + -- Date the subscriber was actually connected + -- (May differ from the start of subscription) + iMSI [9] IMSI OPTIONAL, + carrierPreselect [10] BOOLEAN OPTIONAL, + lineStatus [11] UTF8String OPTIONAL, + -- CSP-specific description of current line status, + -- e.g. "Active", "Ceased", etc. + nationalMultimediaServices [12] NationalMultimediaServices OPTIONAL, + -- national extension + ..., + paymentDetails [13] PaymentDetails OPTIONAL, + subscriptionType [14] SubscriptionType OPTIONAL, + -- Describes the nature of the subscription + deliveryAddress [15] AddressInformation OPTIONAL, + resellerAddress [16] AddressInformation OPTIONAL, + otherAddresses [17] SEQUENCE OF OtherAddress OPTIONAL, + multimediaServiceType [18] UTF8String OPTIONAL, + -- Service name used by the service provider which may be proprietary + orderTime [19] GeneralizedTime OPTIONAL, + -- Time when the subscribed service was ordered by the user + iMEIs [20] SEQUENCE OF IMEI OPTIONAL, + registeredICCIDs [21] SEQUENCE OF ICCIDInfo OPTIONAL, + privateUserIdentities [22] SEQUENCE OF IMPI OPTIONAL, + allocatedDeviceIDs [23] SEQUENCE OF MultimediaDeviceID OPTIONAL, + paymentTransactions [24] SEQUENCE OF MultimediaBillingRecords OPTIONAL, + sUPI [25] SUPI OPTIONAL, + gPSI [26] GPSI OPTIONAL +} + +MultimediaServiceType ::= ENUMERATED +{ + private(0), + privatePABX(1), + publicPayphone(2), + geographicalfixed(3), + geographicalindependent(4), + ... +} + +IMPI ::= UTF8String + -- Private User Identity of the IP Multimedia Subsystem subscription + +-- ================================= +-- Definitions of Service Usage Data +-- ================================= + +MultimediaServiceUsage ::= SEQUENCE +{ + partyInformation [1] SEQUENCE OF MultimediaPartyInformation OPTIONAL, + -- This parameter provides the concerned party (Originating, Terminating or + -- forwarded party), the identity(ies) of the party and all the information + -- provided by the party + communicationTime [2] TimeSpan OPTIONAL, + -- Time and duration of the communication + reasonCause [3] INTEGER OPTIONAL, + -- cause code for call termination e.g. SIP Reason code + communicationType [4] MultimediaCommunicationType OPTIONAL, + bearerService [5] MultimediaBearerService OPTIONAL, + qualityOfService [6] QualityOfService OPTIONAL, + ringDuration [7] INTEGER OPTIONAL, + callID [8] MultimediaCallID OPTIONAL, + originalCallID [9] MultimediaCallID OPTIONAL, + callState [10] ENUMERATED + { + bNotReached(1), + bAlert(2), + bAnswered(3), + ... + } OPTIONAL, + answerTime [11] GeneralizedTime OPTIONAL, + contentType [12] SEQUENCE OF UTF8String OPTIONAL, + mediaComponents [13] SEQUENCE OF MediaComponent OPTIONAL, + imsInformation [14] ImsInformation OPTIONAL, + nationalMultimediaServiceUsage [15] NationalMultimediaServiceUsage OPTIONAL, + serviceID [16] UTF8String OPTIONAL, + providerID [17] UTF8String OPTIONAL, + ..., + cdrNumber [18] UTF8String OPTIONAL, -- as per CSP defined format + clientIP [19] IPAddress OPTIONAL, + relayIP [20] IPAddress OPTIONAL, + vmLength [21] INTEGER OPTIONAL, -- number of seconds + reason [22] UTF8String OPTIONAL, + smsInformation [23] SmsInformation OPTIONAL, + mmsInformation [24] MmsInformation OPTIONAL +} + +MultimediaPartyInformation ::= SEQUENCE +{ + partyRole [1] MultimediaPartyRole OPTIONAL, + partyIdentity [2] PartyIdentity OPTIONAL, + subscriberID [3] MultimediaSubscriberID OPTIONAL, + communicationTime [4] TimeSpan OPTIONAL, + -- Time and duration of the communication + iMSI [6] IMSI OPTIONAL, + natureOfAddress [7] UTF8String OPTIONAL, + -- Nature of address indicator, e.g. "National", "International" + uRI [8] UTF8String OPTIONAL, + partyNumber [9] PartyNumber OPTIONAL, + naAssignedAddress [10] NAAssignedAddress OPTIONAL, + forwardedTransferredIdentifier [11] PartyIdentity OPTIONAL, + terminatingTransferredIdentifier [12] PartyIdentity OPTIONAL, + nationalMultimediaPartyInformation [13] NationalMultimediaPartyInformation OPTIONAL, + ..., + userAgent [14] UTF8String OPTIONAL, + -- e.g. SIP User-Agent field (see RFC 3261 [26]) + octetsUploaded [15] INTEGER OPTIONAL, + octetsDownloaded [16] INTEGER OPTIONAL, + accessNetworkInformation [17] SEQUENCE OF AccessNetworkInfo OPTIONAL, + privateUserIdentity [18] IMPI OPTIONAL, + iMEI [19] IMEI OPTIONAL +} + +MultimediaCallID ::= UTF8String + +MultimediaCommunicationType ::= ENUMERATED +{ + multimediaFixed(0), + multimediaWireless(1), + multimediaNetworkIndependent(2), + ..., + telephonyFixed(3), + telephonyWireless(4), + sMS(5), + mMS(6) +} + +MultimediaPartyRole ::= ENUMERATED +{ + calling(0), + called(1), + calledAssertedIdentity(2), + calledApplicationServer(3), + originalCalled(4), + redirecting(5), + multimediaNetworkIndependent(6), + directory(7), + broadcastReceiver(8), + broadcastSender(9), + ..., + originalCalling(10), + forwarded-to-Party(11), + connected(12), + userProvidedCalling(13), + roaming(14), + translated(15), + singlePersonalNumber(16), + smsOriginator(17), + smsRecipient(18), + smsOriginatorTrn(19), + smsRecipientTrn(20), + mmsOriginator(21), + mmsRecipient(22), + mmsOriginatorTrn(23), + mmsRecipientTrn(24) +} + +MultimediaBearerService ::= ENUMERATED +{ + speech(0), + data(1), + fax(2), + video(3), + emergencyCall(4), + ... +} + +ImsInformation ::= SEQUENCE +{ + service [1] ENUMERATED + { + session(1), + message(2), + refer(3), + ... + } OPTIONAL, + roleOfNode [2] ENUMERATED + { + originating(1), + terminating(2), + proxy(3), + b2bua(4), + ... + } OPTIONAL, + serviceInfo [4] SEQUENCE OF ImsServiceInfo OPTIONAL, + ... +} + +ImsServiceInfo ::= SEQUENCE +{ + serviceData [1] OCTET STRING OPTIONAL, + -- service data + serviceType [2] INTEGER OPTIONAL, + -- service type + ... +} + +MediaComponent ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + mediaName [2] UTF8String OPTIONAL, + mediaDescription [3] UTF8String OPTIONAL, + mediaInitiator [4] PartyIdentity OPTIONAL, + accessCorrelationID [5] OCTET STRING OPTIONAL, + nationalMultimediaMediaComponent [6] NationalMultimediaMediaComponent OPTIONAL, + ... +} + +AccessNetworkInfo ::= CHOICE +{ + paniHeaderInfo [1] PaniHeaderInfo, + ... +} + +PaniHeaderInfo ::= SEQUENCE +{ + accessType [1] OCTET STRING OPTIONAL, + -- ASCII string '3GPP-E-UTRAN-TDD', ' IEEE-802.11'... : see ETSI TS 124 229 [xx] clause 7.2A.4 + accessClass [2] OCTET STRING OPTIONAL, + -- ASCII string '3GPP-UTRAN', '3GPP-E-UTRAN',... : see ETSI TS 124 229 [xx] clause 7.2A.4 + networkProvided [3] NULL OPTIONAL, + -- present if provided by the network + paniLocation [4] Location OPTIONAL, + -- Cell-ID and location information if available + paniTime [5] GeneralizedTime OPTIONAL, + -- indicates the time when the location was reported at the start of the session, + -- or during or at the end of the session if the location is retained for the event + ..., + paniHeaderContent [6] OCTET STRING OPTIONAL + -- Complete content of the P-Access-Network-Info header field +} + + +-- ============================== +-- Definitions of Billing Data +-- ============================== + +MultimediaBillingDetails ::= SEQUENCE +{ + subscriberID [1] MultimediaSubscriberID OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] MultimediaBillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF MultimediaBillingRecords OPTIONAL, + nationalMultimediaBillingDetails [6] NationalMultimediaBillingDetails OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + multimediaBillingAddress [7] MultimediaBillingAddress OPTIONAL, + copyOfBill [8] SEQUENCE OF File OPTIONAL +} + + +MultimediaBillingAddress ::= SEQUENCE +{ + addressSuppliedTime [1] GeneralizedTime OPTIONAL, + name [2] PersonName OPTIONAL, + address [3] AddressInformation OPTIONAL, + ... +} + +NationalMultimediaBillingDetails ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MultimediaBillingIdentifier ::= OCTET STRING + -- Used to correlate billing information + -- useful if the bill-payer is not the subscriber, e.g. company mobiles + +MultimediaBillingRecords ::= SEQUENCE +{ + time [1] GeneralizedTime OPTIONAL, + place [2] UTF8String OPTIONAL, + amount [3] REAL OPTIONAL, + currency [4] UTF8String (SIZE(3)) OPTIONAL, + -- as per ISO 4217 [5] + method [5] UTF8String OPTIONAL, + -- i.e. credit card etc. + nationalMultimediaBillingRecords [6] NationalMultimediaBillingRecords OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ..., + multimediaTransactionID [7] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + multimediaTransactionStatus [8] UTF8String OPTIONAL + -- Status of the transaction (i.e. "declined", "succeeded", etc.) + -- Details to be defined on a national bases +} + +NationalMultimediaBillingRecords ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +-- =================== +-- General definitions +-- =================== + +PartyIdentity ::= UTF8String + -- E.164 address of the party in international format, or + -- SIP URI or TEL URI representing E.164 + +QualityOfService ::= UTF8String + -- Free text description of the invoked quality of service + +NationalMultimediaSubscriberInfo ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaServices ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaServiceUsage ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaPartyInformation ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +NationalMultimediaMediaComponent ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +-- ======================= +-- Device Data definitions +-- ======================= + +MultimediaDevice ::= SEQUENCE +{ + deviceIDType [1] ENUMERATED + -- Type of identifier for telephony device + { + unknown(0), + imei(1), + macAddress(2), + ... + } OPTIONAL, + multimediaDeviceID [2] MultimediaDeviceID OPTIONAL, + -- Unique identifier for this device according to type of identifier + subscriberID [3] MultimediaSubscriberID OPTIONAL, + -- Identifier for a known user of this equipment. + -- Usage of this parameter is subject to national legislation. + nationalMultimediaDevice [4] NationalMultimediaDevice OPTIONAL, + -- To be defined on a national basis + -- Only to be used in case the present document cannot fulfil the national requirements + ... +} + +NationalMultimediaDevice ::= SEQUENCE +{ + countryCode [1] UTF8String (SIZE (2)), + -- see comment in NationalRequestParameters + ... +} + +MultimediaDeviceID ::= OCTET STRING + -- A unique identifier for the multimedia device. For example, the IMEI number + -- of a mobile handset + +NetworkAccessRecord::= CHOICE +{ + naSubscriber [1] NASubscriber, + naServiceUsage [2] NAServiceUsage, + naDevice [3] NADevice, + naNetworkElement [4] NANwElement, + naBillingDetails [5] NABillingDetails, + ... +} + +-- ============================================= +-- Definitions of Network Access Subscriber Data +-- ============================================= + +NAProviderID ::= UTF8String + +NAAuthID ::= UTF8String + +NaSubscriberID ::= UTF8String + +NASubscriber ::= SEQUENCE + -- Generic information on a service subscriber, supplemented with information specific to + -- network access services. +{ + validity [1] TimeSpan OPTIONAL, + subscriberID [2] NaSubscriberID OPTIONAL, + -- Unique identifier for this subscriber, e.g. account number + naSubscriptions [3] SEQUENCE OF NAServiceSubscription OPTIONAL, + -- List of all known services subscribed to by this user + allocatedDeviceIDs [4] SEQUENCE OF NADeviceId OPTIONAL, + -- List of all known devices allocated to this user. + subscriber [5] GenericSubscriberInfo OPTIONAL, + -- Name, address and other generic subscriber information + ..., + allocatedDevices [6] SEQUENCE OF NADevice OPTIONAL + -- If present, contains device details for all elements from allocatedDeviceIDs +} + +NAServiceSubscription ::= SEQUENCE + -- Description of the subscription to a Network Access service +{ + validity [1] TimeSpan OPTIONAL, + naServiceID [2] UTF8String OPTIONAL, + -- Identifier for the service, e.g. account plan name. + naProviderID [3] NAProviderID OPTIONAL, + -- Unique identifier for the provider of the service, e.g. company name + naAuthID [4] NAAuthID OPTIONAL, + -- Unique identifier for this subscription, e.g. logon name + options [5] UTF8String OPTIONAL, + -- Human readable text with restrictions or options to the subscription + installationAddress [6] AddressInformation OPTIONAL, + fixIpAddress [7] IPAddress OPTIONAL, + -- fix assigned IP address + imsi [8] IMSI OPTIONAL, + ..., + allocatedDeviceIDs [9] SEQUENCE OF NADeviceId OPTIONAL, + naServiceStatus [10] UTF8String OPTIONAL, + -- CSP-specific description of current service status, e.g. "Active", "Ceased", etc. + registeredICCID [11] UTF8String OPTIONAL, + nationalNASubscription [12] NationalNASubscription OPTIONAL, + paymentDetails [13] PaymentDetails OPTIONAL, + additionalIPAddresses [14] SEQUENCE OF IPAddressSetOrRangeOrMask OPTIONAL, + subscriptionType [15] SubscriptionType OPTIONAL, + -- Describes the nature of the subscription + deliveryAddress [16] AddressInformation OPTIONAL, + resellerAddress [17] AddressInformation OPTIONAL, + otherAddresses [18] SEQUENCE OF OtherAddress OPTIONAL, + allocatedDevices [19] SEQUENCE OF NADevice OPTIONAL, + -- If present, contains device details for all elements from allocatedDeviceIDs + mSISDNs [20] SEQUENCE OF PartyNumber OPTIONAL, + registeredICCIDs [21] SEQUENCE OF ICCIDInfo OPTIONAL, + paymentTransactions [22] SEQUENCE OF BillingRecords OPTIONAL, + sUPI [23] SUPI OPTIONAL, + gPSI [24] GPSI OPTIONAL, + timedIPAddresses [25] SEQUENCE OF TimedIPAddress OPTIONAL +} + + +NationalNASubscription ::= SEQUENCE + -- Description of the subscription to a Network Access service +{ + countryCode [1] UTF8String (SIZE(2)), + -- see comment in NationalRequestParameters + ... +} + +-- =========================================== +-- Definitions of Network Access Service Usage +-- =========================================== + +NAServiceUsage ::= SEQUENCE +{ + naAccessTime [1] GeneralizedTime OPTIONAL, + -- Time of connection to the NAS + naAuthID [2] NAAuthID OPTIONAL, + -- Username used to obtain network access + nwAccessType [3] NwAccessType OPTIONAL, + -- Type of network access attempted. If not undefined(0), this should be one of the types + -- supported by the NAS (identified below by naNwElementID) + naStatus [4] ENUMERATED + { + unknown(0), + succeeded(1), + -- Authentication OK and access granted + failed(2), + -- Authentication failure (wrong credentials or time out) + rejected(3), + -- Rejected by the CSP (e.g. usage limits exceeded) + ... + } OPTIONAL, + interval [5] TimeSpan OPTIONAL, + -- Start time and end time (duration) of network access. + naDeviceId [6] NADeviceId OPTIONAL, + -- Device used to access the service + naNwElementID [7] NANwElementID OPTIONAL, + -- Network element (NAS) onto which the naDevice is connected + naAssignedAddress [8] SEQUENCE OF NAAssignedAddress OPTIONAL, + -- IP address assigned by the network access service. May be fixed or dynamic + location [9] Location OPTIONAL, + -- Location of the access (for e.g. GPRS handsets) + dialUpInformation [10] DialUpInformation OPTIONAL, + gprsInformation [11] GprsInformation OPTIONAL, + ..., + octetsDownloaded [12] INTEGER OPTIONAL, + octetsUploaded [13] INTEGER OPTIONAL, + endReason [14] NAEndReason OPTIONAL, + subscriberID [15] NaSubscriberID OPTIONAL, + -- Identifier for a known user of this network access + ePSInformation [16] EPSInformation OPTIONAL, + wifiInformation [17] WifiInformation OPTIONAL, + addressTranslationRecords [18] SEQUENCE OF AddressTranslationRecord OPTIONAL, + -- contains extended information about the NAT or PAT operations carried out within this + -- service usage session + naDevice [19] NADevice OPTIONAL, + -- If present, contains the device details for the device referenced in naDeviceID + additionalLocations [20] SEQUENCE OF TimedLocation OPTIONAL, + -- List of additional locations and optional access time during the network access service + -- usage + sNSSAI [21] OCTET STRING (SIZE(4)) OPTIONAL, + notifyUri [22] OCTET STRING (SIZE(3..8)) OPTIONAL, + fiveGSInformation [23] FIVEGSInformation OPTIONAL +} + + +TimedLocation ::= SEQUENCE +{ + location [1] Location, + naAccessTime [2] GeneralizedTime OPTIONAL, + ... +} + +WifiInformation ::= SEQUENCE +{ + bSSID [1] OCTET STRING (SIZE (6)) OPTIONAL, + -- The Basic Service Set Identification for the connection. + -- This is also the MAC address of the access point (the present document assumes + -- that records are for infrastructure mode, not ad-hoc mode). + -- The MAC address of the user is given in the naDeviceID in the structure (one level up) + sSID [2] UTF8String OPTIONAL, + -- The human-readable Service Set Identifier + -- It should be noted that this is typically only available on the air interface and so + -- is not likely to be logged by CSPs (though may be recorded at a more local level). + -- Therefore requesting organizations should not expect this to be populated typically. + -- It is not guaranteed to be unique. + username [3] UTF8String OPTIONAL, + locationOfAccessPoint [4] Location OPTIONAL, + -- Location of the Access Point as lat/long, grid reference or postal address. + -- Requesting organizations should be aware that Access Points can be moved, sometimes + -- without the knowledge of the CSP + authenticationType [5] AuthenticationType OPTIONAL, + additionalAuthenticationInformation [6] AdditionalAuthenticationInformation OPTIONAL, + ..., + accessPointIPAddress [7] IPAddress OPTIONAL, + accessPointAdditionalDescriptions [8] SEQUENCE OF UTF8String OPTIONAL, + -- Informal description of location, category or type of access point, + -- or a name of the network to which the access point belongs. + accessPointAdditionalProviders [9] SEQUENCE OF UTF8String OPTIONAL + -- For WiFi, there may be other parties involved in hosting or owning the + -- Access Points, e.g. access point provider or partner providers +} + +AuthenticationType ::= ENUMERATED +{ + authenticationBySMS(1), + -- Used if authentication arranged through a code sent to mobile + -- additionalAuthenticationInformation shall contain the phone number + authenticationByCookie(2), + -- If authentication was granted on the basis of a cookie left from a previous visit to a + -- site. + -- No other mandatory addtionalAuthenticationInformation + authenticationByMACAddress(3), + -- If authentication was granted because the MAC address of the UE was recognised due + -- to a previous visit. + -- additionalAuthenticationInformation shall contain the MAC Address unless it is already + -- populated as NADeviceID in this record. + authenticationByEAPSIM(4), + -- If authenticated by EAP SIM see TS 33.234 [36] + -- additionalAuthenticationInformation shall contain the IMSI + -- Other varieties of EAP could be added here later, together with any extra information + -- they could provide. + authenticationByUsernameAndPassword(5), + -- additionalAuthenticationInformation should contain username and password if appropriate + authenticationByPaymentOrVoucher(6), + -- additionalAuthenticationInformation should contain Voucher or Payment details + -- if appropriate. + ... +} + +AdditionalAuthenticationInformation ::= SEQUENCE +{ + phoneNumber [1] PartyNumber OPTIONAL, + -- e.g. number to which an SMS was sent + mACAddress [2] OCTET STRING (SIZE (6)) OPTIONAL, + iMSI [3] IMSI OPTIONAL, + username [4] UTF8String OPTIONAL, + -- Names supplied are unlikely to be verified + password [5] UTF8String OPTIONAL, + -- Only to be populated if it is both appropriate and available + paymentReference [6] UTF8String OPTIONAL, + -- For example, the number of a voucher that was used in authentication + ... +} + +AddressTranslationRecord ::= SEQUENCE +{ + validity [1] TimeSpan OPTIONAL, + -- time at which the address translation started and/or ended + privateIPAddress [2] IPAddress OPTIONAL, + -- the private IP of the host + privatePort [3] INTEGER OPTIONAL, + -- the private port of the host + publicIPAddress [4] IPAddress OPTIONAL, + -- the translated IP of the host, i.e. the address known by the remote host + publicPort [5] AddressTranslationPortAssignment OPTIONAL, + -- the translated port(s) of the host, i.e. the port(s) known by the remote host, if + -- applicable + destinationIPAddress [6] IPAddress OPTIONAL, + -- the IP address of the remote host + destinationPort [7] INTEGER OPTIONAL, + -- the port of the remote host + connectionType [8] ENUMERATED + { + udp(0), + tcp(1), + sctp(2), + other(3), + ... + } OPTIONAL, + ... +} + +AddressTranslationPortAssignment ::= CHOICE +{ + singlePort [1] INTEGER, + -- only one port is assigned to the host, that port number is specified here + portRange [2] SEQUENCE OF PortRange, + -- if a range of translated ports is assigned to the host, specify it here + ... +} + +PortRange ::= SEQUENCE +{ + -- The range given is inclusive of both ends + lowerBound [1] INTEGER OPTIONAL, + upperBound [2] INTEGER OPTIONAL, + ... +} + +NAEndReason ::= ENUMERATED +{ + unknownReason(0), + timeout(1), + userDisconnect(2), + -- e.g. user logs off + networkDisconnect(3), + -- e.g. user's time/credits have been used up + networkError(4), + ... +} + +NwAccessType ::= ENUMERATED +{ + undefined(0), + dialUp(1), + -- DialUp access + xDSL(2), + -- DSL access + cableModem(3), + -- Cable access + lAN(4), + -- LAN access + wirelessLAN(5), + -- Wireless LAN access (e.g. hotspot) + wimax(6), + mobilePacketData(7), + -- Network access over GSM/3GPP GPRS, UMTS, etc. + ... +} + +DialUpInformation ::= SEQUENCE +{ + diallingNumber [1] PartyNumber OPTIONAL, + -- Telephone number used for dial-up access + dialledNumber [2] PartyNumber OPTIONAL, + callback [3] PartyNumber OPTIONAL, + -- Call back number used for dial-up access + ... +} + +GprsInformation ::= SEQUENCE +{ + iMSI [1] IMSI OPTIONAL, + mSISDN [2] PartyNumber OPTIONAL, + sgsnAddress [3] SEQUENCE OF IPAddress OPTIONAL, + ggsnAddress [4] IPAddress OPTIONAL, + pDP-address-allocated [5] IPAddress OPTIONAL, + aPN [6] UTF8String OPTIONAL, + pDP-type [7] OCTET STRING (SIZE(2)) OPTIONAL, + -- format as per TS 101 671 [6] + ..., + gPRSEvent [8] GPRSEvent OPTIONAL + -- format as per 3GPP TS 33.108 [11] + -- Tag [9] was used in the past and shall not be reused. +} + +GPRSEvent ::= ENUMERATED +{ + pDPContextActivation(1), + pDPContextDeactivation(4), + gPRSAttach(5), + gPRSDetach(6), + locationInfoUpdate(10), + -- sMS ommited from 3GPP TS 33.108 [11] + pDPContextModification(11), + servingSystem(12), + ... +} + +EPSInformation ::= SEQUENCE +{ + iMSI [1] IMSI OPTIONAL, + iMSIUnauthenticatedFlag [2] IMSIUnauthenticatedFlag OPTIONAL, + mSISDN [3] PartyNumber OPTIONAL, + iMEISV [4] IMEI OPTIONAL, + s-GWAddress [5] IPAddress OPTIONAL, + p-GWAddress [6] IPAddress OPTIONAL, + p-GWPLMNIdentifier [7] P-GWPLMN-ID OPTIONAL, + aPNNetworkID [8] AccessPointNameNI OPTIONAL, + pDP-PDNType [9] OCTET STRING (SIZE (1))OPTIONAL, + -- PDN/PDP Type number as defined in ETSI TS 129 274 [32] clause 8.34 + pDP-PDNAddress [10] IPAddress OPTIONAL, + -- IP address allocated to the PDP context / PDN connection + -- i.e. IPv4 address when PDP/PDN Type is IPv4 or IPv6 prefix + -- when PDP/PDN Type is IPv6 or IPv4v6. + pDP-PDNAddressExtension [11] IPAddress OPTIONAL, + -- IPv4 address of the served IMSI when PDP/PDN type is IPv4v6 + dynamicAddressFlag [12] DynamicAddressFlag OPTIONAL, + dynamicAddressFlagExt [13] DynamicAddressFlagExt OPTIONAL, + rATType [14] INTEGER (0..255) OPTIONAL, + -- RAT Type coding according to ETSI TS 129 274 [32] clause 8.17 + -- NOTE - as of v1.23.1 of the present document, this field has changed to optional + ePSEvent [15] EPSEvent OPTIONAL, + ... +} + + +IMSIUnauthenticatedFlag ::= BOOLEAN + -- TRUE if unauthenticated IMSI vs. FALSE for authenticated IMSI + +P-GWPLMN-ID ::= OCTET STRING (SIZE (3)) + -- This is a copy from the Tracking Area Identity (TAI) IE + -- specified in TS 29.274 [32] clause 8.21.4: + -- Bits 8 7 6 5 4 3 2 1 + -- 1st OCTET MCC digit 2 MCC digit 1 + -- 2nd OCTET MNC digit 3 MCC digit 3 + -- 3rd OCTET MNC digit 2 MNC digit 1 + +AccessPointNameNI ::= IA5String (SIZE(1..63)) + -- Network Identifier part of APN in dot representation. + -- For example, if the complete APN is "apn1a.apn1b.apn1c.mnc022.mcc111.gprs" + -- NI is "apn1a.apn1b.apn1c" + +DynamicAddressFlag ::= BOOLEAN + -- TRUE if the PDP/PDN address is dynamic. + -- FALSE if IPv4 address is static when PDN type is IPv6 or IPv4v6 + +DynamicAddressFlagExt ::= BOOLEAN + -- TRUE if IPv4 PDP/PDN address is dynamic, which is allocated during IP CAN bearer activation, + -- initial attach and UE requested PDN connectivity with PDP/PDN type IPv4v6. + -- FALSE if IPv4 address is static. + +EPSEvent ::= ENUMERATED + -- The list of "EPSEvent" below is partly taken from 3GPP TS 33.108 [11] EpsHI2Operations + -- from the "EPSEvent ::=ENUMERATED" module +{ + e-UTRANAttach(16), + e-UTRANDetach(17), + bearerActivation(18), + bearerModification(20), + bearerDeactivation(21), + trackingAreaUpdate(25), + servingEvolvedPacketSystem(26), + ... +} + +FIVEGSInformation ::= SEQUENCE +{ + sUPI [1] SUPI OPTIONAL, + dNN [2] UTF8String OPTIONAL, + gPSI [3] GPSI OPTIONAL, + pEI [4] PEI OPTIONAL, + pDUSessionID [6] INTEGER (0..255) OPTIONAL, + sNSSAI [7] OCTET STRING (SIZE(4)) OPTIONAL, + pDUIpv4Address [8] IPAddress OPTIONAL, + pDUIpv6Address [9] IPAddress OPTIONAL, + pDUAddressPrefixLength [10] INTEGER (0..128) OPTIONAL, + rFSPIndex [11] INTEGER (1..255) OPTIONAL, + applicationId [12] UTF8String OPTIONAL, + applicationServiceProviderIdentity [13] UTF8String OPTIONAL, + serviceId [14] INTEGER OPTIONAL, + chargingId [15] UTF8String OPTIONAL, + pDUType [16] PDUSessionType OPTIONAL, + sSCMode [17] SSCMode OPTIONAL, + vPLMNId [18] PLMNID OPTIONAL, + hPLMNId [19] PLMNID OPTIONAL, + chargingCharacteristics [20] UTF8String OPTIONAL, + chargingCharacteristicsSelectionMode [21] UTF8String OPTIONAL, + pDUSessionStartTime [22] GeneralizedTime OPTIONAL, + pDUSessionStopTime [23] GeneralizedTime OPTIONAL, + lowPriorityIndicator [24] BOOLEAN OPTIONAL, + dataOffStatus [25] BOOLEAN OPTIONAL, + diagnostics [26] INTEGER OPTIONAL, + uETimeZone [27] UTF8String OPTIONAL, + uPFAddress [28] IPAddress OPTIONAL, + aMFAddress [29] IPAddress OPTIONAL, + uDMAddress [30] IPAddress OPTIONAL, + sMFAddress [31] IPAddress OPTIONAL, + uPFId [32] UUID OPTIONAL, + aMFIdentifier [33] AMFID OPTIONAL, + uDMIdentifier [34] UUID OPTIONAL, + sMFIdentifier [35] UUID OPTIONAL, + uPFPDNAddress [36] IPAddress OPTIONAL, + uPFPDNAddressExtension [37] IPAddress OPTIONAL, + dynamicAddressFlag [38] BOOLEAN OPTIONAL, + dynamicAddressFlagExt [39] BOOLEAN OPTIONAL, + rAT5Type [40] RAT5Type OPTIONAL, + flowQosInfo [41] OCTET STRING OPTIONAL, + serviceID [42] INTEGER OPTIONAL + +} + +PDUSessionType ::= ENUMERATED +{ + iPv4(1), + iPv6(2), + iPv4v6(3), + unstructured(4), + ethernet(5) +} + +-- ==================================== +-- Definitions of Network Access Device +-- ==================================== + +NADeviceId ::= UTF8String + +NADevice ::= SEQUENCE +{ + naDeviceId [1] NADeviceId OPTIONAL, + -- Identifier of this device. + description [2] UTF8String OPTIONAL, + -- Human readable description of device + location [3] Location OPTIONAL, + macAddress [4] OCTET STRING (SIZE (6)) OPTIONAL, + -- MAC or ethernet address + dslID [5] UTF8String OPTIONAL, + imei [6] IMEI OPTIONAL, + ..., + subscriberID [7] NaSubscriberID OPTIONAL +} + +SUPI ::= CHOICE +{ + iMSI [1] IMSI, + nAI [2] NAI, + ... +} + +GPSI ::= CHOICE +{ + mSISDN [1] PartyNumber, + nAI [2] NAI, + ... +} + +PEI ::= CHOICE +{ + iMEI [1] IMEI, + iMEISV [2] IMEISV +} + +IMEI ::= OCTET STRING (SIZE(8)) + -- format as per 3GPP TS 09.02 [8] + -- NOTE: When comparing IMEIs, an IMEI can be considered "equal to" the requested IMEI even + -- if the checksum or software version digits are different or not present. + +IMEISV ::= NumericString (SIZE(16)) + +IMSI ::= OCTET STRING (SIZE(3..8)) + -- format as per 3GPP TS 09.02 [8] + +NAI ::= UTF8String + +-- ====================================== +-- Definitions of Message Network element +-- ====================================== + +NANwElementID ::= UTF8String + +NANwElement ::= SEQUENCE + -- In this context, the network element is more commonly referred to as NAS +{ + validity [1] TimeSpan OPTIONAL, + -- Period for which this interval is valid + naNwElementID [2] NANwElementID OPTIONAL, + -- Unique ID of this NAS (Network Access Server) + naProviderID [3] NAProviderID OPTIONAL, + -- Unique identifier of the provider managing this NAS. + supportedAccessTypes [4] SEQUENCE OF NwAccessType OPTIONAL, + location [5] Location OPTIONAL, + ... +} + +IPAddress ::= CHOICE +{ + iPv4BinaryAddress [1] OCTET STRING (SIZE(4)), + iPv6BinaryAddress [2] OCTET STRING (SIZE(16)), + iPTextAddress [3] IA5String (SIZE(7..45)), + ... +} + +NAAssignedAddress ::= SEQUENCE +{ + addressSetOrRangeOrMask [1] IPAddressSetOrRangeOrMask OPTIONAL, + portNumber [2] INTEGER OPTIONAL, + -- populated with the outbound port number + addressType [3] ENUMERATED + { + unknown(0), + internal(1), + external(2), + ... + } OPTIONAL, + assignedTime [4] TimeSpan OPTIONAL, + ..., + destinationAddress [5] IPAddress OPTIONAL, + -- used in cases where a single external IP/port pair is translated to multiple internal + -- IP/port pairs, with the destination IP/port used to multiplex them + destinationPort [6] INTEGER OPTIONAL + -- used in cases where a single external IP/port pair is translated to multiple internal + -- IP/port pairs, with the destination IP/port used to multiplex them +} + +IPAddressSetOrRangeOrMask ::= CHOICE +{ + set [0] SEQUENCE OF IPAddress, + range [1] IPRange, + mask [2] IPMask +} + +IPRange ::= SEQUENCE + -- Things like 172.16.10.0/26 +{ + prefix [0] IPAddress, + subnetlength [1] INTEGER (1..128) +} + +IPMask ::= SEQUENCE + -- Things like 172.16.10.0/255.255.255.240 +{ + base [0] IPAddress, + mask [1] IPAddress +} + +TimedIPAddress ::= SEQUENCE +{ + iPAddressSetOrRangeOrMask [0] IPAddressSetOrRangeOrMask, + validity [1] TimeSpan, + -- Time period during which the information given in this structure is or was valid. + ... + +} + +NABillingDetails ::= SEQUENCE +{ + subscriberID [1] NaSubscriberID OPTIONAL, + serviceID [2] UTF8String OPTIONAL, + billingAddress [3] ContactDetails OPTIONAL, + billingIdentifier [4] BillingIdentifier OPTIONAL, + billingRecords [5] SEQUENCE OF BillingRecords OPTIONAL, + ..., + naTransactionID [6] UTF8String OPTIONAL, + -- Unique reference for this transaction/billing record + -- Details to be defined on a national basis + naTransactionStatus [7] UTF8String OPTIONAL + -- Status of the transaction (i.e. "declined", "succeeded", etc.) + -- Details to be defined on a national basis +} + +SSCMode ::= ENUMERATED +{ + sSCMode1(1), + sSCMode2(2), + sSCMode3MultiPDUSession(3), + sSCMode3Multihome(4), + ... +} + +PLMNID ::= OCTET STRING (SIZE(3)) + +UUID ::= OCTET STRING (SIZE(16)) + +RAT5Type ::= ENUMERATED +{ + nr(1), + eutra(2), + wlan(3), + virtual(4), + ... +} + +AMFID ::= SEQUENCE +{ + aMFRegionID [1] AMFRegionID, + aMFSetID [2] AMFSetID, + aMFPointer [3] AMFPointer +} + +AMFRegionID ::= INTEGER (0..255) + +AMFSetID ::= INTEGER (0..1023) + +AMFPointer ::= INTEGER (0..63) + +END -- end of RDMessage + + diff --git a/102657/portal/RDMessagever23.xsd b/102657/portal/RDMessagever23.xsd new file mode 100644 index 0000000000000000000000000000000000000000..0f6a4b5ba07409b86865b0aefba22fdd89e7d362 --- /dev/null +++ b/102657/portal/RDMessagever23.xsd @@ -0,0 +1,3243 @@ + + + + + XSD translated from ASN.1 derived from outcome of TS 102 657 v1.25.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A country code as per ISO 3166-1 [4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/dictionaries/ts_103120_Dictionaries.xsd b/103120/dictionaries/ts_103120_Dictionaries.xsd new file mode 100644 index 0000000000000000000000000000000000000000..a5e9b664029ccf192621eafb6433bf373e3988ec --- /dev/null +++ b/103120/dictionaries/ts_103120_Dictionaries.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/dictionaries/ts_103120_ETSIDictionaryDefinitions.xml b/103120/dictionaries/ts_103120_ETSIDictionaryDefinitions.xml new file mode 100644 index 0000000000000000000000000000000000000000..477914c542be7f6b946ca106e9f7fb0cc9b26a31 --- /dev/null +++ b/103120/dictionaries/ts_103120_ETSIDictionaryDefinitions.xml @@ -0,0 +1,366 @@ + + + + ETSI + ObjectType + + + Authorisation + An Authorisation Object as defined in section 7.2 + + + Document + A Document Object as defined in section 7.3 + + + Notification + A Notification Object as defined in section 7.4 + + + Task + A Task Object as defined in section 8.2 + + + + + ETSI + AuthorisationLegalType + + + Manual + The implementation should consult the AuthorisationManualInformation field for details on the type of legal Authorisation + + + + + ETSI + AuthorisationPriority + + + High + An Authorisation has high priority + + + Routine + The Authorisation has a routine priority + + + + + ETSI + AuthorisationStatus + + + AwaitingApproval + Authorisation is still waiting approval from one or more relevant authorities + + + EmergencyApproval + The Authorisation has been approved under emergency procedures + + + Approved + The Authorisation has been approved by the relevant authorities + + + Rejected + The Authorisation has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Authorisation has been suspended temporarily + + + Cancelled + The Authorisation has been permanently cancelled + + + Expired + The expiry date for this Authorisation has passed, meaning that the Authorisation has lapsed. + + + Invalid + The Authorisation is not active due to a problem with the current information populated in the Authorisation Object. + + + + + ETSI + AuthorisationDesiredStatus + + + AwaitingApproval + Authorisation is still waiting approval from one or more relevant authorities + + + EmergencyApproval + The Authorisation has been approved under emergency procedures + + + Approved + The Authorisation has been approved by the relevant authorities + + + Rejected + The Authorisation has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Authorisation has been suspended temporarily + + + Cancelled + The Authorisation has been permanently cancelled + + + Expired + The expiry date for this Authorisation has passed, meaning that the Authorisation has lapsed. + + + + + ETSI + AuthorisationFlag + + + IsEmergency + Indicates if the authorisation was issued under nationally-defined emergency procedures (e.g. orally). The circumstances and consequences for setting the field shall be defined by the relevant national profile + + + IsConsensual + Indicates that the current authorisation is for consensual interception. This may alter the process or documentation accompanying the authorisation + + + IsTest + Indicates that the current authorisation is given for test purposes. This may alter the process or documentation accompanying the authorisation + + + + + ETSI + DocumentStatus + + + AwaitingApproval + The Document is still waiting approval from one or more relevant authorities + + + Approved + The Document has been approved by the relevant authorities + + + Rejected + The Document has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Document has been suspended temporarily + + + Cancelled + The Document has been permanently cancelled + + + Expired + The expiry date for this Document has passed. + + + Invalid + The Document is invalid due to a problem with the current information populated in the Document Object. + + + + + ETSI + DocumentDesiredStatus + + + AwaitingApproval + The Document is still waiting approval from one or more relevant authorities + + + Approved + The Document has been approved by the relevant authorities + + + Rejected + The Document has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Document has been suspended temporarily + + + Cancelled + The Document has been permanently cancelled + + + Expired + The expiry date for this Document has passed. + + + + + ETSI + DocumentType + + + Warrant + This Document represents a legal Warrant + + + + + ETSI + NotificationType + + + General + A general notification that a change has occurred with the specified Objects + + + + + ETSI + TaskStatus + + + AwaitingApproval + The Task is still waiting approval from one or more relevant authorities + + + AwaitingProvisioning + The Task is approved, but is not yet provisioned in the LI system + + + Active + The Task is active and can produce LI traffic + + + Rejected + The Task has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Task has been suspended temporarily + + + Cancelled + The Task has been permanently cancelled + + + Expired + The Task date for this Document has passed, meaning that the Task has lapsed + + + Error + The Task is not active due to a problem with the underlying LI system + + + Invalid + The Task is not active due to a problem with the current information populated in the Task Object + + + + + ETSI + TaskDesiredStatus + + + AwaitingApproval + The Task is still waiting approval from one or more relevant authorities + + + AwaitingProvisioning + The Task is approved, but is not yet provisioned in the LI system + + + Active + The Task is active and can produce LI traffic + + + Rejected + The Task has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Task has been suspended temporarily + + + Cancelled + The Task has been permanently cancelled + + + Expired + The Task date for this Document has passed, meaning that the Task has lapsed + + + + + ETSI + TaskServiceType + + + + ETSI + TaskDeliveryType + + + IRIOnly + Only IRI is delivered + + + CCOnly + Only CC is delivered + + + IRIandCC + Both IRI and CC is delivered + + + + + ETSI + HandoverFormat + + + TS102232-2 + Handed over in TS 102 232 part 2 format + + + TS102232-3 + Handed over in TS 102 232 part 3 format + + + TS102232-4 + Handed over in TS 102 232 part 4 format + + + TS102232-5 + Handed over in TS 102 232 part 5 format + + + TS102232-6 + Handed over in TS 102 232 part 6 format + + + TS102232-7 + Handed over in TS 102 232 part 7 format + + + + + ETSI + TaskFlag + + + IsTest + Indicates that the current Task is for test purposes. This may alter the process or documentation accompanying the authorisation + + + IsEmergency + Indicates if the LI Task was issued under nationally-defined emergency procedures. The circumstances and consequences for setting the field shall be defined by the relevant national profile (see clause B.1.3) + + + + diff --git a/103120/examples/request1.xml b/103120/examples/request1.xml new file mode 100644 index 0000000000000000000000000000000000000000..d6d9abaed1c3cc409d08f91f757429c9d2771823 --- /dev/null +++ b/103120/examples/request1.xml @@ -0,0 +1,82 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2015-09-01T12:00:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + W000001 + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + + + + 1 + + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + XX + SENDER01 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + LIID1 + + + + + ETSI + InternationalE164 + + +447700900000 + + + + + ETSI + TaskDeliveryType + IRIandCC + + + + + 192.0.2.0 + + + + + XX + RECVER01 + + + + + + + +
diff --git a/103120/examples/request2.xml b/103120/examples/request2.xml new file mode 100644 index 0000000000000000000000000000000000000000..af4346d0b41b15388e10dc814dd088fd04cd3422 --- /dev/null +++ b/103120/examples/request2.xml @@ -0,0 +1,38 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 45002c1e-dc4a-470a-9152-8e752638c86c + 2015-09-01T12:01:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + + 1 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + + + + +
diff --git a/103120/examples/request3.xml b/103120/examples/request3.xml new file mode 100644 index 0000000000000000000000000000000000000000..fb975776f7d83e1a00e45a699ed8cafc1e9582c8 --- /dev/null +++ b/103120/examples/request3.xml @@ -0,0 +1,63 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 69353ac0-9582-4c71-b162-86259c99de20 + 2015-09-01T12:02:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + XX + SENDER01 + W000001 + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + ETSI + DocumentType + Warrant + + + + Approver + + 2015-09-01T12:00:00Z + + + + + + 1 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + + + + + + + +
diff --git a/103120/examples/request4.xml b/103120/examples/request4.xml new file mode 100644 index 0000000000000000000000000000000000000000..daa4b57cbdacd87beee17c82f019793253ad7dbc --- /dev/null +++ b/103120/examples/request4.xml @@ -0,0 +1,79 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2019-09-30T13:37:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + W000001 + + 2019-09-30T12:00:00Z + 2019-12-01T12:00:00Z + + + + + + 1 + + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + XX + SENDER01 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + XX-SENDER01-1234 + + 2019-09-30T12:00:00Z + 2019-12-30T12:00:00Z + + + + ETSI + InternationalE164 + + +31701234567 + + + + + + + 192.0.2.0 + + + + + XX + RECEIVER01 + + + + + + + +
diff --git a/103120/examples/request5-Binary-Delivery.xml b/103120/examples/request5-Binary-Delivery.xml new file mode 100644 index 0000000000000000000000000000000000000000..285d5e13227c9730dbf0eb10cf0fe86d19cd1e3e --- /dev/null +++ b/103120/examples/request5-Binary-Delivery.xml @@ -0,0 +1,58 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + 8854cfad-44ac-43b8-99ae-530b690b43da + 2019-09-30T13:37:37.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + XX-SENDER01-12345 + + d1079830-8e9a-4731-8fb7-36b9b961eb72 + 1 + true + + + ETSI + ManifestSpecification + TS102657-XML + + + + + VGhpcyBpc24ndCBhY3R1YWxseSBhbiBpbWFnZS4= + image/jpeg + 98ecb6a08c34a97f6edc0e97ddcd32cb139e2253825186a817ddb24997ccd68f + + + + + + + + +
diff --git a/103120/examples/request5-XML-Delivery.xml b/103120/examples/request5-XML-Delivery.xml new file mode 100644 index 0000000000000000000000000000000000000000..989165efe739485805ab277807f79a2763bed491 --- /dev/null +++ b/103120/examples/request5-XML-Delivery.xml @@ -0,0 +1,82 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + 8854cfad-44ac-43b8-99ae-530b690b43da + 2019-09-30T13:37:37.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + ExampleLIID + + d1079830-8e9a-4731-8fb7-36b9b961eb72 + 1 + true + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + + + + + + + + + + + + + + + + + + + + + + + + Foo + Bar + Baz + + + + + + + + + +
diff --git a/103120/examples/response1.xml b/103120/examples/response1.xml new file mode 100644 index 0000000000000000000000000000000000000000..cc99dbc6cb02ee6aa216b93f622f3251fac6ab76 --- /dev/null +++ b/103120/examples/response1.xml @@ -0,0 +1,38 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2015-09-01T12:00:01.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + + + 1 + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + + + +
diff --git a/103120/examples/response2.xml b/103120/examples/response2.xml new file mode 100644 index 0000000000000000000000000000000000000000..2f867c9944e89dde94c800d2f2aa6c890177c4ea --- /dev/null +++ b/103120/examples/response2.xml @@ -0,0 +1,104 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 45002c1e-dc4a-470a-9152-8e752638c86c + 2015-09-01T12:01:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + 1 + 2015-09-01T12:00:00Z + W000001 + + ETSI + AuthorisationStatus + Invalid + + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + 3000 + The Authorisation is not associated with a valid Warrant Document Object + + + + + + 0 + + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + XX + SENDER01 + 1 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + 2015-09-01T12:00:00Z + LIID1 + + ETSI + TaskStatus + Invalid + + + + + + ETSI + InternationalE164 + + +447700900000 + + + + + ETSI + TaskDeliveryType + IRIandCC + + + + + 192.0.2.0 + + + + + XX + RECVER01 + + + 3000 + The associated Authorisation is in an Invalid state + + + + + + + +
diff --git a/103120/examples/response3.xml b/103120/examples/response3.xml new file mode 100644 index 0000000000000000000000000000000000000000..3e48fb7651a62d134295c49375c0e5878993a885 --- /dev/null +++ b/103120/examples/response3.xml @@ -0,0 +1,58 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 69353ac0-9582-4c71-b162-86259c99de20 + 2015-09-01T12:02:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + + + + 1 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + 2 + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + + 2015-09-01T12:02:00Z + W000001 + + ETSI + AuthorisationStatus + Active + + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + + + + + +
diff --git a/103120/examples/response4.xml b/103120/examples/response4.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff14ab0fa94c6027e902e0f7865bc251fd4d7796 --- /dev/null +++ b/103120/examples/response4.xml @@ -0,0 +1,38 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2019-09-30T13:37:01.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + + + 1 + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + + + +
diff --git a/103120/examples/response5.xml b/103120/examples/response5.xml new file mode 100644 index 0000000000000000000000000000000000000000..a4c69c9f8ed804453c34c769ff5857600508ece4 --- /dev/null +++ b/103120/examples/response5.xml @@ -0,0 +1,37 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + 8854cfad-44ac-43b8-99ae-530b690b43da + 2019-09-30T13:37:37.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + + + + +
diff --git a/103120/portal/dictionaries/ts_103120v010401p0_Dictionaries.xsd b/103120/portal/dictionaries/ts_103120v010401p0_Dictionaries.xsd new file mode 100644 index 0000000000000000000000000000000000000000..a5e9b664029ccf192621eafb6433bf373e3988ec --- /dev/null +++ b/103120/portal/dictionaries/ts_103120v010401p0_Dictionaries.xsd @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/dictionaries/ts_103120v010401p0_ETSIDictionaryDefinitions.xml b/103120/portal/dictionaries/ts_103120v010401p0_ETSIDictionaryDefinitions.xml new file mode 100644 index 0000000000000000000000000000000000000000..477914c542be7f6b946ca106e9f7fb0cc9b26a31 --- /dev/null +++ b/103120/portal/dictionaries/ts_103120v010401p0_ETSIDictionaryDefinitions.xml @@ -0,0 +1,366 @@ + + + + ETSI + ObjectType + + + Authorisation + An Authorisation Object as defined in section 7.2 + + + Document + A Document Object as defined in section 7.3 + + + Notification + A Notification Object as defined in section 7.4 + + + Task + A Task Object as defined in section 8.2 + + + + + ETSI + AuthorisationLegalType + + + Manual + The implementation should consult the AuthorisationManualInformation field for details on the type of legal Authorisation + + + + + ETSI + AuthorisationPriority + + + High + An Authorisation has high priority + + + Routine + The Authorisation has a routine priority + + + + + ETSI + AuthorisationStatus + + + AwaitingApproval + Authorisation is still waiting approval from one or more relevant authorities + + + EmergencyApproval + The Authorisation has been approved under emergency procedures + + + Approved + The Authorisation has been approved by the relevant authorities + + + Rejected + The Authorisation has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Authorisation has been suspended temporarily + + + Cancelled + The Authorisation has been permanently cancelled + + + Expired + The expiry date for this Authorisation has passed, meaning that the Authorisation has lapsed. + + + Invalid + The Authorisation is not active due to a problem with the current information populated in the Authorisation Object. + + + + + ETSI + AuthorisationDesiredStatus + + + AwaitingApproval + Authorisation is still waiting approval from one or more relevant authorities + + + EmergencyApproval + The Authorisation has been approved under emergency procedures + + + Approved + The Authorisation has been approved by the relevant authorities + + + Rejected + The Authorisation has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Authorisation has been suspended temporarily + + + Cancelled + The Authorisation has been permanently cancelled + + + Expired + The expiry date for this Authorisation has passed, meaning that the Authorisation has lapsed. + + + + + ETSI + AuthorisationFlag + + + IsEmergency + Indicates if the authorisation was issued under nationally-defined emergency procedures (e.g. orally). The circumstances and consequences for setting the field shall be defined by the relevant national profile + + + IsConsensual + Indicates that the current authorisation is for consensual interception. This may alter the process or documentation accompanying the authorisation + + + IsTest + Indicates that the current authorisation is given for test purposes. This may alter the process or documentation accompanying the authorisation + + + + + ETSI + DocumentStatus + + + AwaitingApproval + The Document is still waiting approval from one or more relevant authorities + + + Approved + The Document has been approved by the relevant authorities + + + Rejected + The Document has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Document has been suspended temporarily + + + Cancelled + The Document has been permanently cancelled + + + Expired + The expiry date for this Document has passed. + + + Invalid + The Document is invalid due to a problem with the current information populated in the Document Object. + + + + + ETSI + DocumentDesiredStatus + + + AwaitingApproval + The Document is still waiting approval from one or more relevant authorities + + + Approved + The Document has been approved by the relevant authorities + + + Rejected + The Document has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Document has been suspended temporarily + + + Cancelled + The Document has been permanently cancelled + + + Expired + The expiry date for this Document has passed. + + + + + ETSI + DocumentType + + + Warrant + This Document represents a legal Warrant + + + + + ETSI + NotificationType + + + General + A general notification that a change has occurred with the specified Objects + + + + + ETSI + TaskStatus + + + AwaitingApproval + The Task is still waiting approval from one or more relevant authorities + + + AwaitingProvisioning + The Task is approved, but is not yet provisioned in the LI system + + + Active + The Task is active and can produce LI traffic + + + Rejected + The Task has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Task has been suspended temporarily + + + Cancelled + The Task has been permanently cancelled + + + Expired + The Task date for this Document has passed, meaning that the Task has lapsed + + + Error + The Task is not active due to a problem with the underlying LI system + + + Invalid + The Task is not active due to a problem with the current information populated in the Task Object + + + + + ETSI + TaskDesiredStatus + + + AwaitingApproval + The Task is still waiting approval from one or more relevant authorities + + + AwaitingProvisioning + The Task is approved, but is not yet provisioned in the LI system + + + Active + The Task is active and can produce LI traffic + + + Rejected + The Task has been explicitly denied or rejected by one or more relevant authorities + + + Suspended + The Task has been suspended temporarily + + + Cancelled + The Task has been permanently cancelled + + + Expired + The Task date for this Document has passed, meaning that the Task has lapsed + + + + + ETSI + TaskServiceType + + + + ETSI + TaskDeliveryType + + + IRIOnly + Only IRI is delivered + + + CCOnly + Only CC is delivered + + + IRIandCC + Both IRI and CC is delivered + + + + + ETSI + HandoverFormat + + + TS102232-2 + Handed over in TS 102 232 part 2 format + + + TS102232-3 + Handed over in TS 102 232 part 3 format + + + TS102232-4 + Handed over in TS 102 232 part 4 format + + + TS102232-5 + Handed over in TS 102 232 part 5 format + + + TS102232-6 + Handed over in TS 102 232 part 6 format + + + TS102232-7 + Handed over in TS 102 232 part 7 format + + + + + ETSI + TaskFlag + + + IsTest + Indicates that the current Task is for test purposes. This may alter the process or documentation accompanying the authorisation + + + IsEmergency + Indicates if the LI Task was issued under nationally-defined emergency procedures. The circumstances and consequences for setting the field shall be defined by the relevant national profile (see clause B.1.3) + + + + diff --git a/103120/portal/examples/request1.xml b/103120/portal/examples/request1.xml new file mode 100644 index 0000000000000000000000000000000000000000..d6d9abaed1c3cc409d08f91f757429c9d2771823 --- /dev/null +++ b/103120/portal/examples/request1.xml @@ -0,0 +1,82 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2015-09-01T12:00:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + W000001 + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + + + + 1 + + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + XX + SENDER01 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + LIID1 + + + + + ETSI + InternationalE164 + + +447700900000 + + + + + ETSI + TaskDeliveryType + IRIandCC + + + + + 192.0.2.0 + + + + + XX + RECVER01 + + + + + + + +
diff --git a/103120/portal/examples/request2.xml b/103120/portal/examples/request2.xml new file mode 100644 index 0000000000000000000000000000000000000000..af4346d0b41b15388e10dc814dd088fd04cd3422 --- /dev/null +++ b/103120/portal/examples/request2.xml @@ -0,0 +1,38 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 45002c1e-dc4a-470a-9152-8e752638c86c + 2015-09-01T12:01:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + + 1 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + + + + +
diff --git a/103120/portal/examples/request3.xml b/103120/portal/examples/request3.xml new file mode 100644 index 0000000000000000000000000000000000000000..fb975776f7d83e1a00e45a699ed8cafc1e9582c8 --- /dev/null +++ b/103120/portal/examples/request3.xml @@ -0,0 +1,63 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 69353ac0-9582-4c71-b162-86259c99de20 + 2015-09-01T12:02:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + XX + SENDER01 + W000001 + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + ETSI + DocumentType + Warrant + + + + Approver + + 2015-09-01T12:00:00Z + + + + + + 1 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + + + + + + + +
diff --git a/103120/portal/examples/request4.xml b/103120/portal/examples/request4.xml new file mode 100644 index 0000000000000000000000000000000000000000..daa4b57cbdacd87beee17c82f019793253ad7dbc --- /dev/null +++ b/103120/portal/examples/request4.xml @@ -0,0 +1,79 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2019-09-30T13:37:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + W000001 + + 2019-09-30T12:00:00Z + 2019-12-01T12:00:00Z + + + + + + 1 + + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + XX + SENDER01 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + XX-SENDER01-1234 + + 2019-09-30T12:00:00Z + 2019-12-30T12:00:00Z + + + + ETSI + InternationalE164 + + +31701234567 + + + + + + + 192.0.2.0 + + + + + XX + RECEIVER01 + + + + + + + +
diff --git a/103120/portal/examples/request5-Binary-Delivery.xml b/103120/portal/examples/request5-Binary-Delivery.xml new file mode 100644 index 0000000000000000000000000000000000000000..285d5e13227c9730dbf0eb10cf0fe86d19cd1e3e --- /dev/null +++ b/103120/portal/examples/request5-Binary-Delivery.xml @@ -0,0 +1,58 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + 8854cfad-44ac-43b8-99ae-530b690b43da + 2019-09-30T13:37:37.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + XX-SENDER01-12345 + + d1079830-8e9a-4731-8fb7-36b9b961eb72 + 1 + true + + + ETSI + ManifestSpecification + TS102657-XML + + + + + VGhpcyBpc24ndCBhY3R1YWxseSBhbiBpbWFnZS4= + image/jpeg + 98ecb6a08c34a97f6edc0e97ddcd32cb139e2253825186a817ddb24997ccd68f + + + + + + + + +
diff --git a/103120/portal/examples/request5-XML-Delivery.xml b/103120/portal/examples/request5-XML-Delivery.xml new file mode 100644 index 0000000000000000000000000000000000000000..989165efe739485805ab277807f79a2763bed491 --- /dev/null +++ b/103120/portal/examples/request5-XML-Delivery.xml @@ -0,0 +1,82 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + 8854cfad-44ac-43b8-99ae-530b690b43da + 2019-09-30T13:37:37.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + ExampleLIID + + d1079830-8e9a-4731-8fb7-36b9b961eb72 + 1 + true + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + + + + + + + + + + + + + + + + + + + + + + + + Foo + Bar + Baz + + + + + + + + + +
diff --git a/103120/portal/examples/response1.xml b/103120/portal/examples/response1.xml new file mode 100644 index 0000000000000000000000000000000000000000..cc99dbc6cb02ee6aa216b93f622f3251fac6ab76 --- /dev/null +++ b/103120/portal/examples/response1.xml @@ -0,0 +1,38 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2015-09-01T12:00:01.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + + + 1 + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + + + +
diff --git a/103120/portal/examples/response2.xml b/103120/portal/examples/response2.xml new file mode 100644 index 0000000000000000000000000000000000000000..2f867c9944e89dde94c800d2f2aa6c890177c4ea --- /dev/null +++ b/103120/portal/examples/response2.xml @@ -0,0 +1,104 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 45002c1e-dc4a-470a-9152-8e752638c86c + 2015-09-01T12:01:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + 1 + 2015-09-01T12:00:00Z + W000001 + + ETSI + AuthorisationStatus + Invalid + + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + 3000 + The Authorisation is not associated with a valid Warrant Document Object + + + + + + 0 + + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + XX + SENDER01 + 1 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + 2015-09-01T12:00:00Z + LIID1 + + ETSI + TaskStatus + Invalid + + + + + + ETSI + InternationalE164 + + +447700900000 + + + + + ETSI + TaskDeliveryType + IRIandCC + + + + + 192.0.2.0 + + + + + XX + RECVER01 + + + 3000 + The associated Authorisation is in an Invalid state + + + + + + + +
diff --git a/103120/portal/examples/response3.xml b/103120/portal/examples/response3.xml new file mode 100644 index 0000000000000000000000000000000000000000..3e48fb7651a62d134295c49375c0e5878993a885 --- /dev/null +++ b/103120/portal/examples/response3.xml @@ -0,0 +1,58 @@ + + +
+ + XX + SENDER01 + + + XX + RECVER01 + + 69353ac0-9582-4c71-b162-86259c99de20 + 2015-09-01T12:02:00.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + + + + 1 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + XX + SENDER01 + 2 + + 4193f541-5e19-468e-b4a3-1c636ce115e9 + + 2015-09-01T12:02:00Z + W000001 + + ETSI + AuthorisationStatus + Active + + + 2015-09-01T12:00:00Z + 2015-12-01T12:00:00Z + + + + + + + +
diff --git a/103120/portal/examples/response4.xml b/103120/portal/examples/response4.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff14ab0fa94c6027e902e0f7865bc251fd4d7796 --- /dev/null +++ b/103120/portal/examples/response4.xml @@ -0,0 +1,38 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + c02358b2-76cf-4ba4-a8eb-f6436ccaea2e + 2019-09-30T13:37:01.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 7dbbc880-8750-4d3c-abe7-ea4a17646045 + + + + 1 + + 2b36a78b-b628-416d-bd22-404e68a0cd36 + + + + + +
diff --git a/103120/portal/examples/response5.xml b/103120/portal/examples/response5.xml new file mode 100644 index 0000000000000000000000000000000000000000..a4c69c9f8ed804453c34c769ff5857600508ece4 --- /dev/null +++ b/103120/portal/examples/response5.xml @@ -0,0 +1,37 @@ + + +
+ + XX + SENDER01 + + + XX + RECEIVER01 + + 8854cfad-44ac-43b8-99ae-530b690b43da + 2019-09-30T13:37:37.000000Z + + V1.5.1 + XX + v1.0 + +
+ + + + + 0 + + 71ff52ca-bcea-4fa3-b34e-1b89dcfb0d9e + + + + + +
diff --git a/103120/portal/schema/TS_103_280_v020401.xsd b/103120/portal/schema/TS_103_280_v020401.xsd new file mode 100644 index 0000000000000000000000000000000000000000..1f321550ca94b417d34b3cf7b113426766e97d6e --- /dev/null +++ b/103120/portal/schema/TS_103_280_v020401.xsd @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/103120/portal/schema/ts_103120v010501p0_Authorisation.xsd b/103120/portal/schema/ts_103120v010501p0_Authorisation.xsd new file mode 100644 index 0000000000000000000000000000000000000000..14b50d7e6005b76431f32dee18b8de5042e968c6 --- /dev/null +++ b/103120/portal/schema/ts_103120v010501p0_Authorisation.xsd @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/schema/ts_103120v010501p0_Common.xsd b/103120/portal/schema/ts_103120v010501p0_Common.xsd new file mode 100644 index 0000000000000000000000000000000000000000..6ebf3406d772ff43e074e620978839b1dcd45097 --- /dev/null +++ b/103120/portal/schema/ts_103120v010501p0_Common.xsd @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/schema/ts_103120v010501p0_Core.xsd b/103120/portal/schema/ts_103120v010501p0_Core.xsd new file mode 100644 index 0000000000000000000000000000000000000000..da3bc564ad4567ecfede36c7e8d83940d7e6b6e6 --- /dev/null +++ b/103120/portal/schema/ts_103120v010501p0_Core.xsd @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/schema/ts_103120v010501p0_Delivery.xsd b/103120/portal/schema/ts_103120v010501p0_Delivery.xsd new file mode 100644 index 0000000000000000000000000000000000000000..5fb2536ca89c68c0bb21a6bb97ecf77bb95fed20 --- /dev/null +++ b/103120/portal/schema/ts_103120v010501p0_Delivery.xsd @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/schema/ts_103120v010501p0_Document.xsd b/103120/portal/schema/ts_103120v010501p0_Document.xsd new file mode 100644 index 0000000000000000000000000000000000000000..86b719295193146c4dcb25d6a1c5f0d43f366288 --- /dev/null +++ b/103120/portal/schema/ts_103120v010501p0_Document.xsd @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/schema/ts_103120v010501p0_Notification.xsd b/103120/portal/schema/ts_103120v010501p0_Notification.xsd new file mode 100644 index 0000000000000000000000000000000000000000..f52a502d7aaf697714f4853f4c7d647abd3ffcc7 --- /dev/null +++ b/103120/portal/schema/ts_103120v010501p0_Notification.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/schema/ts_103120v010501p0_Task.xsd b/103120/portal/schema/ts_103120v010501p0_Task.xsd new file mode 100644 index 0000000000000000000000000000000000000000..ed8974ed70f7bf67d1a97b7b3e445682299c9d56 --- /dev/null +++ b/103120/portal/schema/ts_103120v010501p0_Task.xsd @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/portal/validate_examples.py b/103120/portal/validate_examples.py new file mode 100644 index 0000000000000000000000000000000000000000..60c611ca32a8ec342fc689a351e9960326d6fc3d --- /dev/null +++ b/103120/portal/validate_examples.py @@ -0,0 +1,42 @@ +import glob +import sys +from pathlib import Path +from pprint import pprint + +if __name__ == '__main__': + + if sys.version_info <= (3, 5): + sys.exit('ERROR: You need at least Python 3.5 to run this tool') + + try: + from lxml import etree + except ImportError: + sys.exit('ERROR: You need to install the Python lxml library') + + try: + import xmlschema + except ImportError: + sys.exit('ERROR: You need to install the xml schema library') + + + locations = [] + schemaFiles = glob.glob('schema/*.xsd') + for schemaFile in schemaFiles: + xs = xmlschema.XMLSchema(schemaFile, validation='skip') + locations.append((xs.default_namespace, str(Path(schemaFile))[7:])) + + coreSchema = xmlschema.XMLSchema('schema/ts_103120v010501p0_Core.xsd', locations=locations) + + for schema in schemaFiles: + newSchema = xmlschema.XMLSchema(schema, locations=locations) + coreSchema.import_schema(newSchema.default_namespace, schema) + + examples = glob.glob('examples/*.xml') + for example in examples: + try: + coreSchema.validate(example) + print ("{0} passed validation".format(example)) + except Exception as ex: + print ("{0} failed validation: {1}".format(example, ex)) + + print ('Done') \ No newline at end of file diff --git a/103120/schema/ts_103120_Authorisation.xsd b/103120/schema/ts_103120_Authorisation.xsd new file mode 100644 index 0000000000000000000000000000000000000000..14b50d7e6005b76431f32dee18b8de5042e968c6 --- /dev/null +++ b/103120/schema/ts_103120_Authorisation.xsd @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/schema/ts_103120_Common.xsd b/103120/schema/ts_103120_Common.xsd new file mode 100644 index 0000000000000000000000000000000000000000..6ebf3406d772ff43e074e620978839b1dcd45097 --- /dev/null +++ b/103120/schema/ts_103120_Common.xsd @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/schema/ts_103120_Core.xsd b/103120/schema/ts_103120_Core.xsd new file mode 100644 index 0000000000000000000000000000000000000000..da3bc564ad4567ecfede36c7e8d83940d7e6b6e6 --- /dev/null +++ b/103120/schema/ts_103120_Core.xsd @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/schema/ts_103120_Delivery.xsd b/103120/schema/ts_103120_Delivery.xsd new file mode 100644 index 0000000000000000000000000000000000000000..5fb2536ca89c68c0bb21a6bb97ecf77bb95fed20 --- /dev/null +++ b/103120/schema/ts_103120_Delivery.xsd @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/schema/ts_103120_Document.xsd b/103120/schema/ts_103120_Document.xsd new file mode 100644 index 0000000000000000000000000000000000000000..86b719295193146c4dcb25d6a1c5f0d43f366288 --- /dev/null +++ b/103120/schema/ts_103120_Document.xsd @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/schema/ts_103120_Notification.xsd b/103120/schema/ts_103120_Notification.xsd new file mode 100644 index 0000000000000000000000000000000000000000..f52a502d7aaf697714f4853f4c7d647abd3ffcc7 --- /dev/null +++ b/103120/schema/ts_103120_Notification.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/schema/ts_103120_Task.xsd b/103120/schema/ts_103120_Task.xsd new file mode 100644 index 0000000000000000000000000000000000000000..ed8974ed70f7bf67d1a97b7b3e445682299c9d56 --- /dev/null +++ b/103120/schema/ts_103120_Task.xsd @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103120/validate_examples.py b/103120/validate_examples.py new file mode 100644 index 0000000000000000000000000000000000000000..60c611ca32a8ec342fc689a351e9960326d6fc3d --- /dev/null +++ b/103120/validate_examples.py @@ -0,0 +1,42 @@ +import glob +import sys +from pathlib import Path +from pprint import pprint + +if __name__ == '__main__': + + if sys.version_info <= (3, 5): + sys.exit('ERROR: You need at least Python 3.5 to run this tool') + + try: + from lxml import etree + except ImportError: + sys.exit('ERROR: You need to install the Python lxml library') + + try: + import xmlschema + except ImportError: + sys.exit('ERROR: You need to install the xml schema library') + + + locations = [] + schemaFiles = glob.glob('schema/*.xsd') + for schemaFile in schemaFiles: + xs = xmlschema.XMLSchema(schemaFile, validation='skip') + locations.append((xs.default_namespace, str(Path(schemaFile))[7:])) + + coreSchema = xmlschema.XMLSchema('schema/ts_103120v010501p0_Core.xsd', locations=locations) + + for schema in schemaFiles: + newSchema = xmlschema.XMLSchema(schema, locations=locations) + coreSchema.import_schema(newSchema.default_namespace, schema) + + examples = glob.glob('examples/*.xml') + for example in examples: + try: + coreSchema.validate(example) + print ("{0} passed validation".format(example)) + except Exception as ex: + print ("{0} failed validation: {1}".format(example, ex)) + + print ('Done') \ No newline at end of file diff --git a/103221-1/TS_103_221_01.xsd b/103221-1/TS_103_221_01.xsd new file mode 100644 index 0000000000000000000000000000000000000000..73a038022e1b1e779402c164c1d407f300c08fce --- /dev/null +++ b/103221-1/TS_103_221_01.xsd @@ -0,0 +1,790 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103221-1/examples/ActivateTaskRequest_example.xml b/103221-1/examples/ActivateTaskRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..42df4fdfb69a90d39f85d9c3ade16c59ca67cbf9 --- /dev/null +++ b/103221-1/examples/ActivateTaskRequest_example.xml @@ -0,0 +1,22 @@ + + + + admfID + neID + 2017-10-06T18:46:21.247432Z + v1.6.1 + 3741800e-971b-4aa9-85f4-466d2b1adc7f + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 19867c20-8c94-473e-b9cd-8b72b7b05fd4 + + + + diff --git a/103221-1/examples/ActivateTaskResponse_example.xml b/103221-1/examples/ActivateTaskResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..38d98059bcbd99fc844f75f2c8507f065100f364 --- /dev/null +++ b/103221-1/examples/ActivateTaskResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.401571Z + v1.6.1 + 3741800e-971b-4aa9-85f4-466d2b1adc7f + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/CreateDestinationRequest_example.xml b/103221-1/examples/CreateDestinationRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..6203866fe78b08cfe80f05f250253d04dea1ec85 --- /dev/null +++ b/103221-1/examples/CreateDestinationRequest_example.xml @@ -0,0 +1,24 @@ + + + + admfID + neID + 2017-10-06T18:46:21.446605Z + v1.6.1 + 8e8ca539-e4dd-41f3-b1cb-acc2a5edece0 + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + X2andX3 + + + + 192.0.2.2 + + + 12345 + + + + + + diff --git a/103221-1/examples/CreateDestinationResponse_example.xml b/103221-1/examples/CreateDestinationResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..b16339cf9f52362fbabbbddc8d06b72ffe51bc46 --- /dev/null +++ b/103221-1/examples/CreateDestinationResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.446605Z + v1.6.1 + 8e8ca539-e4dd-41f3-b1cb-acc2a5edece0 + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/DeactivateTaskRequest_example.xml b/103221-1/examples/DeactivateTaskRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..38be7e42ed96591e9d3178c54680f3a5ed8c96bf --- /dev/null +++ b/103221-1/examples/DeactivateTaskRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.429594Z + v1.6.1 + 3da0df97-7bd5-4413-936d-74bebd7512fe + 29f28e1c-f230-486a-a860-f5a784ab9172 + + diff --git a/103221-1/examples/DeactivateTaskResponse_example.xml b/103221-1/examples/DeactivateTaskResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..82bbff83147761be080791beb8c935091d39d62b --- /dev/null +++ b/103221-1/examples/DeactivateTaskResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.430594Z + v1.6.1 + 3da0df97-7bd5-4413-936d-74bebd7512fe + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/GetAllDetailsRequest_example.xml b/103221-1/examples/GetAllDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..31e8e7309df6a747d69e8d5fc04e8c9127f3ac03 --- /dev/null +++ b/103221-1/examples/GetAllDetailsRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.496243Z + v1.6.1 + bfd0c982-b7d6-4a8e-80a0-89dab964aafd + + diff --git a/103221-1/examples/GetAllDetailsResponse_example.xml b/103221-1/examples/GetAllDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..5bb79987c2ccf60e9a2a1bf03fdfad7b51648814 --- /dev/null +++ b/103221-1/examples/GetAllDetailsResponse_example.xml @@ -0,0 +1,56 @@ + + + + admfID + neID + 2017-10-06T18:46:21.496743Z + v1.6.1 + bfd0c982-b7d6-4a8e-80a0-89dab964aafd + + OK + + + + + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 1eb4406a-8b28-41fd-8f0f-e1a0a3eb5ff9 + + + + complete + + + + + + + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + X2andX3 + + + + 192.0.2.2 + + + 12345 + + + + + + activeAndWorking + + + + + + diff --git a/103221-1/examples/GetDestinationDetailsRequest_example.xml b/103221-1/examples/GetDestinationDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..7719ac5b5f50d47dc57fb24f2ac76c14bcab9f8d --- /dev/null +++ b/103221-1/examples/GetDestinationDetailsRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.462616Z + v1.6.1 + 7de5709c-8269-417f-a123-7087d3971f8c + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + + diff --git a/103221-1/examples/GetDestinationDetailsResponse_example.xml b/103221-1/examples/GetDestinationDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa0de43ae220b2454522b07eaaa8e749745cb138 --- /dev/null +++ b/103221-1/examples/GetDestinationDetailsResponse_example.xml @@ -0,0 +1,30 @@ + + + + admfID + neID + 2017-10-06T18:46:21.462616Z + v1.6.1 + 7de5709c-8269-417f-a123-7087d3971f8c + + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + X2andX3 + + + + 192.0.2.2 + + + 12345 + + + + + + activeAndWorking + + + + + diff --git a/103221-1/examples/GetNEStatusRequest_example.xml b/103221-1/examples/GetNEStatusRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..807ec7eb1f3f2380195536a2183c27d4ed31bcb5 --- /dev/null +++ b/103221-1/examples/GetNEStatusRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.487158Z + v1.6.1 + 93d571cb-3793-4385-8b59-2c14097ed743 + + diff --git a/103221-1/examples/GetNEStatusResponse_example.xml b/103221-1/examples/GetNEStatusResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..ade1b67d952e94fdf731d5910e9fedf833727a8b --- /dev/null +++ b/103221-1/examples/GetNEStatusResponse_example.xml @@ -0,0 +1,14 @@ + + + + admfID + neID + 2017-10-06T18:46:21.488659Z + v1.6.1 + 93d571cb-3793-4385-8b59-2c14097ed743 + + OK + + + + diff --git a/103221-1/examples/GetTaskDetailsRequest_example.xml b/103221-1/examples/GetTaskDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..ec9d12b0b7a06eec72be4cbb1c307cfba83dc674 --- /dev/null +++ b/103221-1/examples/GetTaskDetailsRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.418584Z + v1.6.1 + 609dcabd-5ab1-4c95-9681-a24681f105ac + 29f28e1c-f230-486a-a860-f5a784ab9172 + + diff --git a/103221-1/examples/GetTaskDetailsResponse_example.xml b/103221-1/examples/GetTaskDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..63a66f5227777c24646d2e49089c6e0126ea644d --- /dev/null +++ b/103221-1/examples/GetTaskDetailsResponse_example.xml @@ -0,0 +1,28 @@ + + + + admfID + neID + 2017-10-06T18:46:21.420587Z + v1.6.1 + 609dcabd-5ab1-4c95-9681-a24681f105ac + + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 1eb4406a-8b28-41fd-8f0f-e1a0a3eb5ff9 + + + + complete + + + + + diff --git a/103221-1/examples/KeepaliveRequest_example.xml b/103221-1/examples/KeepaliveRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..47650f1242566ec5737dcec1901f80549f9c1cf5 --- /dev/null +++ b/103221-1/examples/KeepaliveRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.541784Z + v1.6.1 + 6420aa0f-e5e6-4a32-9dff-15b836589257 + + diff --git a/103221-1/examples/KeepaliveResponse_example.xml b/103221-1/examples/KeepaliveResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..995fed3ea2159798420f1a772960b238bbdf3abf --- /dev/null +++ b/103221-1/examples/KeepaliveResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.542783Z + v1.6.1 + 6420aa0f-e5e6-4a32-9dff-15b836589257 + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/ListAllDetailsRequest_example.xml b/103221-1/examples/ListAllDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..82c7e8d2ca7c5132918dcb989c494e044e09e434 --- /dev/null +++ b/103221-1/examples/ListAllDetailsRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.508330Z + v1.6.1 + 09529160-2e44-49c6-bf54-204ca5edcfab + + diff --git a/103221-1/examples/ListAllDetailsResponse_example.xml b/103221-1/examples/ListAllDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..e5e9096d5182c6ee70d4a2b985f98926054fca27 --- /dev/null +++ b/103221-1/examples/ListAllDetailsResponse_example.xml @@ -0,0 +1,16 @@ + + + + admfID + neID + 2017-10-06T18:46:21.508330Z + v1.6.1 + 09529160-2e44-49c6-bf54-204ca5edcfab + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + + + diff --git a/103221-1/examples/ModifyTaskRequest_example.xml b/103221-1/examples/ModifyTaskRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..3aa287f6bdc3c1d206acde9728eb15baaf90f052 --- /dev/null +++ b/103221-1/examples/ModifyTaskRequest_example.xml @@ -0,0 +1,22 @@ + + + + admfID + neID + 2017-10-06T18:46:21.411587Z + v1.6.1 + fcfc97de-1c77-413d-9925-d1630acbf763 + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 1eb4406a-8b28-41fd-8f0f-e1a0a3eb5ff9 + + + + diff --git a/103221-1/examples/ModifyTaskResponse_example.xml b/103221-1/examples/ModifyTaskResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..35a9696e376a23a8b1a639fb93da0264c92e78e0 --- /dev/null +++ b/103221-1/examples/ModifyTaskResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.411587Z + v1.6.1 + fcfc97de-1c77-413d-9925-d1630acbf763 + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/PingRequest_example.xml b/103221-1/examples/PingRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..5eda3b55f8db5a3dfaddf6b8ee7f19b563b13adc --- /dev/null +++ b/103221-1/examples/PingRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.547786Z + v1.6.1 + 8f9fc2c5-923a-4a75-b70c-9e0c058bba45 + + diff --git a/103221-1/examples/PingResponse_example.xml b/103221-1/examples/PingResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..7a916ebea5cdab3fbb106608ad3e4c4810e46c3d --- /dev/null +++ b/103221-1/examples/PingResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.547786Z + v1.6.1 + 8f9fc2c5-923a-4a75-b70c-9e0c058bba45 + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/RemoveAllDestinationsRequest_example.xml b/103221-1/examples/RemoveAllDestinationsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..8971c0f17c4c357cc07f41e1492515e13a6b8d5e --- /dev/null +++ b/103221-1/examples/RemoveAllDestinationsRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.480627Z + v1.6.1 + 88611050-d8e2-4ada-96fc-626b5dbd9cdf + + diff --git a/103221-1/examples/RemoveAllDestinationsResponse_example.xml b/103221-1/examples/RemoveAllDestinationsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..a9fb41ff18e9eafa949995a68ea76a05873ee039 --- /dev/null +++ b/103221-1/examples/RemoveAllDestinationsResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.481629Z + v1.6.1 + 88611050-d8e2-4ada-96fc-626b5dbd9cdf + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/RemoveDestinationRequest_example.xml b/103221-1/examples/RemoveDestinationRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..655195ff4dd9190ab512d1b9b857f74aac78bbdf --- /dev/null +++ b/103221-1/examples/RemoveDestinationRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.473630Z + v1.6.1 + 8c229735-9acf-43ed-8d72-71602625b349 + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + + diff --git a/103221-1/examples/RemoveDestinationResponse_example.xml b/103221-1/examples/RemoveDestinationResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..81d74cae760f7db062919610c0786424588ba3cf --- /dev/null +++ b/103221-1/examples/RemoveDestinationResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.474625Z + v1.6.1 + 8c229735-9acf-43ed-8d72-71602625b349 + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/ReportDestinationIssueRequest_example.xml b/103221-1/examples/ReportDestinationIssueRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..3b8418cf4ac63a36b9d5d998074675cde5f72f1c --- /dev/null +++ b/103221-1/examples/ReportDestinationIssueRequest_example.xml @@ -0,0 +1,13 @@ + + + + admfID + neID + 2017-10-06T18:46:21.526329Z + v1.6.1 + 7e3ff959-55b0-47bd-a417-0d0383252150 + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + NonTerminatingFault + Example destination issue + + diff --git a/103221-1/examples/ReportDestinationIssueResponse_example.xml b/103221-1/examples/ReportDestinationIssueResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..ec35dfb03c1d6dcab446eb5a02bbec06ce52766d --- /dev/null +++ b/103221-1/examples/ReportDestinationIssueResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.526329Z + v1.6.1 + 7e3ff959-55b0-47bd-a417-0d0383252150 + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/ReportNEIssueRequest_example.xml b/103221-1/examples/ReportNEIssueRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..5df53cb7f72ab8b5eb318289368437a36138d99e --- /dev/null +++ b/103221-1/examples/ReportNEIssueRequest_example.xml @@ -0,0 +1,12 @@ + + + + admfID + neID + 2017-10-06T18:46:21.531784Z + v1.6.1 + c4cbb148-d3ee-46a9-8e1e-7446d6f91e3b + Warning + Example NE issue + + diff --git a/103221-1/examples/ReportNEIssueResponse_example.xml b/103221-1/examples/ReportNEIssueResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..d18e2812f95794d38382bd855f81e6cb113b4415 --- /dev/null +++ b/103221-1/examples/ReportNEIssueResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.531784Z + v1.6.1 + c4cbb148-d3ee-46a9-8e1e-7446d6f91e3b + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/ReportTaskIssueRequest_example.xml b/103221-1/examples/ReportTaskIssueRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..162bd255f29eb04f66237a872fc44c4f9b063ff7 --- /dev/null +++ b/103221-1/examples/ReportTaskIssueRequest_example.xml @@ -0,0 +1,13 @@ + + + + admfID + neID + 2017-10-06T18:46:21.516321Z + v1.6.1 + 5f5ae0e4-58fe-4e4f-a949-3bb0d7b09295 + 29f28e1c-f230-486a-a860-f5a784ab9172 + NonTerminatingFault + Example task issue + + diff --git a/103221-1/examples/ReportTaskIssueResponse_example.xml b/103221-1/examples/ReportTaskIssueResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..a46017ff6cf642b3173ed82d11b6a01659cd30c7 --- /dev/null +++ b/103221-1/examples/ReportTaskIssueResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.517323Z + v1.6.1 + 5f5ae0e4-58fe-4e4f-a949-3bb0d7b09295 + AcknowledgedAndCompleted + + diff --git a/103221-1/examples/validate_examples.py b/103221-1/examples/validate_examples.py new file mode 100644 index 0000000000000000000000000000000000000000..a22c986f0c122fe00ec025acad8bd8805a03ce3b --- /dev/null +++ b/103221-1/examples/validate_examples.py @@ -0,0 +1,95 @@ +import glob +import sys +from pathlib import Path + + +XS = 'http://www.w3.org/2001/XMLSchema' + + +def validate_example(example, schema): + + print('Validating example {}'.format(example)) + + xml = open(example) + doc = etree.parse(xml) + schema.assertValid(doc) + + print('Validated example {}'.format(example)) + + +def validate_examples(schema): + + examples = glob.glob('./examples/*.xml') + + if not examples: + sys.exit('ERROR: No examples found in ./examples/ directory') + + for example in examples: + validate_example(example, schema) + + +def load_schema(xsd): + + xsd_file = open(xsd) + + xsd_doc = etree.parse(xsd_file) + + # Set schemaLocation of TS 103 280 XSD + + common_xsd = glob.glob('./TS_103_280_*.xsd') + + if not common_xsd: + sys.exit('ERROR: Please copy a TS 103 280 XSD into this directory') + + if len(common_xsd) > 1: + sys.exit('ERROR: Too many TS 103 280 XSDs in current directory') + + imports = xsd_doc.xpath('//*/xs:import', namespaces={'xs': XS}) + + for xsd_import in imports: + xsd_import.attrib['schemaLocation'] = str(Path(common_xsd[0])) + print (xsd_import.attrib) + + # Load TS 103 221-1 XSD as a schema + + return etree.XMLSchema(xsd_doc) + + +def validate_xsd(xsd): + + print('Validating XSD {}'.format(xsd)) + + schema = load_schema(xsd) + + print('Validated XSD {}'.format(xsd)) + print('') + + validate_examples(schema) + + print('') + print('Validated all examples for XSD {}'.format(xsd)) + print('') + + +def validate_xsds(): + + xsds = glob.glob('./TS_103_221_01_*.xsd') + + if not xsds: + sys.exit('ERROR: No TS 103 221-1 XSDs found in current directory') + + for xsd in xsds: + validate_xsd(xsd) + + +if __name__ == '__main__': + + if sys.version_info <= (3, 5): + sys.exit('ERROR: You need at least Python 3.5 to run this tool') + + try: + from lxml import etree + except ImportError: + sys.exit('ERROR: You need to install the Python lxml library') + + validate_xsds() diff --git a/103221-1/portal/TS_103_221_01_v010601.xsd b/103221-1/portal/TS_103_221_01_v010601.xsd new file mode 100644 index 0000000000000000000000000000000000000000..73a038022e1b1e779402c164c1d407f300c08fce --- /dev/null +++ b/103221-1/portal/TS_103_221_01_v010601.xsd @@ -0,0 +1,790 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103221-1/portal/examples/ActivateTaskRequest_example.xml b/103221-1/portal/examples/ActivateTaskRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..42df4fdfb69a90d39f85d9c3ade16c59ca67cbf9 --- /dev/null +++ b/103221-1/portal/examples/ActivateTaskRequest_example.xml @@ -0,0 +1,22 @@ + + + + admfID + neID + 2017-10-06T18:46:21.247432Z + v1.6.1 + 3741800e-971b-4aa9-85f4-466d2b1adc7f + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 19867c20-8c94-473e-b9cd-8b72b7b05fd4 + + + + diff --git a/103221-1/portal/examples/ActivateTaskResponse_example.xml b/103221-1/portal/examples/ActivateTaskResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..38d98059bcbd99fc844f75f2c8507f065100f364 --- /dev/null +++ b/103221-1/portal/examples/ActivateTaskResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.401571Z + v1.6.1 + 3741800e-971b-4aa9-85f4-466d2b1adc7f + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/CreateDestinationRequest_example.xml b/103221-1/portal/examples/CreateDestinationRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..6203866fe78b08cfe80f05f250253d04dea1ec85 --- /dev/null +++ b/103221-1/portal/examples/CreateDestinationRequest_example.xml @@ -0,0 +1,24 @@ + + + + admfID + neID + 2017-10-06T18:46:21.446605Z + v1.6.1 + 8e8ca539-e4dd-41f3-b1cb-acc2a5edece0 + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + X2andX3 + + + + 192.0.2.2 + + + 12345 + + + + + + diff --git a/103221-1/portal/examples/CreateDestinationResponse_example.xml b/103221-1/portal/examples/CreateDestinationResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..b16339cf9f52362fbabbbddc8d06b72ffe51bc46 --- /dev/null +++ b/103221-1/portal/examples/CreateDestinationResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.446605Z + v1.6.1 + 8e8ca539-e4dd-41f3-b1cb-acc2a5edece0 + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/DeactivateTaskRequest_example.xml b/103221-1/portal/examples/DeactivateTaskRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..38be7e42ed96591e9d3178c54680f3a5ed8c96bf --- /dev/null +++ b/103221-1/portal/examples/DeactivateTaskRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.429594Z + v1.6.1 + 3da0df97-7bd5-4413-936d-74bebd7512fe + 29f28e1c-f230-486a-a860-f5a784ab9172 + + diff --git a/103221-1/portal/examples/DeactivateTaskResponse_example.xml b/103221-1/portal/examples/DeactivateTaskResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..82bbff83147761be080791beb8c935091d39d62b --- /dev/null +++ b/103221-1/portal/examples/DeactivateTaskResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.430594Z + v1.6.1 + 3da0df97-7bd5-4413-936d-74bebd7512fe + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/GetAllDetailsRequest_example.xml b/103221-1/portal/examples/GetAllDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..31e8e7309df6a747d69e8d5fc04e8c9127f3ac03 --- /dev/null +++ b/103221-1/portal/examples/GetAllDetailsRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.496243Z + v1.6.1 + bfd0c982-b7d6-4a8e-80a0-89dab964aafd + + diff --git a/103221-1/portal/examples/GetAllDetailsResponse_example.xml b/103221-1/portal/examples/GetAllDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..5bb79987c2ccf60e9a2a1bf03fdfad7b51648814 --- /dev/null +++ b/103221-1/portal/examples/GetAllDetailsResponse_example.xml @@ -0,0 +1,56 @@ + + + + admfID + neID + 2017-10-06T18:46:21.496743Z + v1.6.1 + bfd0c982-b7d6-4a8e-80a0-89dab964aafd + + OK + + + + + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 1eb4406a-8b28-41fd-8f0f-e1a0a3eb5ff9 + + + + complete + + + + + + + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + X2andX3 + + + + 192.0.2.2 + + + 12345 + + + + + + activeAndWorking + + + + + + diff --git a/103221-1/portal/examples/GetDestinationDetailsRequest_example.xml b/103221-1/portal/examples/GetDestinationDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..7719ac5b5f50d47dc57fb24f2ac76c14bcab9f8d --- /dev/null +++ b/103221-1/portal/examples/GetDestinationDetailsRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.462616Z + v1.6.1 + 7de5709c-8269-417f-a123-7087d3971f8c + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + + diff --git a/103221-1/portal/examples/GetDestinationDetailsResponse_example.xml b/103221-1/portal/examples/GetDestinationDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa0de43ae220b2454522b07eaaa8e749745cb138 --- /dev/null +++ b/103221-1/portal/examples/GetDestinationDetailsResponse_example.xml @@ -0,0 +1,30 @@ + + + + admfID + neID + 2017-10-06T18:46:21.462616Z + v1.6.1 + 7de5709c-8269-417f-a123-7087d3971f8c + + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + X2andX3 + + + + 192.0.2.2 + + + 12345 + + + + + + activeAndWorking + + + + + diff --git a/103221-1/portal/examples/GetNEStatusRequest_example.xml b/103221-1/portal/examples/GetNEStatusRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..807ec7eb1f3f2380195536a2183c27d4ed31bcb5 --- /dev/null +++ b/103221-1/portal/examples/GetNEStatusRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.487158Z + v1.6.1 + 93d571cb-3793-4385-8b59-2c14097ed743 + + diff --git a/103221-1/portal/examples/GetNEStatusResponse_example.xml b/103221-1/portal/examples/GetNEStatusResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..ade1b67d952e94fdf731d5910e9fedf833727a8b --- /dev/null +++ b/103221-1/portal/examples/GetNEStatusResponse_example.xml @@ -0,0 +1,14 @@ + + + + admfID + neID + 2017-10-06T18:46:21.488659Z + v1.6.1 + 93d571cb-3793-4385-8b59-2c14097ed743 + + OK + + + + diff --git a/103221-1/portal/examples/GetTaskDetailsRequest_example.xml b/103221-1/portal/examples/GetTaskDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..ec9d12b0b7a06eec72be4cbb1c307cfba83dc674 --- /dev/null +++ b/103221-1/portal/examples/GetTaskDetailsRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.418584Z + v1.6.1 + 609dcabd-5ab1-4c95-9681-a24681f105ac + 29f28e1c-f230-486a-a860-f5a784ab9172 + + diff --git a/103221-1/portal/examples/GetTaskDetailsResponse_example.xml b/103221-1/portal/examples/GetTaskDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..63a66f5227777c24646d2e49089c6e0126ea644d --- /dev/null +++ b/103221-1/portal/examples/GetTaskDetailsResponse_example.xml @@ -0,0 +1,28 @@ + + + + admfID + neID + 2017-10-06T18:46:21.420587Z + v1.6.1 + 609dcabd-5ab1-4c95-9681-a24681f105ac + + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 1eb4406a-8b28-41fd-8f0f-e1a0a3eb5ff9 + + + + complete + + + + + diff --git a/103221-1/portal/examples/KeepaliveRequest_example.xml b/103221-1/portal/examples/KeepaliveRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..47650f1242566ec5737dcec1901f80549f9c1cf5 --- /dev/null +++ b/103221-1/portal/examples/KeepaliveRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.541784Z + v1.6.1 + 6420aa0f-e5e6-4a32-9dff-15b836589257 + + diff --git a/103221-1/portal/examples/KeepaliveResponse_example.xml b/103221-1/portal/examples/KeepaliveResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..995fed3ea2159798420f1a772960b238bbdf3abf --- /dev/null +++ b/103221-1/portal/examples/KeepaliveResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.542783Z + v1.6.1 + 6420aa0f-e5e6-4a32-9dff-15b836589257 + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/ListAllDetailsRequest_example.xml b/103221-1/portal/examples/ListAllDetailsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..82c7e8d2ca7c5132918dcb989c494e044e09e434 --- /dev/null +++ b/103221-1/portal/examples/ListAllDetailsRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.508330Z + v1.6.1 + 09529160-2e44-49c6-bf54-204ca5edcfab + + diff --git a/103221-1/portal/examples/ListAllDetailsResponse_example.xml b/103221-1/portal/examples/ListAllDetailsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..e5e9096d5182c6ee70d4a2b985f98926054fca27 --- /dev/null +++ b/103221-1/portal/examples/ListAllDetailsResponse_example.xml @@ -0,0 +1,16 @@ + + + + admfID + neID + 2017-10-06T18:46:21.508330Z + v1.6.1 + 09529160-2e44-49c6-bf54-204ca5edcfab + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + + + diff --git a/103221-1/portal/examples/ModifyTaskRequest_example.xml b/103221-1/portal/examples/ModifyTaskRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..3aa287f6bdc3c1d206acde9728eb15baaf90f052 --- /dev/null +++ b/103221-1/portal/examples/ModifyTaskRequest_example.xml @@ -0,0 +1,22 @@ + + + + admfID + neID + 2017-10-06T18:46:21.411587Z + v1.6.1 + fcfc97de-1c77-413d-9925-d1630acbf763 + + 29f28e1c-f230-486a-a860-f5a784ab9172 + + + 447700900000 + + + X2andX3 + + 1eb4406a-8b28-41fd-8f0f-e1a0a3eb5ff9 + + + + diff --git a/103221-1/portal/examples/ModifyTaskResponse_example.xml b/103221-1/portal/examples/ModifyTaskResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..35a9696e376a23a8b1a639fb93da0264c92e78e0 --- /dev/null +++ b/103221-1/portal/examples/ModifyTaskResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.411587Z + v1.6.1 + fcfc97de-1c77-413d-9925-d1630acbf763 + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/PingRequest_example.xml b/103221-1/portal/examples/PingRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..5eda3b55f8db5a3dfaddf6b8ee7f19b563b13adc --- /dev/null +++ b/103221-1/portal/examples/PingRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.547786Z + v1.6.1 + 8f9fc2c5-923a-4a75-b70c-9e0c058bba45 + + diff --git a/103221-1/portal/examples/PingResponse_example.xml b/103221-1/portal/examples/PingResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..7a916ebea5cdab3fbb106608ad3e4c4810e46c3d --- /dev/null +++ b/103221-1/portal/examples/PingResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.547786Z + v1.6.1 + 8f9fc2c5-923a-4a75-b70c-9e0c058bba45 + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/RemoveAllDestinationsRequest_example.xml b/103221-1/portal/examples/RemoveAllDestinationsRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..8971c0f17c4c357cc07f41e1492515e13a6b8d5e --- /dev/null +++ b/103221-1/portal/examples/RemoveAllDestinationsRequest_example.xml @@ -0,0 +1,10 @@ + + + + admfID + neID + 2017-10-06T18:46:21.480627Z + v1.6.1 + 88611050-d8e2-4ada-96fc-626b5dbd9cdf + + diff --git a/103221-1/portal/examples/RemoveAllDestinationsResponse_example.xml b/103221-1/portal/examples/RemoveAllDestinationsResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..a9fb41ff18e9eafa949995a68ea76a05873ee039 --- /dev/null +++ b/103221-1/portal/examples/RemoveAllDestinationsResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.481629Z + v1.6.1 + 88611050-d8e2-4ada-96fc-626b5dbd9cdf + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/RemoveDestinationRequest_example.xml b/103221-1/portal/examples/RemoveDestinationRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..655195ff4dd9190ab512d1b9b857f74aac78bbdf --- /dev/null +++ b/103221-1/portal/examples/RemoveDestinationRequest_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.473630Z + v1.6.1 + 8c229735-9acf-43ed-8d72-71602625b349 + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + + diff --git a/103221-1/portal/examples/RemoveDestinationResponse_example.xml b/103221-1/portal/examples/RemoveDestinationResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..81d74cae760f7db062919610c0786424588ba3cf --- /dev/null +++ b/103221-1/portal/examples/RemoveDestinationResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.474625Z + v1.6.1 + 8c229735-9acf-43ed-8d72-71602625b349 + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/ReportDestinationIssueRequest_example.xml b/103221-1/portal/examples/ReportDestinationIssueRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..3b8418cf4ac63a36b9d5d998074675cde5f72f1c --- /dev/null +++ b/103221-1/portal/examples/ReportDestinationIssueRequest_example.xml @@ -0,0 +1,13 @@ + + + + admfID + neID + 2017-10-06T18:46:21.526329Z + v1.6.1 + 7e3ff959-55b0-47bd-a417-0d0383252150 + b0ce308c-aa17-42bd-a27b-287bcb5b3468 + NonTerminatingFault + Example destination issue + + diff --git a/103221-1/portal/examples/ReportDestinationIssueResponse_example.xml b/103221-1/portal/examples/ReportDestinationIssueResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..ec35dfb03c1d6dcab446eb5a02bbec06ce52766d --- /dev/null +++ b/103221-1/portal/examples/ReportDestinationIssueResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.526329Z + v1.6.1 + 7e3ff959-55b0-47bd-a417-0d0383252150 + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/ReportNEIssueRequest_example.xml b/103221-1/portal/examples/ReportNEIssueRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..5df53cb7f72ab8b5eb318289368437a36138d99e --- /dev/null +++ b/103221-1/portal/examples/ReportNEIssueRequest_example.xml @@ -0,0 +1,12 @@ + + + + admfID + neID + 2017-10-06T18:46:21.531784Z + v1.6.1 + c4cbb148-d3ee-46a9-8e1e-7446d6f91e3b + Warning + Example NE issue + + diff --git a/103221-1/portal/examples/ReportNEIssueResponse_example.xml b/103221-1/portal/examples/ReportNEIssueResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..d18e2812f95794d38382bd855f81e6cb113b4415 --- /dev/null +++ b/103221-1/portal/examples/ReportNEIssueResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.531784Z + v1.6.1 + c4cbb148-d3ee-46a9-8e1e-7446d6f91e3b + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/ReportTaskIssueRequest_example.xml b/103221-1/portal/examples/ReportTaskIssueRequest_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..162bd255f29eb04f66237a872fc44c4f9b063ff7 --- /dev/null +++ b/103221-1/portal/examples/ReportTaskIssueRequest_example.xml @@ -0,0 +1,13 @@ + + + + admfID + neID + 2017-10-06T18:46:21.516321Z + v1.6.1 + 5f5ae0e4-58fe-4e4f-a949-3bb0d7b09295 + 29f28e1c-f230-486a-a860-f5a784ab9172 + NonTerminatingFault + Example task issue + + diff --git a/103221-1/portal/examples/ReportTaskIssueResponse_example.xml b/103221-1/portal/examples/ReportTaskIssueResponse_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..a46017ff6cf642b3173ed82d11b6a01659cd30c7 --- /dev/null +++ b/103221-1/portal/examples/ReportTaskIssueResponse_example.xml @@ -0,0 +1,11 @@ + + + + admfID + neID + 2017-10-06T18:46:21.517323Z + v1.6.1 + 5f5ae0e4-58fe-4e4f-a949-3bb0d7b09295 + AcknowledgedAndCompleted + + diff --git a/103221-1/portal/examples/desktop.ini b/103221-1/portal/examples/desktop.ini new file mode 100644 index 0000000000000000000000000000000000000000..8b699c692d358fa29d7ac0976e524fe25c5da053 Binary files /dev/null and b/103221-1/portal/examples/desktop.ini differ diff --git a/103221-1/portal/validate_examples.py b/103221-1/portal/validate_examples.py new file mode 100644 index 0000000000000000000000000000000000000000..a22c986f0c122fe00ec025acad8bd8805a03ce3b --- /dev/null +++ b/103221-1/portal/validate_examples.py @@ -0,0 +1,95 @@ +import glob +import sys +from pathlib import Path + + +XS = 'http://www.w3.org/2001/XMLSchema' + + +def validate_example(example, schema): + + print('Validating example {}'.format(example)) + + xml = open(example) + doc = etree.parse(xml) + schema.assertValid(doc) + + print('Validated example {}'.format(example)) + + +def validate_examples(schema): + + examples = glob.glob('./examples/*.xml') + + if not examples: + sys.exit('ERROR: No examples found in ./examples/ directory') + + for example in examples: + validate_example(example, schema) + + +def load_schema(xsd): + + xsd_file = open(xsd) + + xsd_doc = etree.parse(xsd_file) + + # Set schemaLocation of TS 103 280 XSD + + common_xsd = glob.glob('./TS_103_280_*.xsd') + + if not common_xsd: + sys.exit('ERROR: Please copy a TS 103 280 XSD into this directory') + + if len(common_xsd) > 1: + sys.exit('ERROR: Too many TS 103 280 XSDs in current directory') + + imports = xsd_doc.xpath('//*/xs:import', namespaces={'xs': XS}) + + for xsd_import in imports: + xsd_import.attrib['schemaLocation'] = str(Path(common_xsd[0])) + print (xsd_import.attrib) + + # Load TS 103 221-1 XSD as a schema + + return etree.XMLSchema(xsd_doc) + + +def validate_xsd(xsd): + + print('Validating XSD {}'.format(xsd)) + + schema = load_schema(xsd) + + print('Validated XSD {}'.format(xsd)) + print('') + + validate_examples(schema) + + print('') + print('Validated all examples for XSD {}'.format(xsd)) + print('') + + +def validate_xsds(): + + xsds = glob.glob('./TS_103_221_01_*.xsd') + + if not xsds: + sys.exit('ERROR: No TS 103 221-1 XSDs found in current directory') + + for xsd in xsds: + validate_xsd(xsd) + + +if __name__ == '__main__': + + if sys.version_info <= (3, 5): + sys.exit('ERROR: You need at least Python 3.5 to run this tool') + + try: + from lxml import etree + except ImportError: + sys.exit('ERROR: You need to install the Python lxml library') + + validate_xsds() diff --git a/103280/TS_103_280.asn1 b/103280/TS_103_280.asn1 new file mode 100644 index 0000000000000000000000000000000000000000..68cfe54e9a3e75ef0565bd50cd1c0d4bdbc8793f --- /dev/null +++ b/103280/TS_103_280.asn1 @@ -0,0 +1,94 @@ +Common-Parameters +{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version231(231)} + +DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN + +-- Object Identifier definitions + +commonParameterDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version231(231)} + +-- Common Parameters (below are as defined in clause 6) + +LIID ::= OCTET STRING (SIZE (1..25)) + +TCPPort ::= INTEGER (1..65535) + +TCPPortRange ::= SEQUENCE +{ + start [0] TCPPort, + end [1] TCPPort +} + +UDPPort ::= INTEGER (0..65535) + +UDPPortRange ::= SEQUENCE +{ + start [0] UDPPort, + end [1] UDPPort +} + +Port ::= CHOICE +{ + tCPPort [0] TCPPort, + uDPPort [1] UDPPort +} + +PortRange ::= CHOICE +{ + tCPPortRange [0] TCPPortRange, + uDPPortRange [1] UDPPortRange +} + +QualifiedDateTime ::= GeneralizedTime + +QualifiedMicrosecondDateTime ::= GeneralizedTime + +WGS84CoordinateDecimal ::= SEQUENCE +{ + latitude [0] WGS84LatitudeDecimal, + longitude [1] WGS84LongitudeDecimal +} + +WGS84LatitudeDecimal ::= OCTET STRING (SIZE (10)) + +WGS84LongitudeDecimal ::= OCTET STRING (SIZE (11)) + +WGS84CoordinateAngular ::= SEQUENCE +{ + latitude [0] WGS84LatitudeAngular, + longitude [1] WGS84LongitudeAngular +} + +WGS84LatitudeAngular ::= OCTET STRING (SIZE (10)) + +WGS84LongitudeAngular ::= OCTET STRING (SIZE (11)) + +InternationalE164 ::= NumericString (SIZE(1..15)) + +IMSI ::= NumericString (SIZE(6..15)) + +IMEI ::= NumericString (SIZE(14)) + +IMEICheckDigit ::= NumericString (SIZE(15)) + +IMEISV ::= NumericString (SIZE(16)) + +SUPIIMSI ::= IMSI + +SUPINAI ::= NAI + +SUCI ::= OCTET STRING + +PEIIMEI ::= IMEI + +PEIIMEICheckDigit ::= IMEICheckDigit + +PEIIMEISV ::= IMEISV + +GPSIMSISDN ::= NumericString (SIZE(1..15)) + +GPSINAI ::= NAI + +NAI ::= UTF8String + +END diff --git a/103280/TS_103_280.xsd b/103280/TS_103_280.xsd new file mode 100644 index 0000000000000000000000000000000000000000..e5c0bdea3682e1962175e2c84bd36a09a20ae821 --- /dev/null +++ b/103280/TS_103_280.xsd @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103280/portal/TS_103_280_v020301.asn1 b/103280/portal/TS_103_280_v020301.asn1 new file mode 100644 index 0000000000000000000000000000000000000000..68cfe54e9a3e75ef0565bd50cd1c0d4bdbc8793f --- /dev/null +++ b/103280/portal/TS_103_280_v020301.asn1 @@ -0,0 +1,94 @@ +Common-Parameters +{itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version231(231)} + +DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN + +-- Object Identifier definitions + +commonParameterDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version231(231)} + +-- Common Parameters (below are as defined in clause 6) + +LIID ::= OCTET STRING (SIZE (1..25)) + +TCPPort ::= INTEGER (1..65535) + +TCPPortRange ::= SEQUENCE +{ + start [0] TCPPort, + end [1] TCPPort +} + +UDPPort ::= INTEGER (0..65535) + +UDPPortRange ::= SEQUENCE +{ + start [0] UDPPort, + end [1] UDPPort +} + +Port ::= CHOICE +{ + tCPPort [0] TCPPort, + uDPPort [1] UDPPort +} + +PortRange ::= CHOICE +{ + tCPPortRange [0] TCPPortRange, + uDPPortRange [1] UDPPortRange +} + +QualifiedDateTime ::= GeneralizedTime + +QualifiedMicrosecondDateTime ::= GeneralizedTime + +WGS84CoordinateDecimal ::= SEQUENCE +{ + latitude [0] WGS84LatitudeDecimal, + longitude [1] WGS84LongitudeDecimal +} + +WGS84LatitudeDecimal ::= OCTET STRING (SIZE (10)) + +WGS84LongitudeDecimal ::= OCTET STRING (SIZE (11)) + +WGS84CoordinateAngular ::= SEQUENCE +{ + latitude [0] WGS84LatitudeAngular, + longitude [1] WGS84LongitudeAngular +} + +WGS84LatitudeAngular ::= OCTET STRING (SIZE (10)) + +WGS84LongitudeAngular ::= OCTET STRING (SIZE (11)) + +InternationalE164 ::= NumericString (SIZE(1..15)) + +IMSI ::= NumericString (SIZE(6..15)) + +IMEI ::= NumericString (SIZE(14)) + +IMEICheckDigit ::= NumericString (SIZE(15)) + +IMEISV ::= NumericString (SIZE(16)) + +SUPIIMSI ::= IMSI + +SUPINAI ::= NAI + +SUCI ::= OCTET STRING + +PEIIMEI ::= IMEI + +PEIIMEICheckDigit ::= IMEICheckDigit + +PEIIMEISV ::= IMEISV + +GPSIMSISDN ::= NumericString (SIZE(1..15)) + +GPSINAI ::= NAI + +NAI ::= UTF8String + +END diff --git a/103280/portal/TS_103_280_v020401.xsd b/103280/portal/TS_103_280_v020401.xsd new file mode 100644 index 0000000000000000000000000000000000000000..e5c0bdea3682e1962175e2c84bd36a09a20ae821 --- /dev/null +++ b/103280/portal/TS_103_280_v020401.xsd @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/103462/ILHIPDU.asn b/103462/ILHIPDU.asn new file mode 100644 index 0000000000000000000000000000000000000000..6fa7d830db21e495f650b56ab1e17649c795bed7 --- /dev/null +++ b/103462/ILHIPDU.asn @@ -0,0 +1,128 @@ +ILHIPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0) version2(2)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + + +IMPORTS + + -- from ETSI TS 102 232-1 [6] + TimeStampQualifier, + MicroSecondTimeStamp, + Location + FROM LI-PS-PDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader (1) version28(28)} + + -- from ETSI TS 103 280 [2] + QualifiedDateTime, + QualifiedMicrosecondDateTime, + WGS84CoordinateDecimal, + WGS84CoordinateAngular + FROM Common-Parameters + {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version221(221)} +; + +-- end of IMPORTS + +-- ============================ +-- Object Identifier Definition +-- ============================ + +iLHIDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0)} + +iLHIObjId OBJECT IDENTIFIER ::= { iLHIDomainId ilhiPdu(0) version2(2)} + +preagreedObjId OBJECT IDENTIFIER ::= { iLHIDomainId identifiers(1) preagreed(0)} + +-- ============================ +-- Inter LEMF Handover Elements +-- ============================ + +ILHIPayload ::= SEQUENCE + -- This Payload sends additional ILHI specific parameters, the resPayload and + -- the originalPayload. +{ + iLHIObjId [0] OBJECT IDENTIFIER, + resPayload [1] EncapsulationPayload, + mappingInfo [2] MappingInfo OPTIONAL, + -- output from the MapF + originalPayload [3] EncapsulationPayload OPTIONAL, + ... +} + +EncapsulationPayload ::= SEQUENCE +{ + identifier [0] OBJECT IDENTIFIER, + -- see clause 8.1 + contents [1] OCTET STRING, + ... +} + +MappingInfo ::= SEQUENCE +{ + timestampMapping [0] SEQUENCE OF TimestampMapping OPTIONAL, + locationMapping [1] SEQUENCE OF LocationMapping OPTIONAL, + ... +} + +TimestampMapping ::= SEQUENCE +{ + originalTimestamp [0] OriginalTimestamp, + normalizedTimestamp [1] ILHITimestamp, + timeStampQualifier [2] LI-PS-PDU.TimeStampQualifier OPTIONAL, + ... +} + +ILHITimestamp ::= CHOICE +{ + qualifiedDateTime [1] Common-Parameters.QualifiedDateTime, + qualifiedMicrosecondDateTime [2] Common-Parameters.QualifiedMicrosecondDateTime, + ..., + unqualifiedDateTime [3] NULL + -- The unqualifiedDateTime choice is used if the timestamp is not mappable with + -- the Mapping function because e.g. the timezone information is missing +} + +OriginalTimestamp ::= CHOICE +{ + timeStamp [1] GeneralizedTime, + microSecondTimeStamp [2] LI-PS-PDU.MicroSecondTimeStamp, + ..., + otherTimeStamp [3] UTF8String + -- The otherTimeStamp choice contains a value if for any reason the received timestamp + -- is not mappable into the fields timeStamp or the microSecondTimeStamp +} + +LocationMapping ::= SEQUENCE +{ + originalLocation [0] LI-PS-PDU.Location, + normalizedLocation [1] NormalizedLocationData, + ... +} + +NormalizedLocationData ::= SEQUENCE +{ + geocodedLocationData [0] GeocodedLocationData, + supplementaryLocationData [1] SupplementaryLocationData OPTIONAL, + -- any additional information for an improved presentation of location + -- (e.g. details of the network elements like transmitter details) should + -- be inserted into this parameter + ... +} + +GeocodedLocationData ::= CHOICE +{ + wGS84CoordinateDecimal [1] Common-Parameters.WGS84CoordinateDecimal, + wGS84CoordinateAngular [2] Common-Parameters.WGS84CoordinateAngular, + ... +} + +SupplementaryLocationData ::= SEQUENCE +{ + azimuth [0] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... +} + +END --end of ILHIPDU diff --git a/103462/portal/ILHIPDUver2.txt b/103462/portal/ILHIPDUver2.txt new file mode 100644 index 0000000000000000000000000000000000000000..6fa7d830db21e495f650b56ab1e17649c795bed7 --- /dev/null +++ b/103462/portal/ILHIPDUver2.txt @@ -0,0 +1,128 @@ +ILHIPDU +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0) ilhiPdu(0) version2(2)} + +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + + +IMPORTS + + -- from ETSI TS 102 232-1 [6] + TimeStampQualifier, + MicroSecondTimeStamp, + Location + FROM LI-PS-PDU + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) li-ps(5) genHeader (1) version28(28)} + + -- from ETSI TS 103 280 [2] + QualifiedDateTime, + QualifiedMicrosecondDateTime, + WGS84CoordinateDecimal, + WGS84CoordinateAngular + FROM Common-Parameters + {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version221(221)} +; + +-- end of IMPORTS + +-- ============================ +-- Object Identifier Definition +-- ============================ + +iLHIDomainId OBJECT IDENTIFIER ::= {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) informationHandover(4) ilhi(0)} + +iLHIObjId OBJECT IDENTIFIER ::= { iLHIDomainId ilhiPdu(0) version2(2)} + +preagreedObjId OBJECT IDENTIFIER ::= { iLHIDomainId identifiers(1) preagreed(0)} + +-- ============================ +-- Inter LEMF Handover Elements +-- ============================ + +ILHIPayload ::= SEQUENCE + -- This Payload sends additional ILHI specific parameters, the resPayload and + -- the originalPayload. +{ + iLHIObjId [0] OBJECT IDENTIFIER, + resPayload [1] EncapsulationPayload, + mappingInfo [2] MappingInfo OPTIONAL, + -- output from the MapF + originalPayload [3] EncapsulationPayload OPTIONAL, + ... +} + +EncapsulationPayload ::= SEQUENCE +{ + identifier [0] OBJECT IDENTIFIER, + -- see clause 8.1 + contents [1] OCTET STRING, + ... +} + +MappingInfo ::= SEQUENCE +{ + timestampMapping [0] SEQUENCE OF TimestampMapping OPTIONAL, + locationMapping [1] SEQUENCE OF LocationMapping OPTIONAL, + ... +} + +TimestampMapping ::= SEQUENCE +{ + originalTimestamp [0] OriginalTimestamp, + normalizedTimestamp [1] ILHITimestamp, + timeStampQualifier [2] LI-PS-PDU.TimeStampQualifier OPTIONAL, + ... +} + +ILHITimestamp ::= CHOICE +{ + qualifiedDateTime [1] Common-Parameters.QualifiedDateTime, + qualifiedMicrosecondDateTime [2] Common-Parameters.QualifiedMicrosecondDateTime, + ..., + unqualifiedDateTime [3] NULL + -- The unqualifiedDateTime choice is used if the timestamp is not mappable with + -- the Mapping function because e.g. the timezone information is missing +} + +OriginalTimestamp ::= CHOICE +{ + timeStamp [1] GeneralizedTime, + microSecondTimeStamp [2] LI-PS-PDU.MicroSecondTimeStamp, + ..., + otherTimeStamp [3] UTF8String + -- The otherTimeStamp choice contains a value if for any reason the received timestamp + -- is not mappable into the fields timeStamp or the microSecondTimeStamp +} + +LocationMapping ::= SEQUENCE +{ + originalLocation [0] LI-PS-PDU.Location, + normalizedLocation [1] NormalizedLocationData, + ... +} + +NormalizedLocationData ::= SEQUENCE +{ + geocodedLocationData [0] GeocodedLocationData, + supplementaryLocationData [1] SupplementaryLocationData OPTIONAL, + -- any additional information for an improved presentation of location + -- (e.g. details of the network elements like transmitter details) should + -- be inserted into this parameter + ... +} + +GeocodedLocationData ::= CHOICE +{ + wGS84CoordinateDecimal [1] Common-Parameters.WGS84CoordinateDecimal, + wGS84CoordinateAngular [2] Common-Parameters.WGS84CoordinateAngular, + ... +} + +SupplementaryLocationData ::= SEQUENCE +{ + azimuth [0] INTEGER (0..359) OPTIONAL, + -- The azimuth is the bearing, relative to true north + ... +} + +END --end of ILHIPDU diff --git a/103707/TS_103_707_v010101.xsd b/103707/TS_103_707_v010101.xsd new file mode 100644 index 0000000000000000000000000000000000000000..7d857dfb2fa0c05fd61379813837668ad5fb9c0a --- /dev/null +++ b/103707/TS_103_707_v010101.xsd @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/103707/examples/FooServiceSchema.xsd b/103707/examples/FooServiceSchema.xsd new file mode 100644 index 0000000000000000000000000000000000000000..59e2ff1eb5a7275fe172b3c2068d597452c1c523 --- /dev/null +++ b/103707/examples/FooServiceSchema.xsd @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/103707/examples/example_binaryObject.xml b/103707/examples/example_binaryObject.xml new file mode 100644 index 0000000000000000000000000000000000000000..54655c529d61d1594502ba77ac8dea60024b39b0 --- /dev/null +++ b/103707/examples/example_binaryObject.xml @@ -0,0 +1,48 @@ + + + +
+ + + + + target@example.com + + true + + + + + someoneelse@example.com + + + + 2019-10-17T06:42:23.000000+01:00 + + + https://example.com/binaryData/e71d2da5-774a-4bca-8748-2a00b2e17892 + 1024 + image/jpeg + 2019-10-17T06:42:53.000000+01:00 + 8b7df143d91c716ecfa5fc1730022f6b421b05cedee8fd52b1fc65a96030ad52 + cat.jpeg + e71d2da5-774a-4bca-8748-2a00b2e17892 + + + + + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + Foo + Bar + Baz + + + + + +
\ No newline at end of file diff --git a/103707/examples/example_extended.xml b/103707/examples/example_extended.xml new file mode 100644 index 0000000000000000000000000000000000000000..194190e3168638cc337dc979ccd4436cb3e0fc7b --- /dev/null +++ b/103707/examples/example_extended.xml @@ -0,0 +1,69 @@ + + + +
+ + 123 + 456 + +
+ + + + + someone@example.com + + + + + + someone-else-alias1@example.com + someone-else-alias2@example.com + someone-else-alias3@example.com + + + + + target@example.com + + true + + + 2019-10-17T06:42:23.000000+01:00 + + + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + + + + + + + + + + + + + + + + + + + + Foo + Bar + Baz + + + + + +
\ No newline at end of file diff --git a/103707/examples/example_simple.xml b/103707/examples/example_simple.xml new file mode 100644 index 0000000000000000000000000000000000000000..52816308271a46ef9eac054993c038adc7297f61 --- /dev/null +++ b/103707/examples/example_simple.xml @@ -0,0 +1,37 @@ + + + +
+ + + + + target@example.com + + true + + + + + someoneelse@example.com + + + + 2019-10-17T06:42:23.000000+01:00 + + + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + Foo + Bar + Baz + + + + + +
\ No newline at end of file diff --git a/103707/portal/TS_103_707_v010101.xsd b/103707/portal/TS_103_707_v010101.xsd new file mode 100644 index 0000000000000000000000000000000000000000..7d857dfb2fa0c05fd61379813837668ad5fb9c0a --- /dev/null +++ b/103707/portal/TS_103_707_v010101.xsd @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/103707/portal/examples/FooServiceSchema.xsd b/103707/portal/examples/FooServiceSchema.xsd new file mode 100644 index 0000000000000000000000000000000000000000..59e2ff1eb5a7275fe172b3c2068d597452c1c523 --- /dev/null +++ b/103707/portal/examples/FooServiceSchema.xsd @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/103707/portal/examples/example_binaryObject.xml b/103707/portal/examples/example_binaryObject.xml new file mode 100644 index 0000000000000000000000000000000000000000..54655c529d61d1594502ba77ac8dea60024b39b0 --- /dev/null +++ b/103707/portal/examples/example_binaryObject.xml @@ -0,0 +1,48 @@ + + + +
+ + + + + target@example.com + + true + + + + + someoneelse@example.com + + + + 2019-10-17T06:42:23.000000+01:00 + + + https://example.com/binaryData/e71d2da5-774a-4bca-8748-2a00b2e17892 + 1024 + image/jpeg + 2019-10-17T06:42:53.000000+01:00 + 8b7df143d91c716ecfa5fc1730022f6b421b05cedee8fd52b1fc65a96030ad52 + cat.jpeg + e71d2da5-774a-4bca-8748-2a00b2e17892 + + + + + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + Foo + Bar + Baz + + + + + +
\ No newline at end of file diff --git a/103707/portal/examples/example_extended.xml b/103707/portal/examples/example_extended.xml new file mode 100644 index 0000000000000000000000000000000000000000..194190e3168638cc337dc979ccd4436cb3e0fc7b --- /dev/null +++ b/103707/portal/examples/example_extended.xml @@ -0,0 +1,69 @@ + + + +
+ + 123 + 456 + +
+ + + + + someone@example.com + + + + + + someone-else-alias1@example.com + someone-else-alias2@example.com + someone-else-alias3@example.com + + + + + target@example.com + + true + + + 2019-10-17T06:42:23.000000+01:00 + + + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + + + + + + + + + + + + + + + + + + + + Foo + Bar + Baz + + + + + +
\ No newline at end of file diff --git a/103707/portal/examples/example_simple.xml b/103707/portal/examples/example_simple.xml new file mode 100644 index 0000000000000000000000000000000000000000..52816308271a46ef9eac054993c038adc7297f61 --- /dev/null +++ b/103707/portal/examples/example_simple.xml @@ -0,0 +1,37 @@ + + + +
+ + + + + target@example.com + + true + + + + + someoneelse@example.com + + + + 2019-10-17T06:42:23.000000+01:00 + + + + + http://FooServiceSchema.example.com/schema/v1.1.1/ + + + + Foo + Bar + Baz + + + + + +
\ No newline at end of file diff --git a/103707/portal/testing/validate_examples.py b/103707/portal/testing/validate_examples.py new file mode 100644 index 0000000000000000000000000000000000000000..915de84e4d527c154fd485b89552fb59d93edfc0 --- /dev/null +++ b/103707/portal/testing/validate_examples.py @@ -0,0 +1,46 @@ +import glob +import sys +from pathlib import Path +from pprint import pprint + +if __name__ == '__main__': + + if sys.version_info <= (3, 5): + sys.exit('ERROR: You need at least Python 3.5 to run this tool') + + try: + from lxml import etree + except ImportError: + sys.exit('ERROR: You need to install the Python lxml library') + + try: + import xmlschema + except ImportError: + sys.exit('ERROR: You need to install the xml schema library') + + + extraSchemas = [ + 'examples/FooServiceSchema.xsd', + 'TS_103_280_v020301.xsd' + ] + + locations = [] + for schemaFile in extraSchemas: + xs = xmlschema.XMLSchema(schemaFile, validation='skip') + locations.append((xs.default_namespace, str(Path(schemaFile)))) + + coreSchema = xmlschema.XMLSchema('TS_103_707_v010101.xsd', locations=locations) + + for schema in extraSchemas: + newSchema = xmlschema.XMLSchema(schema) + coreSchema.import_schema(newSchema.default_namespace, schema) + + examples = glob.glob('examples/*.xml') + for example in examples: + try: + coreSchema.validate(example) + print ("{0} passed validation".format(example)) + except Exception as ex: + print ("{0} failed validation: {1}".format(example, ex)) + + print ('Done') \ No newline at end of file diff --git a/103707/testing/validate_examples.py b/103707/testing/validate_examples.py new file mode 100644 index 0000000000000000000000000000000000000000..915de84e4d527c154fd485b89552fb59d93edfc0 --- /dev/null +++ b/103707/testing/validate_examples.py @@ -0,0 +1,46 @@ +import glob +import sys +from pathlib import Path +from pprint import pprint + +if __name__ == '__main__': + + if sys.version_info <= (3, 5): + sys.exit('ERROR: You need at least Python 3.5 to run this tool') + + try: + from lxml import etree + except ImportError: + sys.exit('ERROR: You need to install the Python lxml library') + + try: + import xmlschema + except ImportError: + sys.exit('ERROR: You need to install the xml schema library') + + + extraSchemas = [ + 'examples/FooServiceSchema.xsd', + 'TS_103_280_v020301.xsd' + ] + + locations = [] + for schemaFile in extraSchemas: + xs = xmlschema.XMLSchema(schemaFile, validation='skip') + locations.append((xs.default_namespace, str(Path(schemaFile)))) + + coreSchema = xmlschema.XMLSchema('TS_103_707_v010101.xsd', locations=locations) + + for schema in extraSchemas: + newSchema = xmlschema.XMLSchema(schema) + coreSchema.import_schema(newSchema.default_namespace, schema) + + examples = glob.glob('examples/*.xml') + for example in examples: + try: + coreSchema.validate(example) + print ("{0} passed validation".format(example)) + except Exception as ex: + print ("{0} failed validation: {1}".format(example, ex)) + + print ('Done') \ No newline at end of file