From 7a10116733b41f0820300528596bad2628578dd0 Mon Sep 17 00:00:00 2001 From: Jason Graham Date: Tue, 16 Sep 2025 13:11:48 +0000 Subject: [PATCH 1/6] Update file LI-PS-PDU.asn --- 102232-1/LI-PS-PDU.asn | 95 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 2 deletions(-) diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index d084ae6..d03188b 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -386,10 +386,11 @@ IRIPayload ::= SEQUENCE -- 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 + 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 + iRILocationInformation [7] Locations OPTIONAL } IRIType ::= ENUMERATED @@ -685,9 +686,99 @@ Location ::= SEQUENCE wlanLocationAttributes [2] WlanLocationAttributes OPTIONAL, eTSI671HI2Location [3] HI2Operations.Location OPTIONAL, threeGPP33128UserLocation [4] TS33128Payloads.UserLocation OPTIONAL, - cPEProvidedLocationAttributes [5] CPEProvidedLocationAttributes OPTIONAL + cPEProvidedLocationAttributes [5] CPEProvidedLocationAttributes OPTIONAL, + wGS84CoordinateDecimal [6] Common-Parameters.WGS84CoordinateDecimal OPTIONAL, + pIDF-LO [7] XMLType OPTIONAL } +--================================================================================================================= +-- These is just here for the example, this could be defined in another 102 232 module, 103 280 or somewhere else +Locations ::= SEQUENCE (SIZE 1..MAX) OF LocationInformation + +LocationInformation ::= SEQUENCE +{ + location [1] Location, + -- I use Location here, although, it may be cleaner to make a new type that is a choice vs the sequence to enforce the 1-1 of provenance to location + locationProvenance [2] LocationProvenance +} + +LocationProvenance ::= SEQUENCE +{ + locationLIProvenance [1] LocationLIProvenance, + locationNetworkProvenance [2] locationNetworkProvenance +} + +LocationLIProvenance ::= SEQUENCE +{ + locationProvenance [1] LocationProvenance, + timeStamp [2] TimeOfLocation, + sourceNF [3] SourceNF, + additionalInformation [4] AdditionalProvenanceInformation +} + +LocationNetworkProvenance ::= SEQUENCE +{ + locationTime [1] TimeOfLocation, + locationSource [2] LocationSource, + additionalInformation [3] AdditionalProvenanceInformation +} + +LocationSource ::= ENUMERATED +{ + other(1), + unknown(2), + cPEOrClient(3), + network(4) +} + +LocationProvenance ::= ENUMERATED +{ + other(1), + observed(2), + nFContext(3), + nFLookup(4) +} + +TimeOfLocation ::= SEQUENCE +{ + timeOfLocation [1] TimeFormat, + locationTimeStampQualifier [2] LocationTimeStampQualifier OPTIONAL +} + +LocationTimeStampQualifier ::= ENUMERATED +{ + unknown(1), + timeOfInterception(2), + timeOfMediation(3), + timeOfCalculation(4), + timeLastObserved(5) +} + +SourceNF ::= ENUMERATED +{ + aDMF(1), + triggeringFunction(2), + pOI(3), + mDF(4) +} + +XMLType ::= SEQUENCE +{ + xMLNamespace [1] XMLNamespace, + xMLValue [2] XMLValue +} + +XMLNamespace ::= UTF8String + +XMLValue ::= UTF8String + +TimeFormat ::= CHOICE +{ + generalizedTime [1] GeneralizedTime, + microSecondTime [2] MicroSecondTimeStamp +} +--================================================================================================================= + WlanLocationAttributes ::= SEQUENCE { wlanAPMACAddress [0] OCTET STRING (SIZE(6)) OPTIONAL, -- GitLab From e7ad913d39d286c7120d415c32948d9ab6ff1456 Mon Sep 17 00:00:00 2001 From: Jason Graham Date: Tue, 16 Sep 2025 13:13:27 +0000 Subject: [PATCH 2/6] Update file LI-PS-PDU.asn --- 102232-1/LI-PS-PDU.asn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index d03188b..a69b2ea 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -693,7 +693,7 @@ Location ::= SEQUENCE --================================================================================================================= -- These is just here for the example, this could be defined in another 102 232 module, 103 280 or somewhere else -Locations ::= SEQUENCE (SIZE 1..MAX) OF LocationInformation +Locations ::= SEQUENCE (SIZE (1..MAX)) OF LocationInformation LocationInformation ::= SEQUENCE { -- GitLab From 8bc90830b9789502fddab5329f22538d384e5407 Mon Sep 17 00:00:00 2001 From: Jason Graham Date: Tue, 16 Sep 2025 13:19:03 +0000 Subject: [PATCH 3/6] Update file LI-PS-PDU.asn --- 102232-1/LI-PS-PDU.asn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index a69b2ea..7dbeff8 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -705,7 +705,7 @@ LocationInformation ::= SEQUENCE LocationProvenance ::= SEQUENCE { locationLIProvenance [1] LocationLIProvenance, - locationNetworkProvenance [2] locationNetworkProvenance + locationNetworkProvenance [2] LocationNetworkProvenance } LocationLIProvenance ::= SEQUENCE -- GitLab From b6b7cf16cf805607cdd4bb001333eeea9f14bb60 Mon Sep 17 00:00:00 2001 From: Jason Graham Date: Tue, 16 Sep 2025 13:23:31 +0000 Subject: [PATCH 4/6] Update file asn_process.py --- testing/asn/asn_process.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/testing/asn/asn_process.py b/testing/asn/asn_process.py index 5085691..878eb63 100644 --- a/testing/asn/asn_process.py +++ b/testing/asn/asn_process.py @@ -1,5 +1,6 @@ import logging import json +import re from pathlib import Path from subprocess import run from shutil import which @@ -77,12 +78,8 @@ duplicateObjects = { def fixDuplicateObjects(filename): stringContent = filename.read_text() for object in duplicateObjects[filename.as_posix()]: - stringContent = stringContent.replace(f"{object} ::=", f"Native{object} ::=", 1) - stringContent = stringContent.replace( - f"SEQUENCE OF {object}", f"SEQUENCE OF Native{object}" - ) - # stringContent = sub(f"]\\w{object}", f"] Native{object}", stringContent) - + stringContent = re.sub(f"^({object} ::=)", 'Native\\1', stringContent, flags=re.MULTILINE) + stringContent = re.sub(f"^SEQUENCE (\(SIZE\(\d+\.\.(\d+|MAX)\)\) )*OF ({object})", 'SEQUENCE \\1OF Native\\2', stringContent, flags=re.MULTILINE) Path("temp.asn").write_text(stringContent) return "temp.asn" -- GitLab From f1839953386a139267840b4831ac35b66cc72055 Mon Sep 17 00:00:00 2001 From: Jason Graham Date: Tue, 16 Sep 2025 13:26:34 +0000 Subject: [PATCH 5/6] Update file LI-PS-PDU.asn --- 102232-1/LI-PS-PDU.asn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index 7dbeff8..cc2489d 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -710,7 +710,7 @@ LocationProvenance ::= SEQUENCE LocationLIProvenance ::= SEQUENCE { - locationProvenance [1] LocationProvenance, + locationProvenance [1] LIProvenance, timeStamp [2] TimeOfLocation, sourceNF [3] SourceNF, additionalInformation [4] AdditionalProvenanceInformation @@ -731,7 +731,7 @@ LocationSource ::= ENUMERATED network(4) } -LocationProvenance ::= ENUMERATED +LIProvenance ::= ENUMERATED { other(1), observed(2), -- GitLab From 975f5c6448aa13a9a76fdbf6dc8b0f8bbd533120 Mon Sep 17 00:00:00 2001 From: Jason Graham Date: Tue, 16 Sep 2025 13:27:50 +0000 Subject: [PATCH 6/6] Update file LI-PS-PDU.asn --- 102232-1/LI-PS-PDU.asn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/102232-1/LI-PS-PDU.asn b/102232-1/LI-PS-PDU.asn index cc2489d..9f8f6c2 100644 --- a/102232-1/LI-PS-PDU.asn +++ b/102232-1/LI-PS-PDU.asn @@ -777,6 +777,8 @@ TimeFormat ::= CHOICE generalizedTime [1] GeneralizedTime, microSecondTime [2] MicroSecondTimeStamp } + +AdditionalProvenanceInformation ::= UTF8String --================================================================================================================= WlanLocationAttributes ::= SEQUENCE -- GitLab