diff --git a/103280/TS_103_280.asn1 b/103280/TS_103_280.asn1 index ac8c776882aa81829cd521b7a64779900b3b1bb0..c95dfc676aa407079d50ecba3572d5190b52ecee 100644 --- a/103280/TS_103_280.asn1 +++ b/103280/TS_103_280.asn1 @@ -167,4 +167,6 @@ FixMode ::= ENUMERATED fix3D(3) } +MACAddress ::= OCTET STRING (SIZE(6)) + END diff --git a/103280/TS_103_280_Location.asn1 b/103280/TS_103_280_Location.asn1 new file mode 100644 index 0000000000000000000000000000000000000000..928cb8c41635b62928ae5cd4a779bd317a901e50 --- /dev/null +++ b/103280/TS_103_280_Location.asn1 @@ -0,0 +1,152 @@ +CommonLocations +{itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) commonLocations(39) genHeader(1) version1(1)} + +DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= + +BEGIN + +IMPORTS +-- from ETSI TS 103 280 Common-Parameters + WGS84CoordinateDecimal, + WGS84LatitudeDecimal, + WGS84LongitudeDecimal, + MACAddress + FROM Common-Parameters + {itu-t(0) identified-organization(4) etsi(0) common-parameters(3280) version271(271)} + + + -- previously from ETSI TS 101 671; now provided with this specification ETSI TS 102 232-1 [1] + Location + FROM HI2Operations + {itu-t(0) identified-organization(4) etsi(0) securityDomain(2) lawfulIntercept(2) hi2(1) version17(18)} + + -- from 3GPP TS 33.108 [AA] + 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 3GPP TS 33.108 [AA] + 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 3GPP TS 33.128 [46] + Location + 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)} + +commonLocations OBJECT IDENTIFIER ::= {lawfulInterceptDomainId commonLocations(39) genHeader(1) version1(1)} + +-- ==================== +-- Top-level definition +-- ==================== + +Location ::= SEQUENCE +{ + locationInformation [1] LocationInformation, + locationProvenance [2] LocationProvenance +} + +LocationInformation ::= CHOICE +{ + umtsHI2Location [1] UmtsHI2Operations.Location, + epsLocation [2] EpsHI2Operations.EPSLocation, + wlanLocationAttributes [3] WlanLocationAttributes, + eTSI671HI2Location [4] HI2Operations.Location, + threeGPP33128Location [5] TS33128Payloads.Location, + wGS84CoordinateDecimal [6] Common-Parameters.WGS84CoordinateDecimal, + wGS84LatitudeDecimal [7] Common-Parameters.WGS84LatitudeDecimal, + wGS84LongitudeDecimal [8] Common-Parameters.WGS84LongitudeDecimal, + pIDF-LO [9] XMLType +} + +LocationProvenance ::= SEQUENCE +{ + locationNetworkProvenance [1] LocationNetworkProvenance, + locationLIProvenance [2] LocationLIProvenance +} + +LocationNetworkProvenance ::= SEQUENCE +{ + locationSource [1] LocationSource, + locationTimeStamps [2] SEQUENCE (SIZE (1..MAX)) OF LocationTimestamp, + additionalInformation [3] UTF8String OPTIONAL +} + +LocationLIProvenance ::= SEQUENCE +{ + lIProvenance [1] LIProvenance, + sourceNF [2] SourceNF, + locationTimeStamps [3] SEQUENCE (SIZE (1..MAX)) OF LocationTimestamp, + additionalInformation [4] UTF8String OPTIONAL +} + +LocationSource ::= ENUMERATED +{ + other(1), + unknown(2), + cPEOrClient(3), + network(4) +} + +LocationTimestamp ::= SEQUENCE +{ + timeStamp [1] GeneralizedTime, + locationTimeStampQualifier [2] LocationTimeStampQualifier +} + +LIProvenance ::= ENUMERATED +{ + other(1), + observed(2), + nFContext(3), + nFLookup(4) +} + +SourceNF ::= ENUMERATED +{ + aDMF(1), + tF(2), + pOI(3), + mDF(4) +} + +LocationTimeStampQualifier ::= ENUMERATED +{ + unknown(1), + timeOfInterception(2), + timeOfMediation(3), + timeOfCalculation(4), + timeLastObserved(5) +} + +WlanLocationAttributes ::= SEQUENCE +{ + wlanAPMACAddress [1] Common-Parameters.MACAddress OPTIONAL +} + +XMLType ::= SEQUENCE +{ + xMLNamespace [1] XMLNamespace, + xMLValue [2] XMLValue +} + +XMLNamespace ::= UTF8String + +XMLValue ::= UTF8String + +END diff --git a/testing/asn/asn_compile_targets.json b/testing/asn/asn_compile_targets.json index f12b657b20ca861ca06c42479109ec09dc8791d0..44ccd7b3223a402fbd84dbc43b15cfdddd6e92ab 100644 --- a/testing/asn/asn_compile_targets.json +++ b/testing/asn/asn_compile_targets.json @@ -27,7 +27,8 @@ "./102232-3/IPAccessPDU.asn", "./102232-4/L2AccessPDU.asn", "./102232-5/IPMultimediaPDU.asn", - "./102232-6/PstnIsdnPDU.asn" + "./102232-6/PstnIsdnPDU.asn", + "./103280/TS_103_280_Location.asn1" ], [ "./102657/RDMessage.asn" diff --git a/testing/asn/asn_process.py b/testing/asn/asn_process.py index 0c76ee7a5b7ddab6ffa6ded2a68bdf480f4670b8..56280949eca0e8d7d894299d3fb9f9afa514764e 100644 --- a/testing/asn/asn_process.py +++ b/testing/asn/asn_process.py @@ -76,6 +76,7 @@ def syntaxCheckASN(fileList): duplicateObjects = { "102232-1/LI-PS-PDU.asn": ["CCPayload", "IRIPayload", "Location"], "testing/mod1.asn": ["ClashField"], + "103280/TS_103_280_Location.asn1": ["Location"] }