diff options
Diffstat (limited to 'epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn')
-rw-r--r-- | epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn | 6992 |
1 files changed, 6992 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn b/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn new file mode 100644 index 00000000..d7bf0b1d --- /dev/null +++ b/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn @@ -0,0 +1,6992 @@ +-- 3GPP TS 37.355 V17.5.0 (2023-06) + +LPP-PDU-Definitions +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + + +LPP-Message ::= SEQUENCE { + transactionID LPP-TransactionID OPTIONAL, -- Need ON + endTransaction BOOLEAN, + sequenceNumber SequenceNumber OPTIONAL, -- Need ON + acknowledgement Acknowledgement OPTIONAL, -- Need ON + lpp-MessageBody LPP-MessageBody OPTIONAL -- Need ON +} + +SequenceNumber ::= INTEGER (0..255) + +Acknowledgement ::= SEQUENCE { + ackRequested BOOLEAN, + ackIndicator SequenceNumber OPTIONAL +} + + +LPP-MessageBody ::= CHOICE { + c1 CHOICE { + requestCapabilities RequestCapabilities, + provideCapabilities ProvideCapabilities, + requestAssistanceData RequestAssistanceData, + provideAssistanceData ProvideAssistanceData, + requestLocationInformation RequestLocationInformation, + provideLocationInformation ProvideLocationInformation, + abort Abort, + error Error, + spare7 NULL, spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL, spare0 NULL + }, + messageClassExtension SEQUENCE {} +} + + +LPP-TransactionID ::= SEQUENCE { + initiator Initiator, + transactionNumber TransactionNumber, + ... +} + +Initiator ::= ENUMERATED { + locationServer, + targetDevice, + ... +} + +TransactionNumber ::= INTEGER (0..255) + + +RequestCapabilities ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + requestCapabilities-r9 RequestCapabilities-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RequestCapabilities-r9-IEs ::= SEQUENCE { + commonIEsRequestCapabilities CommonIEsRequestCapabilities OPTIONAL, -- Need ON + a-gnss-RequestCapabilities A-GNSS-RequestCapabilities OPTIONAL, -- Need ON + otdoa-RequestCapabilities OTDOA-RequestCapabilities OPTIONAL, -- Need ON + ecid-RequestCapabilities ECID-RequestCapabilities OPTIONAL, -- Need ON + epdu-RequestCapabilities EPDU-Sequence OPTIONAL, -- Need ON + ..., + [[ sensor-RequestCapabilities-r13 Sensor-RequestCapabilities-r13 OPTIONAL, -- Need ON + tbs-RequestCapabilities-r13 TBS-RequestCapabilities-r13 OPTIONAL, -- Need ON + wlan-RequestCapabilities-r13 WLAN-RequestCapabilities-r13 OPTIONAL, -- Need ON + bt-RequestCapabilities-r13 BT-RequestCapabilities-r13 OPTIONAL -- Need ON + ]], + [[ nr-ECID-RequestCapabilities-r16 NR-ECID-RequestCapabilities-r16 OPTIONAL, -- Need ON + nr-Multi-RTT-RequestCapabilities-r16 + NR-Multi-RTT-RequestCapabilities-r16 + OPTIONAL, -- Need ON + nr-DL-AoD-RequestCapabilities-r16 + NR-DL-AoD-RequestCapabilities-r16 OPTIONAL, -- Need ON + nr-DL-TDOA-RequestCapabilities-r16 + NR-DL-TDOA-RequestCapabilities-r16 OPTIONAL, -- Need ON + nr-UL-RequestCapabilities-r16 NR-UL-RequestCapabilities-r16 OPTIONAL -- Need ON + ]] +} + + +ProvideCapabilities ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + provideCapabilities-r9 ProvideCapabilities-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ProvideCapabilities-r9-IEs ::= SEQUENCE { + commonIEsProvideCapabilities CommonIEsProvideCapabilities OPTIONAL, + a-gnss-ProvideCapabilities A-GNSS-ProvideCapabilities OPTIONAL, + otdoa-ProvideCapabilities OTDOA-ProvideCapabilities OPTIONAL, + ecid-ProvideCapabilities ECID-ProvideCapabilities OPTIONAL, + epdu-ProvideCapabilities EPDU-Sequence OPTIONAL, + ..., + [[ sensor-ProvideCapabilities-r13 Sensor-ProvideCapabilities-r13 OPTIONAL, + tbs-ProvideCapabilities-r13 TBS-ProvideCapabilities-r13 OPTIONAL, + wlan-ProvideCapabilities-r13 WLAN-ProvideCapabilities-r13 OPTIONAL, + bt-ProvideCapabilities-r13 BT-ProvideCapabilities-r13 OPTIONAL + ]], + [[ nr-ECID-ProvideCapabilities-r16 NR-ECID-ProvideCapabilities-r16 OPTIONAL, + nr-Multi-RTT-ProvideCapabilities-r16 + NR-Multi-RTT-ProvideCapabilities-r16 OPTIONAL, + nr-DL-AoD-ProvideCapabilities-r16 + NR-DL-AoD-ProvideCapabilities-r16 OPTIONAL, + nr-DL-TDOA-ProvideCapabilities-r16 + NR-DL-TDOA-ProvideCapabilities-r16 OPTIONAL, + nr-UL-ProvideCapabilities-r16 NR-UL-ProvideCapabilities-r16 OPTIONAL + ]] +} + + +RequestAssistanceData ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + requestAssistanceData-r9 RequestAssistanceData-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RequestAssistanceData-r9-IEs ::= SEQUENCE { + commonIEsRequestAssistanceData CommonIEsRequestAssistanceData OPTIONAL, + a-gnss-RequestAssistanceData A-GNSS-RequestAssistanceData OPTIONAL, + otdoa-RequestAssistanceData OTDOA-RequestAssistanceData OPTIONAL, + epdu-RequestAssistanceData EPDU-Sequence OPTIONAL, + ..., + [[ sensor-RequestAssistanceData-r14 + Sensor-RequestAssistanceData-r14 OPTIONAL, + tbs-RequestAssistanceData-r14 TBS-RequestAssistanceData-r14 OPTIONAL, + wlan-RequestAssistanceData-r14 WLAN-RequestAssistanceData-r14 OPTIONAL + ]], + [[ nr-Multi-RTT-RequestAssistanceData-r16 NR-Multi-RTT-RequestAssistanceData-r16 OPTIONAL, + nr-DL-AoD-RequestAssistanceData-r16 NR-DL-AoD-RequestAssistanceData-r16 OPTIONAL, + nr-DL-TDOA-RequestAssistanceData-r16 NR-DL-TDOA-RequestAssistanceData-r16 OPTIONAL + ]] +} + + +ProvideAssistanceData ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + provideAssistanceData-r9 ProvideAssistanceData-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ProvideAssistanceData-r9-IEs ::= SEQUENCE { + commonIEsProvideAssistanceData CommonIEsProvideAssistanceData OPTIONAL, -- Need ON + a-gnss-ProvideAssistanceData A-GNSS-ProvideAssistanceData OPTIONAL, -- Need ON + otdoa-ProvideAssistanceData OTDOA-ProvideAssistanceData OPTIONAL, -- Need ON + epdu-Provide-Assistance-Data EPDU-Sequence OPTIONAL, -- Need ON + ..., + [[ + sensor-ProvideAssistanceData-r14 Sensor-ProvideAssistanceData-r14 OPTIONAL, -- Need ON + tbs-ProvideAssistanceData-r14 TBS-ProvideAssistanceData-r14 OPTIONAL, -- Need ON + wlan-ProvideAssistanceData-r14 WLAN-ProvideAssistanceData-r14 OPTIONAL -- Need ON + ]], + [[ nr-Multi-RTT-ProvideAssistanceData-r16 + NR-Multi-RTT-ProvideAssistanceData-r16 + OPTIONAL, -- Need ON + nr-DL-AoD-ProvideAssistanceData-r16 + NR-DL-AoD-ProvideAssistanceData-r16 OPTIONAL, -- Need ON + nr-DL-TDOA-ProvideAssistanceData-r16 + NR-DL-TDOA-ProvideAssistanceData-r16 + OPTIONAL -- Need ON + ]] +} + + +RequestLocationInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + requestLocationInformation-r9 RequestLocationInformation-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RequestLocationInformation-r9-IEs ::= SEQUENCE { + commonIEsRequestLocationInformation + CommonIEsRequestLocationInformation OPTIONAL, -- Need ON + a-gnss-RequestLocationInformation A-GNSS-RequestLocationInformation OPTIONAL, -- Need ON + otdoa-RequestLocationInformation OTDOA-RequestLocationInformation OPTIONAL, -- Need ON + ecid-RequestLocationInformation ECID-RequestLocationInformation OPTIONAL, -- Need ON + epdu-RequestLocationInformation EPDU-Sequence OPTIONAL, -- Need ON + ..., + [[ + sensor-RequestLocationInformation-r13 + Sensor-RequestLocationInformation-r13 + OPTIONAL, -- Need ON + tbs-RequestLocationInformation-r13 TBS-RequestLocationInformation-r13 OPTIONAL, -- Need ON + wlan-RequestLocationInformation-r13 WLAN-RequestLocationInformation-r13 OPTIONAL, -- Need ON + bt-RequestLocationInformation-r13 BT-RequestLocationInformation-r13 OPTIONAL -- Need ON + ]], + [[ nr-ECID-RequestLocationInformation-r16 + NR-ECID-RequestLocationInformation-r16 + OPTIONAL, -- Need ON + nr-Multi-RTT-RequestLocationInformation-r16 + NR-Multi-RTT-RequestLocationInformation-r16 + OPTIONAL, -- Need ON + nr-DL-AoD-RequestLocationInformation-r16 + NR-DL-AoD-RequestLocationInformation-r16 + OPTIONAL, -- Need ON + nr-DL-TDOA-RequestLocationInformation-r16 + NR-DL-TDOA-RequestLocationInformation-r16 + OPTIONAL -- Need ON + ]] +} + + +ProvideLocationInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + provideLocationInformation-r9 ProvideLocationInformation-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ProvideLocationInformation-r9-IEs ::= SEQUENCE { + commonIEsProvideLocationInformation + CommonIEsProvideLocationInformation OPTIONAL, + a-gnss-ProvideLocationInformation A-GNSS-ProvideLocationInformation OPTIONAL, + otdoa-ProvideLocationInformation OTDOA-ProvideLocationInformation OPTIONAL, + ecid-ProvideLocationInformation ECID-ProvideLocationInformation OPTIONAL, + epdu-ProvideLocationInformation EPDU-Sequence OPTIONAL, + ..., + [[ + sensor-ProvideLocationInformation-r13 + Sensor-ProvideLocationInformation-r13 + OPTIONAL, + tbs-ProvideLocationInformation-r13 TBS-ProvideLocationInformation-r13 OPTIONAL, + wlan-ProvideLocationInformation-r13 WLAN-ProvideLocationInformation-r13 OPTIONAL, + bt-ProvideLocationInformation-r13 BT-ProvideLocationInformation-r13 OPTIONAL + ]], + [[ nr-ECID-ProvideLocationInformation-r16 + NR-ECID-ProvideLocationInformation-r16 OPTIONAL, + nr-Multi-RTT-ProvideLocationInformation-r16 + NR-Multi-RTT-ProvideLocationInformation-r16 OPTIONAL, + nr-DL-AoD-ProvideLocationInformation-r16 + NR-DL-AoD-ProvideLocationInformation-r16 OPTIONAL, + nr-DL-TDOA-ProvideLocationInformation-r16 + NR-DL-TDOA-ProvideLocationInformation-r16 OPTIONAL + ]] +} + + +Abort ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + abort-r9 Abort-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +Abort-r9-IEs ::= SEQUENCE { + commonIEsAbort CommonIEsAbort OPTIONAL, -- Need ON + ..., + epdu-Abort EPDU-Sequence OPTIONAL -- Need ON +} + + +Error ::= CHOICE { + error-r9 Error-r9-IEs, + criticalExtensionsFuture SEQUENCE {} +} + +Error-r9-IEs ::= SEQUENCE { + commonIEsError CommonIEsError OPTIONAL, -- Need ON + ..., + epdu-Error EPDU-Sequence OPTIONAL -- Need ON +} + +AccessTypes ::= SEQUENCE { + accessTypes BIT STRING { eutra (0), + utra (1), + gsm (2), + nb-iot (3), + nr-v1510 (4) } (SIZE (1..8)), + ... +} + + +ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN) + +ARFCN-ValueEUTRA-v9a0 ::= INTEGER (maxEARFCN-Plus1..maxEARFCN2) + +ARFCN-ValueEUTRA-r14 ::= INTEGER (0..maxEARFCN2) + + +ARFCN-ValueNR-r15 ::= INTEGER (0..3279165) + + +ARFCN-ValueUTRA ::= INTEGER (0..16383) + + +CarrierFreq-NB-r14 ::= SEQUENCE { + carrierFreq-r14 ARFCN-ValueEUTRA-r14, + carrierFreqOffset-r14 CarrierFreqOffsetNB-r14 OPTIONAL, + ... +} + + +CarrierFreqOffsetNB-r14 ::= ENUMERATED { + v-10, v-9, v-8, v-7, v-6, v-5, v-4, v-3, v-2, v-1, v-0dot5, + v0, v1, v2, v3, v4, v5, v6, v7, v8, v9 + } + + +CellGlobalIdEUTRA-AndUTRA ::= SEQUENCE { + plmn-Identity SEQUENCE { + mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9) + }, + cellIdentity CHOICE { + eutra BIT STRING (SIZE (28)), + utra BIT STRING (SIZE (32)) + }, + ... +} + + +CellGlobalIdGERAN ::= SEQUENCE { + plmn-Identity SEQUENCE { + mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9) + }, + locationAreaCode BIT STRING (SIZE (16)), + cellIdentity BIT STRING (SIZE (16)), + ... +} + + +ECGI ::= SEQUENCE { + mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9), + cellidentity BIT STRING (SIZE (28)) +} + + +Ellipsoid-Point ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + degreesLatitude INTEGER (0..8388607), -- 23 bit field + degreesLongitude INTEGER (-8388608..8388607) -- 24 bit field +} + + +Ellipsoid-PointWithUncertaintyCircle ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + degreesLatitude INTEGER (0..8388607), -- 23 bit field + degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field + uncertainty INTEGER (0..127) +} + + +EllipsoidPointWithUncertaintyEllipse ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + degreesLatitude INTEGER (0..8388607), -- 23 bit field + degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field + uncertaintySemiMajor INTEGER (0..127), + uncertaintySemiMinor INTEGER (0..127), + orientationMajorAxis INTEGER (0..179), + confidence INTEGER (0..100) +} + + +EllipsoidPointWithAltitude ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + degreesLatitude INTEGER (0..8388607), -- 23 bit field + degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field + altitudeDirection ENUMERATED {height, depth}, + altitude INTEGER (0..32767) -- 15 bit field +} + + +EllipsoidPointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + degreesLatitude INTEGER (0..8388607), -- 23 bit field + degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field + altitudeDirection ENUMERATED {height, depth}, + altitude INTEGER (0..32767), -- 15 bit field + uncertaintySemiMajor INTEGER (0..127), + uncertaintySemiMinor INTEGER (0..127), + orientationMajorAxis INTEGER (0..179), + uncertaintyAltitude INTEGER (0..127), + confidence INTEGER (0..100) +} + + +EllipsoidArc ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + degreesLatitude INTEGER (0..8388607), -- 23 bit field + degreesLongitude INTEGER (-8388608..8388607), -- 24 bit field + innerRadius INTEGER (0..65535), -- 16 bit field, + uncertaintyRadius INTEGER (0..127), + offsetAngle INTEGER (0..179), + includedAngle INTEGER (0..179), + confidence INTEGER (0..100) +} + + +EPDU-Sequence ::= SEQUENCE (SIZE (1..maxEPDU)) OF EPDU + +maxEPDU INTEGER ::= 16 + +EPDU ::= SEQUENCE { + ePDU-Identifier EPDU-Identifier, + ePDU-Body EPDU-Body +} + +EPDU-Identifier ::= SEQUENCE { + ePDU-ID EPDU-ID, + ePDU-Name EPDU-Name OPTIONAL, + ... +} + +EPDU-ID ::= INTEGER (1..256) + +EPDU-Name ::= VisibleString (SIZE (1..32)) + +EPDU-Body ::= OCTET STRING + + +FreqBandIndicatorNR-r16 ::= INTEGER (1..1024) + + +HA-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16 ::= SEQUENCE { + degreesLatitude-r16 INTEGER(-2147483648..2147483647), + degreesLongitude-r16 INTEGER(-2147483648..2147483647), + altitude-r16 INTEGER(-64000..1280000), + uncertaintySemiMajor-r16 INTEGER (0..255), + uncertaintySemiMinor-r16 INTEGER (0..255), + orientationMajorAxis-r16 INTEGER (0..179), + horizontalConfidence-r16 INTEGER (0..100), + uncertaintyAltitude-r16 INTEGER (0..255), + verticalConfidence-r16 INTEGER (0..100), + ha-HorizontalExtendedRangeUsed-r16 BOOLEAN, + ha-VerticalExtendedRangeUsed-r16 BOOLEAN +} + + +HA-EllipsoidPointWithScalableUncertaintyEllipse-r16 ::= SEQUENCE { + degreesLatitude-r16 INTEGER(-2147483648..2147483647), + degreesLongitude-r16 INTEGER(-2147483648..2147483647), + uncertaintySemiMajor-r16 INTEGER (0..255), + uncertaintySemiMinor-r16 INTEGER (0..255), + orientationMajorAxis-r16 INTEGER (0..179), + confidence-r16 INTEGER (0..100), + ha-ExtendedUncertaintyRangeUsed-r16 BOOLEAN +} + + +HighAccuracyEllipsoidPointWithUncertaintyEllipse-r15 ::= SEQUENCE { + degreesLatitude-r15 INTEGER(-2147483648..2147483647), + degreesLongitude-r15 INTEGER(-2147483648..2147483647), + uncertaintySemiMajor-r15 INTEGER (0..255), + uncertaintySemiMinor-r15 INTEGER (0..255), + orientationMajorAxis-r15 INTEGER (0..179), + confidence-r15 INTEGER (0..100) +} + + +HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15 ::= SEQUENCE { + degreesLatitude-r15 INTEGER(-2147483648..2147483647), + degreesLongitude-r15 INTEGER(-2147483648..2147483647), + altitude-r15 INTEGER(-64000..1280000), + uncertaintySemiMajor-r15 INTEGER (0..255), + uncertaintySemiMinor-r15 INTEGER (0..255), + orientationMajorAxis-r15 INTEGER (0..179), + horizontalConfidence-r15 INTEGER (0..100), + uncertaintyAltitude-r15 INTEGER (0..255), + verticalConfidence-r15 INTEGER (0..100) +} + + +HorizontalVelocity ::= SEQUENCE { + bearing INTEGER(0..359), + horizontalSpeed INTEGER(0..2047) +} + + +HorizontalWithVerticalVelocity ::= SEQUENCE { + bearing INTEGER(0..359), + horizontalSpeed INTEGER(0..2047), + verticalDirection ENUMERATED{upward, downward}, + verticalSpeed INTEGER(0..255) +} + + +HorizontalVelocityWithUncertainty ::= SEQUENCE { + bearing INTEGER(0..359), + horizontalSpeed INTEGER(0..2047), + uncertaintySpeed INTEGER(0..255) +} + + +HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE { + bearing INTEGER(0..359), + horizontalSpeed INTEGER(0..2047), + verticalDirection ENUMERATED{upward, downward}, + verticalSpeed INTEGER(0..255), + horizontalUncertaintySpeed INTEGER(0..255), + verticalUncertaintySpeed INTEGER(0..255) +} + + +LocationCoordinateTypes ::= SEQUENCE { + ellipsoidPoint BOOLEAN, + ellipsoidPointWithUncertaintyCircle BOOLEAN, + ellipsoidPointWithUncertaintyEllipse BOOLEAN, + polygon BOOLEAN, + ellipsoidPointWithAltitude BOOLEAN, + ellipsoidPointWithAltitudeAndUncertaintyEllipsoid BOOLEAN, + ellipsoidArc BOOLEAN, + ..., + [[ + highAccuracyEllipsoidPointWithUncertaintyEllipse-r15 + BOOLEAN OPTIONAL, -- Need ON + highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15 + BOOLEAN OPTIONAL -- Need ON + ]], + [[ + ha-EllipsoidPointWithScalableUncertaintyEllipse-r16 + BOOLEAN OPTIONAL, -- Need ON + ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16 + BOOLEAN OPTIONAL -- Need ON + ]] +} + + +NCGI-r15 ::= SEQUENCE { + mcc-r15 SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc-r15 SEQUENCE (SIZE (2..3)) OF INTEGER (0..9), + nr-cellidentity-r15 BIT STRING (SIZE (36)) +} + + +NR-PhysCellID-r16 ::= INTEGER (0..1007) + + +PeriodicAssistanceDataControlParameters-r15 ::= SEQUENCE { + periodicSessionID-r15 PeriodicSessionID-r15, + ..., + [[ + updateCapabilities-r15 UpdateCapabilities-r15 OPTIONAL -- Need ON + ]] +} + +PeriodicSessionID-r15 ::= SEQUENCE { + periodicSessionInitiator-r15 ENUMERATED { locationServer, targetDevice, ... }, + periodicSessionNumber-r15 INTEGER (0..255), + ... +} + +UpdateCapabilities-r15 ::= BIT STRING {primaryCellID-r15 (0)} (SIZE(1..8)) + + +Polygon ::= SEQUENCE (SIZE (3..15)) OF PolygonPoints + +PolygonPoints ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + degreesLatitude INTEGER (0..8388607), -- 23 bit field + degreesLongitude INTEGER (-8388608..8388607) -- 24 bit field +} + + +PositioningModes ::= SEQUENCE { + posModes BIT STRING { standalone (0), + ue-based (1), + ue-assisted (2) + } (SIZE (1..8)), + ... +} + + +ScheduledLocationTimeSupport-r17 ::= SEQUENCE { + utcTime-r17 ENUMERATED { supported } OPTIONAL, + gnssTime-r17 GNSS-ID-Bitmap OPTIONAL, + e-utraTime-r17 ENUMERATED { supported } OPTIONAL, + nrTime-r17 ENUMERATED { supported } OPTIONAL, + relativeTime-r17 ENUMERATED { supported } OPTIONAL, + ... +} + + +ScheduledLocationTimeSupportPerMode-r17 ::= SEQUENCE { + utcTime-r17 PositioningModes OPTIONAL, + gnssTime-r17 SEQUENCE { + posModes-r17 PositioningModes, + gnss-TimeIDs-r17 GNSS-ID-Bitmap + } OPTIONAL, + e-utraTime-r17 PositioningModes OPTIONAL, + nrTime-r17 PositioningModes OPTIONAL, + relativeTime-r17 PositioningModes OPTIONAL, + ... +} + + +SegmentationInfo-r14 ::= ENUMERATED { noMoreMessages, moreMessagesOnTheWay } + + +VelocityTypes ::= SEQUENCE { + horizontalVelocity BOOLEAN, + horizontalWithVerticalVelocity BOOLEAN, + horizontalVelocityWithUncertainty BOOLEAN, + horizontalWithVerticalVelocityAndUncertainty BOOLEAN, + ... +} + + +CommonIEsRequestCapabilities ::= SEQUENCE { + ..., + [[ + lpp-message-segmentation-req-r14 BIT STRING { serverToTarget (0), + targetToServer (1) } OPTIONAL -- Need ON + ]] +} + + +CommonIEsProvideCapabilities ::= SEQUENCE { + ..., + [[ + segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL, -- Cond Segmentation + lpp-message-segmentation-r14 BIT STRING { serverToTarget (0), + targetToServer (1) } OPTIONAL + ]] +} + + +CommonIEsRequestAssistanceData ::= SEQUENCE { + primaryCellID ECGI OPTIONAL, -- Cond EUTRA + ..., + [[ + segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Cond Segmentation + ]], + [[ + periodicAssistanceDataReq-r15 + PeriodicAssistanceDataControlParameters-r15 + OPTIONAL, -- Cond PerADreq + primaryCellID-r15 NCGI-r15 OPTIONAL -- Cond NR + ]] +} + + +CommonIEsProvideAssistanceData ::= SEQUENCE { + ..., + [[ + segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Need ON + ]], + [[ + periodicAssistanceData-r15 PeriodicAssistanceDataControlParameters-r15 + OPTIONAL -- Cond PerAD + ]] +} + + +CommonIEsRequestLocationInformation ::= SEQUENCE { + locationInformationType LocationInformationType, + triggeredReporting TriggeredReportingCriteria OPTIONAL, -- Cond ECID + periodicalReporting PeriodicalReportingCriteria OPTIONAL, -- Need ON + additionalInformation AdditionalInformation OPTIONAL, -- Need ON + qos QoS OPTIONAL, -- Need ON + environment Environment OPTIONAL, -- Need ON + locationCoordinateTypes LocationCoordinateTypes OPTIONAL, -- Need ON + velocityTypes VelocityTypes OPTIONAL, -- Need ON + ..., + [[ + messageSizeLimitNB-r14 MessageSizeLimitNB-r14 OPTIONAL -- Need ON + ]], + [[ + segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Need ON + ]], + [[ + scheduledLocationTime-r17 + ScheduledLocationTime-r17 OPTIONAL, -- Need ON + targetIntegrityRisk-r17 + TargetIntegrityRisk-r17 OPTIONAL -- Need ON + ]] +} + +LocationInformationType ::= ENUMERATED { + locationEstimateRequired, + locationMeasurementsRequired, + locationEstimatePreferred, + locationMeasurementsPreferred, + ... +} + +PeriodicalReportingCriteria ::= SEQUENCE { + reportingAmount ENUMERATED { + ra1, ra2, ra4, ra8, ra16, ra32, + ra64, ra-Infinity + } DEFAULT ra-Infinity, + reportingInterval ENUMERATED { + noPeriodicalReporting, ri0-25, + ri0-5, ri1, ri2, ri4, ri8, ri16, ri32, ri64 + } +} + +TriggeredReportingCriteria ::= SEQUENCE { + cellChange BOOLEAN, + reportingDuration ReportingDuration, + ... +} + +ReportingDuration ::= INTEGER (0..255) + +AdditionalInformation ::= ENUMERATED { + onlyReturnInformationRequested, + mayReturnAdditionalInformation, + ... +} + +QoS ::= SEQUENCE { + horizontalAccuracy HorizontalAccuracy OPTIONAL, -- Need ON + verticalCoordinateRequest BOOLEAN, + verticalAccuracy VerticalAccuracy OPTIONAL, -- Need ON + responseTime ResponseTime OPTIONAL, -- Need ON + velocityRequest BOOLEAN, + ..., + [[ responseTimeNB-r14 ResponseTimeNB-r14 OPTIONAL -- Need ON + ]], + [[ horizontalAccuracyExt-r15 HorizontalAccuracyExt-r15 OPTIONAL, -- Need ON + verticalAccuracyExt-r15 VerticalAccuracyExt-r15 OPTIONAL -- Need ON + ]] +} + +HorizontalAccuracy ::= SEQUENCE { + accuracy INTEGER(0..127), + confidence INTEGER(0..100), + ... +} + +VerticalAccuracy ::= SEQUENCE { + accuracy INTEGER(0..127), + confidence INTEGER(0..100), + ... +} + +HorizontalAccuracyExt-r15 ::= SEQUENCE { + accuracyExt-r15 INTEGER(0..255), + confidence-r15 INTEGER(0..100), + ... +} + +VerticalAccuracyExt-r15 ::= SEQUENCE { + accuracyExt-r15 INTEGER(0..255), + confidence-r15 INTEGER(0..100), + ... +} + +ResponseTime ::= SEQUENCE { + time INTEGER (1..128), + ..., + [[ responseTimeEarlyFix-r12 INTEGER (1..128) OPTIONAL -- Need ON + ]], + [[ unit-r15 ENUMERATED { ten-seconds, ... , ten-milli-seconds-v1700 } + OPTIONAL -- Need ON + ]] +} + +ResponseTimeNB-r14 ::= SEQUENCE { + timeNB-r14 INTEGER (1..512), + responseTimeEarlyFixNB-r14 INTEGER (1..512) OPTIONAL, -- Need ON + ..., + [[ unitNB-r15 ENUMERATED { ten-seconds, ... } OPTIONAL -- Need ON + ]] +} + +Environment ::= ENUMERATED { + badArea, + notBadArea, + mixedArea, + ... +} + +MessageSizeLimitNB-r14 ::= SEQUENCE { + measurementLimit-r14 INTEGER (1..512) OPTIONAL, -- Need ON + ... +} + +ScheduledLocationTime-r17 ::= SEQUENCE { + utcTime-r17 UTCTime OPTIONAL, -- Need ON + gnssTime-r17 SEQUENCE { + gnss-TOD-msec-r17 INTEGER (0..3599999), + gnss-TimeID-r17 GNSS-ID + } OPTIONAL, -- Need ON + networkTime-r17 CHOICE { + e-utraTime-r17 SEQUENCE { + lte-PhysCellId-r17 INTEGER (0..503), + lte-ArfcnEUTRA-r17 ARFCN-ValueEUTRA, + lte-CellGlobalId-r17 CellGlobalIdEUTRA-AndUTRA + OPTIONAL, -- Need ON + lte-SystemFrameNumber-r17 INTEGER (0..1023) + }, + nrTime-r17 SEQUENCE { + nr-PhysCellID-r17 NR-PhysCellID-r16, + nr-ARFCN-r17 ARFCN-ValueNR-r15, + nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON + nr-SFN-r17 INTEGER (0..1023), + nr-Slot-r17 CHOICE { + scs15-r17 INTEGER (0..9), + scs30-r17 INTEGER (0..19), + scs60-r17 INTEGER (0..39), + scs120-r17 INTEGER (0..79) + } OPTIONAL -- Need ON + }, + ... + } OPTIONAL, -- Need ON + relativeTime-r17 INTEGER (1..1024) OPTIONAL -- Need ON +} + +TargetIntegrityRisk-r17 ::= INTEGER (10..90) + + +CommonIEsProvideLocationInformation ::= SEQUENCE { + locationEstimate LocationCoordinates OPTIONAL, + velocityEstimate Velocity OPTIONAL, + locationError LocationError OPTIONAL, + ..., + [[ earlyFixReport-r12 EarlyFixReport-r12 OPTIONAL + ]], + [[ locationSource-r13 LocationSource-r13 OPTIONAL, + locationTimestamp-r13 UTCTime OPTIONAL + ]], + [[ + segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL -- Cond Segmentation + ]], + [[ + integrityInfo-r17 IntegrityInfo-r17 OPTIONAL + ]] +} + +LocationCoordinates ::= CHOICE { + ellipsoidPoint Ellipsoid-Point, + ellipsoidPointWithUncertaintyCircle Ellipsoid-PointWithUncertaintyCircle, + ellipsoidPointWithUncertaintyEllipse EllipsoidPointWithUncertaintyEllipse, + polygon Polygon, + ellipsoidPointWithAltitude EllipsoidPointWithAltitude, + ellipsoidPointWithAltitudeAndUncertaintyEllipsoid + EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + ellipsoidArc EllipsoidArc, + ..., + highAccuracyEllipsoidPointWithUncertaintyEllipse-v1510 + HighAccuracyEllipsoidPointWithUncertaintyEllipse-r15, + highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-v1510 + HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15, + ha-EllipsoidPointWithScalableUncertaintyEllipse-v1680 HA-EllipsoidPointWithScalableUncertaintyEllipse-r16, + ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-v1680 + HA-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16 +} + +Velocity ::= CHOICE { + horizontalVelocity HorizontalVelocity, + horizontalWithVerticalVelocity HorizontalWithVerticalVelocity, + horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty, + horizontalWithVerticalVelocityAndUncertainty + HorizontalWithVerticalVelocityAndUncertainty, + ... +} + +LocationError ::= SEQUENCE { + locationfailurecause LocationFailureCause, + ... +} + +LocationFailureCause ::= ENUMERATED { + undefined, + requestedMethodNotSupported, + positionMethodFailure, + periodicLocationMeasurementsNotAvailable, + ... +} + +EarlyFixReport-r12 ::= ENUMERATED { + noMoreMessages, + moreMessagesOnTheWay +} + +LocationSource-r13 ::= BIT STRING { a-gnss (0), + wlan (1), + bt (2), + tbs (3), + sensor (4), + ha-gnss-v1510 (5), + motion-sensor-v1550 (6), + dl-tdoa-r16 (7), + dl-aod-r16 (8) } (SIZE(1..16)) + +IntegrityInfo-r17 ::= SEQUENCE { + horizontalProtectionLevel-r17 INTEGER (0..50000), + verticalProtectionLevel-r17 INTEGER (0..50000) OPTIONAL, + achievableTargetIntegrityRisk-r17 INTEGER (10..90) OPTIONAL, + ... +} + + +CommonIEsAbort ::= SEQUENCE { + abortCause ENUMERATED { + undefined, + stopPeriodicReporting, + targetDeviceAbort, + networkAbort, + ..., + stopPeriodicAssistanceDataDelivery-v1510 + } +} + + +CommonIEsError ::= SEQUENCE { + errorCause ENUMERATED { + undefined, + lppMessageHeaderError, + lppMessageBodyError, + epduError, + incorrectDataValue, + ..., + lppSegmentationError-v1450 + } +} + + +AreaID-CellList-r17 ::= SEQUENCE (SIZE(1..maxCellIDsPerArea-r17)) OF NR-Cell-IDs-r17 + +NR-Cell-IDs-r17 ::= SEQUENCE { + nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON + nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + ... +} + + +DL-PRS-ID-Info-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-DL-PRS-ResourceID-List-r16 SEQUENCE (SIZE (1..nrMaxResourceIDs-r16)) OF + NR-DL-PRS-ResourceID-r16 + OPTIONAL, -- Need ON + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 + OPTIONAL -- Need ON +} + + +LCS-GCS-TranslationParameter-r16 ::= SEQUENCE { + alpha-r16 INTEGER (0..359), + alpha-fine-r16 INTEGER (0..9) OPTIONAL, -- Cond AzElFine + beta-r16 INTEGER (0..359), + beta-fine-r16 INTEGER (0..9) OPTIONAL, -- Cond AzElFine + gamma-r16 INTEGER (0..359), + gamma-fine-r16 INTEGER (0..9) OPTIONAL, -- Cond AzElFine + ... +} + + +LOS-NLOS-Indicator-r17 ::= SEQUENCE { + indicator-r17 CHOICE { + soft-r17 INTEGER (0..10), + hard-r17 BOOLEAN + }, + ... +} + + +LOS-NLOS-IndicatorGranularity1-r17 ::= ENUMERATED { trpspecific, resourcespecific } + + +LOS-NLOS-IndicatorGranularity2-r17 ::= ENUMERATED { trpspecific, resourcespecific, both } + + +LOS-NLOS-IndicatorType1-r17 ::= ENUMERATED { hardvalue, softvalue } + + +LOS-NLOS-IndicatorType2-r17 ::= ENUMERATED { hardvalue, hardAndsoftvalue } + + +NR-AdditionalPathList-r16 ::= SEQUENCE (SIZE(1..2)) OF NR-AdditionalPath-r16 + +NR-AdditionalPathListExt-r17 ::= SEQUENCE (SIZE(1..8)) OF NR-AdditionalPath-r16 + +NR-AdditionalPath-r16 ::= SEQUENCE { + nr-RelativeTimeDifference-r16 CHOICE { + k0-r16 INTEGER(0..16351), + k1-r16 INTEGER(0..8176), + k2-r16 INTEGER(0..4088), + k3-r16 INTEGER(0..2044), + k4-r16 INTEGER(0..1022), + k5-r16 INTEGER(0..511), + ... + }, + nr-PathQuality-r16 NR-TimingQuality-r16 OPTIONAL, + ..., + [[ + nr-DL-PRS-RSRPP-r17 INTEGER (0..126) OPTIONAL + ]] +} + + +NR-DL-PRS-AssistanceData-r16 ::= SEQUENCE { + nr-DL-PRS-ReferenceInfo-r16 DL-PRS-ID-Info-r16, + nr-DL-PRS-AssistanceDataList-r16 SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-DL-PRS-AssistanceDataPerFreq-r16, + nr-SSB-Config-r16 SEQUENCE (SIZE (1..nrMaxTRPs-r16)) OF + NR-SSB-Config-r16 OPTIONAL, -- Need ON + ... +} + +NR-DL-PRS-AssistanceDataPerFreq-r16 ::= SEQUENCE { + nr-DL-PRS-PositioningFrequencyLayer-r16 + NR-DL-PRS-PositioningFrequencyLayer-r16, + nr-DL-PRS-AssistanceDataPerFreq-r16 SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + NR-DL-PRS-AssistanceDataPerTRP-r16, + ... +} + +NR-DL-PRS-AssistanceDataPerTRP-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + nr-DL-PRS-SFN0-Offset-r16 NR-DL-PRS-SFN0-Offset-r16, + nr-DL-PRS-ExpectedRSTD-r16 INTEGER (-3841..3841), + nr-DL-PRS-ExpectedRSTD-Uncertainty-r16 + INTEGER (0..246), + nr-DL-PRS-Info-r16 NR-DL-PRS-Info-r16, + ..., + [[ + prs-OnlyTP-r16 ENUMERATED { true } OPTIONAL -- Need ON + ]], + [[ + nr-DL-PRS-ExpectedAoD-or-AoA-r17 + NR-DL-PRS-ExpectedAoD-or-AoA-r17 OPTIONAL -- Need ON + ]] +} + +NR-DL-PRS-PositioningFrequencyLayer-r16 ::= SEQUENCE { + dl-PRS-SubcarrierSpacing-r16 ENUMERATED {kHz15, kHz30, kHz60, kHz120, ...}, + dl-PRS-ResourceBandwidth-r16 INTEGER (1..63), + dl-PRS-StartPRB-r16 INTEGER (0..2176), + dl-PRS-PointA-r16 ARFCN-ValueNR-r15, + dl-PRS-CombSizeN-r16 ENUMERATED {n2, n4, n6, n12, ...}, + dl-PRS-CyclicPrefix-r16 ENUMERATED {normal, extended, ...}, + ... +} + +NR-DL-PRS-SFN0-Offset-r16 ::= SEQUENCE { + sfn-Offset-r16 INTEGER (0..1023), + integerSubframeOffset-r16 INTEGER (0..9), + ... +} + +NR-DL-PRS-ExpectedAoD-or-AoA-r17 ::= CHOICE { + expectedAoD-r17 SEQUENCE { + expectedDL-AzimuthAoD-r17 INTEGER (0..359), + expectedDL-AzimuthAoD-Unc-r17 INTEGER (0..60) OPTIONAL, -- Need OP + expectedDL-ZenithAoD-r17 INTEGER (0..180), + expectedDL-ZenithAoD-Unc-r17 INTEGER (0..30) OPTIONAL -- Need OP + }, + expectedAoA-r17 SEQUENCE { + expectedDL-AzimuthAoA-r17 INTEGER (0..359), + expectedDL-AzimuthAoA-Unc-r17 INTEGER (0..60) OPTIONAL, -- Need OP + expectedDL-ZenithAoA-r17 INTEGER (0..180), + expectedDL-ZenithAoA-Unc-r17 INTEGER (0..30) OPTIONAL -- Need OP + } +} + + +NR-DL-PRS-BeamInfo-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-DL-PRS-BeamInfoPerFreqLayer-r16 + +NR-DL-PRS-BeamInfoPerFreqLayer-r16 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + NR-DL-PRS-BeamInfoPerTRP-r16 + +NR-DL-PRS-BeamInfoPerTRP-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + associated-DL-PRS-ID-r16 INTEGER (0..255) OPTIONAL, -- Need OP + lcs-GCS-TranslationParameter-r16 LCS-GCS-TranslationParameter-r16 + OPTIONAL, -- Need OP + dl-PRS-BeamInfoSet-r16 DL-PRS-BeamInfoSet-r16 OPTIONAL, -- Need OP + ... +} + +DL-PRS-BeamInfoSet-r16 ::= SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF + DL-PRS-BeamInfoResourceSet-r16 + +DL-PRS-BeamInfoResourceSet-r16 ::= SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF + DL-PRS-BeamInfoElement-r16 + +DL-PRS-BeamInfoElement-r16 ::= SEQUENCE { + dl-PRS-Azimuth-r16 INTEGER (0..359), + dl-PRS-Azimuth-fine-r16 INTEGER (0..9) OPTIONAL, -- Need ON + dl-PRS-Elevation-r16 INTEGER (0..180) OPTIONAL, -- Need ON + dl-PRS-Elevation-fine-r16 INTEGER (0..9) OPTIONAL, -- Need ON + ... +} + + +NR-DL-PRS-ExpectedLOS-NLOS-Assistance-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerFreqLayer-r17 + +NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerFreqLayer-r17 ::= + SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerTRP-r17 + +NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerTRP-r17 ::= SEQUENCE { + dl-PRS-ID-r17 INTEGER (0..255), + nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + nr-los-nlos-indicator-r17 CHOICE { + perTrp-r17 LOS-NLOS-Indicator-r17, + perResource-r17 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF + NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerResource-r17 }, + ... +} + +NR-DL-PRS-ExpectedLOS-NLOS-AssistancePerResource-r17 ::= + SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF + LOS-NLOS-Indicator-r17 + + +NR-DL-PRS-Info-r16 ::= SEQUENCE { + nr-DL-PRS-ResourceSetList-r16 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF + NR-DL-PRS-ResourceSet-r16, + ... +} + +NR-DL-PRS-ResourceSet-r16 ::= SEQUENCE { + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16, + dl-PRS-Periodicity-and-ResourceSetSlotOffset-r16 + NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r16, + dl-PRS-ResourceRepetitionFactor-r16 ENUMERATED {n2, n4, n6, n8, n16, n32, ...} + OPTIONAL, -- Need OP + dl-PRS-ResourceTimeGap-r16 ENUMERATED {s1, s2, s4, s8, s16, s32, ...} + OPTIONAL, -- Cond Rep + dl-PRS-NumSymbols-r16 ENUMERATED {n2, n4, n6, n12, ...}, + dl-PRS-MutingOption1-r16 DL-PRS-MutingOption1-r16 OPTIONAL, -- Need OP + dl-PRS-MutingOption2-r16 DL-PRS-MutingOption2-r16 OPTIONAL, -- Need OP + dl-PRS-ResourcePower-r16 INTEGER (-60..50), + dl-PRS-ResourceList-r16 SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF + NR-DL-PRS-Resource-r16, + ... +} + +DL-PRS-MutingOption1-r16 ::= SEQUENCE { + dl-prs-MutingBitRepetitionFactor-r16 + ENUMERATED { n1, n2, n4, n8, ... } OPTIONAL, -- Need OP + nr-option1-muting-r16 NR-MutingPattern-r16, + ... +} + +DL-PRS-MutingOption2-r16 ::= SEQUENCE { + nr-option2-muting-r16 NR-MutingPattern-r16, + ... +} + +NR-MutingPattern-r16 ::= CHOICE { + po2-r16 BIT STRING (SIZE(2)), + po4-r16 BIT STRING (SIZE(4)), + po6-r16 BIT STRING (SIZE(6)), + po8-r16 BIT STRING (SIZE(8)), + po16-r16 BIT STRING (SIZE(16)), + po32-r16 BIT STRING (SIZE(32)), + ... +} + +NR-DL-PRS-Resource-r16 ::= SEQUENCE { + nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16, + dl-PRS-SequenceID-r16 INTEGER (0.. 4095), + dl-PRS-CombSizeN-AndReOffset-r16 CHOICE { + n2-r16 INTEGER (0..1), + n4-r16 INTEGER (0..3), + n6-r16 INTEGER (0..5), + n12-r16 INTEGER (0..11), + ... + }, + dl-PRS-ResourceSlotOffset-r16 INTEGER (0..nrMaxResourceOffsetValue-1-r16), + dl-PRS-ResourceSymbolOffset-r16 INTEGER (0..12), + dl-PRS-QCL-Info-r16 DL-PRS-QCL-Info-r16 OPTIONAL, --Need ON + ..., + [[ + dl-PRS-ResourcePrioritySubset-r17 DL-PRS-ResourcePrioritySubset-r17 OPTIONAL -- Need ON + ]] +} + +DL-PRS-QCL-Info-r16 ::= CHOICE { + ssb-r16 SEQUENCE { + pci-r16 NR-PhysCellID-r16, + ssb-Index-r16 INTEGER (0..63), + rs-Type-r16 ENUMERATED {typeC, typeD, typeC-plus-typeD} + }, + dl-PRS-r16 SEQUENCE { + qcl-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16, + qcl-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 + } +} + +NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r16 ::= CHOICE { + scs15-r16 CHOICE { + n4-r16 INTEGER (0..3), + n5-r16 INTEGER (0..4), + n8-r16 INTEGER (0..7), + n10-r16 INTEGER (0..9), + n16-r16 INTEGER (0..15), + n20-r16 INTEGER (0..19), + n32-r16 INTEGER (0..31), + n40-r16 INTEGER (0..39), + n64-r16 INTEGER (0..63), + n80-r16 INTEGER (0..79), + n160-r16 INTEGER (0..159), + n320-r16 INTEGER (0..319), + n640-r16 INTEGER (0..639), + n1280-r16 INTEGER (0..1279), + n2560-r16 INTEGER (0..2559), + n5120-r16 INTEGER (0..5119), + n10240-r16 INTEGER (0..10239), + ... + }, + scs30-r16 CHOICE { + n8-r16 INTEGER (0..7), + n10-r16 INTEGER (0..9), + n16-r16 INTEGER (0..15), + n20-r16 INTEGER (0..19), + n32-r16 INTEGER (0..31), + n40-r16 INTEGER (0..39), + n64-r16 INTEGER (0..63), + n80-r16 INTEGER (0..79), + n128-r16 INTEGER (0..127), + n160-r16 INTEGER (0..159), + n320-r16 INTEGER (0..319), + n640-r16 INTEGER (0..639), + n1280-r16 INTEGER (0..1279), + n2560-r16 INTEGER (0..2559), + n5120-r16 INTEGER (0..5119), + n10240-r16 INTEGER (0..10239), + n20480-r16 INTEGER (0..20479), + ... + }, + scs60-r16 CHOICE { + n16-r16 INTEGER (0..15), + n20-r16 INTEGER (0..19), + n32-r16 INTEGER (0..31), + n40-r16 INTEGER (0..39), + n64-r16 INTEGER (0..63), + n80-r16 INTEGER (0..79), + n128-r16 INTEGER (0..127), + n160-r16 INTEGER (0..159), + n256-r16 INTEGER (0..255), + n320-r16 INTEGER (0..319), + n640-r16 INTEGER (0..639), + n1280-r16 INTEGER (0..1279), + n2560-r16 INTEGER (0..2559), + n5120-r16 INTEGER (0..5119), + n10240-r16 INTEGER (0..10239), + n20480-r16 INTEGER (0..20479), + n40960-r16 INTEGER (0..40959), + ... + }, + scs120-r16 CHOICE { + n32-r16 INTEGER (0..31), + n40-r16 INTEGER (0..39), + n64-r16 INTEGER (0..63), + n80-r16 INTEGER (0..79), + n128-r16 INTEGER (0..127), + n160-r16 INTEGER (0..159), + n256-r16 INTEGER (0..255), + n320-r16 INTEGER (0..319), + n512-r16 INTEGER (0..511), + n640-r16 INTEGER (0..639), + n1280-r16 INTEGER (0..1279), + n2560-r16 INTEGER (0..2559), + n5120-r16 INTEGER (0..5119), + n10240-r16 INTEGER (0..10239), + n20480-r16 INTEGER (0..20479), + n40960-r16 INTEGER (0..40959), + n81920-r16 INTEGER (0..81919), + ... + }, + ... +} + +DL-PRS-ResourcePrioritySubset-r17 ::= SEQUENCE (SIZE (1..maxNumPrioResources-r17)) OF + NR-DL-PRSResourcePriorityItem-r17 + +NR-DL-PRSResourcePriorityItem-r17 ::= SEQUENCE { + nr-DL-PRS-PrioResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, -- Cond NotSame + nr-DL-PRS-PrioResourceID-r17 NR-DL-PRS-ResourceID-r16, + ... +} + + +NR-DL-PRS-ProcessingCapability-r16 ::= SEQUENCE { + prs-ProcessingCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + PRS-ProcessingCapabilityPerBand-r16, + maxSupportedFreqLayers-r16 INTEGER (1..4), + simulLTE-NR-PRS-r16 ENUMERATED { supported } OPTIONAL, + ..., + [[ + dummy ENUMERATED { m1, m2, ... } OPTIONAL + ]] +} + +PRS-ProcessingCapabilityPerBand-r16 ::= SEQUENCE { + freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16, + supportedBandwidthPRS-r16 CHOICE { + fr1 ENUMERATED {mhz5, mhz10, mhz20, mhz40, + mhz50, mhz80, mhz100}, + fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400}, + ... + }, + dl-PRS-BufferType-r16 ENUMERATED {type1, type2, ...}, + durationOfPRS-Processing-r16 SEQUENCE { + durationOfPRS-ProcessingSymbols-r16 ENUMERATED {nDot125, nDot25, nDot5, n1, + n2, n4, n6, n8, n12, n16, n20, n25, + n30, n32, n35, n40, n45, n50}, + durationOfPRS-ProcessingSymbolsInEveryTms-r16 + ENUMERATED {n8, n16, n20, n30, n40, n80, + n160,n320, n640, n1280}, + ... + }, + maxNumOfDL-PRS-ResProcessedPerSlot-r16 SEQUENCE { + scs15-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32, + n48, n64} OPTIONAL, + scs30-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32, + n48, n64} OPTIONAL, + scs60-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32, + n48, n64} OPTIONAL, + scs120-r16 ENUMERATED {n1, n2, n4, n8, n16, n24, n32, + n48, n64} OPTIONAL, + ..., + [[ + scs15-v1690 ENUMERATED {n6, n12} OPTIONAL, + scs30-v1690 ENUMERATED {n6, n12} OPTIONAL, + scs60-v1690 ENUMERATED {n6, n12} OPTIONAL, + scs120-v1690 ENUMERATED {n6, n12} OPTIONAL + ]] + }, + ..., + [[ + supportedDL-PRS-ProcessingSamples-RRC-CONNECTED-r17 ENUMERATED { supported } OPTIONAL, + prs-ProcessingWindowType1A-r17 ENUMERATED { option1, option2, option3} OPTIONAL, + prs-ProcessingWindowType1B-r17 ENUMERATED { option1, option2, option3} OPTIONAL, + prs-ProcessingWindowType2-r17 ENUMERATED { option1, option2, option3} OPTIONAL, + prs-ProcessingCapabilityOutsideMGinPPW-r17 + SEQUENCE (SIZE(1..3)) OF + PRS-ProcessingCapabilityOutsideMGinPPWperType-r17 + OPTIONAL, + dl-PRS-BufferType-RRC-Inactive-r17 ENUMERATED { type1, type2, ... } OPTIONAL, + durationOfPRS-Processing-RRC-Inactive-r17 SEQUENCE { + durationOfPRS-ProcessingSymbols-r17 ENUMERATED {nDot125, nDot25, nDot5, n1, + n2, n4, n6, n8, n12, n16, n20, n25, + n30, n32, n35, n40, n45, n50}, + durationOfPRS-ProcessingSymbolsInEveryTms-r17 + ENUMERATED {n8, n16, n20, n30, n40, n80, + n160,n320, n640, n1280}, + ... + } OPTIONAL, + maxNumOfDL-PRS-ResProcessedPerSlot-RRC-Inactive-r17 SEQUENCE { + scs15-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs30-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs60-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs120-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + ... + } OPTIONAL, + supportedLowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { n1, n2, n4, n6 } OPTIONAL + ]], + [[ + supportedDL-PRS-ProcessingSamples-RRC-Inactive-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + prs-MeasurementWithoutMG-r17 ENUMERATED {cp, symbolDot25, symbolDot5, + slotDot5} OPTIONAL + ]] +} + +PRS-ProcessingCapabilityOutsideMGinPPWperType-r17 ::= SEQUENCE { + prsProcessingType-r17 ENUMERATED { type1A, type1B, type2 }, + ppw-dl-PRS-BufferType-r17 ENUMERATED { type1, type2, ... }, + ppw-durationOfPRS-Processing1-r17 SEQUENCE { + ppw-durationOfPRS-ProcessingSymbolsN-r17 + ENUMERATED { msDot125, msDot25, msDot5, ms1, ms2, ms4, + ms6, ms8, ms12, ms16, ms20, ms25, ms30, ms32, ms35, + ms40, ms45, ms50 }, + ppw-durationOfPRS-ProcessingSymbolsT-r17 + ENUMERATED { ms1, ms2, ms4, ms8, ms16, ms20, ms30, ms40, ms80, + ms160, ms320, ms640, ms1280 } + } OPTIONAL, + ppw-durationOfPRS-Processing2-r17 SEQUENCE { + ppw-durationOfPRS-ProcessingSymbolsN2-r17 + ENUMERATED { msDot125, msDot25, msDot5, ms1, ms2, ms3, ms4, ms5, + ms6, ms8, ms12 }, + ppw-durationOfPRS-ProcessingSymbolsT2-r17 + ENUMERATED { ms4, ms5, ms6, ms8 } + } OPTIONAL, + ppw-maxNumOfDL-PRS-ResProcessedPerSlot-r17 SEQUENCE { + scs15-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } + OPTIONAL, + scs30-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } + OPTIONAL, + scs60-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } + OPTIONAL, + scs120-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } + OPTIONAL, + ... + }, + ..., + [[ + ppw-maxNumOfDL-Bandwidth-r17 CHOICE { + fr1 ENUMERATED {mhz5, mhz10, mhz20, mhz40, + mhz50, mhz80, mhz100}, + fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400} + } OPTIONAL + ]] +} + + +NR-DL-PRS-QCL-ProcessingCapability-r16 ::= SEQUENCE { + dl-PRS-QCL-ProcessingCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + DL-PRS-QCL-ProcessingCapabilityPerBand-r16, + ... +} + +DL-PRS-QCL-ProcessingCapabilityPerBand-r16 ::= SEQUENCE { + freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16, + ssb-FromNeighCellAsQCL-r16 ENUMERATED { supported} OPTIONAL, + prs-FromServNeighCellAsQCL-r16 ENUMERATED { supported} OPTIONAL, + ... +} + + +NR-DL-PRS-ResourceID-r16 ::= INTEGER (0..nrMaxNumDL-PRS-ResourcesPerSet-1-r16) + + +NR-DL-PRS-ResourcesCapability-r16 ::= SEQUENCE { + maxNrOfDL-PRS-ResourceSetPerTrpPerFrequencyLayer-r16 + INTEGER (1..2), + maxNrOfTRP-AcrossFreqs-r16 ENUMERATED { n4, n6, n12, n16, n32, + n64, n128, n256, ..., n24-v1690}, + maxNrOfPosLayer-r16 INTEGER (1..4), + dl-PRS-ResourcesCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + DL-PRS-ResourcesCapabilityPerBand-r16, + dl-PRS-ResourcesBandCombinationList-r16 DL-PRS-ResourcesBandCombinationList-r16, + ... +} + +DL-PRS-ResourcesCapabilityPerBand-r16 ::= SEQUENCE { + freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16, + maxNrOfDL-PRS-ResourcesPerResourceSet-r16 ENUMERATED { n1, n2, n4, n8, n16, n32, n64, ...}, + maxNrOfDL-PRS-ResourcesPerPositioningFrequencylayer-r16 + ENUMERATED { n6, n24, n32, n64, n96, n128, + n256, n512, n1024, ...}, + ... +} + +DL-PRS-ResourcesBandCombinationList-r16 ::= SEQUENCE (SIZE (1..maxBandComb-r16)) OF + DL-PRS-ResourcesBandCombination-r16 + +DL-PRS-ResourcesBandCombination-r16 ::= SEQUENCE { + bandList-r16 SEQUENCE (SIZE (1..maxSimultaneousBands-r16)) OF + FreqBandIndicatorNR-r16, + maxNrOfDL-PRS-ResourcesAcrossAllFL-TRP-ResourceSet-r16 + CHOICE { + fr1-Only-r16 ENUMERATED {n6, n24, n64, n128, n192, + n256, n512, n1024, n2048}, + fr2-Only-r16 ENUMERATED {n24, n64, n96, n128, n192, + n256, n512, n1024, n2048}, + fr1-FR2Mix-r16 SEQUENCE { + fr1-r16 ENUMERATED {n6, n24, n64, n96, n128, + n192, n256, n512, n1024, n2048}, + fr2-r16 ENUMERATED {n24, n64, n96, n128, n192, + n256, n512, n1024, n2048}, + ... + }, + ... + }, + ... +} + + +NR-DL-PRS-ResourceSetID-r16 ::= INTEGER (0..nrMaxNumDL-PRS-ResourceSetsPerTRP-1-r16) + + +NR-DL-PRS-TRP-TEG-Info-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-DL-PRS-TRP-TEG-InfoPerFreqLayer-r17 + +NR-DL-PRS-TRP-TEG-InfoPerFreqLayer-r17 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + NR-DL-PRS-TRP-TEG-InfoPerTRP-r17 + +NR-DL-PRS-TRP-TEG-InfoPerTRP-r17 ::= SEQUENCE { + dl-PRS-ID-r17 INTEGER (0..255), + nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + dl-PRS-TEG-InfoSet-r17 SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF + DL-PRS-TEG-InfoPerResourceSet-r17, + ..., + [[ + nr-TRP-TxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL -- Need ON + ]] +} + +DL-PRS-TEG-InfoPerResourceSet-r17 ::= SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF + DL-PRS-TEG-InfoElement-r17 + +DL-PRS-TEG-InfoElement-r17 ::= SEQUENCE { + dl-prs-trp-Tx-TEG-ID-r17 INTEGER (0..maxNumOfTRP-TxTEGs-1-r17), + ... +} + + +NR-On-Demand-DL-PRS-Configurations-r17 ::= SEQUENCE { + on-demand-dl-prs-configuration-list-r17 SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF + On-Demand-DL-PRS-Configuration-r17, + ... +} + +On-Demand-DL-PRS-Configuration-r17 ::= SEQUENCE { + dl-prs-configuration-id-r17 DL-PRS-Configuration-ID-r17, + nr-DL-PRS-PositioningFrequencyLayer-r17 NR-DL-PRS-PositioningFrequencyLayer-r16, + nr-DL-PRS-Info-r17 NR-DL-PRS-Info-r16, + ... +} + +DL-PRS-Configuration-ID-r17 ::= SEQUENCE { + nr-dl-prs-configuration-id-r17 INTEGER (1..maxOD-DL-PRS-Configs-r17), + ... +} + + +NR-On-Demand-DL-PRS-Information-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-On-Demand-DL-PRS-PerFreqLayer-r17 + +NR-On-Demand-DL-PRS-PerFreqLayer-r17 ::= SEQUENCE { + dl-prs-FrequencyRangeReq-r17 ENUMERATED { fr1, fr2, ...}, + dl-prs-ResourceSetPeriodicityReq-r17 ENUMERATED { p4, p5, p8, p10, p16, p20, p32, p40, + p64, p80, p160, p320, p640, p1280, p2560, + p5120, p10240, p20480, p40960, p81920, ...} + OPTIONAL, + dl-prs-ResourceBandwidthReq-r17 INTEGER (1..63) OPTIONAL, + dl-prs-ResourceRepetitionFactorReq-r17 ENUMERATED {n2, n4, n6, n8, n16, n32, ...} + OPTIONAL, + dl-prs-NumSymbolsReq-r17 ENUMERATED {n2, n4, n6, n12, ...} OPTIONAL, + dl-prs-CombSizeN-Req-r17 ENUMERATED {n2, n4, n6, n12, ...} OPTIONAL, + dl-prs-QCL-InformationReqTRPlist-r17 DL-PRS-QCL-InformationReqTRPlist-r17 OPTIONAL, + ... +} + +DL-PRS-QCL-InformationReqTRPlist-r17 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + DL-PRS-QCL-InformationReqPerTRP-r17 + +DL-PRS-QCL-InformationReqPerTRP-r17 ::= SEQUENCE { + dl-PRS-ID-r17 INTEGER (0..255), + nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, + nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, + nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, + dl-prs-QCL-InformationReqSet-r17 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF + DL-PRS-QCL-InfoReq-r17, + ... +} + +DL-PRS-QCL-InfoReq-r17 ::= SEQUENCE { + nr-DL-PRS-ResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16, + dl-prs-QCL-InformationReq-r17 CHOICE { + dl-prs-QCL-InfoRecPerResourceSet-r17 DL-PRS-QCL-Info-r16, + dl-prs-QCL-Info-requested-r17 NULL + }, + ..., + [[ + dl-prs-QCL-InfoRecPerResource-r17 SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF + DL-PRS-QCL-Info-r16 OPTIONAL + ]] +} + + +NR-On-Demand-DL-PRS-Request-r17 ::= SEQUENCE { + dl-prs-StartTime-and-Duration-r17 DL-PRS-StartTime-and-Duration-r17 OPTIONAL, + nr-on-demand-DL-PRS-Information-r17 NR-On-Demand-DL-PRS-Information-r17 OPTIONAL, + dl-prs-configuration-id-PrefList-r17 SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF + DL-PRS-Configuration-ID-r17 OPTIONAL, + ... +} + +DL-PRS-StartTime-and-Duration-r17 ::= SEQUENCE { + dl-prs-start-time-r17 INTEGER (1..1024) OPTIONAL, + dl-prs-duration-r17 SEQUENCE { + seconds-r17 INTEGER (0..59) OPTIONAL, + minutes-r17 INTEGER (0..59) OPTIONAL, + hours-r17 INTEGER (0..23) OPTIONAL, + ... + } OPTIONAL, + ... +} + + +NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 ::= + SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF + DL-PRS-Configuration-ID-r17 + + +NR-On-Demand-DL-PRS-Support-r17 ::= SEQUENCE { + nr-on-demand-DL-PRS-InformationSup-r17 ENUMERATED { supported } OPTIONAL, + nr-on-demand-DL-PRS-ConfigurationsSup-r17 ENUMERATED { supported } OPTIONAL, + ... +} + +NR-PositionCalculationAssistance-r16 ::= SEQUENCE { + nr-TRP-LocationInfo-r16 NR-TRP-LocationInfo-r16 OPTIONAL, -- Need ON + nr-DL-PRS-BeamInfo-r16 NR-DL-PRS-BeamInfo-r16 OPTIONAL, -- Need ON + nr-RTD-Info-r16 NR-RTD-Info-r16 OPTIONAL, -- Need ON + ..., + [[ + nr-TRP-BeamAntennaInfo-r17 NR-TRP-BeamAntennaInfo-r17 OPTIONAL, -- Need ON + nr-DL-PRS-Expected-LOS-NLOS-Assistance-r17 + NR-DL-PRS-ExpectedLOS-NLOS-Assistance-r17 + OPTIONAL, -- Need ON + nr-DL-PRS-TRP-TEG-Info-r17 NR-DL-PRS-TRP-TEG-Info-r17 OPTIONAL -- Need ON + ]] +} + +NR-RTD-Info-r16 ::= SEQUENCE { + referenceTRP-RTD-Info-r16 ReferenceTRP-RTD-Info-r16, + rtd-InfoList-r16 RTD-InfoList-r16, + ... +} + +ReferenceTRP-RTD-Info-r16 ::= SEQUENCE { + dl-PRS-ID-Ref-r16 INTEGER (0..255), + nr-PhysCellID-Ref-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-Ref-r16 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-Ref-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + refTime-r16 CHOICE { + systemFrameNumber-r16 BIT STRING (SIZE (10)), + utc-r16 UTCTime, + ... + }, + rtd-RefQuality-r16 NR-TimingQuality-r16 OPTIONAL, -- Need ON + ... +} + +RTD-InfoList-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF RTD-InfoListPerFreqLayer-r16 + +RTD-InfoListPerFreqLayer-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPsPerFreq-r16)) OF RTD-InfoElement-r16 + +RTD-InfoElement-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + subframeOffset-r16 INTEGER (0..1966079), + rtd-Quality-r16 NR-TimingQuality-r16, + ... +} + + +NR-SelectedDL-PRS-IndexList-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-SelectedDL-PRS-PerFreq-r16 + +NR-SelectedDL-PRS-PerFreq-r16 ::= SEQUENCE { + nr-SelectedDL-PRS-FrequencyLayerIndex-r16 INTEGER (0..nrMaxFreqLayers-1-r16), + nr-SelectedDL-PRS-IndexListPerFreq-r16 SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + NR-SelectedDL-PRS-IndexPerTRP-r16 + OPTIONAL, --Need OP + ... +} + +NR-SelectedDL-PRS-IndexPerTRP-r16 ::= SEQUENCE { + nr-SelectedTRP-Index-r16 INTEGER (0..nrMaxTRPsPerFreq-1-r16), + dl-SelectedPRS-ResourceSetIndexList-r16 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) + OF DL-SelectedPRS-ResourceSetIndex-r16 + OPTIONAL, --Need OP + ... +} + +DL-SelectedPRS-ResourceSetIndex-r16 ::= SEQUENCE { + nr-DL-SelectedPRS-ResourceSetIndex-r16 INTEGER (0..nrMaxSetsPerTrpPerFreqLayer-1-r16), + dl-SelectedPRS-ResourceIndexList-r16 SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF + DL-SelectedPRS-ResourceIndex-r16 + OPTIONAL --Need OP +} + +DL-SelectedPRS-ResourceIndex-r16 ::= SEQUENCE { + nr-DL-SelectedPRS-ResourceIdIndex-r16 INTEGER (0..nrMaxNumDL-PRS-ResourcesPerSet-1-r16), + ... +} + + +NR-SSB-Config-r16 ::= SEQUENCE { + nr-PhysCellID-r16 NR-PhysCellID-r16, + nr-ARFCN-r16 ARFCN-ValueNR-r15, + ss-PBCH-BlockPower-r16 INTEGER (-60..50), + halfFrameIndex-r16 INTEGER (0..1), + ssb-periodicity-r16 ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, ...}, + ssb-PositionsInBurst-r16 CHOICE { + shortBitmap-r16 BIT STRING (SIZE (4)), + mediumBitmap-r16 BIT STRING (SIZE (8)), + longBitmap-r16 BIT STRING (SIZE (64)) + } OPTIONAL, --Need OR + ssb-SubcarrierSpacing-r16 ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, ...}, + sfn-SSB-Offset-r16 INTEGER (0..15), + ... +} + + +NR-TimeStamp-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + nr-SFN-r16 INTEGER (0..1023), + nr-Slot-r16 CHOICE { + scs15-r16 INTEGER (0..9), + scs30-r16 INTEGER (0..19), + scs60-r16 INTEGER (0..39), + scs120-r16 INTEGER (0..79) + }, + ... +} + + +NR-TimingQuality-r16 ::= SEQUENCE { + timingQualityValue-r16 INTEGER (0..31), + timingQualityResolution-r16 ENUMERATED {mdot1, m1, m10, m30, ...}, + ... +} + + +NR-TRP-BeamAntennaInfo-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-TRP-BeamAntennaInfoPerFreqLayer-r17 + +NR-TRP-BeamAntennaInfoPerFreqLayer-r17 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + NR-TRP-BeamAntennaInfoPerTRP-r17 + +NR-TRP-BeamAntennaInfoPerTRP-r17 ::= SEQUENCE { + dl-PRS-ID-r17 INTEGER (0..255), + nr-PhysCellID-r17 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r17 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r17 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + associated-DL-PRS-ID-r17 INTEGER (0..255) OPTIONAL, -- Need OP + lcs-GCS-TranslationParameter-r17 LCS-GCS-TranslationParameter-r16 OPTIONAL, -- Need OP + nr-TRP-BeamAntennaAngles-r17 NR-TRP-BeamAntennaAngles-r17 OPTIONAL, -- Need OP + ... +} + +NR-TRP-BeamAntennaAngles-r17 ::= SEQUENCE (SIZE(1..3600)) OF + NR-TRP-BeamAntennaInfoAzimuthElevation-r17 + +NR-TRP-BeamAntennaInfoAzimuthElevation-r17 ::= SEQUENCE { + azimuth-r17 INTEGER (0..359) OPTIONAL, -- Cond Az + azimuth-fine-r17 INTEGER (0..9) OPTIONAL, -- Cond AzOpt + elevationList-r17 SEQUENCE (SIZE(1..1801)) OF ElevationElement-R17, + ... +} + +ElevationElement-R17 ::= SEQUENCE { + elevation-r17 INTEGER (0..180) OPTIONAL, -- Cond El + elevation-fine-r17 INTEGER (0..9) OPTIONAL, -- Cond ElOpt + beamPowerList-r17 SEQUENCE (SIZE (2..maxNumResourcesPerAngle-r17)) OF + BeamPowerElement-r17, + ... +} + +BeamPowerElement-r17 ::= SEQUENCE { + nr-dl-prs-ResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, -- Need OP + nr-dl-prs-ResourceID-r17 NR-DL-PRS-ResourceID-r16, + nr-dl-prs-RelativePower-r17 INTEGER (0..30), + nr-dl-prs-RelativePowerFine-r17 INTEGER (0..9) OPTIONAL, -- Need ON + ... +} + + +NR-TRP-LocationInfo-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-TRP-LocationInfoPerFreqLayer-r16 + +NR-TRP-LocationInfoPerFreqLayer-r16 ::= SEQUENCE { + referencePoint-r16 ReferencePoint-r16 OPTIONAL, -- Cond NotSameAsPrev + trp-LocationInfoList-r16 SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + TRP-LocationInfoElement-r16, + ... +} + +TRP-LocationInfoElement-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + associated-DL-PRS-ID-r16 INTEGER (0..255) OPTIONAL, -- Need OP + trp-Location-r16 RelativeLocation-r16 OPTIONAL, -- Need OP + trp-DL-PRS-ResourceSets-r16 SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF + DL-PRS-ResourceSets-TRP-Element-r16 OPTIONAL, -- Need OP + ... +} + +DL-PRS-ResourceSets-TRP-Element-r16 ::= SEQUENCE { + dl-PRS-ResourceSetARP-r16 RelativeLocation-r16 OPTIONAL, -- Need OP + dl-PRS-Resource-ARP-List-r16 SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF + DL-PRS-Resource-ARP-Element-r16 OPTIONAL, -- Need OP + ... +} + +DL-PRS-Resource-ARP-Element-r16 ::= SEQUENCE { + dl-PRS-Resource-ARP-location-r16 RelativeLocation-r16 OPTIONAL, -- Need OP + ... +} + + +NR-UE-TEG-Capability-r17 ::= SEQUENCE { + nr-UE-TEG-ID-CapabilityBandList-r17 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + NR-UE-TEG-ID-CapabilityPerBand-r17 OPTIONAL, + ... +} + +NR-UE-TEG-ID-CapabilityPerBand-r17 ::= SEQUENCE { + freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16, + nr-UE-RxTEG-ID-MaxSupport-r17 ENUMERATED {n1, n2, n3, n4, n6, n8} OPTIONAL, + nr-UE-TxTEG-ID-MaxSupport-r17 ENUMERATED {n1, n2, n3, n4, n6, n8} OPTIONAL, + nr-UE-RxTxTEG-ID-MaxSupport-r17 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, + n24, n32, n36, n48, n64} OPTIONAL, + measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17 + ENUMERATED {n2, n3, n4, n6, n8} OPTIONAL, + measureSameDL-PRS-ResourceWithDifferentRxTEGsSimul-r17 + ENUMERATED {n1, n2, n3, n4, n6, n8} OPTIONAL, + ... +} + + +NR-UL-SRS-Capability-r16 ::= SEQUENCE { + srs-CapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + SRS-CapabilityPerBand-r16, + srs-PosResourceConfigCA-BandList-r16 SEQUENCE (SIZE (1..nrMaxConfiguredBands-r16)) OF + SRS-PosResourcesPerBand-r16 OPTIONAL, + maxNumberSRS-PosPathLossEstimateAllServingCells-r16 + ENUMERATED {n1, n4, n8, n16} OPTIONAL, + maxNumberSRS-PosSpatialRelationsAllServingCells-r16 + ENUMERATED {n0, n1, n2, n4, n8, n16} OPTIONAL, + ... +} + +SRS-CapabilityPerBand-r16 ::= SEQUENCE { + freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16, + olpc-SRS-Pos-r16 OLPC-SRS-Pos-r16 OPTIONAL, + spatialRelationsSRS-Pos-r16 SpatialRelationsSRS-Pos-r16 OPTIONAL, + ..., + [[ + posSRS-RRC-Inactive-InInitialUL-BWP-r17 PosSRS-RRC-Inactive-InInitialUL-BWP-r17 OPTIONAL, + posSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 + PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 + OPTIONAL, + olpc-SRS-PosRRC-Inactive-r17 OLPC-SRS-Pos-r16 OPTIONAL, + spatialRelationsSRS-PosRRC-Inactive-r17 SpatialRelationsSRS-Pos-r16 OPTIONAL + ]], + [[ + posSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 PosSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 + OPTIONAL + ]] +} + +OLPC-SRS-Pos-r16 ::= SEQUENCE { + olpc-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL, + olpc-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL, + olpc-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL, + maxNumberPathLossEstimatePerServing-r16 ENUMERATED {n1, n4, n8, n16} OPTIONAL, + ... +} + +SpatialRelationsSRS-Pos-r16 ::= SEQUENCE { + spatialRelation-SRS-PosBasedOnSSB-Serving-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnPRS-Serving-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnSRS-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnSSB-Neigh-r16 ENUMERATED {supported} OPTIONAL, + spatialRelation-SRS-PosBasedOnPRS-Neigh-r16 ENUMERATED {supported} OPTIONAL, + ... +} + +SRS-PosResourcesPerBand-r16 ::= SEQUENCE { + freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16, + maxNumberSRS-PosResourceSetsPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n12, n16}, + maxNumberSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maxNumberPeriodicSRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maxNumberAP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} + OPTIONAL, + maxNumberSP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} + OPTIONAL, + ... +} + +PosSRS-RRC-Inactive-InInitialUL-BWP-r17 ::= SEQUENCE { + maxNumOfSRSposResourceSets-r17 ENUMERATED {n1, n2, n4, n8, n12, n16 } OPTIONAL, + maxNumOfPeriodicAndSemiPersistentSRSposResources-r17 + ENUMERATED {n1, n2, n4, n8, n16, n32, n64 } + OPTIONAL, + maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot-r17 + ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} + OPTIONAL, + maxNumOfPeriodicSRSposResources-r17 + ENUMERATED {n1, n2, n4, n8, n16, n32, n64 } + OPTIONAL, + maxNumOfPeriodicSRSposResourcesPerSlot-r17 + ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} + OPTIONAL, + dummy1 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL, + dummy2 ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10, n12, n14 } + OPTIONAL, + ... +} + +PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 ::= SEQUENCE { + maxSRSposBandwidthForEachSCS-withinCC-FR1-r17 + ENUMERATED { mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, + mhz35, mhz40, mhz45, mhz50, mhz60, mhz70, + mhz80, mhz90, mhz100 } OPTIONAL, + maxSRSposBandwidthForEachSCS-withinCC-FR2-r17 + ENUMERATED {mhz50, mhz100, mhz200, mhz400} OPTIONAL, + maxNumOfSRSposResourceSets-r17 ENUMERATED { n1, n2, n4, n8, n12, n16 } OPTIONAL, + maxNumOfPeriodicSRSposResources-r17 ENUMERATED { n1, n2, n4, n8, n16, n32, n64 } + OPTIONAL, + maxNumOfPeriodicSRSposResourcesPerSlot-r17 + ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10, n12, n14 } + OPTIONAL, + differentNumerologyBetweenSRSposAndInitialBWP-r17 + ENUMERATED { supported } OPTIONAL, + srsPosWithoutRestrictionOnBWP-r17 + ENUMERATED { supported } OPTIONAL, + maxNumOfPeriodicAndSemiPersistentSRSposResources-r17 + ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL, + maxNumOfPeriodicAndSemiPersistentSRSposResourcesPerSlot-r17 + ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10, + n12, n14 } OPTIONAL, + differentCenterFreqBetweenSRSposAndInitialBWP-r17 + ENUMERATED { supported } OPTIONAL, + maxNumOfSemiPersistentSRSposResources-r17 + ENUMERATED { n1, n2, n4, n8, n16, n32, n64 } + OPTIONAL, + maxNumOfSemiPersistentSRSposResourcesPerSlot-r17 + ENUMERATED { n1, n2, n3, n4, n5, n6, n8, n10, + n12, n14 } OPTIONAL, + switchingTimeSRS-TX-OtherTX-r17 ENUMERATED { us100, us140, us200, us300, us500 } + OPTIONAL, + ... +} + +PosSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 ::= SEQUENCE { + maxNumOfSemiPersistentSRSposResources-r17 + ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL, + maxNumOfSemiPersistentSRSposResourcesPerSlot-r17 + ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14} + OPTIONAL, + ... +} + + +ReferencePoint-r16 ::= SEQUENCE { + referencePointGeographicLocation-r16 CHOICE { + location3D-r16 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + ha-location3D-r16 HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15, + ... + }, + ... +} + + +RelativeLocation-r16 ::= SEQUENCE { + milli-arc-second-units-r16 ENUMERATED { mas0-03, mas0-3, mas3, mas30, ...}, + height-units-r16 ENUMERATED {mm, cm, m, ...}, + delta-latitude-r16 Delta-Latitude-r16, + delta-longitude-r16 Delta-Longitude-r16, + delta-height-r16 Delta-Height-r16, + locationUNC-r16 LocationUncertainty-r16 OPTIONAL, -- Need OP + ... +} + +Delta-Latitude-r16 ::= SEQUENCE { + delta-Latitude-r16 INTEGER (-1024..1023), + coarse-delta-Latitude-r16 INTEGER (0..4095) OPTIONAL, -- Need OP + ... +} + +Delta-Longitude-r16 ::= SEQUENCE { + delta-Longitude-r16 INTEGER (-1024..1023), + coarse-delta-Longitude-r16 INTEGER (0..4095) OPTIONAL, -- Need OP + ... +} + +Delta-Height-r16 ::= SEQUENCE { + delta-Height-r16 INTEGER (-1024..1023), + coarse-delta-Height-r16 INTEGER (0..4095) OPTIONAL, -- Need OP + ... +} + +LocationUncertainty-r16 ::= SEQUENCE { + horizontalUncertainty-r16 INTEGER (0..255), + horizontalConfidence-r16 INTEGER (0..100), + verticalUncertainty-r16 INTEGER (0..255), + verticalConfidence-r16 INTEGER (0..100) +} + + +TEG-TimingErrorMargin-r17 ::= ENUMERATED { tc0, tc2, tc4, tc6, tc8, tc12, tc16, tc20, tc24, + tc32, tc40, tc48, tc56, tc64, tc72, tc80 } + + +RxTxTEG-TimingErrorMargin-r17 ::= ENUMERATED { tc0-5, tc1, tc2, tc4, tc8, tc12, tc16, tc20, + tc24, tc32, tc40, tc48, tc64, tc80, tc96, tc128 } + + +OTDOA-ProvideAssistanceData ::= SEQUENCE { + otdoa-ReferenceCellInfo OTDOA-ReferenceCellInfo OPTIONAL, -- Need ON + otdoa-NeighbourCellInfo OTDOA-NeighbourCellInfoList OPTIONAL, -- Need ON + otdoa-Error OTDOA-Error OPTIONAL, -- Need ON + ..., + [[ + otdoa-ReferenceCellInfoNB-r14 OTDOA-ReferenceCellInfoNB-r14 OPTIONAL, -- Need ON + otdoa-NeighbourCellInfoNB-r14 OTDOA-NeighbourCellInfoListNB-r14 OPTIONAL -- Need ON + ]] +} + + +OTDOA-ReferenceCellInfo ::= SEQUENCE { + physCellId INTEGER (0..503), + cellGlobalId ECGI OPTIONAL, -- Need ON + earfcnRef ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsServ0 + antennaPortConfig ENUMERATED {ports1-or-2, ports4, ... } + OPTIONAL, -- Cond NotSameAsServ1 + cpLength ENUMERATED { normal, extended, ... }, + prsInfo PRS-Info OPTIONAL, -- Cond PRS + ..., + [[ earfcnRef-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsServ2 + ]], + [[ tpId-r14 INTEGER (0..4095) OPTIONAL, -- Need ON + cpLengthCRS-r14 ENUMERATED { normal, extended, ... } + OPTIONAL, -- Cond CRS + sameMBSFNconfigRef-r14 BOOLEAN OPTIONAL, -- Need ON + dlBandwidth-r14 ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, -- Cond NotSameAsServ3 + addPRSconfigRef-r14 SEQUENCE (SIZE (1..maxAddPRSconfig-r14)) OF PRS-Info + OPTIONAL -- Need ON + ]], + [[ + nr-LTE-SFN-Offset-r15 INTEGER (0..1023) OPTIONAL -- Cond NR + ]], + [[ + tdd-config-v1520 TDD-Config-v1520 OPTIONAL, -- Need ON + nr-LTE-fineTiming-Offset-r15 INTEGER (0..19) OPTIONAL -- Cond FineOffset + ]] +} + +maxAddPRSconfig-r14 INTEGER ::= 2 + + +PRS-Info ::= SEQUENCE { + prs-Bandwidth ENUMERATED { n6, n15, n25, n50, n75, n100, ... }, + prs-ConfigurationIndex INTEGER (0..4095), + numDL-Frames ENUMERATED {sf-1, sf-2, sf-4, sf-6, ..., sf-add-v1420}, + ..., + prs-MutingInfo-r9 CHOICE { + po2-r9 BIT STRING (SIZE(2)), + po4-r9 BIT STRING (SIZE(4)), + po8-r9 BIT STRING (SIZE(8)), + po16-r9 BIT STRING (SIZE(16)), + ..., + po32-v1420 BIT STRING (SIZE(32)), + po64-v1420 BIT STRING (SIZE(64)), + po128-v1420 BIT STRING (SIZE(128)), + po256-v1420 BIT STRING (SIZE(256)), + po512-v1420 BIT STRING (SIZE(512)), + po1024-v1420 BIT STRING (SIZE(1024)) + } OPTIONAL, -- Need OP + [[ prsID-r14 INTEGER (0..4095) OPTIONAL, -- Need ON + add-numDL-Frames-r14 INTEGER (1..160) OPTIONAL, -- Cond sf-add + prsOccGroupLen-r14 ENUMERATED {g2, g4, g8, g16, g32, g64, g128,... } + OPTIONAL, -- Cond Occ-Grp + prsHoppingInfo-r14 CHOICE { + nb2-r14 INTEGER (0.. maxAvailNarrowBands-Minus1-r14), + nb4-r14 SEQUENCE (SIZE (3)) + OF INTEGER (0.. maxAvailNarrowBands-Minus1-r14) + } OPTIONAL -- Cond PRS-FH + ]] +} + +maxAvailNarrowBands-Minus1-r14 INTEGER ::= 15 -- Maximum number of narrowbands minus 1 + + +TDD-Config-v1520 ::= SEQUENCE { + subframeAssignment-v1520 ENUMERATED { sa0, sa1, sa2, sa3, sa4, sa5, sa6 }, + ... +} + + +OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF OTDOA-NeighbourFreqInfo +OTDOA-NeighbourFreqInfo ::= SEQUENCE (SIZE (1..24)) OF OTDOA-NeighbourCellInfoElement + +OTDOA-NeighbourCellInfoElement ::= SEQUENCE { + physCellId INTEGER (0..503), + cellGlobalId ECGI OPTIONAL, -- Need ON + earfcn ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsRef0 + cpLength ENUMERATED {normal, extended, ...} + OPTIONAL, -- Cond NotSameAsRef1 + prsInfo PRS-Info OPTIONAL, -- Cond NotSameAsRef2 + antennaPortConfig ENUMERATED {ports-1-or-2, ports-4, ...} + OPTIONAL, -- Cond NotsameAsRef3 + slotNumberOffset INTEGER (0..19) OPTIONAL, -- Cond NotSameAsRef4 + prs-SubframeOffset INTEGER (0..1279) OPTIONAL, -- Cond InterFreq + expectedRSTD INTEGER (0..16383), + expectedRSTD-Uncertainty INTEGER (0..1023), + ..., + [[ earfcn-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsRef5 + ]], + [[ tpId-r14 INTEGER (0..4095) OPTIONAL, -- Need ON + prs-only-tp-r14 ENUMERATED { true } OPTIONAL, -- Cond TBS + cpLengthCRS-r14 ENUMERATED { normal, extended, ... } + OPTIONAL, -- Cond CRS + sameMBSFNconfigNeighbour-r14 BOOLEAN OPTIONAL, -- Need ON + dlBandwidth-r14 ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, -- Cond NotSameAsRef6 + addPRSconfigNeighbour-r14 SEQUENCE (SIZE (1..maxAddPRSconfig-r14)) OF + Add-PRSconfigNeighbourElement-r14 + OPTIONAL -- Need ON + ]], + [[ + tdd-config-v1520 TDD-Config-v1520 OPTIONAL -- Need ON + ]] +} + +Add-PRSconfigNeighbourElement-r14 ::= SEQUENCE { + add-prsInfo-r14 PRS-Info OPTIONAL, -- Cond NotSameAsRef7 + ... +} + +maxFreqLayers INTEGER ::= 3 + + +OTDOA-ReferenceCellInfoNB-r14 ::= SEQUENCE { + physCellIdNB-r14 INTEGER (0..503) OPTIONAL, -- Cond NoPRS-AD1 + cellGlobalIdNB-r14 ECGI OPTIONAL, -- Cond NoPRS-AD2 + carrierFreqRef-r14 CarrierFreq-NB-r14 OPTIONAL, -- Cond NotSameAsServ1 + earfcn-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond Inband + eutra-NumCRS-Ports-r14 ENUMERATED {ports1-or-2, ports4} + OPTIONAL, -- Cond NoPRS-AD3 + otdoa-SIB1-NB-repetitions-r14 ENUMERATED { r4, r8, r16 } OPTIONAL, -- Cond NotSameAsServ2 + nprsInfo-r14 PRS-Info-NB-r14 OPTIONAL, -- Cond NPRS-Type1 + ..., + [[ + nprsInfo-Type2-v1470 PRS-Info-NB-r14 OPTIONAL -- Cond NPRS-Type2 + ]], + [[ tdd-config-r15 TDD-Config-v1520 OPTIONAL -- Need ON + ]] +} + + +PRS-Info-NB-r14 ::= SEQUENCE (SIZE (1..maxCarrier-r14)) OF NPRS-Info-r14 + +NPRS-Info-r14 ::= SEQUENCE { + operationModeInfoNPRS-r14 ENUMERATED { inband, standalone }, + nprs-carrier-r14 CarrierFreq-NB-r14 OPTIONAL, -- Cond Standalone/Guardband + nprsSequenceInfo-r14 INTEGER (0..174) OPTIONAL, -- Cond Inband + nprsID-r14 INTEGER (0..4095) OPTIONAL, -- Cond NPRS-ID + partA-r14 SEQUENCE { + nprsBitmap-r14 CHOICE { + subframePattern10-r14 BIT STRING (SIZE (10)), + subframePattern40-r14 BIT STRING (SIZE (40)) + }, + nprs-MutingInfoA-r14 CHOICE { + po2-r14 BIT STRING (SIZE(2)), + po4-r14 BIT STRING (SIZE(4)), + po8-r14 BIT STRING (SIZE(8)), + po16-r14 BIT STRING (SIZE(16)), + ... + } OPTIONAL, -- Cond MutingA + ... + } OPTIONAL, -- Cond PartA + partB-r14 SEQUENCE { + nprs-Period-r14 ENUMERATED { ms160, ms320, ms640, ms1280, ... , ms2560-v1510}, + nprs-startSF-r14 ENUMERATED { zero, one-eighth, two-eighths, three-eighths, + four-eighths, five-eighths, six-eighths, + seven-eighths, ...}, + nprs-NumSF-r14 ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, + sf640, sf1280, ... , sf2560-v1510}, + nprs-MutingInfoB-r14 CHOICE { + po2-r14 BIT STRING (SIZE(2)), + po4-r14 BIT STRING (SIZE(4)), + po8-r14 BIT STRING (SIZE(8)), + po16-r14 BIT STRING (SIZE(16)), + ... + } OPTIONAL, -- Cond MutingB + ..., + [[ sib1-SF-TDD-r15 ENUMERATED {sf0, sf4, sf0and5} OPTIONAL -- Cond SIB1-TDD + ]] + } OPTIONAL, -- Cond PartB + ..., + [[ + partA-TDD-r15 SEQUENCE { + nprsBitmap-r15 CHOICE { + subframePattern10-TDD-r15 BIT STRING (SIZE (8)), + subframePattern40-TDD-r15 BIT STRING (SIZE (32)), + ... + }, + nprs-MutingInfoA-r15 CHOICE { + po2-r15 BIT STRING (SIZE(2)), + po4-r15 BIT STRING (SIZE(4)), + po8-r15 BIT STRING (SIZE(8)), + po16-r15 BIT STRING (SIZE(16)), + ... + } OPTIONAL, -- Cond MutingA + ... + } OPTIONAL -- Cond PartA-TDD + ]] +} + +maxCarrier-r14 INTEGER ::= 5 + + +OTDOA-NeighbourCellInfoListNB-r14 ::= SEQUENCE (SIZE (1..maxCells-r14)) OF + OTDOA-NeighbourCellInfoNB-r14 + +OTDOA-NeighbourCellInfoNB-r14 ::= SEQUENCE { + physCellIdNB-r14 INTEGER (0..503) OPTIONAL, -- Cond NoPRS-AD1 + cellGlobalIdNB-r14 ECGI OPTIONAL, -- Cond NoPRS-AD2 + carrierFreq-r14 CarrierFreq-NB-r14 OPTIONAL, -- Cond NotSameAsRef1 + earfcn-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond Inband + eutra-NumCRS-Ports-r14 ENUMERATED {ports-1-or-2, ports-4, ...} + OPTIONAL, -- Cond NotsameAsRef2 + otdoa-SIB1-NB-repetitions-r14 ENUMERATED { r4, r8, r16 } + OPTIONAL, -- Cond NotSameAsRef3 + nprsInfo-r14 PRS-Info-NB-r14 OPTIONAL, -- Cond NotsameAsRef4 + nprs-slotNumberOffset-r14 INTEGER (0..19) OPTIONAL, -- Cond NotsameAsRef5 + nprs-SFN-Offset-r14 INTEGER (0..63) OPTIONAL, -- Cond NotsameAsRef6 + nprs-SubframeOffset-r14 INTEGER (0..1279) OPTIONAL, -- Need OP + expectedRSTD-r14 INTEGER (0..16383) OPTIONAL, -- Cond NoPRS-AD3 + expectedRSTD-Uncertainty-r14 INTEGER (0..1023) OPTIONAL, -- Cond NoPRS-AD3 + prsNeighbourCellIndex-r14 INTEGER (1..72) OPTIONAL, -- Cond PRS-AD + ..., + [[ + nprsInfo-Type2-v1470 PRS-Info-NB-r14 OPTIONAL -- Cond NotSameAsRef4 + ]], + [[ tdd-config-r15 TDD-Config-v1520 OPTIONAL -- Need ON + ]] +} + +maxCells-r14 INTEGER ::= 72 + + +OTDOA-RequestAssistanceData ::= SEQUENCE { + physCellId INTEGER (0..503), + ..., + [[ + adType-r14 BIT STRING { prs (0), nprs (1) } (SIZE (1..8)) OPTIONAL + ]], + [[ + nrPhysCellId-r15 INTEGER (0..1007) OPTIONAL + ]] +} + + +OTDOA-ProvideLocationInformation ::= SEQUENCE { + otdoaSignalMeasurementInformation OTDOA-SignalMeasurementInformation OPTIONAL, + otdoa-Error OTDOA-Error OPTIONAL, + ..., + [[ + otdoaSignalMeasurementInformation-NB-r14 OTDOA-SignalMeasurementInformation-NB-r14 + OPTIONAL + ]] +} + + +OTDOA-SignalMeasurementInformation ::= SEQUENCE { + systemFrameNumber BIT STRING (SIZE (10)), + physCellIdRef INTEGER (0..503), + cellGlobalIdRef ECGI OPTIONAL, + earfcnRef ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsRef0 + referenceQuality OTDOA-MeasQuality OPTIONAL, + neighbourMeasurementList NeighbourMeasurementList, + ..., + [[ earfcnRef-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsRef1 + ]], + [[ tpIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0 + prsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1 + additionalPathsRef-r14 + AdditionalPathList-r14 OPTIONAL, + nprsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2 + carrierFreqOffsetNB-Ref-r14 + CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT + hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL -- Cond H-SFN + ]], + [[ + motionTimeSource-r15 MotionTimeSource-r15 OPTIONAL + ]] +} + +NeighbourMeasurementList ::= SEQUENCE (SIZE(1..24)) OF NeighbourMeasurementElement + +NeighbourMeasurementElement ::= SEQUENCE { + physCellIdNeighbour INTEGER (0..503), + cellGlobalIdNeighbour ECGI OPTIONAL, + earfcnNeighbour ARFCN-ValueEUTRA OPTIONAL, -- Cond NotSameAsRef2 + rstd INTEGER (0..12711), + rstd-Quality OTDOA-MeasQuality, + ..., + [[ earfcnNeighbour-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond NotSameAsRef3 + ]], + [[ tpIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0 + prsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1 + delta-rstd-r14 INTEGER (0..5) OPTIONAL, + additionalPathsNeighbour-r14 + AdditionalPathList-r14 OPTIONAL, + nprsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2 + carrierFreqOffsetNB-Neighbour-r14 + CarrierFreqOffsetNB-r14 OPTIONAL -- Cond NB-IoT + ]], + [[ + delta-SFN-r15 INTEGER (-8192..8191) OPTIONAL + ]] +} + +AdditionalPathList-r14 ::= SEQUENCE (SIZE(1..maxPaths-r14)) OF AdditionalPath-r14 + +maxPaths-r14 INTEGER ::= 2 + +MotionTimeSource-r15 ::= SEQUENCE { + timeSource-r15 ENUMERATED {servingCell, referenceCell, gnss, mixed, + other, none, ...} +} + + +OTDOA-SignalMeasurementInformation-NB-r14 ::= SEQUENCE { + systemFrameNumber-r14 BIT STRING (SIZE (10)), + physCellIdRef-r14 INTEGER (0..503), + cellGlobalIdRef-r14 ECGI OPTIONAL, + earfcnRef-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond NotSameAsRef0 + referenceQuality-r14 OTDOA-MeasQuality OPTIONAL, + neighbourMeasurementList-r14 NeighbourMeasurementList-NB-r14, + tpIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0 + prsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1 + additionalPathsRef-r14 AdditionalPathList-r14 OPTIONAL, + nprsIdRef-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2 + carrierFreqOffsetNB-Ref-r14 CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT + hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL, -- Cond H-SFN + ... +} + +NeighbourMeasurementList-NB-r14 ::= SEQUENCE (SIZE(1..24)) OF NeighbourMeasurementElement-NB-r14 + +NeighbourMeasurementElement-NB-r14 ::= SEQUENCE { + physCellIdNeighbour-r14 INTEGER (0..503), + cellGlobalIdNeighbour-r14 ECGI OPTIONAL, + earfcnNeighbour-r14 ARFCN-ValueEUTRA-r14 OPTIONAL, -- Cond NotSameAsRef2 + rstd-r14 INTEGER (0..12711), + rstd-Quality-r14 OTDOA-MeasQuality, + tpIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer0 + prsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer1 + delta-rstd-r14 INTEGER (0..5) OPTIONAL, + additionalPathsNeighbour-r14 + AdditionalPathList-r14 OPTIONAL, + nprsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2 + carrierFreqOffsetNB-Neighbour-r14 + CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT + ... +} + + +OTDOA-MeasQuality ::= SEQUENCE { + error-Resolution BIT STRING (SIZE (2)), + error-Value BIT STRING (SIZE (5)), + error-NumSamples BIT STRING (SIZE (3)) OPTIONAL, + ... +} + + +AdditionalPath-r14 ::= SEQUENCE { + relativeTimeDifference-r14 INTEGER (-256..255), + path-Quality-r14 OTDOA-MeasQuality OPTIONAL, + ... +} + + +OTDOA-RequestLocationInformation ::= SEQUENCE { + assistanceAvailability BOOLEAN, + ..., + [[ + multipathRSTD-r14 ENUMERATED { requested } OPTIONAL, -- Need ON + maxNoOfRSTDmeas-r14 INTEGER (1..32) OPTIONAL -- Need ON + ]], + [[ + motionMeasurements-r15 ENUMERATED { requested } OPTIONAL -- Need ON + ]] +} + + +OTDOA-ProvideCapabilities ::= SEQUENCE { + otdoa-Mode BIT STRING { ue-assisted (0), + ue-assisted-NB-r14 (1), + ue-assisted-NB-TDD-r15 (2) } (SIZE (1..8)), + ..., + supportedBandListEUTRA SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA OPTIONAL, + supportedBandListEUTRA-v9a0 SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9a0 + OPTIONAL, + interFreqRSTDmeasurement-r10 ENUMERATED { supported } OPTIONAL, + additionalNeighbourCellInfoList-r10 ENUMERATED { supported } OPTIONAL, + prs-id-r14 ENUMERATED { supported } OPTIONAL, + tp-separation-via-muting-r14 ENUMERATED { supported } OPTIONAL, + additional-prs-config-r14 ENUMERATED { supported } OPTIONAL, + prs-based-tbs-r14 ENUMERATED { supported } OPTIONAL, + additionalPathsReport-r14 ENUMERATED { supported } OPTIONAL, + densePrsConfig-r14 ENUMERATED { supported } OPTIONAL, + maxSupportedPrsBandwidth-r14 ENUMERATED { n6, n15, n25, n50, n75, n100, ...} OPTIONAL, + prsOccGroup-r14 ENUMERATED { supported } OPTIONAL, + prsFrequencyHopping-r14 ENUMERATED { supported } OPTIONAL, + maxSupportedPrsConfigs-r14 ENUMERATED { c2, c3 } OPTIONAL, + periodicalReporting-r14 ENUMERATED { supported } OPTIONAL, + multiPrbNprs-r14 ENUMERATED { supported } OPTIONAL, + idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL, + numberOfRXantennas-r14 ENUMERATED { rx1, ... } OPTIONAL, + motionMeasurements-r15 ENUMERATED { supported } OPTIONAL, + interRAT-RSTDmeasurement-r15 ENUMERATED { supported } OPTIONAL, + scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL +} + +maxBands INTEGER ::= 64 + +SupportedBandEUTRA ::= SEQUENCE { + bandEUTRA INTEGER (1..maxFBI) +} + +SupportedBandEUTRA-v9a0 ::= SEQUENCE { + bandEUTRA-v9a0 INTEGER (maxFBI-Plus1..maxFBI2) OPTIONAL +} + +maxFBI INTEGER ::= 64 -- Maximum value of frequency band indicator +maxFBI-Plus1 INTEGER ::= 65 -- lowest value extended FBI range +maxFBI2 INTEGER ::= 256 -- highest value extended FBI range + + +OTDOA-RequestCapabilities ::= SEQUENCE { + ... +} + + +OTDOA-Error ::= CHOICE { + locationServerErrorCauses OTDOA-LocationServerErrorCauses, + targetDeviceErrorCauses OTDOA-TargetDeviceErrorCauses, + ... +} + + +OTDOA-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + assistanceDataNotSupportedByServer, + assistanceDataSupportedButCurrentlyNotAvailableByServer, + ... + }, + ... +} + + +OTDOA-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + assistance-data-missing, + unableToMeasureReferenceCell, + unableToMeasureAnyNeighbourCell, + attemptedButUnableToMeasureSomeNeighbourCells, + ... + }, + ... +} + + +A-GNSS-ProvideAssistanceData ::= SEQUENCE { + gnss-CommonAssistData GNSS-CommonAssistData OPTIONAL, -- Need ON + gnss-GenericAssistData GNSS-GenericAssistData OPTIONAL, -- Need ON + gnss-Error A-GNSS-Error OPTIONAL, -- Need ON + ..., + [[ + gnss-PeriodicAssistData-r15 GNSS-PeriodicAssistData-r15 OPTIONAL -- Cond CtrTrans + ]] +} + + +GNSS-CommonAssistData ::= SEQUENCE { + gnss-ReferenceTime GNSS-ReferenceTime OPTIONAL, -- Need ON + gnss-ReferenceLocation GNSS-ReferenceLocation OPTIONAL, -- Need ON + gnss-IonosphericModel GNSS-IonosphericModel OPTIONAL, -- Need ON + gnss-EarthOrientationParameters GNSS-EarthOrientationParameters OPTIONAL, -- Need ON + ..., + [[ + gnss-RTK-ReferenceStationInfo-r15 + GNSS-RTK-ReferenceStationInfo-r15 OPTIONAL, -- Need ON + gnss-RTK-CommonObservationInfo-r15 + GNSS-RTK-CommonObservationInfo-r15 OPTIONAL, -- Cond RTK + gnss-RTK-AuxiliaryStationData-r15 + GNSS-RTK-AuxiliaryStationData-r15 OPTIONAL -- Need ON + ]], + [[ + gnss-SSR-CorrectionPoints-r16 + GNSS-SSR-CorrectionPoints-r16 OPTIONAL -- Need ON + ]], + [[ + gnss-Integrity-ServiceParameters-r17 + GNSS-Integrity-ServiceParameters-r17 OPTIONAL, -- Need ON + gnss-Integrity-ServiceAlert-r17 + GNSS-Integrity-ServiceAlert-r17 OPTIONAL -- Need OR + ]] +} + + +GNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataElement + +GNSS-GenericAssistDataElement ::= SEQUENCE { + gnss-ID GNSS-ID, + sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS-ID-SBAS + gnss-TimeModels GNSS-TimeModelList OPTIONAL, -- Need ON + gnss-DifferentialCorrections GNSS-DifferentialCorrections OPTIONAL, -- Need ON + gnss-NavigationModel GNSS-NavigationModel OPTIONAL, -- Need ON + gnss-RealTimeIntegrity GNSS-RealTimeIntegrity OPTIONAL, -- Need ON + gnss-DataBitAssistance GNSS-DataBitAssistance OPTIONAL, -- Need ON + gnss-AcquisitionAssistance GNSS-AcquisitionAssistance OPTIONAL, -- Need ON + gnss-Almanac GNSS-Almanac OPTIONAL, -- Need ON + gnss-UTC-Model GNSS-UTC-Model OPTIONAL, -- Need ON + gnss-AuxiliaryInformation GNSS-AuxiliaryInformation OPTIONAL, -- Need ON + ..., + [[ + bds-DifferentialCorrections-r12 + BDS-DifferentialCorrections-r12 OPTIONAL, -- Cond GNSS-ID-BDS + bds-GridModel-r12 BDS-GridModelParameter-r12 OPTIONAL -- Cond GNSS-ID-BDS + ]], + [[ + gnss-RTK-Observations-r15 GNSS-RTK-Observations-r15 OPTIONAL, -- Need ON + glo-RTK-BiasInformation-r15 GLO-RTK-BiasInformation-r15 OPTIONAL, -- Cond GNSS-ID-GLO + gnss-RTK-MAC-CorrectionDifferences-r15 + GNSS-RTK-MAC-CorrectionDifferences-r15 + OPTIONAL, -- Need ON + gnss-RTK-Residuals-r15 GNSS-RTK-Residuals-r15 OPTIONAL, -- Need ON + gnss-RTK-FKP-Gradients-r15 GNSS-RTK-FKP-Gradients-r15 OPTIONAL, -- Need ON + gnss-SSR-OrbitCorrections-r15 + GNSS-SSR-OrbitCorrections-r15 OPTIONAL, -- Need ON + gnss-SSR-ClockCorrections-r15 + GNSS-SSR-ClockCorrections-r15 OPTIONAL, -- Need ON + gnss-SSR-CodeBias-r15 GNSS-SSR-CodeBias-r15 OPTIONAL -- Need ON + ]], + [[ + gnss-SSR-URA-r16 GNSS-SSR-URA-r16 OPTIONAL, -- Need ON + gnss-SSR-PhaseBias-r16 GNSS-SSR-PhaseBias-r16 OPTIONAL, -- Need ON + gnss-SSR-STEC-Correction-r16 GNSS-SSR-STEC-Correction-r16 + OPTIONAL, -- Need ON + gnss-SSR-GriddedCorrection-r16 GNSS-SSR-GriddedCorrection-r16 + OPTIONAL, -- Need ON + navic-DifferentialCorrections-r16 NavIC-DifferentialCorrections-r16 + OPTIONAL, -- Cond GNSS-ID-NavIC + navic-GridModel-r16 NavIC-GridModelParameter-r16 + OPTIONAL -- Cond GNSS-ID-NavIC + ]] +} + + +GNSS-PeriodicAssistData-r15 ::= SEQUENCE { + gnss-RTK-PeriodicObservations-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + glo-RTK-PeriodicBiasInformation-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-RTK-MAC-PeriodicCorrectionDifferences-r15 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-RTK-PeriodicResiduals-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-RTK-FKP-PeriodicGradients-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicOrbitCorrections-r15 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicClockCorrections-r15 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicCodeBias-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + ..., + [[ + gnss-SSR-PeriodicURA-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicPhaseBias-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicSTEC-Correction-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicGriddedCorrection-r16 GNSS-PeriodicControlParam-r15 OPTIONAL -- Need ON + ]], + [[ + gnss-Integrity-PeriodicServiceAlert-r17 GNSS-PeriodicControlParam-r15 OPTIONAL -- Need ON + ]] +} + + +GNSS-ReferenceTime ::= SEQUENCE { + gnss-SystemTime GNSS-SystemTime, + referenceTimeUnc INTEGER (0..127) OPTIONAL, -- Cond noFTA + gnss-ReferenceTimeForCells SEQUENCE (SIZE (1..16)) OF + GNSS-ReferenceTimeForOneCell OPTIONAL, -- Need ON + ... +} + +GNSS-ReferenceTimeForOneCell ::= SEQUENCE { + networkTime NetworkTime, + referenceTimeUnc INTEGER (0..127), + bsAlign ENUMERATED {true} OPTIONAL, + ... +} + + +GNSS-SystemTime ::= SEQUENCE { + gnss-TimeID GNSS-ID, + gnss-DayNumber INTEGER (0..32767), + gnss-TimeOfDay INTEGER (0..86399), + gnss-TimeOfDayFrac-msec INTEGER (0..999) OPTIONAL, -- Need ON + notificationOfLeapSecond BIT STRING (SIZE(2)) OPTIONAL, -- Cond gnss-TimeID-glonass + gps-TOW-Assist GPS-TOW-Assist OPTIONAL, -- Cond gnss-TimeID-gps + ... +} + + +GPS-TOW-Assist ::= SEQUENCE (SIZE(1..64)) OF GPS-TOW-AssistElement + +GPS-TOW-AssistElement ::= SEQUENCE { + satelliteID INTEGER (1..64), + tlmWord INTEGER (0..16383), + antiSpoof INTEGER (0..1), + alert INTEGER (0..1), + tlmRsvdBits INTEGER (0..3), + ... +} + + +NetworkTime ::= SEQUENCE { + secondsFromFrameStructureStart INTEGER(0..12533), + fractionalSecondsFromFrameStructureStart INTEGER(0..3999999), + frameDrift INTEGER (-64..63) OPTIONAL, -- Cond GNSSsynch + cellID CHOICE { + eUTRA SEQUENCE { + physCellId INTEGER (0..503), + cellGlobalIdEUTRA CellGlobalIdEUTRA-AndUTRA OPTIONAL, -- Need ON + earfcn ARFCN-ValueEUTRA, + ..., + [[ earfcn-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-max + ]] + }, + uTRA SEQUENCE { + mode CHOICE { + fdd SEQUENCE { + primary-CPICH-Info INTEGER (0..511), + ... + }, + tdd SEQUENCE { + cellParameters INTEGER (0..127), + ... + } + }, + cellGlobalIdUTRA CellGlobalIdEUTRA-AndUTRA OPTIONAL, -- Need ON + uarfcn ARFCN-ValueUTRA, + ... + }, + gSM SEQUENCE { + bcchCarrier INTEGER (0..1023), + bsic INTEGER (0..63), + cellGlobalIdGERAN CellGlobalIdGERAN OPTIONAL, -- Need ON + ... + }, + ..., + nBIoT-r14 SEQUENCE { + nbPhysCellId-r14 INTEGER (0..503), + nbCellGlobalId-r14 ECGI OPTIONAL, -- Need ON + nbCarrierFreq-r14 CarrierFreq-NB-r14, + ... + }, + nr-r15 SEQUENCE { + nrPhysCellId-r15 INTEGER (0..1007), + nrCellGlobalID-r15 NCGI-r15 OPTIONAL, -- Need ON + nrARFCN-r15 ARFCN-ValueNR-r15, + ... + } + }, + ... +} + + +GNSS-ReferenceLocation ::= SEQUENCE { + threeDlocation EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + ... +} + + +GNSS-IonosphericModel ::= SEQUENCE { + klobucharModel KlobucharModelParameter OPTIONAL, -- Need ON + neQuickModel NeQuickModelParameter OPTIONAL, -- Need ON + ..., + [[ klobucharModel2-r16 KlobucharModel2Parameter-r16 OPTIONAL -- Need ON + ]] + +} + + +KlobucharModelParameter ::= SEQUENCE { + dataID BIT STRING (SIZE (2)), + alfa0 INTEGER (-128..127), + alfa1 INTEGER (-128..127), + alfa2 INTEGER (-128..127), + alfa3 INTEGER (-128..127), + beta0 INTEGER (-128..127), + beta1 INTEGER (-128..127), + beta2 INTEGER (-128..127), + beta3 INTEGER (-128..127), + ... +} + + +KlobucharModel2Parameter-r16 ::= SEQUENCE { + alfa1-r16 INTEGER (0..1023), + alfa2-r16 INTEGER (-128..127), + alfa3-r16 INTEGER (0..255), + alfa4-r16 INTEGER (0..255), + alfa5-r16 INTEGER (0..255), + alfa6-r16 INTEGER (-128..127), + alfa7-r16 INTEGER (-128..127), + alfa8-r16 INTEGER (-128..127), + alfa9-r16 INTEGER (-128..127), + ... +} + + +NeQuickModelParameter ::= SEQUENCE { + ai0 INTEGER (0..2047), + ai1 INTEGER (-1024..1023), + ai2 INTEGER (-8192..8191), + ionoStormFlag1 INTEGER (0..1) OPTIONAL, -- Need OP + ionoStormFlag2 INTEGER (0..1) OPTIONAL, -- Need OP + ionoStormFlag3 INTEGER (0..1) OPTIONAL, -- Need OP + ionoStormFlag4 INTEGER (0..1) OPTIONAL, -- Need OP + ionoStormFlag5 INTEGER (0..1) OPTIONAL, -- Need OP + ... +} + + +GNSS-EarthOrientationParameters ::= SEQUENCE { + teop INTEGER (0..65535), + pmX INTEGER (-1048576..1048575), + pmXdot INTEGER (-16384..16383), + pmY INTEGER (-1048576..1048575), + pmYdot INTEGER (-16384..16383), + deltaUT1 INTEGER (-1073741824..1073741823), + deltaUT1dot INTEGER (-262144..262143), + ... +} + + +GNSS-RTK-ReferenceStationInfo-r15 ::= SEQUENCE { + referenceStationID-r15 GNSS-ReferenceStationID-r15, + referenceStationIndicator-r15 ENUMERATED {physical, non-physical}, + antenna-reference-point-ECEF-X-r15 INTEGER (-137438953472..137438953471), + antenna-reference-point-ECEF-Y-r15 INTEGER (-137438953472..137438953471), + antenna-reference-point-ECEF-Z-r15 INTEGER (-137438953472..137438953471), + antennaHeight-r15 INTEGER (0..65535) OPTIONAL, -- Need ON + antennaDescription-r15 AntennaDescription-r15 OPTIONAL, -- Need ON + antenna-reference-point-unc-r15 AntennaReferencePointUnc-r15 OPTIONAL, -- Need ON + physical-reference-station-info-r15 PhysicalReferenceStationInfo-r15 OPTIONAL, -- Cond NP + ..., + [[ + equalIntegerAmbiguityLevel-r16 EqualIntegerAmbiguityLevel-r16 OPTIONAL -- Need ON + ]] +} + +AntennaDescription-r15 ::= SEQUENCE { + antennaDescriptor-r15 VisibleString (SIZE (1..256)), + antennaSetUpID-r15 ENUMERATED { non-zero } OPTIONAL, -- Need OP + ... +} + +AntennaReferencePointUnc-r15 ::= SEQUENCE { + uncertainty-X-r15 INTEGER (0..255), + confidence-X-r15 INTEGER (0..100), + uncertainty-Y-r15 INTEGER (0..255), + confidence-Y-r15 INTEGER (0..100), + uncertainty-Z-r15 INTEGER (0..255), + confidence-Z-r15 INTEGER (0..100), + ... +} + +PhysicalReferenceStationInfo-r15 ::= SEQUENCE { + physicalReferenceStationID-r15 GNSS-ReferenceStationID-r15, + physical-ARP-ECEF-X-r15 INTEGER (-137438953472..137438953471), + physical-ARP-ECEF-Y-r15 INTEGER (-137438953472..137438953471), + physical-ARP-ECEF-Z-r15 INTEGER (-137438953472..137438953471), + physical-ARP-unc-r15 AntennaReferencePointUnc-r15 OPTIONAL, -- Need ON + ... +} + +EqualIntegerAmbiguityLevel-r16 ::= CHOICE { + allReferenceStations-r16 NULL, + referenceStationList-r16 ReferenceStationList-r16 +} + +ReferenceStationList-r16 ::= SEQUENCE (SIZE(1..16)) OF GNSS-ReferenceStationID-r15 + + +GNSS-RTK-CommonObservationInfo-r15 ::= SEQUENCE { + referenceStationID-r15 GNSS-ReferenceStationID-r15, + clockSteeringIndicator-r15 INTEGER (0..3), + externalClockIndicator-r15 INTEGER (0..3), + smoothingIndicator-r15 BIT STRING (SIZE(1)), + smoothingInterval-r15 BIT STRING (SIZE(3)), + ... +} + + +GNSS-RTK-AuxiliaryStationData-r15 ::= SEQUENCE { + networkID-r15 GNSS-NetworkID-r15, + subNetworkID-r15 GNSS-SubNetworkID-r15 OPTIONAL, -- Need ON + master-referenceStationID-r15 GNSS-ReferenceStationID-r15, + auxiliaryStationList-r15 AuxiliaryStationList-r15, + ... +} + +AuxiliaryStationList-r15 ::= SEQUENCE (SIZE (1..32)) OF AuxiliaryStationElement-r15 + +AuxiliaryStationElement-r15 ::= SEQUENCE { + aux-referenceStationID-r15 GNSS-ReferenceStationID-r15, + aux-master-delta-latitude-r15 INTEGER (-524288..524287), + aux-master-delta-longitude-r15 INTEGER (-1048576..1048575), + aux-master-delta-height-r15 INTEGER (-4194304..4194303), + aux-ARP-unc-r15 Aux-ARP-Unc-r15 OPTIONAL, -- Need ON + ... +} + +Aux-ARP-Unc-r15 ::= SEQUENCE { + horizontalUncertainty-r15 INTEGER (0..255), + horizontalConfidence-r15 INTEGER (0..100), + verticalUncertainty-r15 INTEGER (0..255) OPTIONAL, -- Need ON + verticalConfidence-r15 INTEGER (0..100) OPTIONAL, -- Need ON + ... +} + + +GNSS-SSR-CorrectionPoints-r16 ::= SEQUENCE { + correctionPointSetID-r16 INTEGER (0..16383), + correctionPoints-r16 CHOICE { + listOfCorrectionPoints-r16 GNSS-SSR-ListOfCorrectionPoints-r16, + arrayOfCorrectionPoints-r16 GNSS-SSR-ArrayOfCorrectionPoints-r16 + }, + ... +} + +GNSS-SSR-ListOfCorrectionPoints-r16 ::= SEQUENCE { + referencePointLatitude-r16 INTEGER (-16384..16383), + referencePointLongitude-r16 INTEGER (-32768..32767), + relativeLocationsList-r16 SEQUENCE (SIZE (0..63)) OF RelativeLocationElement-r16, + ... +} + +RelativeLocationElement-r16 ::= SEQUENCE { + deltaLatitude-r16 INTEGER (-512..511), + deltaLongitude-r16 INTEGER (-1024..1023), + ... +} + +GNSS-SSR-ArrayOfCorrectionPoints-r16 ::=SEQUENCE { + referencePointLatitude-r16 INTEGER (-16384..16383), + referencePointLongitude-r16 INTEGER (-32768..32767), + numberOfStepsLatitude-r16 INTEGER (0..63), + numberOfStepsLongitude-r16 INTEGER (0..63), + stepOfLatitude-r16 INTEGER (1..511), + stepOfLongitude-r16 INTEGER (1..1023), + bitmaskOfGrids-r16 BIT STRING (SIZE(64)) OPTIONAL, -- Need OP + ... +} + + +GNSS-Integrity-ServiceParameters-r17 ::= SEQUENCE { + irMinimum-r17 INTEGER (0..255), + irMaximum-r17 INTEGER (0..255), + ... +} + + +GNSS-Integrity-ServiceAlert-r17 ::= SEQUENCE { + ionosphereDoNotUse-r17 BOOLEAN, + troposphereDoNotUse-r17 BOOLEAN, + ... +} + + +GNSS-TimeModelList ::= SEQUENCE (SIZE (1..15)) OF GNSS-TimeModelElement + +GNSS-TimeModelElement ::= SEQUENCE { + gnss-TimeModelRefTime INTEGER (0..65535), + tA0 INTEGER (-67108864..67108863), + tA1 INTEGER (-4096..4095) OPTIONAL, -- Need ON + tA2 INTEGER (-64..63) OPTIONAL, -- Need ON + gnss-TO-ID INTEGER (1..15), + weekNumber INTEGER (0..8191) OPTIONAL, -- Need ON + deltaT INTEGER (-128..127) OPTIONAL, -- Need ON + ... +} + + +GNSS-DifferentialCorrections ::= SEQUENCE { + dgnss-RefTime INTEGER (0..3599), + dgnss-SgnTypeList DGNSS-SgnTypeList, + ... +} + +DGNSS-SgnTypeList ::= SEQUENCE (SIZE (1..3)) OF DGNSS-SgnTypeElement + +DGNSS-SgnTypeElement ::= SEQUENCE { + gnss-SignalID GNSS-SignalID, + gnss-StatusHealth INTEGER (0..7), + dgnss-SatList DGNSS-SatList, + ... +} + +DGNSS-SatList ::= SEQUENCE (SIZE (1..64)) OF DGNSS-CorrectionsElement + +DGNSS-CorrectionsElement ::= SEQUENCE { + svID SV-ID, + iod BIT STRING (SIZE(11)), + udre INTEGER (0..3), + pseudoRangeCor INTEGER (-2047..2047), + rangeRateCor INTEGER (-127..127), + udreGrowthRate INTEGER (0..7) OPTIONAL, -- Need ON + udreValidityTime INTEGER (0..7) OPTIONAL, -- Need ON + ... +} + + +GNSS-NavigationModel ::= SEQUENCE { + nonBroadcastIndFlag INTEGER (0..1), + gnss-SatelliteList GNSS-NavModelSatelliteList, + ... +} + +GNSS-NavModelSatelliteList ::= SEQUENCE (SIZE(1..64)) OF GNSS-NavModelSatelliteElement + +GNSS-NavModelSatelliteElement ::= SEQUENCE { + svID SV-ID, + svHealth BIT STRING (SIZE(8)), + iod BIT STRING (SIZE(11)), + gnss-ClockModel GNSS-ClockModel, + gnss-OrbitModel GNSS-OrbitModel, + ..., + [[ svHealthExt-v1240 BIT STRING (SIZE(4)) OPTIONAL -- Need ON + ]] +} + +GNSS-ClockModel ::= CHOICE { + standardClockModelList StandardClockModelList, -- Model-1 + nav-ClockModel NAV-ClockModel, -- Model-2 + cnav-ClockModel CNAV-ClockModel, -- Model-3 + glonass-ClockModel GLONASS-ClockModel, -- Model-4 + sbas-ClockModel SBAS-ClockModel, -- Model-5 + ..., + bds-ClockModel-r12 BDS-ClockModel-r12, -- Model-6 + bds-ClockModel2-r16 BDS-ClockModel2-r16, -- Model-7 + navic-ClockModel-r16 NavIC-ClockModel-r16 -- Model-8 +} + +GNSS-OrbitModel ::= CHOICE { + keplerianSet NavModelKeplerianSet, -- Model-1 + nav-KeplerianSet NavModelNAV-KeplerianSet, -- Model-2 + cnav-KeplerianSet NavModelCNAV-KeplerianSet, -- Model-3 + glonass-ECEF NavModel-GLONASS-ECEF, -- Model-4 + sbas-ECEF NavModel-SBAS-ECEF, -- Model-5 + ..., + bds-KeplerianSet-r12 NavModel-BDS-KeplerianSet-r12, -- Model-6 + bds-KeplerianSet2-r16 NavModel-BDS-KeplerianSet2-r16, -- Model-7 + navic-KeplerianSet-r16 NavModel-NavIC-KeplerianSet-r16 -- Model-8 +} + + +StandardClockModelList ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement + +StandardClockModelElement ::= SEQUENCE { + stanClockToc INTEGER (0..16383), + stanClockAF2 INTEGER (-32..31), + stanClockAF1 INTEGER (-1048576..1048575), + stanClockAF0 INTEGER (-1073741824..1073741823), + stanClockTgd INTEGER (-512..511) OPTIONAL, -- Need ON + sisa INTEGER (0..255), + stanModelID INTEGER (0..1) OPTIONAL, -- Need ON + ... +} + + +NAV-ClockModel ::= SEQUENCE { + navToc INTEGER (0..37799), + navaf2 INTEGER (-128..127), + navaf1 INTEGER (-32768..32767), + navaf0 INTEGER (-2097152..2097151), + navTgd INTEGER (-128..127), + ... +} + + +CNAV-ClockModel ::= SEQUENCE { + cnavToc INTEGER (0..2015), + cnavTop INTEGER (0..2015), + cnavURA0 INTEGER (-16..15), + cnavURA1 INTEGER (0..7), + cnavURA2 INTEGER (0..7), + cnavAf2 INTEGER (-512..511), + cnavAf1 INTEGER (-524288..524287), + cnavAf0 INTEGER (-33554432..33554431), + cnavTgd INTEGER (-4096..4095), + cnavISCl1cp INTEGER (-4096..4095) OPTIONAL, -- Need ON + cnavISCl1cd INTEGER (-4096..4095) OPTIONAL, -- Need ON + cnavISCl1ca INTEGER (-4096..4095) OPTIONAL, -- Need ON + cnavISCl2c INTEGER (-4096..4095) OPTIONAL, -- Need ON + cnavISCl5i5 INTEGER (-4096..4095) OPTIONAL, -- Need ON + cnavISCl5q5 INTEGER (-4096..4095) OPTIONAL, -- Need ON + ... +} + + +GLONASS-ClockModel ::= SEQUENCE { + gloTau INTEGER (-2097152..2097151), + gloGamma INTEGER (-1024..1023), + gloDeltaTau INTEGER (-16..15) OPTIONAL, -- Need ON + ... +} + + +SBAS-ClockModel ::= SEQUENCE { + sbasTo INTEGER (0..5399), + sbasAgfo INTEGER (-2048..2047), + sbasAgf1 INTEGER (-128..127), + ... +} + + +BDS-ClockModel-r12 ::= SEQUENCE { + bdsAODC-r12 INTEGER (0..31), + bdsToc-r12 INTEGER (0..131071), + bdsA0-r12 INTEGER (-8388608..8388607), + bdsA1-r12 INTEGER (-2097152..2097151), + bdsA2-r12 INTEGER (-1024..1023), + bdsTgd1-r12 INTEGER (-512..511), + ..., + [[ bdsTgd2-r16 INTEGER (-512..511) OPTIONAL -- Need ON + ]] +} + + +BDS-ClockModel2-r16 ::= SEQUENCE { + bdsToc-r16 INTEGER (0..2047), + bdsA0-r16 INTEGER (-16777216..16777215), + bdsA1-r16 INTEGER (-2097152..2097151), + bdsA2-r16 INTEGER (-1024..1023), + bdsTgdB1Cp-r16 INTEGER (-2048..2047), + bdsIscB1Cd-r16 INTEGER (-2048..2047), + ..., + [[ bdsTgdB2ap-r17 INTEGER (-2048..2047) OPTIONAL, -- Need ON + bdsIscB2ad-r17 INTEGER (-2048..2047) OPTIONAL -- Need ON + ]] +} + + +NavIC-ClockModel-r16 ::= SEQUENCE { + navic-Toc-r16 INTEGER (0..65535), + navic-af2-r16 INTEGER (-128..127), + navic-af1-r16 INTEGER (-32768..32767), + navic-af0-r16 INTEGER (-2097152..2097151), + navic-Tgd-r16 INTEGER (-128..127), + ... +} + + +NavModelKeplerianSet ::= SEQUENCE { + keplerToe INTEGER (0 .. 16383), + keplerW INTEGER (-2147483648..2147483647), + keplerDeltaN INTEGER (-32768..32767), + keplerM0 INTEGER (-2147483648..2147483647), + keplerOmegaDot INTEGER (-8388608.. 8388607), + keplerE INTEGER (0..4294967295), + keplerIDot INTEGER (-8192..8191), + keplerAPowerHalf INTEGER (0.. 4294967295), + keplerI0 INTEGER (-2147483648..2147483647), + keplerOmega0 INTEGER (-2147483648..2147483647), + keplerCrs INTEGER (-32768..32767), + keplerCis INTEGER (-32768..32767), + keplerCus INTEGER (-32768..32767), + keplerCrc INTEGER (-32768..32767), + keplerCic INTEGER (-32768..32767), + keplerCuc INTEGER (-32768..32767), + ... +} + + +NavModelNAV-KeplerianSet ::= SEQUENCE { + navURA INTEGER (0..15), + navFitFlag INTEGER (0..1), + navToe INTEGER (0..37799), + navOmega INTEGER (-2147483648..2147483647), + navDeltaN INTEGER (-32768..32767), + navM0 INTEGER (-2147483648..2147483647), + navOmegaADot INTEGER (-8388608..8388607), + navE INTEGER (0..4294967295), + navIDot INTEGER (-8192..8191), + navAPowerHalf INTEGER (0..4294967295), + navI0 INTEGER (-2147483648..2147483647), + navOmegaA0 INTEGER (-2147483648..2147483647), + navCrs INTEGER (-32768..32767), + navCis INTEGER (-32768..32767), + navCus INTEGER (-32768..32767), + navCrc INTEGER (-32768..32767), + navCic INTEGER (-32768..32767), + navCuc INTEGER (-32768..32767), + addNAVparam SEQUENCE { + ephemCodeOnL2 INTEGER (0..3), + ephemL2Pflag INTEGER (0..1), + ephemSF1Rsvd SEQUENCE { + reserved1 INTEGER (0..8388607), -- 23-bit field + reserved2 INTEGER (0..16777215), -- 24-bit field + reserved3 INTEGER (0..16777215), -- 24-bit field + reserved4 INTEGER (0..65535) -- 16-bit field + }, + ephemAODA INTEGER (0..31) + } OPTIONAL, -- Need ON + ... +} + + +NavModelCNAV-KeplerianSet ::= SEQUENCE { + cnavTop INTEGER (0..2015), + cnavURAindex INTEGER (-16..15), + cnavDeltaA INTEGER (-33554432..33554431), + cnavAdot INTEGER (-16777216..16777215), + cnavDeltaNo INTEGER (-65536..65535), + cnavDeltaNoDot INTEGER (-4194304..4194303), + cnavMo INTEGER (-4294967296..4294967295), + cnavE INTEGER (0..8589934591), + cnavOmega INTEGER (-4294967296..4294967295), + cnavOMEGA0 INTEGER (-4294967296..4294967295), + cnavDeltaOmegaDot INTEGER (-65536..65535), + cnavIo INTEGER (-4294967296..4294967295), + cnavIoDot INTEGER (-16384..16383), + cnavCis INTEGER (-32768..32767), + cnavCic INTEGER (-32768..32767), + cnavCrs INTEGER (-8388608..8388607), + cnavCrc INTEGER (-8388608..8388607), + cnavCus INTEGER (-1048576..1048575), + cnavCuc INTEGER (-1048576..1048575), + ... +} + + +NavModel-GLONASS-ECEF ::= SEQUENCE { + gloEn INTEGER (0..31), + gloP1 BIT STRING (SIZE(2)), + gloP2 BOOLEAN, + gloM INTEGER (0..3), + gloX INTEGER (-67108864..67108863), + gloXdot INTEGER (-8388608..8388607), + gloXdotdot INTEGER (-16..15), + gloY INTEGER (-67108864..67108863), + gloYdot INTEGER (-8388608..8388607), + gloYdotdot INTEGER (-16..15), + gloZ INTEGER (-67108864..67108863), + gloZdot INTEGER (-8388608..8388607), + gloZdotdot INTEGER (-16..15), + ... +} + + +NavModel-SBAS-ECEF ::= SEQUENCE { + sbasTo INTEGER (0..5399) OPTIONAL, -- Cond ClockModel + sbasAccuracy BIT STRING (SIZE(4)), + sbasXg INTEGER (-536870912..536870911), + sbasYg INTEGER (-536870912..536870911), + sbasZg INTEGER (-16777216..16777215), + sbasXgDot INTEGER (-65536..65535), + sbasYgDot INTEGER (-65536..65535), + sbasZgDot INTEGER (-131072..131071), + sbasXgDotDot INTEGER (-512..511), + sbagYgDotDot INTEGER (-512..511), + sbasZgDotDot INTEGER (-512..511), + ... +} + + +NavModel-BDS-KeplerianSet-r12 ::= SEQUENCE { + bdsAODE-r12 INTEGER (0..31), + bdsURAI-r12 INTEGER (0..15), + bdsToe-r12 INTEGER (0..131071), + bdsAPowerHalf-r12 INTEGER (0..4294967295), + bdsE-r12 INTEGER (0..4294967295), + bdsW-r12 INTEGER (-2147483648..2147483647), + bdsDeltaN-r12 INTEGER (-32768..32767), + bdsM0-r12 INTEGER (-2147483648..2147483647), + bdsOmega0-r12 INTEGER (-2147483648..2147483647), + bdsOmegaDot-r12 INTEGER (-8388608..8388607), + bdsI0-r12 INTEGER (-2147483648..2147483647), + bdsIDot-r12 INTEGER (-8192..8191), + bdsCuc-r12 INTEGER (-131072..131071), + bdsCus-r12 INTEGER (-131072..131071), + bdsCrc-r12 INTEGER (-131072..131071), + bdsCrs-r12 INTEGER (-131072..131071), + bdsCic-r12 INTEGER (-131072..131071), + bdsCis-r12 INTEGER (-131072..131071), + ... +} + + +NavModel-BDS-KeplerianSet2-r16 ::= SEQUENCE { + bdsIODE-r16 INTEGER (0..255), + bdsToe-r16 INTEGER (0..2047), + bdsDeltaA-r16 INTEGER (-33554432..33554431), + bdsAdot-r16 INTEGER (-16777216..16777216), + bdsDeltaN0-r16 INTEGER (-65536..65535), + bdsDeltaN0dot-r16 INTEGER (-4194304..4194303), + bdsM0-r16 INTEGER (-4294967296..4294967295), + bdsE-r16 INTEGER (0..8589934591), + bdsOmega-r16 INTEGER (-4294967296..4294967295), + bdsOmega0-r16 INTEGER (-4294967296..4294967295), + bdsI0-r16 INTEGER (-4294967296..4294967295), + bdsOmegaDot-r16 INTEGER (-262144..262143), + bdsI0Dot-r16 INTEGER (-16384..16383), + bdsCuc-r16 INTEGER (-1048576..1048575), + bdsCus-r16 INTEGER (-1048576..1048575), + bdsCrc-r16 INTEGER (-8388608..8388607), + bdsCrs-r16 INTEGER (-8388608..8388607), + bdsCic-r16 INTEGER (-32768..32767), + bdsCis-r16 INTEGER (-32768..32767), + ... +} + + +NavModel-NavIC-KeplerianSet-r16 ::= SEQUENCE { + navic-Toe-r16 INTEGER (0..65536), + navic-URAI-r16 INTEGER (0..15), + navic-W-r16 INTEGER (-2147483648..2147483647), + navic-DeltaN-r16 INTEGER (-2097152..2097151), + navic-M0-r16 INTEGER (-2147483648..2147483647), + navic-OmegaDot-r16 INTEGER (-2147483648..2147483647), + navic-E-r16 INTEGER (0..4294967295), + navic-IDot-r16 INTEGER (-8192..8191), + navic-APowerHalf-r16 INTEGER (0.. 4294967295), + navic-I0-r16 INTEGER (-2147483648..2147483647), + navic-Omega0-r16 INTEGER (-2147483648..2147483647), + navic-Crs-r16 INTEGER (-32768..32767), + navic-Cis-r16 INTEGER (-32768..32767), + navic-Cus-r16 INTEGER (-32768..32767), + navic-Crc-r16 INTEGER (-32768..32767), + navic-Cic-r16 INTEGER (-32768..32767), + navic-Cuc-r16 INTEGER (-32768..32767), + ... +} + + +GNSS-RealTimeIntegrity ::= SEQUENCE { + gnss-BadSignalList GNSS-BadSignalList, + ... +} + +GNSS-BadSignalList ::= SEQUENCE (SIZE(1..64)) OF BadSignalElement + +BadSignalElement ::= SEQUENCE { + badSVID SV-ID, + badSignalID GNSS-SignalIDs OPTIONAL, -- Need OP + ... +} + + +GNSS-DataBitAssistance ::= SEQUENCE { + gnss-TOD INTEGER (0..3599), + gnss-TODfrac INTEGER (0..999) OPTIONAL, -- Need ON + gnss-DataBitsSatList GNSS-DataBitsSatList, + ... +} + +GNSS-DataBitsSatList ::= SEQUENCE (SIZE(1..64))OF GNSS-DataBitsSatElement + +GNSS-DataBitsSatElement ::= SEQUENCE { + svID SV-ID, + gnss-DataBitsSgnList GNSS-DataBitsSgnList, + ... +} + +GNSS-DataBitsSgnList ::= SEQUENCE (SIZE(1..8)) OF GNSS-DataBitsSgnElement + +GNSS-DataBitsSgnElement ::= SEQUENCE { + gnss-SignalType GNSS-SignalID, + gnss-DataBits BIT STRING (SIZE (1..1024)), + ... +} + + +GNSS-AcquisitionAssistance ::= SEQUENCE { + gnss-SignalID GNSS-SignalID, + gnss-AcquisitionAssistList GNSS-AcquisitionAssistList, + ..., + confidence-r10 INTEGER (0..100) OPTIONAL -- Need ON +} + +GNSS-AcquisitionAssistList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AcquisitionAssistElement + +GNSS-AcquisitionAssistElement ::= SEQUENCE { + svID SV-ID, + doppler0 INTEGER (-2048..2047), + doppler1 INTEGER (0..63), + dopplerUncertainty INTEGER (0..4), + codePhase INTEGER (0..1022), + intCodePhase INTEGER (0..127), + codePhaseSearchWindow INTEGER (0..31), + azimuth INTEGER (0..511), + elevation INTEGER (0..127), + ..., + codePhase1023 BOOLEAN OPTIONAL, -- Need OP + dopplerUncertaintyExt-r10 ENUMERATED { d60, + d80, + d100, + d120, + noInformation, ... } OPTIONAL -- Need ON +} + + +GNSS-Almanac ::= SEQUENCE { + weekNumber INTEGER (0..255) OPTIONAL, -- Need ON + toa INTEGER (0..255) OPTIONAL, -- Need ON + ioda INTEGER (0..3) OPTIONAL, -- Need ON + completeAlmanacProvided BOOLEAN, + gnss-AlmanacList GNSS-AlmanacList, + ..., + [[ toa-ext-v1240 INTEGER (256..1023) OPTIONAL, -- Need ON + ioda-ext-v1240 INTEGER (4..15) OPTIONAL -- Need ON + ]], + [[ + weekNumber-ext-r16 INTEGER (256..8191) OPTIONAL, -- Need ON + toa-ext2-r16 INTEGER (256..65535) OPTIONAL -- Need ON + ]] +} + +GNSS-AlmanacList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AlmanacElement + +GNSS-AlmanacElement ::= CHOICE { + keplerianAlmanacSet AlmanacKeplerianSet, -- Model-1 + keplerianNAV-Almanac AlmanacNAV-KeplerianSet, -- Model-2 + keplerianReducedAlmanac AlmanacReducedKeplerianSet, -- Model-3 + keplerianMidiAlmanac AlmanacMidiAlmanacSet, -- Model-4 + keplerianGLONASS AlmanacGLONASS-AlmanacSet, -- Model-5 + ecef-SBAS-Almanac AlmanacECEF-SBAS-AlmanacSet,-- Model-6 + ..., + keplerianBDS-Almanac-r12 AlmanacBDS-AlmanacSet-r12, -- Model-7 + keplerianNavIC-Almanac-r16 AlmanacNavIC-AlmanacSet-r16 -- Model-8 +} + + +AlmanacKeplerianSet ::= SEQUENCE { + svID SV-ID, + kepAlmanacE INTEGER (0..2047), + kepAlmanacDeltaI INTEGER (-1024..1023), + kepAlmanacOmegaDot INTEGER (-1024..1023), + kepSV-StatusINAV BIT STRING (SIZE (4)), + kepSV-StatusFNAV BIT STRING (SIZE (2)) OPTIONAL, -- Need ON + kepAlmanacAPowerHalf INTEGER (-4096..4095), + kepAlmanacOmega0 INTEGER (-32768..32767), + kepAlmanacW INTEGER (-32768..32767), + kepAlmanacM0 INTEGER (-32768..32767), + kepAlmanacAF0 INTEGER (-32768..32767), + kepAlmanacAF1 INTEGER (-4096..4095), + ... +} + + +AlmanacNAV-KeplerianSet ::= SEQUENCE { + svID SV-ID, + navAlmE INTEGER (0..65535), + navAlmDeltaI INTEGER (-32768..32767), + navAlmOMEGADOT INTEGER (-32768..32767), + navAlmSVHealth INTEGER (0..255), + navAlmSqrtA INTEGER (0..16777215), + navAlmOMEGAo INTEGER (-8388608..8388607), + navAlmOmega INTEGER (-8388608..8388607), + navAlmMo INTEGER (-8388608..8388607), + navAlmaf0 INTEGER (-1024..1023), + navAlmaf1 INTEGER (-1024..1023), + ... +} + + +AlmanacReducedKeplerianSet ::= SEQUENCE { + svID SV-ID, + redAlmDeltaA INTEGER (-128..127), + redAlmOmega0 INTEGER (-64..63), + redAlmPhi0 INTEGER (-64..63), + redAlmL1Health BOOLEAN, + redAlmL2Health BOOLEAN, + redAlmL5Health BOOLEAN, + ... +} + + +AlmanacMidiAlmanacSet ::= SEQUENCE { + svID SV-ID, + midiAlmE INTEGER (0..2047), + midiAlmDeltaI INTEGER (-1024..1023), + midiAlmOmegaDot INTEGER (-1024..1023), + midiAlmSqrtA INTEGER (0..131071), + midiAlmOmega0 INTEGER (-32768..32767), + midiAlmOmega INTEGER (-32768..32767), + midiAlmMo INTEGER (-32768..32767), + midiAlmaf0 INTEGER (-1024..1023), + midiAlmaf1 INTEGER (-512..511), + midiAlmL1Health BOOLEAN, + midiAlmL2Health BOOLEAN, + midiAlmL5Health BOOLEAN, + ... +} + + +AlmanacGLONASS-AlmanacSet ::= SEQUENCE { + gloAlm-NA INTEGER (1..1461), + gloAlmnA INTEGER (1..24), + gloAlmHA INTEGER (0..31), + gloAlmLambdaA INTEGER (-1048576..1048575), + gloAlmtlambdaA INTEGER (0..2097151), + gloAlmDeltaIa INTEGER (-131072..131071), + gloAlmDeltaTA INTEGER (-2097152..2097151), + gloAlmDeltaTdotA INTEGER (-64..63), + gloAlmEpsilonA INTEGER (0..32767), + gloAlmOmegaA INTEGER (-32768..32767), + gloAlmTauA INTEGER (-512..511), + gloAlmCA INTEGER (0..1), + gloAlmMA BIT STRING (SIZE(2)) OPTIONAL, -- Need ON + ... +} + + +AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE { + sbasAlmDataID INTEGER (0..3), + svID SV-ID, + sbasAlmHealth BIT STRING (SIZE(8)), + sbasAlmXg INTEGER (-16384..16383), + sbasAlmYg INTEGER (-16384..16383), + sbasAlmZg INTEGER (-256..255), + sbasAlmXgdot INTEGER (-4..3), + sbasAlmYgDot INTEGER (-4..3), + sbasAlmZgDot INTEGER (-8..7), + sbasAlmTo INTEGER (0..2047), + ... +} + + +AlmanacBDS-AlmanacSet-r12 ::= SEQUENCE { + svID SV-ID, + bdsAlmToa-r12 INTEGER (0..255) OPTIONAL, -- Cond NotSameForAllSV + bdsAlmSqrtA-r12 INTEGER (0..16777215), + bdsAlmE-r12 INTEGER (0..131071), + bdsAlmW-r12 INTEGER (-8388608..8388607), + bdsAlmM0-r12 INTEGER (-8388608..8388607), + bdsAlmOmega0-r12 INTEGER (-8388608..8388607), + bdsAlmOmegaDot-r12 INTEGER (-65536..65535), + bdsAlmDeltaI-r12 INTEGER (-32768..32767), + bdsAlmA0-r12 INTEGER (-1024..1023), + bdsAlmA1-r12 INTEGER (-1024..1023), + bdsSvHealth-r12 BIT STRING (SIZE(9)) OPTIONAL, -- Cond SV-ID + ... +} + + +AlmanacNavIC-AlmanacSet-r16 ::= SEQUENCE { + svID-r16 SV-ID, + navic-AlmToa-r16 INTEGER (0..65535) OPTIONAL, -- Cond NotSameForAllSV + navic-AlmE-r16 INTEGER (0..65535), + navic-AlmOMEGADOT-r16 INTEGER (-32768..32767), + navic-AlmSqrtA-r16 INTEGER (0..16777215), + navic-AlmOMEGAo-r16 INTEGER (-8388608..8388607), + navic-AlmOmega-r16 INTEGER (-8388608..8388607), + navic-AlmMo-r16 INTEGER (-8388608..8388607), + navic-Almaf0-r16 INTEGER (-1024..1023), + navic-Almaf1-r16 INTEGER (-1024..1023), + ... +} + + +GNSS-UTC-Model ::= CHOICE { + utcModel1 UTC-ModelSet1, -- Model-1 + utcModel2 UTC-ModelSet2, -- Model-2 + utcModel3 UTC-ModelSet3, -- Model-3 + utcModel4 UTC-ModelSet4, -- Model-4 + ..., + utcModel5-r12 UTC-ModelSet5-r12 -- Model-5 +} + + +UTC-ModelSet1 ::= SEQUENCE { + gnss-Utc-A1 INTEGER (-8388608..8388607), + gnss-Utc-A0 INTEGER (-2147483648..2147483647), + gnss-Utc-Tot INTEGER (0..255), + gnss-Utc-WNt INTEGER (0..255), + gnss-Utc-DeltaTls INTEGER (-128..127), + gnss-Utc-WNlsf INTEGER (0..255), + gnss-Utc-DN INTEGER (-128..127), + gnss-Utc-DeltaTlsf INTEGER (-128..127), + ... +} + + +UTC-ModelSet2 ::= SEQUENCE { + utcA0 INTEGER (-32768..32767), + utcA1 INTEGER (-4096..4095), + utcA2 INTEGER (-64..63), + utcDeltaTls INTEGER (-128..127), + utcTot INTEGER (0..65535), + utcWNot INTEGER (0..8191), + utcWNlsf INTEGER (0..255), + utcDN BIT STRING (SIZE(4)), + utcDeltaTlsf INTEGER (-128..127), + ..., + [[ + utcWNlsf-ext-r16 INTEGER (256..8191) OPTIONAL -- Need ON + ]] +} + + +UTC-ModelSet3 ::= SEQUENCE { + nA INTEGER (1..1461), + tauC INTEGER (-2147483648..2147483647), + b1 INTEGER (-1024..1023) OPTIONAL, -- Cond GLONASS-M + b2 INTEGER (-512..511) OPTIONAL, -- Cond GLONASS-M + kp BIT STRING (SIZE(2)) OPTIONAL, -- Cond GLONASS-M + ... +} + + +UTC-ModelSet4 ::= SEQUENCE { + utcA1wnt INTEGER (-8388608..8388607), + utcA0wnt INTEGER (-2147483648..2147483647), + utcTot INTEGER (0..255), + utcWNt INTEGER (0..255), + utcDeltaTls INTEGER (-128..127), + utcWNlsf INTEGER (0..255), + utcDN INTEGER (-128..127), + utcDeltaTlsf INTEGER (-128..127), + utcStandardID INTEGER (0..7), + ... +} + + +UTC-ModelSet5-r12 ::= SEQUENCE { + utcA0-r12 INTEGER (-2147483648..2147483647), + utcA1-r12 INTEGER (-8388608..8388607), + utcDeltaTls-r12 INTEGER (-128..127), + utcWNlsf-r12 INTEGER (0..255), + utcDN-r12 INTEGER (0..255), + utcDeltaTlsf-r12 INTEGER (-128..127), + ... +} + + +GNSS-AuxiliaryInformation ::= CHOICE { + gnss-ID-GPS GNSS-ID-GPS, + gnss-ID-GLONASS GNSS-ID-GLONASS, + ..., + [[ gnss-ID-BDS-r16 GNSS-ID-BDS-r16 + ]] +} + +GNSS-ID-GPS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GPS-SatElement + +GNSS-ID-GPS-SatElement ::= SEQUENCE { + svID SV-ID, + signalsAvailable GNSS-SignalIDs, + ... +} + +GNSS-ID-GLONASS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GLONASS-SatElement + +GNSS-ID-GLONASS-SatElement ::= SEQUENCE { + svID SV-ID, + signalsAvailable GNSS-SignalIDs, + channelNumber INTEGER (-7..13) OPTIONAL, -- Cond FDMA + ... +} + +GNSS-ID-BDS-r16 ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-BDS-SatElement-r16 + +GNSS-ID-BDS-SatElement-r16 ::= SEQUENCE { + svID-r16 SV-ID, + satType-r16 INTEGER (0..3), + ... +} + + +BDS-DifferentialCorrections-r12 ::= SEQUENCE { + dbds-RefTime-r12 INTEGER (0..3599), + bds-SgnTypeList-r12 BDS-SgnTypeList-r12, + ... +} + +BDS-SgnTypeList-r12 ::= SEQUENCE (SIZE (1..3)) OF BDS-SgnTypeElement-r12 + +BDS-SgnTypeElement-r12 ::= SEQUENCE { + gnss-SignalID GNSS-SignalID OPTIONAL, -- Need ON + dbds-CorrectionList-r12 DBDS-CorrectionList-r12, + ... +} + +DBDS-CorrectionList-r12 ::= SEQUENCE (SIZE (1..64)) OF DBDS-CorrectionElement-r12 + +DBDS-CorrectionElement-r12 ::= SEQUENCE { + svID SV-ID, + bds-UDREI-r12 INTEGER (0..15), + bds-RURAI-r12 INTEGER (0..15), + bds-ECC-DeltaT-r12 INTEGER (-4096..4095), + ... +} + + +BDS-GridModelParameter-r12 ::= SEQUENCE { + bds-RefTime-r12 INTEGER (0..3599), + gridIonList-r12 GridIonList-r12, + ... +} + +GridIonList-r12 ::= SEQUENCE (SIZE (1..320)) OF GridIonElement-r12 + +GridIonElement-r12 ::= SEQUENCE { + igp-ID-r12 INTEGER (1..320), + dt-r12 INTEGER (0..511), + givei-r12 INTEGER (0..15) , + ... +} + + +GNSS-RTK-Observations-r15 ::= SEQUENCE { + epochTime-r15 GNSS-SystemTime, + gnss-ObservationList-r15 GNSS-ObservationList-r15, + ... +} + +GNSS-ObservationList-r15 ::= SEQUENCE (SIZE(1..64)) OF GNSS-RTK-SatelliteDataElement-r15 + +GNSS-RTK-SatelliteDataElement-r15 ::= SEQUENCE{ + svID-r15 SV-ID, + integer-ms-r15 INTEGER (0..254) OPTIONAL, -- Need ON + rough-range-r15 INTEGER (0..1023), + rough-phase-range-rate-r15 INTEGER (-8192..8191) OPTIONAL, -- Need ON + gnss-rtk-SatelliteSignalDataList-r15 GNSS-RTK-SatelliteSignalDataList-r15, + ... +} + +GNSS-RTK-SatelliteSignalDataList-r15 ::= SEQUENCE (SIZE(1..24)) OF + GNSS-RTK-SatelliteSignalDataElement-r15 + + +GNSS-RTK-SatelliteSignalDataElement-r15 ::= SEQUENCE { + gnss-SignalID-r15 GNSS-SignalID, + fine-PseudoRange-r15 INTEGER (-524288..524287), + fine-PhaseRange-r15 INTEGER (-8388608..8388607), + lockTimeIndicator-r15 INTEGER (0..1023), + halfCycleAmbiguityIndicator-r15 BIT STRING (SIZE (1)), + carrier-to-noise-ratio-r15 INTEGER (0..1023) OPTIONAL, -- Need ON + fine-PhaseRangeRate-r15 INTEGER (-16384..16383) OPTIONAL, -- Need ON + ... +} + + +GLO-RTK-BiasInformation-r15 ::= SEQUENCE{ + referenceStationID-r15 GNSS-ReferenceStationID-r15, + cpbIndicator-r15 BIT STRING (SIZE(1)), + l1-ca-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON + l1-p-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON + l2-ca-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON + l2-p-cpBias-r15 INTEGER (-32768..32767) OPTIONAL, -- Need ON + ... +} + + +GNSS-RTK-MAC-CorrectionDifferences-r15 ::= SEQUENCE { + networkID-r15 GNSS-NetworkID-r15, + subNetworkID-r15 GNSS-SubNetworkID-r15 OPTIONAL, -- Need ON + master-ReferenceStationID-r15 GNSS-ReferenceStationID-r15, + l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP + l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP + rtkCorrectionDifferencesList-r15 RTK-CorrectionDifferencesList-r15, + ... +} + +RTK-CorrectionDifferencesList-r15 ::= SEQUENCE (SIZE (1..32)) OF + RTK-CorrectionDifferencesElement-r15 + +RTK-CorrectionDifferencesElement-r15 ::= SEQUENCE { + epochTime-r15 GNSS-SystemTime, + auxiliary-referenceStationID-r15 GNSS-ReferenceStationID-r15, + geometric-ionospheric-corrections-differences-r15 + Geometric-Ionospheric-Corrections-Differences-r15, + ... +} + +Geometric-Ionospheric-Corrections-Differences-r15 ::= SEQUENCE (SIZE(1..64)) OF + Geometric-Ionospheric-Corrections-Differences-Element-r15 + +Geometric-Ionospheric-Corrections-Differences-Element-r15 ::= SEQUENCE { + svID-r15 SV-ID, + ambiguityStatusFlag-r15 INTEGER (0..3), + non-synch-count-r15 INTEGER (0..7), + geometricCarrierPhaseCorrectionDifference-r15 INTEGER (-65536..65535), + iod-r15 BIT STRING (SIZE(11)), + ionosphericCarrierPhaseCorrectionDifference-r15 INTEGER (-65536..65535), + ... +} + + +GNSS-RTK-Residuals-r15 ::= SEQUENCE { + epochTime-r15 GNSS-SystemTime, + referenceStationID-r15 GNSS-ReferenceStationID-r15, + n-Refs-r15 INTEGER (0..127), + l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP + l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP + rtk-residuals-list-r15 RTK-Residuals-List-r15, + ... +} + +RTK-Residuals-List-r15 ::= SEQUENCE (SIZE(1..64)) OF RTK-Residuals-Element-r15 + +RTK-Residuals-Element-r15 ::= SEQUENCE { + svID-r15 SV-ID, + s-oc-r15 INTEGER (0..255), + s-od-r15 INTEGER (0..511), + s-oh-r15 INTEGER (0..63), + s-lc-r15 INTEGER (0..1023), + s-ld-r15 INTEGER (0..1023), + ... +} + + +GNSS-RTK-FKP-Gradients-r15 ::= SEQUENCE { + referenceStationID-r15 GNSS-ReferenceStationID-r15, + epochTime-r15 GNSS-SystemTime, + l1-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP + l2-r15 GNSS-FrequencyID-r15 OPTIONAL, -- Need OP + fkp-gradients-list-r15 FKP-Gradients-List-r15, + ... +} + +FKP-Gradients-List-r15 ::= SEQUENCE (SIZE(1..64)) OF FKP-Gradients-Element-r15 + +FKP-Gradients-Element-r15 ::= SEQUENCE { + svID-r15 SV-ID, + iod-r15 BIT STRING (SIZE(11)), + north-geometric-gradient-r15 INTEGER (-2048..2047), + east-geometric-gradient-r15 INTEGER (-2048..2047), + north-ionospheric-gradient-r15 INTEGER (-8192..8191), + east-ionospheric-gradient-r15 INTEGER (-8192..8191), + ... +} + + +GNSS-SSR-OrbitCorrections-r15 ::= SEQUENCE { + epochTime-r15 GNSS-SystemTime, + ssrUpdateInterval-r15 INTEGER (0..15), + satelliteReferenceDatum-r15 ENUMERATED { itrf, regional, ... }, + iod-ssr-r15 INTEGER (0..15), + ssr-OrbitCorrectionList-r15 SSR-OrbitCorrectionList-r15, + ..., + [[ + orbit-IntegrityParameters-r17 ORBIT-IntegrityParameters-r17 OPTIONAL -- Need OR + ]] +} + +SSR-OrbitCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-OrbitCorrectionSatelliteElement-r15 + +SSR-OrbitCorrectionSatelliteElement-r15 ::= SEQUENCE { + svID-r15 SV-ID, + iod-r15 BIT STRING (SIZE(11)), + delta-radial-r15 INTEGER (-2097152..2097151), + delta-AlongTrack-r15 INTEGER (-524288..524287), + delta-CrossTrack-r15 INTEGER (-524288..524287), + dot-delta-radial-r15 INTEGER (-1048576..1048575) OPTIONAL, -- Need ON + dot-delta-AlongTrack-r15 INTEGER (-262144..262143) OPTIONAL, -- Need ON + dot-delta-CrossTrack-r15 INTEGER (-262144..262143) OPTIONAL, -- Need ON + ..., + [[ + ssr-IntegrityOrbitBounds-r17 SSR-IntegrityOrbitBounds-r17 OPTIONAL -- Cond Integrity1 + ]] +} + +ORBIT-IntegrityParameters-r17 ::= SEQUENCE { + probOnsetConstFault-r17 INTEGER (0..255), + meanConstFaultDuration-r17 INTEGER (1..3600), + probOnsetSatFault-r17 INTEGER (0..255), + meanSatFaultDuration-r17 INTEGER (1..3600), + orbitRangeErrorCorrelationTime-r17 INTEGER (0..255) OPTIONAL, -- Need OR + orbitRangeRateErrorCorrelationTime-r17 INTEGER (0..255) OPTIONAL, -- Cond Integrity2 + ... +} + +SSR-IntegrityOrbitBounds-r17 ::= SEQUENCE { + meanOrbitError-r17 RAC-OrbitalErrorComponents-r17, + stdDevOrbitError-r17 RAC-OrbitalErrorComponents-r17, + meanOrbitRateError-r17 RAC-OrbitalErrorComponents-r17, + stdDevOrbitRateError-r17 RAC-OrbitalErrorComponents-r17, + ... +} + +RAC-OrbitalErrorComponents-r17 ::= SEQUENCE { + radial-r17 INTEGER (0..255), + alongTrack-r17 INTEGER (0..255), + crossTrack-r17 INTEGER (0..255) +} + + +GNSS-SSR-ClockCorrections-r15 ::= SEQUENCE { + epochTime-r15 GNSS-SystemTime, + ssrUpdateInterval-r15 INTEGER (0..15), + iod-ssr-r15 INTEGER (0..15), + ssr-ClockCorrectionList-r15 SSR-ClockCorrectionList-r15, + ..., + [[ + clock-IntegrityParameters-r17 CLOCK-IntegrityParameters-r17 OPTIONAL -- Need OR + ]] +} + +SSR-ClockCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-ClockCorrectionSatelliteElement-r15 + +SSR-ClockCorrectionSatelliteElement-r15 ::= SEQUENCE { + svID-r15 SV-ID, + delta-Clock-C0-r15 INTEGER (-2097152..2097151), + delta-Clock-C1-r15 INTEGER (-1048576..1048575) OPTIONAL, -- Need ON + delta-Clock-C2-r15 INTEGER (-67108864..67108863) OPTIONAL, -- Need ON + ..., + [[ + ssr-IntegrityClockBounds-r17 SSR-IntegrityClockBounds-r17 OPTIONAL -- Need OR + ]] +} + +CLOCK-IntegrityParameters-r17 ::= SEQUENCE { + clockRangeErrorCorrelationTime-r17 INTEGER (0..255), + clockRangeRateErrorCorrelationTime-r17 INTEGER (0..255), + ... +} + +SSR-IntegrityClockBounds-r17 ::= SEQUENCE { + meanClock-r17 INTEGER (0..255), + stdDevClock-r17 INTEGER (0..255), + meanClockRate-r17 INTEGER (0..255), + stdDevClockRate-r17 INTEGER (0..255), + ... +} + + +GNSS-SSR-CodeBias-r15 ::= SEQUENCE { + epochTime-r15 GNSS-SystemTime, + ssrUpdateInterval-r15 INTEGER (0..15), + iod-ssr-r15 INTEGER (0..15), + ssr-CodeBiasSatList-r15 SSR-CodeBiasSatList-r15, + ... +} + +SSR-CodeBiasSatList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-CodeBiasSatElement-r15 + +SSR-CodeBiasSatElement-r15 ::= SEQUENCE { + svID-r15 SV-ID, + ssr-CodeBiasSignalList-r15 SSR-CodeBiasSignalList-r15, + ... +} + +SSR-CodeBiasSignalList-r15 ::= SEQUENCE (SIZE(1..16)) OF SSR-CodeBiasSignalElement-r15 + +SSR-CodeBiasSignalElement-r15 ::= SEQUENCE { + signal-and-tracking-mode-ID-r15 GNSS-SignalID, + codeBias-r15 INTEGER (-8192..8191), + ..., + [[ + ssr-IntegrityCodeBiasBounds-r17 SSR-IntegrityCodeBiasBounds-r17 OPTIONAL -- Need OR + ]] +} + +SSR-IntegrityCodeBiasBounds-r17 ::= SEQUENCE { + meanCodeBias-r17 INTEGER (0..255), + stdDevCodeBias-r17 INTEGER (0..255), + meanCodeBiasRate-r17 INTEGER (0..255), + stdDevCodeBiasRate-r17 INTEGER (0..255), + ... +} + + +GNSS-SSR-URA-r16 ::= SEQUENCE { + epochTime-r16 GNSS-SystemTime, + ssrUpdateInterval-r16 INTEGER (0..15), + iod-ssr-r16 INTEGER (0..15), + ssr-URA-SatList-r16 SSR-URA-SatList-r16, + ... +} + +SSR-URA-SatList-r16 ::= SEQUENCE (SIZE(1..64)) OF SSR-URA-SatElement-r16 + +SSR-URA-SatElement-r16 ::= SEQUENCE { + svID-r16 SV-ID, + ssr-URA-r16 BIT STRING (SIZE (6)), + ... +} + + +GNSS-SSR-PhaseBias-r16 ::= SEQUENCE { + epochTime-r16 GNSS-SystemTime, + ssrUpdateInterval-r16 INTEGER (0..15), + iod-ssr-r16 INTEGER (0..15), + ssr-PhaseBiasSatList-r16 SSR-PhaseBiasSatList-r16, + ... +} + +SSR-PhaseBiasSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF SSR-PhaseBiasSatElement-r16 + +SSR-PhaseBiasSatElement-r16 ::= SEQUENCE { + svID-r16 SV-ID, + ssr-PhaseBiasSignalList-r16 SSR-PhaseBiasSignalList-r16, + ... +} + +SSR-PhaseBiasSignalList-r16 ::= SEQUENCE (SIZE(1..16)) OF SSR-PhaseBiasSignalElement-r16 + +SSR-PhaseBiasSignalElement-r16 ::= SEQUENCE { + signal-and-tracking-mode-ID-r16 GNSS-SignalID, + phaseBias-r16 INTEGER (-16384..16383), + phaseDiscontinuityIndicator-r16 INTEGER (0..3), + phaseBiasIntegerIndicator-r16 INTEGER (0..3) OPTIONAL, -- Need OP + ..., + [[ + ssr-IntegrityPhaseBiasBounds-r17 SSR-IntegrityPhaseBiasBounds-r17 OPTIONAL -- Need OR + ]] +} + +SSR-IntegrityPhaseBiasBounds-r17 ::= SEQUENCE { + meanPhaseBias-r17 INTEGER (0..255), + stdDevPhaseBias-r17 INTEGER (0..255), + meanPhaseBiasRate-r17 INTEGER (0..255), + stdDevPhaseBiasRate-r17 INTEGER (0..255), + ... +} + + +GNSS-SSR-STEC-Correction-r16 ::= SEQUENCE { + epochTime-r16 GNSS-SystemTime, + ssrUpdateInterval-r16 INTEGER (0..15), + iod-ssr-r16 INTEGER (0..15), + correctionPointSetID-r16 INTEGER (0..16383), + stec-SatList-r16 STEC-SatList-r16, + ..., + [[ + stec-IntegrityParameters-r17 STEC-IntegrityParameters-r17 OPTIONAL -- Need OR + ]] +} + +STEC-SatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-SatElement-r16 + +STEC-SatElement-r16 ::= SEQUENCE { + svID-r16 SV-ID, + stecQualityIndicator-r16 BIT STRING (SIZE(6)), + stec-C00-r16 INTEGER (-8192..8191), + stec-C01-r16 INTEGER (-2048..2047) OPTIONAL, -- Need ON + stec-C10-r16 INTEGER (-2048..2047) OPTIONAL, -- Need ON + stec-C11-r16 INTEGER (-512..511) OPTIONAL, -- Need ON + ..., + [[ + stec-IntegrityErrorBounds-r17 STEC-IntegrityErrorBounds-r17 OPTIONAL -- Cond Integrity1 + ]] +} + +STEC-IntegrityParameters-r17 ::= SEQUENCE { + probOnsetIonoFault-r17 INTEGER (0..255), + meanIonoFaultDuration-r17 INTEGER (1..256), + ionoRangeErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Need OR + ionoRangeRateErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Cond Integrity2 + ... +} + +STEC-IntegrityErrorBounds-r17 ::= SEQUENCE { + meanIonosphere-r17 INTEGER (0..255), + stdDevIonosphere-r17 INTEGER (0..255), + meanIonosphereRate-r17 INTEGER (0..255), + stdDevIonosphereRate-r17 INTEGER (0..255), + ... +} + + +GNSS-SSR-GriddedCorrection-r16 ::= SEQUENCE { + epochTime-r16 GNSS-SystemTime, + ssrUpdateInterval-r16 INTEGER (0..15), + iod-ssr-r16 INTEGER (0..15), + troposphericDelayQualityIndicator-r16 BIT STRING (SIZE(6)) OPTIONAL, -- Cond Tropo + correctionPointSetID-r16 INTEGER (0..16383), + gridList-r16 GridList-r16, + ..., + [[ + ssr-GriddedCorrectionIntegrityParameters-r17 + SSR-GriddedCorrectionIntegrityParameters-r17 + OPTIONAL -- Need OR + ]] +} + +GridList-r16 ::= SEQUENCE (SIZE(1..64)) OF GridElement-r16 + +GridElement-r16 ::= SEQUENCE { + tropospericDelayCorrection-r16 TropospericDelayCorrection-r16 OPTIONAL, -- Need ON + stec-ResidualSatList-r16 STEC-ResidualSatList-r16 OPTIONAL, -- Need ON + ... +} + +TropospericDelayCorrection-r16 ::= SEQUENCE { + tropoHydroStaticVerticalDelay-r16 INTEGER (-256..255), + tropoWetVerticalDelay-r16 INTEGER (-128..127), + ..., + [[ + tropoDelayIntegrityErrorBounds-r17 TropoDelayIntegrityErrorBounds-r17 + OPTIONAL -- Cond Integrity1 + ]] +} + +STEC-ResidualSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-ResidualSatElement-r16 + +STEC-ResidualSatElement-r16 ::= SEQUENCE { + svID-r16 SV-ID, + stecResidualCorrection-r16 CHOICE { + b7-r16 INTEGER (-64..63), + b16-r16 INTEGER (-32768..32767) + }, + ... +} + +SSR-GriddedCorrectionIntegrityParameters-r17 ::= SEQUENCE { + probOnsetTroposphereFault-r17 INTEGER (0..255), + meanTroposphereFaultDuration-r17 INTEGER (1..256), + troposphereRangeErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Need OR + troposphereRangeRateErrorCorrelationTime-r17 INTEGER (1..255) OPTIONAL, -- Cond Integrity2 + ... +} + +TropoDelayIntegrityErrorBounds-r17 ::= SEQUENCE { + meanTroposphereVerticalHydroStaticDelay-r17 INTEGER (0..255), + stdDevTroposphereVerticalHydroStaticDelay-r17 INTEGER (0..255), + meanTroposphereVerticalWetDelay-r17 INTEGER (0..255), + stdDevTroposphereVerticalWetDelay-r17 INTEGER (0..255), + meanTroposphereVerticalHydroStaticDelayRate-r17 INTEGER (0..255), + stdDevTroposphereVerticalHydroStaticDelayRate-r17 INTEGER (0..255), + meanTroposphereVerticalWetDelayRate-r17 INTEGER (0..255), + stdDevTroposphereVerticalWetDelayRate-r17 INTEGER (0..255), + ... +} + + +NavIC-DifferentialCorrections-r16 ::= SEQUENCE { + navic-RefTOWC-r16 INTEGER (0..50400), + navic-CorrectionListAutoNav-r16 NavIC-CorrectionListAutoNav-r16, + ... +} + +NavIC-CorrectionListAutoNav-r16 ::= SEQUENCE (SIZE (1..64)) OF NavIC-CorrectionElementAutoNav-r16 + +NavIC-CorrectionElementAutoNav-r16 ::= SEQUENCE { + svID SV-ID, + navic-Tod-r16 INTEGER (0..65535), + navic-iodec-r16 INTEGER (0..255), + navic-UDRAI-r16 INTEGER (-16..15), + navic-UDRArateI-r16 INTEGER (-16..15), + navic-EDC-r16 NavIC-EDC-r16, + navic-CDC-r16 NavIC-CDC-r16, + ... +} + +NavIC-EDC-r16 ::= SEQUENCE { + navic-AlphaEDC-r16 INTEGER (-8192..8191), + navic-BetaEDC-r16 INTEGER (-8192..8191), + navic-GammaEDC-r16 INTEGER (-16384..16383), + navic-AoIcorrection-r16 INTEGER (-2048..2047), + navic-AoRAcorrection-r16 INTEGER (-2048..2047), + navic-SemiMajorcorrection-r16 INTEGER (-2048..2047), + ... +} + +NavIC-CDC-r16 ::= SEQUENCE { + navic-ClockBiasCorrection-r16 INTEGER (-4096..4095), + navic-ClockDriftCorrection-r16 INTEGER (-128..127), + ... +} + + +NavIC-GridModelParameter-r16 ::= SEQUENCE { + navic-RefTOWC-r16 INTEGER (0..50400), + regionMasked-r16 INTEGER (0..1023), + regionIgpList-r16 RegionIgpList-r16, + ... +} + +RegionIgpList-r16 ::= SEQUENCE (SIZE (1..16)) OF RegionIgpElement-r16 + +RegionIgpElement-r16 ::= SEQUENCE { + regionID-r16 INTEGER (0..15), + givei1-r16 INTEGER (0..15), + givd1-r16 INTEGER (0..511), + givei2-r16 INTEGER (0..15), + givd2-r16 INTEGER (0..511), + givei3-r16 INTEGER (0..15), + givd3-r16 INTEGER (0..511), + givei4-r16 INTEGER (0..15), + givd4-r16 INTEGER (0..511), + givei5-r16 INTEGER (0..15), + givd5-r16 INTEGER (0..511), + givei6-r16 INTEGER (0..15), + givd6-r16 INTEGER (0..511), + givei7-r16 INTEGER (0..15), + givd7-r16 INTEGER (0..511), + givei8-r16 INTEGER (0..15), + givd8-r16 INTEGER (0..511), + givei9-r16 INTEGER (0..15), + givd9-r16 INTEGER (0..511), + givei10-r16 INTEGER (0..15), + givd10-r16 INTEGER (0..511), + givei11-r16 INTEGER (0..15), + givd11-r16 INTEGER (0..511), + givei12-r16 INTEGER (0..15), + givd12-r16 INTEGER (0..511), + givei13-r16 INTEGER (0..15), + givd13-r16 INTEGER (0..511), + givei14-r16 INTEGER (0..15), + givd14-r16 INTEGER (0..511), + givei15-r16 INTEGER (0..15), + givd15-r16 INTEGER (0..511), + ... +} + + +A-GNSS-RequestAssistanceData ::= SEQUENCE { + gnss-CommonAssistDataReq GNSS-CommonAssistDataReq OPTIONAL, -- Cond CommonADReq + gnss-GenericAssistDataReq GNSS-GenericAssistDataReq OPTIONAL, -- Cond GenADReq + ..., + [[ + gnss-PeriodicAssistDataReq-r15 + GNSS-PeriodicAssistDataReq-r15 OPTIONAL -- Cond PerADReq + ]] +} + + +GNSS-CommonAssistDataReq ::= SEQUENCE { + gnss-ReferenceTimeReq GNSS-ReferenceTimeReq + OPTIONAL, -- Cond RefTimeReq + gnss-ReferenceLocationReq GNSS-ReferenceLocationReq + OPTIONAL, -- Cond RefLocReq + gnss-IonosphericModelReq GNSS-IonosphericModelReq + OPTIONAL, -- Cond IonoModReq + gnss-EarthOrientationParametersReq GNSS-EarthOrientationParametersReq + OPTIONAL, -- Cond EOPReq + ..., + [[ + gnss-RTK-ReferenceStationInfoReq-r15 + GNSS-RTK-ReferenceStationInfoReq-r15 + OPTIONAL, -- Cond ARPReq + gnss-RTK-AuxiliaryStationDataReq-r15 + GNSS-RTK-AuxiliaryStationDataReq-r15 + OPTIONAL -- Cond AuxARPReq + ]], + [[ + gnss-SSR-CorrectionPointsReq-r16 + GNSS-SSR-CorrectionPointsReq-r16 + OPTIONAL -- Cond PointsReq + ]], + [[ + gnss-Integrity-ServiceParametersReq-r17 + GNSS-Integrity-ServiceParametersReq-r17 + OPTIONAL, -- Cond IntServiceReq + gnss-Integrity-ServiceAlertReq-r17 + GNSS-Integrity-ServiceAlertReq-r17 + OPTIONAL -- Cond IntAlertReq + ]] +} + + +GNSS-GenericAssistDataReq ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataReqElement + +GNSS-GenericAssistDataReqElement ::= SEQUENCE { + gnss-ID GNSS-ID, + sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS-ID-SBAS + gnss-TimeModelsReq GNSS-TimeModelListReq OPTIONAL, -- Cond TimeModReq + gnss-DifferentialCorrectionsReq GNSS-DifferentialCorrectionsReq OPTIONAL, -- Cond DGNSS-Req + gnss-NavigationModelReq GNSS-NavigationModelReq OPTIONAL, -- Cond NavModReq + gnss-RealTimeIntegrityReq GNSS-RealTimeIntegrityReq OPTIONAL, -- Cond RTIReq + gnss-DataBitAssistanceReq GNSS-DataBitAssistanceReq OPTIONAL, -- Cond DataBitsReq + gnss-AcquisitionAssistanceReq GNSS-AcquisitionAssistanceReq OPTIONAL, -- Cond AcquAssistReq + gnss-AlmanacReq GNSS-AlmanacReq OPTIONAL, -- Cond AlmanacReq + gnss-UTCModelReq GNSS-UTC-ModelReq OPTIONAL, -- Cond UTCModReq + gnss-AuxiliaryInformationReq GNSS-AuxiliaryInformationReq OPTIONAL, -- Cond AuxInfoReq + ..., + [[ + bds-DifferentialCorrectionsReq-r12 + BDS-DifferentialCorrectionsReq-r12 + OPTIONAL, -- Cond DBDS-Req + bds-GridModelReq-r12 BDS-GridModelReq-r12 OPTIONAL -- Cond BDS-GridModReq + ]], + [[ + gnss-RTK-ObservationsReq-r15 + GNSS-RTK-ObservationsReq-r15 OPTIONAL, -- Cond RTK-OSR-Req + glo-RTK-BiasInformationReq-r15 + GLO-RTK-BiasInformationReq-r15 OPTIONAL, -- Cond GLO-CPB-Req + gnss-RTK-MAC-CorrectionDifferencesReq-r15 + GNSS-RTK-MAC-CorrectionDifferencesReq-r15 + OPTIONAL, -- Cond MAC-Req + gnss-RTK-ResidualsReq-r15 GNSS-RTK-ResidualsReq-r15 OPTIONAL, -- Cond Res-Req + gnss-RTK-FKP-GradientsReq-r15 + GNSS-RTK-FKP-GradientsReq-r15 OPTIONAL, -- Cond FKP-Req + gnss-SSR-OrbitCorrectionsReq-r15 + GNSS-SSR-OrbitCorrectionsReq-r15 + OPTIONAL, -- Cond OC-Req + gnss-SSR-ClockCorrectionsReq-r15 + GNSS-SSR-ClockCorrectionsReq-r15 + OPTIONAL, -- Cond CC-Req + gnss-SSR-CodeBiasReq-r15 GNSS-SSR-CodeBiasReq-r15 OPTIONAL -- Cond CB-Req + ]], + [[ + gnss-SSR-URA-Req-r16 GNSS-SSR-URA-Req-r16 OPTIONAL, -- Cond URA-Req + gnss-SSR-PhaseBiasReq-r16 GNSS-SSR-PhaseBiasReq-r16 OPTIONAL, -- Cond PB-Req + gnss-SSR-STEC-CorrectionReq-r16 + GNSS-SSR-STEC-CorrectionReq-r16 OPTIONAL, -- Cond STEC-Req + gnss-SSR-GriddedCorrectionReq-r16 GNSS-SSR-GriddedCorrectionReq-r16 + OPTIONAL, -- Cond Grid-Req + navic-DifferentialCorrectionsReq-r16 + NavIC-DifferentialCorrectionsReq-r16 + OPTIONAL, -- Cond DNavIC-Req + navic-GridModelReq-r16 NavIC-GridModelReq-r16 OPTIONAL -- Cond NavIC-GridModReq + ]] +} + + +GNSS-PeriodicAssistDataReq-r15 ::= SEQUENCE { + gnss-RTK-PeriodicObservationsReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pOSR + glo-RTK-PeriodicBiasInformationReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pCPB + gnss-RTK-MAC-PeriodicCorrectionDifferencesReq-r15 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pMAC + gnss-RTK-PeriodicResidualsReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pRes + gnss-RTK-FKP-PeriodicGradientsReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pFKP + gnss-SSR-PeriodicOrbitCorrectionsReq-r15 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pOC + gnss-SSR-PeriodicClockCorrectionsReq-r15 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pCC + gnss-SSR-PeriodicCodeBiasReq-r15 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pCB + ..., + [[ + gnss-SSR-PeriodicURA-Req-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pURA + gnss-SSR-PeriodicPhaseBiasReq-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pPB + gnss-SSR-PeriodicSTEC-CorrectionReq-r16 GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pSTEC + gnss-SSR-PeriodicGriddedCorrectionReq-r16 + GNSS-PeriodicControlParam-r15 OPTIONAL -- Cond pGrid + ]], + [[ + gnss-Integrity-PeriodicServiceAlertReq-r17 + GNSS-PeriodicControlParam-r15 OPTIONAL -- Cond pDNU + ]] +} + + +GNSS-ReferenceTimeReq ::= SEQUENCE { + gnss-TimeReqPrefList SEQUENCE (SIZE (1..8)) OF GNSS-ID, + gps-TOW-assistReq BOOLEAN OPTIONAL, -- Cond gps + notOfLeapSecReq BOOLEAN OPTIONAL, -- Cond glonass + ... +} + + +GNSS-ReferenceLocationReq ::= SEQUENCE { + ... +} + + +GNSS-IonosphericModelReq ::= SEQUENCE { + klobucharModelReq BIT STRING (SIZE(2)) OPTIONAL, -- Cond klobuchar + neQuickModelReq NULL OPTIONAL, -- Cond nequick + ..., + [[ klobucharModel2Req-r16 NULL OPTIONAL -- Cond klobuchar2 + ]] + +} + + +GNSS-EarthOrientationParametersReq ::= SEQUENCE { + ... +} + + +GNSS-RTK-ReferenceStationInfoReq-r15 ::= SEQUENCE { + antennaDescriptionReq-r15 BOOLEAN, + antennaHeightReq-r15 BOOLEAN, + physicalReferenceStationReq-r15 BOOLEAN, + stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL, + ... +} + + +GNSS-RTK-AuxiliaryStationDataReq-r15 ::= SEQUENCE { + master-referenceStationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL, + ... +} + + +GNSS-SSR-CorrectionPointsReq-r16 ::= SEQUENCE { + correctionPointSetID-Req-r16 INTEGER (0..16383) OPTIONAL, + ... +} + + +GNSS-Integrity-ServiceParametersReq-r17 ::= SEQUENCE { + ... +} + + +GNSS-Integrity-ServiceAlertReq-r17 ::= SEQUENCE { + ... +} + + +GNSS-TimeModelListReq ::= SEQUENCE (SIZE(1..15)) OF GNSS-TimeModelElementReq + +GNSS-TimeModelElementReq ::= SEQUENCE { + gnss-TO-IDsReq INTEGER (1..15), + deltaTreq BOOLEAN, + ... +} + + +GNSS-DifferentialCorrectionsReq ::= SEQUENCE { + dgnss-SignalsReq GNSS-SignalIDs, + dgnss-ValidityTimeReq BOOLEAN, + ... +} + + +GNSS-NavigationModelReq ::= CHOICE { + storedNavList StoredNavListInfo, + reqNavList ReqNavListInfo, + ... +} + + +StoredNavListInfo ::= SEQUENCE { + gnss-WeekOrDay INTEGER (0..4095), + gnss-Toe INTEGER (0..255), + t-toeLimit INTEGER (0..15), + satListRelatedDataList SatListRelatedDataList OPTIONAL, + ... +} + +SatListRelatedDataList ::= SEQUENCE (SIZE (1..64)) OF SatListRelatedDataElement + +SatListRelatedDataElement ::= SEQUENCE { + svID SV-ID, + iod BIT STRING (SIZE(11)), + clockModelID INTEGER (1..8) OPTIONAL, +orbitModelID INTEGER (1..8) OPTIONAL, + ... +} + +ReqNavListInfo ::= SEQUENCE { + svReqList BIT STRING (SIZE (64)), + clockModelID-PrefList SEQUENCE (SIZE (1..8)) OF INTEGER (1..8) OPTIONAL, + orbitModelID-PrefList SEQUENCE (SIZE (1..8)) OF INTEGER (1..8) OPTIONAL, + addNavparamReq BOOLEAN OPTIONAL, -- Cond orbitModelID-2 + ... +} + + + +GNSS-RealTimeIntegrityReq ::= SEQUENCE { + ... +} + + +GNSS-DataBitAssistanceReq ::= SEQUENCE { + gnss-TOD-Req INTEGER (0..3599), + gnss-TOD-FracReq INTEGER (0..999) OPTIONAL, + dataBitInterval INTEGER (0..15), + gnss-SignalType GNSS-SignalIDs, + gnss-DataBitsReq GNSS-DataBitsReqSatList OPTIONAL, + ... +} + +GNSS-DataBitsReqSatList ::= SEQUENCE (SIZE(1..64)) OF GNSS-DataBitsReqSatElement + +GNSS-DataBitsReqSatElement ::= SEQUENCE { + svID SV-ID, + ... +} + + +GNSS-AcquisitionAssistanceReq ::= SEQUENCE { + gnss-SignalID-Req GNSS-SignalID, + ... +} + + +GNSS-AlmanacReq ::= SEQUENCE { + modelID INTEGER(1..8) OPTIONAL, + ... +} + + +GNSS-UTC-ModelReq ::= SEQUENCE { + modelID INTEGER(1..8) OPTIONAL, + ... +} + + +GNSS-AuxiliaryInformationReq ::= SEQUENCE { + ... +} + + +BDS-DifferentialCorrectionsReq-r12 ::= SEQUENCE { + dgnss-SignalsReq GNSS-SignalIDs, + ... +} + + +BDS-GridModelReq-r12 ::= SEQUENCE { + ... +} + + +GNSS-RTK-ObservationsReq-r15::= SEQUENCE { + gnss-RTK-SignalsReq-r15 GNSS-SignalIDs, + gnss-RTK-Integer-ms-Req-r15 BOOLEAN, + gnss-RTK-PhaseRangeRateReq-r15 BOOLEAN, + gnss-RTK-CNR-Req-r15 BOOLEAN, + stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL, + ... +} + + +GLO-RTK-BiasInformationReq-r15 ::= SEQUENCE { + stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL, + ... +} + + +GNSS-RTK-MAC-CorrectionDifferencesReq-r15 ::= SEQUENCE { + master-ReferenceStationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL, + aux-ReferenceStationList-r15 AUX-ReferenceStationList-r15 OPTIONAL, + linkCombinations-PrefList-r15 GNSS-Link-CombinationsList-r15 OPTIONAL, + ... +} + +AUX-ReferenceStationList-r15 ::= SEQUENCE (SIZE (1..32)) OF AUX-ReferenceStationID-Element-r15 + +AUX-ReferenceStationID-Element-r15 ::= SEQUENCE { + aux-stationID-r15 GNSS-ReferenceStationID-r15, + ... +} + + +GNSS-RTK-ResidualsReq-r15 ::= SEQUENCE { + stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL, + linkCombinations-PrefList-r15 GNSS-Link-CombinationsList-r15 OPTIONAL, + ... +} + + +GNSS-RTK-FKP-GradientsReq-r15 ::= SEQUENCE { + stationID-r15 GNSS-ReferenceStationID-r15 OPTIONAL, + linkCombinations-PrefList-r15 GNSS-Link-CombinationsList-r15 OPTIONAL, + ... +} + + +GNSS-SSR-OrbitCorrectionsReq-r15 ::= SEQUENCE { + storedNavList-r15 GNSS-NavListInfo-r15 OPTIONAL, + ..., + [[ + orbit-IntegrityReq-r17 BIT STRING { correlationTimeReq (0) + } (SIZE(1..8)) OPTIONAL + ]] +} + + +GNSS-SSR-ClockCorrectionsReq-r15 ::= SEQUENCE { + storedNavList-r15 GNSS-NavListInfo-r15 OPTIONAL, + ..., + [[ + clock-IntegrityParametersReq-r17 ENUMERATED { true } OPTIONAL, + ssr-IntegrityClockBoundsReq-r17 ENUMERATED { true } OPTIONAL + ]] +} + + +GNSS-SSR-CodeBiasReq-r15 ::= SEQUENCE { + signal-and-tracking-mode-ID-Map-r15 GNSS-SignalIDs, + storedNavList-r15 GNSS-NavListInfo-r15 OPTIONAL, + ..., + [[ + ssr-IntegrityCodeBiasBoundsReq-r17 ENUMERATED { requested } OPTIONAL + ]] +} + + +GNSS-SSR-URA-Req-r16 ::= SEQUENCE { + ... +} + + +GNSS-SSR-PhaseBiasReq-r16 ::= SEQUENCE { + signal-and-tracking-mode-ID-Map-r16 GNSS-SignalIDs, + storedNavList-r16 GNSS-NavListInfo-r15 OPTIONAL, + ..., + [[ + ssr-IntegrityPhaseBiasBoundsReq-r17 ENUMERATED { requested } OPTIONAL + ]] +} + + +GNSS-SSR-STEC-CorrectionReq-r16 ::= SEQUENCE { + ..., + [[ + stec-IntegrityReq-r17 BIT STRING { correlationTimeReq (0) + } (SIZE(1..8)) OPTIONAL + ]] +} + + +GNSS-SSR-GriddedCorrectionReq-r16 ::= SEQUENCE { + ..., + [[ + griddedCorrectionIntegrityReq-r17 ENUMERATED { requested } OPTIONAL + ]] +} + + +NavIC-DifferentialCorrectionsReq-r16 ::= SEQUENCE { + dgnss-SignalsReq-r16 GNSS-SignalIDs, + ... +} + + +NavIC-GridModelReq-r16 ::= SEQUENCE { + ... +} + + +A-GNSS-ProvideLocationInformation ::= SEQUENCE { + gnss-SignalMeasurementInformation GNSS-SignalMeasurementInformation OPTIONAL, + gnss-LocationInformation GNSS-LocationInformation OPTIONAL, + gnss-Error A-GNSS-Error OPTIONAL, + ... +} + + +GNSS-SignalMeasurementInformation ::= SEQUENCE { + measurementReferenceTime MeasurementReferenceTime, + gnss-MeasurementList GNSS-MeasurementList, + ... +} + + +MeasurementReferenceTime ::= SEQUENCE { + gnss-TOD-msec INTEGER (0..3599999), + gnss-TOD-frac INTEGER (0..3999) OPTIONAL, + gnss-TOD-unc INTEGER (0..127) OPTIONAL, + gnss-TimeID GNSS-ID, + networkTime CHOICE { + eUTRA SEQUENCE { + physCellId INTEGER (0..503), + cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL, + systemFrameNumber BIT STRING (SIZE (10)), + ... + }, + uTRA SEQUENCE { + mode CHOICE { + fdd SEQUENCE { + primary-CPICH-Info INTEGER (0..511), + ... + }, + tdd SEQUENCE { + cellParameters INTEGER (0..127), + ... + } + }, + cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL, + referenceSystemFrameNumber + INTEGER (0..4095), + ... + }, + gSM SEQUENCE { + bcchCarrier INTEGER (0..1023), + bsic INTEGER (0..63), + cellGlobalId CellGlobalIdGERAN OPTIONAL, + referenceFrame SEQUENCE { + referenceFN INTEGER (0..65535), + referenceFNMSB INTEGER (0..63) OPTIONAL, + ... + }, + deltaGNSS-TOD INTEGER (0 .. 127) OPTIONAL, + ... + }, + ..., + nbIoT-r14 + SEQUENCE { + nbPhysCellId-r14 INTEGER (0..503), + nbCellGlobalId-r14 ECGI OPTIONAL, + sfn-r14 BIT STRING (SIZE (10)), + hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL, + ... + }, + nr-r15 SEQUENCE { + nrPhysCellId-r15 INTEGER (0..1007), + nrCellGlobalID-r15 NCGI-r15 OPTIONAL, + nr-sfn-r15 BIT STRING (SIZE (10)), + ... + } + } OPTIONAL, + ... +} + + +GNSS-MeasurementList ::= SEQUENCE (SIZE(1..16)) OF GNSS-MeasurementForOneGNSS + +GNSS-MeasurementForOneGNSS ::= SEQUENCE { + gnss-ID GNSS-ID, + gnss-SgnMeasList GNSS-SgnMeasList, + ... +} + +GNSS-SgnMeasList ::= SEQUENCE (SIZE(1..8)) OF GNSS-SgnMeasElement + +GNSS-SgnMeasElement ::= SEQUENCE { + gnss-SignalID GNSS-SignalID, + gnss-CodePhaseAmbiguity INTEGER (0..127) OPTIONAL, + gnss-SatMeasList GNSS-SatMeasList, + ... +} + +GNSS-SatMeasList ::= SEQUENCE (SIZE(1..64)) OF GNSS-SatMeasElement + +GNSS-SatMeasElement ::= SEQUENCE { + svID SV-ID, + cNo INTEGER (0..63), + mpathDet ENUMERATED {notMeasured (0), low (1), medium (2), high (3), ...}, + carrierQualityInd INTEGER (0..3) OPTIONAL, + codePhase INTEGER (0..2097151), + integerCodePhase INTEGER (0..127) OPTIONAL, + codePhaseRMSError INTEGER (0..63), + doppler INTEGER (-32768..32767) OPTIONAL, + adr INTEGER (0..33554431) OPTIONAL, + ..., + [[ + adrMSB-r15 INTEGER (0..15) OPTIONAL, + adrSign-r15 ENUMERATED {positive, negative} OPTIONAL, + adrRMSerror-r15 INTEGER (0..127) OPTIONAL, + delta-codePhase-r15 INTEGER (0..7) OPTIONAL + ]] +} + + +GNSS-LocationInformation ::= SEQUENCE { + measurementReferenceTime MeasurementReferenceTime, + agnss-List GNSS-ID-Bitmap, + ..., + [[ + ha-GNSS-Metrics-r17 HA-GNSS-Metrics-r17 OPTIONAL + ]] +} + + +HA-GNSS-Metrics-r17 ::= SEQUENCE { + nrOfUsedSatellites-r17 INTEGER (0..64), + hdopi-r17 INTEGER (1..256) OPTIONAL, + pdopi-r17 INTEGER (1..256) OPTIONAL, + age-r17 INTEGER (0..99) OPTIONAL, + fixType-r17 ENUMERATED {carrier-phase-float, + carrier-phase-fix, ...} OPTIONAL, + ... +} + + +A-GNSS-RequestLocationInformation ::= SEQUENCE { + gnss-PositioningInstructions GNSS-PositioningInstructions, + ... +} + + +GNSS-PositioningInstructions ::= SEQUENCE { + gnss-Methods GNSS-ID-Bitmap, + fineTimeAssistanceMeasReq BOOLEAN, + adrMeasReq BOOLEAN, + multiFreqMeasReq BOOLEAN, + assistanceAvailability BOOLEAN, + ..., + [[ + ha-GNSS-Req-r15 ENUMERATED { true } OPTIONAL -- Cond UEB + ]], + [[ + ha-GNSS-MetricsReq-r17 ENUMERATED { true } OPTIONAL -- Cond UEB + ]] +} + + +A-GNSS-ProvideCapabilities ::= SEQUENCE { + gnss-SupportList GNSS-SupportList OPTIONAL, + assistanceDataSupportList AssistanceDataSupportList OPTIONAL, + locationCoordinateTypes LocationCoordinateTypes OPTIONAL, + velocityTypes VelocityTypes OPTIONAL, + ..., + [[ periodicalReportingNotSupported-r14 + PositioningModes OPTIONAL, + idleStateForMeasurements-r14 + ENUMERATED { required } OPTIONAL + ]], + [[ periodicAssistanceData-r15 + BIT STRING { solicited (0), + unsolicited (1) } (SIZE (1..8)) OPTIONAL + ]], + [[ scheduledLocationRequestSupported-r17 + ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]] +} + +GNSS-SupportList ::= SEQUENCE (SIZE(1..16)) OF GNSS-SupportElement + +GNSS-SupportElement ::= SEQUENCE { + gnss-ID GNSS-ID, + sbas-IDs SBAS-IDs OPTIONAL, -- Cond GNSS-ID-SBAS + agnss-Modes PositioningModes, + gnss-Signals GNSS-SignalIDs, + fta-MeasSupport SEQUENCE { + cellTime AccessTypes, + mode PositioningModes, + ... + } OPTIONAL, -- Cond fta + adr-Support BOOLEAN, + velocityMeasurementSupport BOOLEAN, + ..., + [[ + adrEnhancementsSupport-r15 ENUMERATED { true } OPTIONAL, + ha-gnss-Modes-r15 PositioningModes OPTIONAL + ]], + [[ + ha-gnss-MetricsSupport-r17 ENUMERATED { true } OPTIONAL + ]] +} + +AssistanceDataSupportList ::= SEQUENCE { + gnss-CommonAssistanceDataSupport GNSS-CommonAssistanceDataSupport, + gnss-GenericAssistanceDataSupport GNSS-GenericAssistanceDataSupport, + ... +} + + + +GNSS-CommonAssistanceDataSupport ::= SEQUENCE { + gnss-ReferenceTimeSupport GNSS-ReferenceTimeSupport + OPTIONAL, -- Cond RefTimeSup + gnss-ReferenceLocationSupport GNSS-ReferenceLocationSupport + OPTIONAL, -- Cond RefLocSup + gnss-IonosphericModelSupport GNSS-IonosphericModelSupport + OPTIONAL, -- Cond IonoModSup + gnss-EarthOrientationParametersSupport GNSS-EarthOrientationParametersSupport + OPTIONAL, -- Cond EOPSup + ..., + [[ + gnss-RTK-ReferenceStationInfoSupport-r15 + GNSS-RTK-ReferenceStationInfoSupport-r15 + OPTIONAL, -- Cond ARPSup + gnss-RTK-AuxiliaryStationDataSupport-r15 + GNSS-RTK-AuxiliaryStationDataSupport-r15 + OPTIONAL -- Cond AuxARPSup + ]], + [[ + gnss-Integrity-ServiceParametersSupport-r17 + GNSS-Integrity-ServiceParametersSupport-r17 + OPTIONAL, -- Cond IntServiceSup + gnss-Integrity-ServiceAlertSupport-r17 + GNSS-Integrity-ServiceAlertSupport-r17 + OPTIONAL -- Cond IntAlertSup + ]] +} + + +GNSS-ReferenceTimeSupport ::= SEQUENCE { + gnss-SystemTime GNSS-ID-Bitmap, + fta-Support AccessTypes OPTIONAL, -- Cond fta + ... +} + + +GNSS-ReferenceLocationSupport ::= SEQUENCE { + ... +} + + +GNSS-IonosphericModelSupport ::= SEQUENCE { + ionoModel BIT STRING { klobuchar (0), + neQuick (1), + klobuchar2-r16 (2) } (SIZE (1..8)), + ... +} + + +GNSS-EarthOrientationParametersSupport ::= SEQUENCE { + ... +} + + +GNSS-RTK-ReferenceStationInfoSupport-r15 ::= SEQUENCE { + ... +} + + +GNSS-RTK-AuxiliaryStationDataSupport-r15 ::= SEQUENCE { + ... +} + + +GNSS-Integrity-ServiceParametersSupport-r17 ::= SEQUENCE { + ... +} + + +GNSS-Integrity-ServiceAlertSupport-r17 ::= SEQUENCE { + ... +} + + +GNSS-GenericAssistanceDataSupport ::= + SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataSupportElement + +GNSS-GenericAssistDataSupportElement ::= SEQUENCE { + gnss-ID GNSS-ID, + sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS‑ID‑SBAS + gnss-TimeModelsSupport GNSS-TimeModelListSupport + OPTIONAL, -- Cond TimeModSup + gnss-DifferentialCorrectionsSupport GNSS-DifferentialCorrectionsSupport + OPTIONAL, -- Cond DGNSS-Sup + gnss-NavigationModelSupport GNSS-NavigationModelSupport + OPTIONAL, -- Cond NavModSup + gnss-RealTimeIntegritySupport GNSS-RealTimeIntegritySupport + OPTIONAL, -- Cond RTISup + gnss-DataBitAssistanceSupport GNSS-DataBitAssistanceSupport + OPTIONAL, -- Cond DataBitsSup + gnss-AcquisitionAssistanceSupport GNSS-AcquisitionAssistanceSupport + OPTIONAL, -- Cond AcquAssistSup + gnss-AlmanacSupport GNSS-AlmanacSupport + OPTIONAL, -- Cond AlmanacSup + gnss-UTC-ModelSupport GNSS-UTC-ModelSupport + OPTIONAL, -- Cond UTCModSup + gnss-AuxiliaryInformationSupport GNSS-AuxiliaryInformationSupport + OPTIONAL, -- Cond AuxInfoSup + ..., + [[ + bds-DifferentialCorrectionsSupport-r12 + BDS-DifferentialCorrectionsSupport-r12 + OPTIONAL, -- Cond DBDS-Sup + bds-GridModelSupport-r12 BDS-GridModelSupport-r12 + OPTIONAL -- Cond BDS-GridModSup + ]], + [[ + gnss-RTK-ObservationsSupport-r15 + GNSS-RTK-ObservationsSupport-r15 + OPTIONAL, -- Cond RTK-OSR-Sup + glo-RTK-BiasInformationSupport-r15 + GLO-RTK-BiasInformationSupport-r15 + OPTIONAL, -- Cond GLO-CPB-Sup + gnss-RTK-MAC-CorrectionDifferencesSupport-r15 + GNSS-RTK-MAC-CorrectionDifferencesSupport-r15 + OPTIONAL, -- Cond MAC-Sup + gnss-RTK-ResidualsSupport-r15 GNSS-RTK-ResidualsSupport-r15 + OPTIONAL, -- Cond Res-Sup + gnss-RTK-FKP-GradientsSupport-r15 + GNSS-RTK-FKP-GradientsSupport-r15 + OPTIONAL, -- Cond FKP-Sup + gnss-SSR-OrbitCorrectionsSupport-r15 + GNSS-SSR-OrbitCorrectionsSupport-r15 + OPTIONAL, -- Cond OC-Sup + gnss-SSR-ClockCorrectionsSupport-r15 + GNSS-SSR-ClockCorrectionsSupport-r15 + OPTIONAL, -- Cond CC-Sup + gnss-SSR-CodeBiasSupport-r15 GNSS-SSR-CodeBiasSupport-r15 + OPTIONAL -- Cond CB-Sup + ]], + [[ + gnss-SSR-URA-Support-r16 GNSS-SSR-URA-Support-r16 OPTIONAL, -- Cond URA-Sup + gnss-SSR-PhaseBiasSupport-r16 GNSS-SSR-PhaseBiasSupport-r16 + OPTIONAL, -- Cond PB-Sup + gnss-SSR-STEC-CorrectionSupport-r16 + GNSS-SSR-STEC-CorrectionSupport-r16 + OPTIONAL, -- Cond STEC-Sup + gnss-SSR-GriddedCorrectionSupport-r16 + GNSS-SSR-GriddedCorrectionSupport-r16 + OPTIONAL, -- Cond Grid-Sup + navic-DifferentialCorrectionsSupport-r16 + NavIC-DifferentialCorrectionsSupport-r16 + OPTIONAL, -- Cond DNavIC-Sup + navic-GridModelSupport-r16 NavIC-GridModelSupport-r16 + OPTIONAL -- Cond NavIC-GridModSup + ]] +} + + +GNSS-TimeModelListSupport ::= SEQUENCE { + ... +} + + +GNSS-DifferentialCorrectionsSupport ::= SEQUENCE { + gnssSignalIDs GNSS-SignalIDs, + dgnss-ValidityTimeSup BOOLEAN, + ... +} + + +GNSS-NavigationModelSupport ::= SEQUENCE { + clockModel BIT STRING { model-1 (0), + model-2 (1), + model-3 (2), + model-4 (3), + model-5 (4), + model-6 (5), + model-7-r16 (6), + model-8-r16 (7) } (SIZE (1..8)) OPTIONAL, + orbitModel BIT STRING { model-1 (0), + model-2 (1), + model-3 (2), + model-4 (3), + model-5 (4), + model-6 (5), + model-7-r16 (6), + model-8-r16 (7) } (SIZE (1..8)) OPTIONAL, + ... +} + + +GNSS-RealTimeIntegritySupport ::= SEQUENCE { + ... +} + + +GNSS-DataBitAssistanceSupport ::= SEQUENCE { + ... +} + + +GNSS-AcquisitionAssistanceSupport ::= SEQUENCE { + ..., + confidenceSupport-r10 ENUMERATED { true } OPTIONAL, + dopplerUncertaintyExtSupport-r10 ENUMERATED { true } OPTIONAL +} + + +GNSS-AlmanacSupport ::= SEQUENCE { + almanacModel BIT STRING { model-1 (0), + model-2 (1), + model-3 (2), + model-4 (3), + model-5 (4), + model-6 (5), + model-7 (6) } (SIZE (1..8)) OPTIONAL, + ... +} + + +GNSS-UTC-ModelSupport ::= SEQUENCE { + utc-Model BIT STRING { model-1 (0), + model-2 (1), + model-3 (2), + model-4 (3), + model-5 (4) } (SIZE (1..8)) OPTIONAL, + ... +} + + +GNSS-AuxiliaryInformationSupport ::= SEQUENCE { + ... +} + + +BDS-DifferentialCorrectionsSupport-r12 ::= SEQUENCE { + gnssSignalIDs GNSS-SignalIDs, + ... +} + + +BDS-GridModelSupport-r12 ::= SEQUENCE { + ... +} + + +GNSS-RTK-ObservationsSupport-r15 ::= SEQUENCE { + gnssSignalIDs-r15 GNSS-SignalIDs, + ... +} + + +GLO-RTK-BiasInformationSupport-r15 ::= SEQUENCE { + ... +} + + +GNSS-RTK-MAC-CorrectionDifferencesSupport-r15 ::= SEQUENCE { + link-combinations-support-r15 GNSS-Link-CombinationsList-r15, + ... +} + + +GNSS-RTK-ResidualsSupport-r15 ::= SEQUENCE { + link-combinations-support-r15 GNSS-Link-CombinationsList-r15, + ... +} + + +GNSS-RTK-FKP-GradientsSupport-r15 ::= SEQUENCE { + link-combinations-support-r15 GNSS-Link-CombinationsList-r15, + ... +} + + +GNSS-SSR-OrbitCorrectionsSupport-r15 ::= SEQUENCE { + ..., + [[ + orbit-IntegritySup-r17 BIT STRING { correlationTimeSup (0) + } (SIZE(1..8)) OPTIONAL + ]] +} + + +GNSS-SSR-ClockCorrectionsSupport-r15 ::= SEQUENCE { + ..., + [[ + clock-IntegrityParameterSupport-r17 ENUMERATED { supported } OPTIONAL, + ssr-IntegrityClockBoundsSupport-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +GNSS-SSR-CodeBiasSupport-r15 ::= SEQUENCE { + signal-and-tracking-mode-ID-Sup-r15 GNSS-SignalIDs, + ..., + [[ + ssr-IntegrityCodeBiasBoundsSup-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +GNSS-SSR-URA-Support-r16 ::= SEQUENCE { + ... +} + + +GNSS-SSR-PhaseBiasSupport-r16 ::= SEQUENCE { + signal-and-tracking-mode-ID-Sup-r16 GNSS-SignalIDs, + ..., + [[ + ssr-IntegrityPhaseBiasBoundsSup-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +GNSS-SSR-STEC-CorrectionSupport-r16 ::= SEQUENCE { + ..., + [[ + stec-IntegritySup-r17 BIT STRING { correlationTimeSup (0) + } (SIZE(1..8)) OPTIONAL + ]] +} + + +GNSS-SSR-GriddedCorrectionSupport-r16 ::= SEQUENCE { + ..., + [[ + griddedCorrectionIntegritySup-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +NavIC-DifferentialCorrectionsSupport-r16 ::= SEQUENCE { + gnssSignalIDs-r16 GNSS-SignalIDs, + ... +} + + +NavIC-GridModelSupport-r16 ::= SEQUENCE { + ... +} + + +A-GNSS-RequestCapabilities ::= SEQUENCE { + gnss-SupportListReq BOOLEAN, + assistanceDataSupportListReq BOOLEAN, + locationVelocityTypesReq BOOLEAN, + ... +} + + +A-GNSS-Error ::= CHOICE { + locationServerErrorCauses GNSS-LocationServerErrorCauses, + targetDeviceErrorCauses GNSS-TargetDeviceErrorCauses, + ... +} + + +GNSS-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED { + undefined, + undeliveredAssistanceDataIsNotSupportedByServer, + undeliveredAssistanceDataIsSupportedButCurrentlyNotAvailableByServer, undeliveredAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailableByServer, + ..., + unconfirmedPeriodicAssistanceDataIsNotSupported-v1510, + unconfirmedPeriodicAssistanceDataIsSupportedButCurrentlyNotAvailable-v1510, + unconfirmedPeriodicAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailable-v1510, + undeliveredPeriodicAssistanceDataIsCurrentlyNotAvailable-v1510 + }, + ... +} + + +GNSS-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + thereWereNotEnoughSatellitesReceived, + assistanceDataMissing, + notAllRequestedMeasurementsPossible, + ... + }, + fineTimeAssistanceMeasurementsNotPossible NULL OPTIONAL, + adrMeasurementsNotPossible NULL OPTIONAL, + multiFrequencyMeasurementsNotPossible NULL OPTIONAL, + ... +} + + +GNSS-FrequencyID-r15 ::= SEQUENCE { + gnss-FrequencyID-r15 INTEGER (0 .. 7), + ... +} + + +GNSS-ID ::= SEQUENCE { + gnss-id ENUMERATED{ gps, sbas, qzss, galileo, glonass, ..., bds, navic-v1610 }, + ... +} + + +GNSS-ID-Bitmap ::= SEQUENCE { + gnss-ids BIT STRING { gps (0), + sbas (1), + qzss (2), + galileo (3), + glonass (4), + bds (5), + navic-v1610 (6) } (SIZE (1..16)), + ... +} + + +GNSS-Link-CombinationsList-r15 ::= SEQUENCE (SIZE(1..8)) OF GNSS-Link-Combinations-r15 + +GNSS-Link-Combinations-r15 ::= SEQUENCE { + l1-r15 GNSS-FrequencyID-r15, + l2-r15 GNSS-FrequencyID-r15, + ... +} + + +GNSS-NavListInfo-r15 ::= SEQUENCE (SIZE (1..64)) OF SatListElement-r15 + +SatListElement-r15 ::= SEQUENCE { + svID-r15 SV-ID, + iod-r15 BIT STRING (SIZE(11)), + ... +} + + +GNSS-NetworkID-r15 ::= SEQUENCE { + networkID-r15 INTEGER (0..255), + ... +} + + +GNSS-PeriodicControlParam-r15 ::= SEQUENCE { + deliveryAmount-r15 INTEGER (1..32), + deliveryInterval-r15 INTEGER (1..64), + ... +} + + +GNSS-ReferenceStationID-r15 ::= SEQUENCE { + referenceStationID-r15 INTEGER (0..65535), + providerName-r15 VisibleString (SIZE (1..32)) OPTIONAL, -- Need ON + ... +} + + +GNSS-SignalID ::= SEQUENCE { + gnss-SignalID INTEGER (0 .. 7), + ..., + [[ + gnss-SignalID-Ext-r15 INTEGER (8..23) OPTIONAL -- Need ON + ]] +} + + +GNSS-SignalIDs ::= SEQUENCE { + gnss-SignalIDs BIT STRING (SIZE(8)), + ..., + [[ + gnss-SignalIDs-Ext-r15 BIT STRING (SIZE(16)) OPTIONAL -- Need ON + ]] +} + + +GNSS-SubNetworkID-r15 ::= SEQUENCE { + subNetworkID-r15 INTEGER (0..15), + ... +} + + +SBAS-ID ::= SEQUENCE { + sbas-id ENUMERATED { waas, egnos, msas, gagan, ...}, + ... +} + + +SBAS-IDs ::= SEQUENCE { + sbas-IDs BIT STRING { waas (0), + egnos (1), + msas (2), + gagan (3) } (SIZE (1..8)), + ... +} + + +SV-ID ::= SEQUENCE { + satellite-id INTEGER(0..63), + ... +} + + +ECID-ProvideLocationInformation ::= SEQUENCE { + ecid-SignalMeasurementInformation ECID-SignalMeasurementInformation OPTIONAL, + ecid-Error ECID-Error OPTIONAL, + ... +} + + +ECID-SignalMeasurementInformation ::= SEQUENCE { + primaryCellMeasuredResults MeasuredResultsElement OPTIONAL, + measuredResultsList MeasuredResultsList, + ... +} + +MeasuredResultsList ::= SEQUENCE (SIZE(1..32)) OF MeasuredResultsElement + +MeasuredResultsElement ::= SEQUENCE { + physCellId INTEGER (0..503), + cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL, + arfcnEUTRA ARFCN-ValueEUTRA, + systemFrameNumber BIT STRING (SIZE (10)) OPTIONAL, + rsrp-Result INTEGER (0..97) OPTIONAL, + rsrq-Result INTEGER (0..34) OPTIONAL, + ue-RxTxTimeDiff INTEGER (0..4095) OPTIONAL, + ..., + [[ arfcnEUTRA-v9a0 ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-max + ]], + [[ nrsrp-Result-r14 INTEGER (0..113) OPTIONAL, + nrsrq-Result-r14 INTEGER (0..74) OPTIONAL, + carrierFreqOffsetNB-r14 CarrierFreqOffsetNB-r14 OPTIONAL, -- Cond NB-IoT + hyperSFN-r14 BIT STRING (SIZE (10)) OPTIONAL + ]], + [[ + rsrp-Result-v1470 INTEGER (-17..-1) OPTIONAL, + rsrq-Result-v1470 INTEGER (-30..46) OPTIONAL + ]] +} + + +ECID-RequestLocationInformation ::= SEQUENCE { + requestedMeasurements BIT STRING { rsrpReq (0), + rsrqReq (1), + ueRxTxReq (2), + nrsrpReq-r14 (3), + nrsrqReq-r14 (4)} (SIZE(1..8)), + ... +} + + +ECID-ProvideCapabilities ::= SEQUENCE { + ecid-MeasSupported BIT STRING { rsrpSup (0), + rsrqSup (1), + ueRxTxSup (2), + nrsrpSup-r14 (3), + nrsrqSup-r14 (4)} (SIZE(1..8)), + ..., + [[ ueRxTxSupTDD-r13 ENUMERATED { true } OPTIONAL + ]], + [[ periodicalReporting-r14 ENUMERATED { supported } OPTIONAL, + triggeredReporting-r14 ENUMERATED { supported } OPTIONAL, + idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL + ]], + [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL + ]] +} + + +ECID-RequestCapabilities ::= SEQUENCE { + ... +} + + +ECID-Error ::= CHOICE { + locationServerErrorCauses ECID-LocationServerErrorCauses, + targetDeviceErrorCauses ECID-TargetDeviceErrorCauses, + ... +} + + +ECID-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + ... + }, + ... +} + + +ECID-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + requestedMeasurementNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + rsrpMeasurementNotPossible NULL OPTIONAL, + rsrqMeasurementNotPossible NULL OPTIONAL, + ueRxTxMeasurementNotPossible NULL OPTIONAL, + ..., + [[ + nrsrpMeasurementNotPossible-r14 NULL OPTIONAL, + nrsrqMeasurementNotPossible-r14 NULL OPTIONAL + ]] +} + + +TBS-ProvideLocationInformation-r13 ::= SEQUENCE { + tbs-MeasurementInformation-r13 TBS-MeasurementInformation-r13 OPTIONAL, + tbs-Error-r13 TBS-Error-r13 OPTIONAL, + ... +} + + +TBS-MeasurementInformation-r13 ::= SEQUENCE { + measurementReferenceTime-r13 UTCTime OPTIONAL, + mbs-SgnMeasList-r13 MBS-BeaconMeasList-r13 OPTIONAL, -- Cond MBS + ... +} + + +MBS-BeaconMeasList-r13 ::= SEQUENCE (SIZE(1..64)) OF MBS-BeaconMeasElement-r13 + +MBS-BeaconMeasElement-r13 ::= SEQUENCE { + transmitterID-r13 INTEGER (0..32767), + codePhase-r13 INTEGER (0..2097151), + codePhaseRMSError-r13 INTEGER (0..63), + ..., + [[ rssi-r14 INTEGER (-130..-30) OPTIONAL + ]] +} + + +TBS-RequestLocationInformation-r13 ::= SEQUENCE { + mbsSgnMeasListReq-r13 BOOLEAN, + ..., + [[ mbsAssistanceAvailability-r14 BOOLEAN OPTIONAL, -- Need ON + mbsRequestedMeasurements-r14 BIT STRING { + rssi (0)} (SIZE(1..8)) OPTIONAL -- Need ON + ]] +} + + +TBS-ProvideCapabilities-r13 ::= SEQUENCE { + tbs-Modes-r13 BIT STRING { standalone (0), + ue-assisted (1), + ue-based (2)} (SIZE (1..8)), + ..., + [[ mbs-AssistanceDataSupportList-r14 MBS-AssistanceDataSupportList-r14 OPTIONAL, + periodicalReportingSupported-r14 PositioningModes OPTIONAL, + mbs-ConfigSupport-r14 BIT STRING { tb1 (0), + tb2 (1), + tb3 (2), + tb4 (3)} (SIZE (1..8)) OPTIONAL, + mbs-IdleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL + ]], + [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]] +} + + +MBS-AssistanceDataSupportList-r14 ::= SEQUENCE { + mbs-AcquisitionAssistanceDataSupport-r14 BOOLEAN, + mbs-AlmanacAssistanceDataSupport-r14 BOOLEAN, + ... +} + + +TBS-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + + +TBS-Error-r13 ::= CHOICE { + locationServerErrorCauses-r13 TBS-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 TBS-TargetDeviceErrorCauses-r13, + ... +} + + +TBS-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + ..., + assistanceDataNotSupportedByServer-v1420, + assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420 + }, + ... +} + + +TBS-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + thereWereNotEnoughMBSBeaconsReceived, + ..., + assistanceDataMissing-v1420 + }, + ... +} + + +TBS-ProvideAssistanceData-r14 ::= SEQUENCE { + tbs-AssistanceDataList-r14 TBS-AssistanceDataList-r14 OPTIONAL, -- Need ON + tbs-Error-r14 TBS-Error-r13 OPTIONAL, -- Need ON + ... +} + + +TBS-AssistanceDataList-r14 ::= SEQUENCE { + mbs-AssistanceDataList-r14 MBS-AssistanceDataList-r14 OPTIONAL, -- Need ON + ... +} + +MBS-AssistanceDataList-r14 ::= SEQUENCE (SIZE (1..maxMBS-r14)) OF MBS-AssistanceDataElement-r14 + +MBS-AssistanceDataElement-r14 ::= SEQUENCE { + mbs-AlmanacAssistance-r14 MBS-AlmanacAssistance-r14 OPTIONAL, -- Need ON + mbs-AcquisitionAssistance-r14 MBS-AcquisitionAssistance-r14 OPTIONAL, -- Need ON + ... +} + + +MBS-AlmanacAssistance-r14 ::= SEQUENCE { + transmitterID-r14 INTEGER (0..32767), + transmitterLatitude-r14 BIT STRING (SIZE (26)), + transmitterLongitude-r14 BIT STRING (SIZE (27)), + transmitterAltitude-r14 BIT STRING (SIZE (15)), + timeCorrection-r14 INTEGER (0..25) OPTIONAL, -- Need ON + ... +} + + +MBS-AcquisitionAssistance-r14 ::= SEQUENCE { + transmitterID-r14 INTEGER (0..32767) OPTIONAL, -- Need ON + mbsConfiguration-r14 ENUMERATED {tb1, tb2, tb3, tb4, ...} OPTIONAL, -- Need ON + pnCodeIndex-r14 INTEGER (1..128) OPTIONAL, -- Need ON + freq-r14 INTEGER (919750000..927250000) OPTIONAL, -- Need ON + ... +} + + +TBS-RequestAssistanceData-r14 ::= SEQUENCE { + mbs-AlmanacAssistanceDataReq-r14 BOOLEAN, + mbs-AcquisitionAssistanceDataReq-r14 BOOLEAN, + ... +} + + +Sensor-ProvideLocationInformation-r13 ::= SEQUENCE { + sensor-MeasurementInformation-r13 Sensor-MeasurementInformation-r13 OPTIONAL, + sensor-Error-r13 Sensor-Error-r13 OPTIONAL, + ..., + [[ + sensor-MotionInformation-r15 Sensor-MotionInformation-r15 OPTIONAL + ]] +} + + +Sensor-MeasurementInformation-r13 ::= SEQUENCE { + measurementReferenceTime-r13 UTCTime OPTIONAL, + uncompensatedBarometricPressure-r13 INTEGER (30000..115000) OPTIONAL, -- Cond Barometer + ..., + [[ + uncertainty-r14 SEQUENCE { + range-r14 INTEGER (0..1000), + confidence-r14 INTEGER (1..100) + } OPTIONAL + ]], + [[ adjustment-r16 INTEGER (-5000..5000) OPTIONAL + ]] +} + + +Sensor-MotionInformation-r15 ::= SEQUENCE { + refTime-r15 DisplacementTimeStamp-r15, + displacementInfoList-r15 DisplacementInfoList-r15, + ... +} + +DisplacementInfoList-r15 ::= SEQUENCE (SIZE (1..128)) OF DisplacementInfoListElement-r15 + +DisplacementInfoListElement-r15 ::= SEQUENCE { + deltaTimeStamp-r15 DeltaTime-r15, + displacement-r15 Displacement-r15 OPTIONAL, + ... +} + +DisplacementTimeStamp-r15 ::= CHOICE { + utcTime-r15 UTC-Time-r15, + gnssTime-r15 MeasurementReferenceTime, + systemFrameNumber-r15 SFN-r15, + measurementSFN-r15 INTEGER(-8192..9214), + ... +} + +DeltaTime-r15 ::= CHOICE { + deltaTimeSec-r15 INTEGER (1..16384), + deltaTimeSFN-r15 INTEGER (1..4096), + ... +} + +SFN-r15 ::= SEQUENCE { + sfn-r15 BIT STRING (SIZE (10)), + hyperSFN-r15 BIT STRING (SIZE (10)) OPTIONAL, + ... +} + +Displacement-r15 ::= SEQUENCE { + bearing-r15 INTEGER (0..3599), + bearingUncConfidence-r15 INTEGER (0..100) OPTIONAL, + bearingRef-r15 ENUMERATED { geographicNorth, magneticNorth, local }, + horizontalDistance-r15 INTEGER (0..8191), + horizontalDistanceUnc-r15 INTEGER (0..255) OPTIONAL, + horizontalUncConfidence-r15 INTEGER (0..100) OPTIONAL, + verticalDirection-r15 ENUMERATED{upward, downward} OPTIONAL, + verticalDistance-r15 INTEGER(0..8191) OPTIONAL, + verticalDistanceUnc-r15 INTEGER (0..255) OPTIONAL, + verticalUncConfidence-r15 INTEGER (0..100) OPTIONAL, + ... +} + +UTC-Time-r15 ::= SEQUENCE { + utcTime-r15 UTCTime, + utcTime-ms-r15 INTEGER (0..999), + ... +} + + +Sensor-RequestLocationInformation-r13 ::= SEQUENCE { + uncompensatedBarometricPressureReq-r13 BOOLEAN, + ..., + [[ assistanceAvailability-r14 BOOLEAN OPTIONAL -- Need ON + ]], + [[ sensor-MotionInformationReq-r15 BOOLEAN OPTIONAL -- Need ON + ]], + [[ adjustmentReq-r16 BOOLEAN OPTIONAL -- Need ON + ]] +} + + +Sensor-ProvideCapabilities-r13 ::= SEQUENCE { + sensor-Modes-r13 BIT STRING { standalone (0), + ue-assisted (1), + ue-based (2)} (SIZE (1..8)), + ..., + [[ sensor-AssistanceDataSupportList-r14 Sensor-AssistanceDataSupportList-r14 OPTIONAL, + periodicalReportingSupported-r14 PositioningModes OPTIONAL, + idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL + ]], + [[ sensor-MotionInformationSup-r15 ENUMERATED { true } OPTIONAL + ]], + [[ adjustmentSupported-r16 ENUMERATED { true } OPTIONAL + ]], + [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]] +} + +Sensor-AssistanceDataSupportList-r14 ::= SEQUENCE { + ..., + [[ validityPeriodSupported-v1520 ENUMERATED { true } OPTIONAL, + validityAreaSupported-v1520 ENUMERATED { true } OPTIONAL + ]] +} + + +Sensor-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + + +Sensor-Error-r13 ::= CHOICE { + locationServerErrorCauses-r13 Sensor-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 Sensor-TargetDeviceErrorCauses-r13, + ... +} + + +Sensor-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + ..., + assistanceDataNotSupportedByServer-v1420, + assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420 + }, + ... +} + + +Sensor-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + ..., + assistanceDataMissing-v1420 + }, + ... +} + + +Sensor-ProvideAssistanceData-r14 ::= SEQUENCE { + sensor-AssistanceDataList-r14 Sensor-AssistanceDataList-r14 OPTIONAL, -- Need ON + sensor-Error-r14 Sensor-Error-r13 OPTIONAL, -- Need ON + ... +} + + +Sensor-AssistanceDataList-r14::= SEQUENCE { + refPressure-r14 INTEGER (-20000..10000), + refPosition-r14 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL, -- Need ON + refTemperature-r14 INTEGER (-64..63) OPTIONAL, -- Need ON + ..., + [[ + period-v1520 SEQUENCE { + pressureValidityPeriod-v1520 PressureValidityPeriod-v1520, + referencePressureRate-v1520 INTEGER (-128..127) OPTIONAL, -- Need ON + ... + } OPTIONAL, -- Need ON + area-v1520 SEQUENCE { + pressureValidityArea-v1520 PressureValidityArea-v1520, + gN-pressure-v1520 INTEGER (-1024..1023) OPTIONAL, -- Need ON + gE-pressure-v1520 INTEGER (-1024..1023) OPTIONAL, -- Need ON + ... + } OPTIONAL -- Need ON + ]] +} + +PressureValidityArea-v1520 ::= SEQUENCE { + centerPoint-v1520 Ellipsoid-Point, + validityAreaWidth-v1520 INTEGER (1..128), + validityAreaHeight-v1520 INTEGER (1..128), + ... +} + +PressureValidityPeriod-v1520 ::= SEQUENCE { + beginTime-v1520 GNSS-SystemTime, + beginTimeAlt-v1520 INTEGER (0..2881) OPTIONAL, -- Need ON + duration-v1520 INTEGER (1..2881), + ... +} + + +Sensor-RequestAssistanceData-r14 ::= SEQUENCE { + ... +} + + +WLAN-ProvideLocationInformation-r13 ::= SEQUENCE { + wlan-MeasurementInformation-r13 WLAN-MeasurementInformation-r13 OPTIONAL, + wlan-Error-r13 WLAN-Error-r13 OPTIONAL, + ... +} + + +WLAN-MeasurementInformation-r13 ::= SEQUENCE { + measurementReferenceTime-r13 UTCTime OPTIONAL, + wlan-MeasurementList-r13 WLAN-MeasurementList-r13 OPTIONAL, + ... +} + +WLAN-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxWLAN-AP-r13)) OF WLAN-MeasurementElement-r13 + +WLAN-MeasurementElement-r13 ::= SEQUENCE { + wlan-AP-Identifier-r13 WLAN-AP-Identifier-r13, + rssi-r13 INTEGER (-127..128) OPTIONAL, + rtt-r13 WLAN-RTT-r13 OPTIONAL, + apChannelFrequency-r13 INTEGER (0..256) OPTIONAL, + servingFlag-r13 BOOLEAN OPTIONAL, + ... +} + +WLAN-AP-Identifier-r13 ::= SEQUENCE { + bssid-r13 OCTET STRING (SIZE (6)), + ssid-r13 OCTET STRING (SIZE (1..32)) OPTIONAL, + ... +} + +WLAN-RTT-r13 ::= SEQUENCE { + rttValue-r13 INTEGER (0..16777215), + rttUnits-r13 ENUMERATED { microseconds, + hundredsofnanoseconds, + tensofnanoseconds, + nanoseconds, + tenthsofnanoseconds, + ... }, + rttAccuracy-r13 INTEGER (0..255) OPTIONAL, + ... +} + + +WLAN-RequestLocationInformation-r13 ::= SEQUENCE { + requestedMeasurements-r13 BIT STRING { + rssi (0), + rtt (1)} (SIZE(1..8)), + ..., + [[ assistanceAvailability-r14 BOOLEAN OPTIONAL -- Need ON + ]] +} + + +WLAN-ProvideCapabilities-r13 ::= SEQUENCE { + wlan-Modes-r13 BIT STRING { standalone (0), + ue-assisted (1), + ue-based (2)} (SIZE (1..8)), + wlan-MeasSupported-r13 BIT STRING { + rssi-r13 (0), + rtt-r13 (1)} (SIZE(1..8)), + ... , + [[ wlan-AP-AD-Supported-r14 + BIT STRING { ap-identifier (0), + ap-location (1)} (SIZE (1..8)) + OPTIONAL, + periodicalReportingSupported-r14 PositioningModes OPTIONAL, + idleStateForMeasurements-r14 + ENUMERATED { required } OPTIONAL + ]], + [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]] +} + + +WLAN-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + + +WLAN-Error-r13 ::= CHOICE { + locationServerErrorCauses-r13 WLAN-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 WLAN-TargetDeviceErrorCauses-r13, + ... +} + + +WLAN-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, + ..., + requestedADNotAvailable-v1420, + notAllrequestedADAvailable-v1420 + }, + ..., + [[ apLocationDataUnavailable-r14 NULL OPTIONAL -- Need ON + ]] +} + + +WLAN-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + wlan-AP-RSSI-MeasurementNotPossible-r13 NULL OPTIONAL, + wlan-AP-RTT-MeasurementNotPossible-r13 NULL OPTIONAL, + ... +} + + +WLAN-ProvideAssistanceData-r14 ::= SEQUENCE { + wlan-DataSet-r14 SEQUENCE (SIZE (1..maxWLAN-DataSets-r14)) OF WLAN-DataSet-r14 + OPTIONAL, -- Need ON + wlan-Error-r14 WLAN-Error-r13 OPTIONAL, -- Need ON + ... +} + + +WLAN-DataSet-r14 ::= SEQUENCE { + wlan-AP-List-r14 SEQUENCE (SIZE (1..maxWLAN-AP-r14)) OF WLAN-AP-Data-r14, + supportedChannels-11a-r14 SupportedChannels-11a-r14 OPTIONAL, -- Need ON + supportedChannels-11bg-r14 SupportedChannels-11bg-r14 OPTIONAL, -- Need ON + ... +} + +SupportedChannels-11a-r14 ::= SEQUENCE { + ch34-r14 BOOLEAN, + ch36-r14 BOOLEAN, + ch38-r14 BOOLEAN, + ch40-r14 BOOLEAN, + ch42-r14 BOOLEAN, + ch44-r14 BOOLEAN, + ch46-r14 BOOLEAN, + ch48-r14 BOOLEAN, + ch52-r14 BOOLEAN, + ch56-r14 BOOLEAN, + ch60-r14 BOOLEAN, + ch64-r14 BOOLEAN, + ch149-r14 BOOLEAN, + ch153-r14 BOOLEAN, + ch157-r14 BOOLEAN, + ch161-r14 BOOLEAN +} + +SupportedChannels-11bg-r14 ::= SEQUENCE { + ch1-r14 BOOLEAN, + ch2-r14 BOOLEAN, + ch3-r14 BOOLEAN, + ch4-r14 BOOLEAN, + ch5-r14 BOOLEAN, + ch6-r14 BOOLEAN, + ch7-r14 BOOLEAN, + ch8-r14 BOOLEAN, + ch9-r14 BOOLEAN, + ch10-r14 BOOLEAN, + ch11-r14 BOOLEAN, + ch12-r14 BOOLEAN, + ch13-r14 BOOLEAN, + ch14-r14 BOOLEAN +} + + +WLAN-AP-Data-r14 ::= SEQUENCE { + wlan-AP-Identifier-r14 WLAN-AP-Identifier-r13, + wlan-AP-Location-r14 WLAN-AP-Location-r14 OPTIONAL, -- Need ON + ... +} + +WLAN-AP-Location-r14 ::= SEQUENCE { + locationDataLCI-r14 LocationDataLCI-r14, + ... +} + +LocationDataLCI-r14 ::= SEQUENCE { + latitudeUncertainty-r14 BIT STRING (SIZE (6)), + latitude-r14 BIT STRING (SIZE (34)), + longitudeUncertainty-r14 BIT STRING (SIZE (6)), + longitude-r14 BIT STRING (SIZE (34)), + altitudeUncertainty-r14 BIT STRING (SIZE (6)) OPTIONAL, -- Need ON + altitude-r14 BIT STRING (SIZE (30)) OPTIONAL, -- Need ON + datum-r14 BIT STRING (SIZE (8)), + ... +} + + +WLAN-RequestAssistanceData-r14 ::= SEQUENCE { + requestedAD-r14 BIT STRING { ap-identifier (0), + ap-location (1)} (SIZE (1..8)), + visibleAPs-r14 SEQUENCE (SIZE (1..maxVisibleAPs-r14)) OF WLAN-AP-Identifier-r13 OPTIONAL, + wlan-AP-StoredData-r14 SEQUENCE (SIZE (1..maxKnownAPs-r14)) OF WLAN-AP-Identifier-r13 OPTIONAL, + ... +} + + +BT-ProvideLocationInformation-r13 ::= SEQUENCE { + bt-MeasurementInformation-r13 BT-MeasurementInformation-r13 OPTIONAL, + bt-Error-r13 BT-Error-r13 OPTIONAL, + ... +} + + +BT-MeasurementInformation-r13 ::= SEQUENCE { + measurementReferenceTime-r13 UTCTime OPTIONAL, + bt-MeasurementList-r13 BT-MeasurementList-r13 OPTIONAL, + ... +} + +BT-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxBT-Beacon-r13)) OF BT-MeasurementElement-r13 + + +BT-MeasurementElement-r13 ::= SEQUENCE { + btAddr-r13 BIT STRING (SIZE (48)), + rssi-r13 INTEGER (-128..127) OPTIONAL, + ... +} + + +BT-RequestLocationInformation-r13 ::= SEQUENCE { + requestedMeasurements-r13 BIT STRING { + rssi (0)} (SIZE(1..8)), + ... +} + + +BT-ProvideCapabilities-r13 ::= SEQUENCE { + bt-Modes-r13 BIT STRING { standalone (0), + ue-assisted (1)} (SIZE (1..8)), + bt-MeasSupported-r13 BIT STRING { rssi-r13 (0)} (SIZE (1..8)), + ..., + [[ + idleStateForMeasurements-r14 + ENUMERATED { required } OPTIONAL, + periodicalReportingSupported-r14 + PositioningModes OPTIONAL + ]], + [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]] +} + + +BT-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + + +BT-Error-r13 ::= CHOICE { + locationServerErrorCauses-r13 BT-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 BT-TargetDeviceErrorCauses-r13, + ... +} + + +BT-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, ...}, + ... +} + + +BT-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + bt-Beacon-rssiMeasurementNotPossible-r13 NULL OPTIONAL, + ... +} + + +NR-UL-ProvideCapabilities-r16 ::= SEQUENCE { + nr-UL-SRS-Capability-r16 NR-UL-SRS-Capability-r16, + ..., + [[ + nr-UE-TEG-Capability-r17 NR-UE-TEG-Capability-r17 OPTIONAL + ]] +} + + +NR-UL-RequestCapabilities-r16 ::= SEQUENCE { + ... +} + +NR-ECID-ProvideLocationInformation-r16 ::= SEQUENCE { + nr-ECID-SignalMeasurementInformation-r16 NR-ECID-SignalMeasurementInformation-r16 OPTIONAL, + nr-ECID-Error-r16 NR-ECID-Error-r16 OPTIONAL, + ... +} + + +NR-ECID-SignalMeasurementInformation-r16 ::= SEQUENCE { + nr-PrimaryCellMeasuredResults-r16 NR-MeasuredResultsElement-r16, + nr-MeasuredResultsList-r16 NR-MeasuredResultsList-r16 OPTIONAL, + ... +} + +NR-MeasuredResultsList-r16 ::= SEQUENCE (SIZE(1..32)) OF NR-MeasuredResultsElement-r16 + +NR-MeasuredResultsElement-r16 ::= SEQUENCE { + nr-PhysCellID-r16 NR-PhysCellID-r16, + nr-ARFCN-r16 CHOICE { + ssb-ARFCN-r16 ARFCN-ValueNR-r15, + csi-RS-pointA-r16 ARFCN-ValueNR-r15 + }, + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, + systemFrameNumber-r16 BIT STRING (SIZE (10)) OPTIONAL, resultsSSB-Cell-r16 MeasQuantityResults-r16 OPTIONAL, + resultsCSI-RS-Cell-r16 MeasQuantityResults-r16 OPTIONAL, + resultsSSB-Indexes-r16 ResultsPerSSB-IndexList-r16 OPTIONAL, + resultsCSI-RS-Indexes-r16 ResultsPerCSI-RS-IndexList-r16 OPTIONAL, + ... +} + +MeasQuantityResults-r16 ::= SEQUENCE { + nr-RSRP-r16 INTEGER (0..127) OPTIONAL, + nr-RSRQ-r16 INTEGER (0..127) OPTIONAL +} + +ResultsPerSSB-IndexList-r16::= SEQUENCE (SIZE (1..64)) OF ResultsPerSSB-Index-r16 + +ResultsPerSSB-Index-r16 ::= SEQUENCE { + ssb-Index-r16 INTEGER (0..63), + ssb-Results-r16 MeasQuantityResults-r16 +} + +ResultsPerCSI-RS-IndexList-r16::= SEQUENCE (SIZE (1..64)) OF ResultsPerCSI-RS-Index-r16 + +ResultsPerCSI-RS-Index-r16 ::= SEQUENCE { + csi-RS-Index-r16 INTEGER (0..95), + csi-RS-Results-r16 MeasQuantityResults-r16 +} + + +NR-ECID-RequestLocationInformation-r16 ::= SEQUENCE { + requestedMeasurements-r16 BIT STRING { ssrsrpReq (0), + ssrsrqReq (1), + csirsrpReq (2), + csirsrqReq (3)} (SIZE(1..8)), + ... +} + + +NR-ECID-ProvideCapabilities-r16 ::= SEQUENCE { + nr-ECID-MeasSupported-r16 BIT STRING { ssrsrpSup (0), + ssrsrqSup (1), + csirsrpSup (2), + csirsrqSup (3)} (SIZE(1..8)), + periodicalReporting-r16 ENUMERATED { supported } OPTIONAL, + triggeredReporting-r16 ENUMERATED { supported } OPTIONAL, + ..., + [[ + ten-ms-unit-ResponseTime-r17 ENUMERATED { supported } OPTIONAL, + scheduledLocationRequestSupported-r17 + ScheduledLocationTimeSupport-r17 OPTIONAL + ]] +} + + +NR-ECID-RequestCapabilities-r16 ::= SEQUENCE { + ... +} + + +NR-ECID-Error-r16 ::= CHOICE { + locationServerErrorCauses-r16 NR-ECID-LocationServerErrorCauses-r16, + targetDeviceErrorCauses-r16 NR-ECID-TargetDeviceErrorCauses-r16, + ... +} + + +NR-ECID-LocationServerErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + ... + }, + ... +} + + +NR-ECID-TargetDeviceErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + requestedMeasurementNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + ss-RSRPMeasurementNotPossible-r16 NULL OPTIONAL, + ss-RSRQMeasurementNotPossible-r16 NULL OPTIONAL, + csi-RSRPMeasurementNotPossible-r16 NULL OPTIONAL, + csi-RSRQMeasurementNotPossible-r16 NULL OPTIONAL, + ... +} + + +NR-DL-TDOA-ProvideAssistanceData-r16 ::= SEQUENCE { + nr-DL-PRS-AssistanceData-r16 NR-DL-PRS-AssistanceData-r16 OPTIONAL, -- Need ON + nr-SelectedDL-PRS-IndexList-r16 NR-SelectedDL-PRS-IndexList-r16 OPTIONAL, -- Need ON + nr-PositionCalculationAssistance-r16 + NR-PositionCalculationAssistance-r16 + OPTIONAL, -- Cond UEB + nr-DL-TDOA-Error-r16 NR-DL-TDOA-Error-r16 OPTIONAL, -- Need ON + ..., + [[ + nr-On-Demand-DL-PRS-Configurations-r17 + NR-On-Demand-DL-PRS-Configurations-r17 + OPTIONAL, -- Need ON + nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 + NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 OPTIONAL, -- Need ON + assistanceDataValidityArea-r17 AreaID-CellList-r17 OPTIONAL -- Need ON + ]] +} + + +NR-DL-TDOA-RequestAssistanceData-r16 ::= SEQUENCE { + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, + nr-AdType-r16 BIT STRING { dl-prs (0), + posCalc (1) } (SIZE (1..8)), + ..., + [[ + nr-PosCalcAssistanceRequest-r17 BIT STRING { trpLoc (0), + beamInfo (1), + rtdInfo (2), + losNlosInfo (3), + trpTEG-Info (4) + } (SIZE (1..8)) OPTIONAL, + nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL, + nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17 + ENUMERATED { eAoD, eAoA } OPTIONAL, + pre-configured-AssistanceDataRequest-r17 + ENUMERATED { true } OPTIONAL + ]] +} + + +NR-DL-TDOA-ProvideLocationInformation-r16 ::= SEQUENCE { + nr-DL-TDOA-SignalMeasurementInformation-r16 + NR-DL-TDOA-SignalMeasurementInformation-r16 + OPTIONAL, + nr-dl-tdoa-LocationInformation-r16 NR-DL-TDOA-LocationInformation-r16 + OPTIONAL, + nr-DL-TDOA-Error-r16 NR-DL-TDOA-Error-r16 OPTIONAL, + ..., + [[ + nr-DL-TDOA-SignalMeasurementInstances-r17 + SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF + NR-DL-TDOA-SignalMeasurementInformation-r16 + OPTIONAL, -- Cond batchUEA + nr-DL-TDOA-LocationInformationInstances-r17 + SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF + NR-DL-TDOA-LocationInformation-r16 + OPTIONAL -- Cond batchUEB + ]] +} + + +NR-DL-TDOA-SignalMeasurementInformation-r16 ::= SEQUENCE { + dl-PRS-ReferenceInfo-r16 DL-PRS-ID-Info-r16, + nr-DL-TDOA-MeasList-r16 NR-DL-TDOA-MeasList-r16, + ..., + [[ + nr-UE-RxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL -- Cond UERxTEG + ]] +} + +NR-DL-TDOA-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-DL-TDOA-MeasElement-r16 + +NR-DL-TDOA-MeasElement-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, + nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-TimeStamp-r16 NR-TimeStamp-r16, + nr-RSTD-r16 CHOICE { + k0-r16 INTEGER (0..1970049), + k1-r16 INTEGER (0..985025), + k2-r16 INTEGER (0..492513), + k3-r16 INTEGER (0..246257), + k4-r16 INTEGER (0..123129), + k5-r16 INTEGER (0..61565), + ... + }, + nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL, + nr-TimingQuality-r16 NR-TimingQuality-r16, + nr-DL-PRS-RSRP-Result-r16 INTEGER (0..126) OPTIONAL, + nr-DL-TDOA-AdditionalMeasurements-r16 + NR-DL-TDOA-AdditionalMeasurements-r16 OPTIONAL, + ..., + [[ + nr-UE-Rx-TEG-ID-r17 INTEGER (0..maxNumOfRxTEGs-1-r17) OPTIONAL, + nr-DL-PRS-FirstPathRSRP-Result-r17 INTEGER (0..126) OPTIONAL, + nr-los-nlos-Indicator-r17 CHOICE { + perTRP-r17 LOS-NLOS-Indicator-r17, + perResource-r17 LOS-NLOS-Indicator-r17 + } OPTIONAL, + nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL, + nr-DL-TDOA-AdditionalMeasurementsExt-r17 + NR-DL-TDOA-AdditionalMeasurementsExt-r17 OPTIONAL + ]] +} + +NR-DL-TDOA-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..3)) OF + NR-DL-TDOA-AdditionalMeasurementElement-r16 + +NR-DL-TDOA-AdditionalMeasurementsExt-r17 ::= SEQUENCE (SIZE (1..maxAddMeasTDOA-r17)) OF + NR-DL-TDOA-AdditionalMeasurementElement-r16 + +NR-DL-TDOA-AdditionalMeasurementElement-r16 ::= SEQUENCE { + nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-TimeStamp-r16 NR-TimeStamp-r16, + nr-RSTD-ResultDiff-r16 CHOICE { + k0-r16 INTEGER (0..8191), + k1-r16 INTEGER (0..4095), + k2-r16 INTEGER (0..2047), + k3-r16 INTEGER (0..1023), + k4-r16 INTEGER (0..511), + k5-r16 INTEGER (0..255), + ... + }, + nr-TimingQuality-r16 NR-TimingQuality-r16, + nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..61) OPTIONAL, + nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL, + ..., + [[ + nr-UE-Rx-TEG-ID-r17 INTEGER (0..maxNumOfRxTEGs-1-r17) OPTIONAL, + nr-DL-PRS-FirstPathRSRP-ResultDiff-r17 + INTEGER (0..61) OPTIONAL, + nr-los-nlos-IndicatorPerResource-r17 + LOS-NLOS-Indicator-r17 OPTIONAL, + nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL + ]] +} + + +NR-DL-TDOA-LocationInformation-r16 ::= SEQUENCE { + measurementReferenceTime-r16 CHOICE { + systemFrameNumber-r16 NR-TimeStamp-r16, + utc-time-r16 UTCTime, + ... + } OPTIONAL, + ..., + [[ + locationCoordinates-r17 LocationCoordinates OPTIONAL, -- Cond batch1 + locationSource-r17 LocationSource-r13 OPTIONAL -- Cond batch2 + ]] +} + + +NR-DL-TDOA-RequestLocationInformation-r16 ::= SEQUENCE { + nr-DL-PRS-RstdMeasurementInfoRequest-r16 ENUMERATED { true } OPTIONAL,-- Need ON + nr-RequestedMeasurements-r16 BIT STRING { prsrsrpReq (0), + firstPathRsrpReq-r17 (1) + } (SIZE(1..8)), + nr-AssistanceAvailability-r16 BOOLEAN, + nr-DL-TDOA-ReportConfig-r16 NR-DL-TDOA-ReportConfig-r16 OPTIONAL, -- Need ON + additionalPaths-r16 ENUMERATED { requested } OPTIONAL, -- Need ON + ..., + [[ + nr-UE-RxTEG-Request-r17 ENUMERATED { requested } OPTIONAL, -- Need ON + nr-los-nlos-IndicatorRequest-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType1-r17, + granularity-r17 LOS-NLOS-IndicatorGranularity1-r17, + ... + } OPTIONAL, -- Need ON + additionalPathsExt-r17 ENUMERATED { requested } OPTIONAL, -- Need ON + additionalPathsDL-PRS-RSRP-Request-r17 ENUMERATED { requested } OPTIONAL, -- Need ON + multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL -- Need ON + + ]] +} + +NR-DL-TDOA-ReportConfig-r16 ::= SEQUENCE { + maxDL-PRS-RSTD-MeasurementsPerTRP-Pair-r16 INTEGER (1..4) OPTIONAL, -- Need ON + timingReportingGranularityFactor-r16 INTEGER (0..5) OPTIONAL, -- Need ON + ..., + [[ + measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17 + ENUMERATED { n0, n2, n3, n4, n6, n8, ... } + OPTIONAL, -- Need ON + reducedDL-PRS-ProcessingSamples-r17 ENUMERATED { requested, ... } OPTIONAL, -- Need ON + lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]] +} + + +NR-DL-TDOA-ProvideCapabilities-r16 ::= SEQUENCE { + nr-DL-TDOA-Mode-r16 PositioningModes, + nr-DL-TDOA-PRS-Capability-r16 NR-DL-PRS-ResourcesCapability-r16, + nr-DL-TDOA-MeasurementCapability-r16 NR-DL-TDOA-MeasurementCapability-r16, + nr-DL-PRS-QCL-ProcessingCapability-r16 NR-DL-PRS-QCL-ProcessingCapability-r16, + nr-DL-PRS-ProcessingCapability-r16 NR-DL-PRS-ProcessingCapability-r16, + additionalPathsReport-r16 ENUMERATED { supported } OPTIONAL, + periodicalReporting-r16 PositioningModes OPTIONAL, + ..., + [[ + ten-ms-unit-ResponseTime-r17 PositioningModes OPTIONAL, + nr-PosCalcAssistanceSupport-r17 BIT STRING { trpLocSup (0), + beamInfoSup (1), + rtdInfoSup (2), + trpTEG-InfoSup (3) + } (SIZE (1..8)) OPTIONAL, + nr-los-nlos-AssistanceDataSupport-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType2-r17, + granularity-r17 LOS-NLOS-IndicatorGranularity2-r17, + ... + } OPTIONAL, + nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17 BIT STRING { eAoD (0), + eAoA (1) + } (SIZE (1..8)) OPTIONAL, + nr-DL-TDOA-On-Demand-DL-PRS-Support-r17 NR-On-Demand-DL-PRS-Support-r17 OPTIONAL, + nr-los-nlos-IndicatorSupport-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType2-r17, + granularity-r17 LOS-NLOS-IndicatorGranularity2-r17, + ... + } OPTIONAL, + additionalPathsExtSupport-r17 ENUMERATED { n4, n6, n8 } OPTIONAL, + scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL, + nr-dl-prs-AssistanceDataValidity-r17 SEQUENCE { + area-validity-r17 INTEGER (1..maxNrOfAreas-r17) OPTIONAL, ... + } OPTIONAL, + multiMeasInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL, + mg-ActivationRequest-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +NR-DL-TDOA-MeasurementCapability-r16 ::= SEQUENCE { + dl-RSTD-MeasurementPerPairOfTRP-FR1-r16 INTEGER (1..4), + dl-RSTD-MeasurementPerPairOfTRP-FR2-r16 INTEGER (1..4), + supportOfDL-PRS-RSRP-MeasFR1-r16 ENUMERATED { supported} OPTIONAL, + supportOfDL-PRS-RSRP-MeasFR2-r16 ENUMERATED { supported} OPTIONAL, + ..., + [[ + nr-UE-TEG-Capability-r17 NR-UE-TEG-Capability-r17 OPTIONAL, + dl-tdoa-MeasCapabilityBandList-r17 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + DL-TDOA-MeasCapabilityPerBand-r17 OPTIONAL + ]] +} + +DL-TDOA-MeasCapabilityPerBand-r17 ::= SEQUENCE { + freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16, + supportOfDL-PRS-FirstPathRSRP-r17 ENUMERATED { supported } OPTIONAL, + dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL, + ... +} + + +NR-DL-TDOA-RequestCapabilities-r16 ::= SEQUENCE { + ... +} + + +NR-DL-TDOA-Error-r16 ::= CHOICE { + locationServerErrorCauses-r16 NR-DL-TDOA-LocationServerErrorCauses-r16, + targetDeviceErrorCauses-r16 NR-DL-TDOA-TargetDeviceErrorCauses-r16, + ... +} + + +NR-DL-TDOA-LocationServerErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + assistanceDataNotSupportedByServer, + assistanceDataSupportedButCurrentlyNotAvailableByServer, + notProvidedAssistanceDataNotSupportedByServer, + ..., + on-demand-dl-prs-NotSupportedByServer-v1700, + on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700 + }, + ... +} + + +NR-DL-TDOA-TargetDeviceErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + assistance-data-missing, + unableToMeasureAnyTRP, + attemptedButUnableToMeasureSomeNeighbourTRPs, + thereWereNotEnoughSignalsReceivedForUeBasedDL-TDOA, + locationCalculationAssistanceDataMissing, + ... + }, + ... +} + + +NR-DL-AoD-ProvideAssistanceData-r16 ::= SEQUENCE { + nr-DL-PRS-AssistanceData-r16 NR-DL-PRS-AssistanceData-r16 OPTIONAL, -- Need ON + nr-SelectedDL-PRS-IndexList-r16 NR-SelectedDL-PRS-IndexList-r16 OPTIONAL, -- Need ON + nr-PositionCalculationAssistance-r16 + NR-PositionCalculationAssistance-r16 + OPTIONAL, -- Cond UEB + nr-DL-AoD-Error-r16 NR-DL-AoD-Error-r16 OPTIONAL, -- Need ON + ..., + [[ + nr-DL-PRS-BeamInfo-r17 NR-DL-PRS-BeamInfo-r16 OPTIONAL, -- Cond UEA + nr-On-Demand-DL-PRS-Configurations-r17 + NR-On-Demand-DL-PRS-Configurations-r17 + OPTIONAL, -- Need ON + nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 + NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 + OPTIONAL, -- Need ON + assistanceDataValidityArea-r17 AreaID-CellList-r17 OPTIONAL -- Need ON + ]] +} + + +NR-DL-AoD-RequestAssistanceData-r16 ::= SEQUENCE { + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, + nr-AdType-r16 BIT STRING { dl-prs (0), + posCalc (1) } (SIZE (1..8)), + ..., + [[ + nr-PosCalcAssistanceRequest-r17 BIT STRING { trpLoc (0), + beamInfo (1), + rtdInfo (2), + beamAntInfo (3), + losNlosInfo (4) + } (SIZE (1..8)) OPTIONAL, + nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17 ENUMERATED { eAoD, eAoA } OPTIONAL, + nr-DL-PRS-BeamInfoRequest-r17 ENUMERATED { requested } OPTIONAL, + nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL, + pre-configured-AssistanceDataRequest-r17 ENUMERATED { true } OPTIONAL + ]] +} + + +NR-DL-AoD-ProvideLocationInformation-r16 ::= SEQUENCE { + nr-DL-AoD-SignalMeasurementInformation-r16 + NR-DL-AoD-SignalMeasurementInformation-r16 + OPTIONAL, + nr-dl-AoD-LocationInformation-r16 NR-DL-AoD-LocationInformation-r16 + OPTIONAL, + nr-DL-AoD-Error-r16 NR-DL-AoD-Error-r16 OPTIONAL, + ..., + [[ + nr-DL-AoD-SignalMeasurementInstances-r17 SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF + NR-DL-AoD-SignalMeasurementInformation-r16 OPTIONAL, -- Cond batchUEA + nr-DL-AoD-LocationInformationInstances-r17 SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF + NR-DL-AoD-LocationInformation-r16 OPTIONAL -- Cond batchUEB + ]] +} + + +NR-DL-AoD-SignalMeasurementInformation-r16 ::= SEQUENCE { + nr-DL-AoD-MeasList-r16 NR-DL-AoD-MeasList-r16, + ... +} + +NR-DL-AoD-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-DL-AoD-MeasElement-r16 + +NR-DL-AoD-MeasElement-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, + nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-TimeStamp-r16 NR-TimeStamp-r16, + nr-DL-PRS-RSRP-Result-r16 INTEGER (0..126), + nr-DL-PRS-RxBeamIndex-r16 INTEGER (1..8) OPTIONAL, + nr-DL-AoD-AdditionalMeasurements-r16 + NR-DL-AoD-AdditionalMeasurements-r16 OPTIONAL, + ..., + [[ + nr-DL-PRS-FirstPathRSRP-Result-r17 + INTEGER (0..126) OPTIONAL, + nr-los-nlos-Indicator-r17 CHOICE { + perTRP-r17 LOS-NLOS-Indicator-r17, + perResource-r17 LOS-NLOS-Indicator-r17 + } OPTIONAL, + nr-DL-AoD-AdditionalMeasurementsExt-r17 + NR-DL-AoD-AdditionalMeasurementsExt-r17 OPTIONAL + ]] +} + +NR-DL-AoD-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..7)) OF + NR-DL-AoD-AdditionalMeasurementElement-r16 + +NR-DL-AoD-AdditionalMeasurementsExt-r17 ::= SEQUENCE (SIZE (1..maxAddMeasAoD-r17)) OF + NR-DL-AoD-AdditionalMeasurementElement-r17 + +NR-DL-AoD-AdditionalMeasurementElement-r16 ::= SEQUENCE { + nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-TimeStamp-r16 NR-TimeStamp-r16, + nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..30), + nr-DL-PRS-RxBeamIndex-r16 INTEGER (1..8) OPTIONAL, + ... +} + +NR-DL-AoD-AdditionalMeasurementElement-r17 ::= SEQUENCE { + nr-DL-PRS-ResourceID-r17 NR-DL-PRS-ResourceID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r17 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-TimeStamp-r17 NR-TimeStamp-r16, + nr-DL-PRS-RSRP-ResultDiff-r17 INTEGER (0..30) OPTIONAL, -- Cond rsrp + nr-DL-PRS-RxBeamIndex-r17 INTEGER (1..8) OPTIONAL, + nr-DL-PRS-FirstPathRSRP-ResultDiff-r17 INTEGER (0..61) OPTIONAL, -- Cond rsrpp + nr-los-nlos-IndicatorPerResource-r17 LOS-NLOS-Indicator-r17 OPTIONAL, + ... +} + + +NR-DL-AoD-LocationInformation-r16 ::= SEQUENCE { + measurementReferenceTime-r16 CHOICE { + sfn-time-r16 NR-TimeStamp-r16, + utc-time-r16 UTCTime, + ... + } OPTIONAL, + ..., + [[ + locationCoordinates-r17 LocationCoordinates OPTIONAL, -- Cond batch1 + locationSource-r17 LocationSource-r13 OPTIONAL -- Cond batch2 + ]] +} + + +NR-DL-AoD-RequestLocationInformation-r16 ::= SEQUENCE { + nr-AssistanceAvailability-r16 BOOLEAN, + nr-DL-AoD-ReportConfig-r16 NR-DL-AoD-ReportConfig-r16, + ..., + [[ + multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]] +} + +NR-DL-AoD-ReportConfig-r16 ::= SEQUENCE { + maxDL-PRS-RSRP-MeasurementsPerTRP-r16 INTEGER (1..8) OPTIONAL, -- Need ON + ..., + [[ + maxDL-PRS-RSRP-MeasurementsPerTRP-r17 INTEGER (9..24) OPTIONAL, -- Need ON + maxDL-PRS-RSRPP-MeasurementsPerTRP-r17 INTEGER (1..24) OPTIONAL, -- Need ON + nr-los-nlos-IndicatorRequest-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType1-r17, + granularity-r17 + LOS-NLOS-IndicatorGranularity1-r17, + ... + } OPTIONAL, -- Need ON + reducedDL-PRS-ProcessingSamples-r17 ENUMERATED { requested, ... } + OPTIONAL, -- Need ON + lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]] +} + + +NR-DL-AoD-ProvideCapabilities-r16 ::= SEQUENCE { + nr-DL-AoD-Mode-r16 PositioningModes, + nr-DL-AoD-PRS-Capability-r16 NR-DL-PRS-ResourcesCapability-r16, + nr-DL-AoD-MeasurementCapability-r16 NR-DL-AoD-MeasurementCapability-r16, + nr-DL-PRS-QCL-ProcessingCapability-r16 NR-DL-PRS-QCL-ProcessingCapability-r16, + nr-DL-PRS-ProcessingCapability-r16 NR-DL-PRS-ProcessingCapability-r16, + periodicalReporting-r16 PositioningModes OPTIONAL, + ..., + [[ + ten-ms-unit-ResponseTime-r17 PositioningModes OPTIONAL, + nr-PosCalcAssistanceSupport-r17 BIT STRING { trpLocSup (0), + beamInfoSup (1), + rtdInfoSup (2), + beamAntInfoSup (3) + } (SIZE (1..8)) OPTIONAL, + nr-los-nlos-AssistanceDataSupport-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType2-r17, + granularity-r17 LOS-NLOS-IndicatorGranularity2-r17, + ... + } OPTIONAL, + nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17 BIT STRING { eAoD (0), + eAoA (1) + } (SIZE (1..8)) OPTIONAL, + dl-PRS-ResourcePrioritySubset-Sup-r17 ENUMERATED { sameSet, differentSet, sameOrDifferentSet } + OPTIONAL, + nr-DL-PRS-BeamInfoSup-r17 ENUMERATED { supported } OPTIONAL, + nr-DL-AoD-On-Demand-DL-PRS-Support-r17 NR-On-Demand-DL-PRS-Support-r17 OPTIONAL, + nr-los-nlos-IndicatorSupport-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType2-r17, + granularity-r17 LOS-NLOS-IndicatorGranularity2-r17, + ... + } OPTIONAL, + scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 + OPTIONAL, + nr-dl-prs-AssistanceDataValidity-r17 SEQUENCE { + area-validity-r17 INTEGER (1..maxNrOfAreas-r17) OPTIONAL, + ... + } OPTIONAL, + multiMeasInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL, + mg-ActivationRequest-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +NR-DL-AoD-MeasurementCapability-r16 ::= SEQUENCE { + maxDL-PRS-RSRP-MeasurementFR1-r16 INTEGER (1..8), + maxDL-PRS-RSRP-MeasurementFR2-r16 INTEGER (1..8), + dl-AoD-MeasCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + DL-AoD-MeasCapabilityPerBand-r16, + ..., + [[ + maxDL-PRS-RSRP-MeasurementFR1-v1730 ENUMERATED { n16, n24 } OPTIONAL, + maxDL-PRS-RSRP-MeasurementFR2-v1730 ENUMERATED { n16, n24 } OPTIONAL + ]] +} + +DL-AoD-MeasCapabilityPerBand-r16 ::= SEQUENCE { + freqBandIndicatorNR-r16 FreqBandIndicatorNR-r16, + simul-NR-DL-AoD-DL-TDOA-r16 ENUMERATED { supported} OPTIONAL, + simul-NR-DL-AoD-Multi-RTT-r16 ENUMERATED { supported} OPTIONAL, + ..., + [[ + maxDL-PRS-FirstPathRSRP-MeasPerTRP-r17 ENUMERATED { n1, n2, n4, n8, n16, n24 } OPTIONAL, + dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +NR-DL-AoD-RequestCapabilities-r16 ::= SEQUENCE { + ... +} + + +NR-DL-AoD-Error-r16 ::= CHOICE { + locationServerErrorCauses-r16 NR-DL-AoD-LocationServerErrorCauses-r16, + targetDeviceErrorCauses-r16 NR-DL-AoD-TargetDeviceErrorCauses-r16, + ... +} + + +NR-DL-AoD-LocationServerErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + assistanceDataNotSupportedByServer, + assistanceDataSupportedButCurrentlyNotAvailableByServer, + notProvidedAssistanceDataNotSupportedByServer, + ..., + on-demand-dl-prs-NotSupportedByServer-v1700, + on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700 + }, + ... +} + + +NR-DL-AoD-TargetDeviceErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + assistance-data-missing, + unableToMeasureAnyTRP, + attemptedButUnableToMeasureSomeNeighbourTRPs, + thereWereNotEnoughSignalsReceivedForUeBasedDL-AoD, + locationCalculationAssistanceDataMissing, + ... + }, + ... +} + + +NR-Multi-RTT-ProvideAssistanceData-r16 ::= SEQUENCE { + nr-DL-PRS-AssistanceData-r16 NR-DL-PRS-AssistanceData-r16 OPTIONAL, -- Need ON + nr-SelectedDL-PRS-IndexList-r16 NR-SelectedDL-PRS-IndexList-r16 OPTIONAL, -- Need ON + nr-Multi-RTT-Error-r16 NR-Multi-RTT-Error-r16 OPTIONAL, -- Need ON + ..., + [[ + nr-On-Demand-DL-PRS-Configurations-r17 NR-On-Demand-DL-PRS-Configurations-r17 + OPTIONAL, -- Need ON + nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 + NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 + OPTIONAL, -- Need ON + assistanceDataValidityArea-r17 AreaID-CellList-r17 OPTIONAL -- Need ON + ]] +} + + +NR-Multi-RTT-RequestAssistanceData-r16 ::= SEQUENCE { + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, + nr-AdType-r16 BIT STRING { dl-prs (0), + ul-srs (1) } (SIZE (1..8)), + ..., + [[ + nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL, + nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17 ENUMERATED { eAoD, eAoA } OPTIONAL, + pre-configured-AssistanceDataRequest-r17 ENUMERATED { true } OPTIONAL + ]] +} + + +NR-Multi-RTT-ProvideLocationInformation-r16 ::= SEQUENCE { + nr-Multi-RTT-SignalMeasurementInformation-r16 + NR-Multi-RTT-SignalMeasurementInformation-r16 + OPTIONAL, + nr-Multi-RTT-Error-r16 NR-Multi-RTT-Error-r16 OPTIONAL, + ..., + [[ + nr-Multi-RTT-SignalMeasurementInstances-r17 + SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF + NR-Multi-RTT-SignalMeasurementInformation-r16 + OPTIONAL + ]] +} + + +NR-Multi-RTT-SignalMeasurementInformation-r16 ::= SEQUENCE { + nr-Multi-RTT-MeasList-r16 NR-Multi-RTT-MeasList-r16, + nr-NTA-Offset-r16 ENUMERATED { nTA1, nTA2, nTA3, nTA4, ... } OPTIONAL, + ..., + [[ + nr-SRS-TxTEG-Set-r17 SEQUENCE (SIZE(1..maxTxTEG-Sets-r17)) OF + NR-SRS-TxTEG-Element-r17 OPTIONAL + -- Cond Case2-3 + ]], + [[ + nr-UE-RxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL,-- Cond TEGCase3 + nr-UE-TxTEG-TimingErrorMargin-r17 TEG-TimingErrorMargin-r17 OPTIONAL,-- Cond TEGCase2-3 + nr-UE-RxTxTEG-TimingErrorMargin-r17 RxTxTEG-TimingErrorMargin-r17 OPTIONAL -- Cond TEGCase1-2 + ]] +} + +NR-Multi-RTT-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-Multi-RTT-MeasElement-r16 + +NR-Multi-RTT-MeasElement-r16 ::= SEQUENCE { + dl-PRS-ID-r16 INTEGER (0..255), + nr-PhysCellID-r16 NR-PhysCellID-r16 OPTIONAL, + nr-CellGlobalID-r16 NCGI-r15 OPTIONAL, + nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, + nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-UE-RxTxTimeDiff-r16 CHOICE { + k0-r16 INTEGER (0..1970049), + k1-r16 INTEGER (0..985025), + k2-r16 INTEGER (0..492513), + k3-r16 INTEGER (0..246257), + k4-r16 INTEGER (0..123129), + k5-r16 INTEGER (0..61565), + ... + }, + nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL, + nr-TimeStamp-r16 NR-TimeStamp-r16, + nr-TimingQuality-r16 NR-TimingQuality-r16, + nr-DL-PRS-RSRP-Result-r16 INTEGER (0..126) OPTIONAL, + nr-Multi-RTT-AdditionalMeasurements-r16 + NR-Multi-RTT-AdditionalMeasurements-r16 OPTIONAL, + ..., + [[ + nr-UE-RxTx-TEG-Info-r17 NR-UE-RxTx-TEG-Info-r17 OPTIONAL, + nr-DL-PRS-FirstPathRSRP-Result-r17 INTEGER (0..126) OPTIONAL, + nr-los-nlos-Indicator-r17 CHOICE { + perTRP-r17 LOS-NLOS-Indicator-r17, + perResource-r17 LOS-NLOS-Indicator-r17 + } OPTIONAL, + nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL, + nr-Multi-RTT-AdditionalMeasurementsExt-r17 + NR-Multi-RTT-AdditionalMeasurementsExt-r17 OPTIONAL + ]] +} + +NR-Multi-RTT-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..3)) OF + NR-Multi-RTT-AdditionalMeasurementElement-r16 + +NR-Multi-RTT-AdditionalMeasurementsExt-r17 ::= SEQUENCE (SIZE (1..maxAddMeasRTT-r17)) OF + NR-Multi-RTT-AdditionalMeasurementElement-r16 + +NR-Multi-RTT-AdditionalMeasurementElement-r16 ::= SEQUENCE { + nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..61) OPTIONAL, + nr-UE-RxTxTimeDiffAdditional-r16 CHOICE { + k0-r16 INTEGER (0..8191), + k1-r16 INTEGER (0..4095), + k2-r16 INTEGER (0..2047), + k3-r16 INTEGER (0..1023), + k4-r16 INTEGER (0..511), + k5-r16 INTEGER (0..255), + ... + }, + nr-TimingQuality-r16 NR-TimingQuality-r16, + nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL, + nr-TimeStamp-r16 NR-TimeStamp-r16, + ..., + [[ + nr-UE-RxTx-TEG-Info-r17 NR-UE-RxTx-TEG-Info-r17 OPTIONAL, + nr-DL-PRS-FirstPathRSRP-ResultDiff-r17 INTEGER (0..61) OPTIONAL, + nr-los-nlos-IndicatorPerResource-r17 LOS-NLOS-Indicator-r17 OPTIONAL, + nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL + ]] +} + +NR-SRS-TxTEG-Element-r17 ::= SEQUENCE { + nr-TimeStamp-r17 NR-TimeStamp-r16 OPTIONAL, -- Need OP + nr-UE-Tx-TEG-ID-r17 INTEGER (0..maxNumOfTxTEGs-1-r17), + carrierFreq-r17 SEQUENCE { + absoluteFrequencyPointA-r17 ARFCN-ValueNR-r15, + offsetToPointA-r17 INTEGER (0..2199) + } OPTIONAL, + srs-PosResourceList-r17 SEQUENCE (SIZE (1..maxNumOfSRS-PosResources-r17)) OF + INTEGER (0..maxNumOfSRS-PosResources-1-r17), + ... +} + +NR-UE-RxTx-TEG-Info-r17 ::= CHOICE { + case1-r17 SEQUENCE { + nr-UE-RxTx-TEG-ID-r17 INTEGER (0..maxNumOfRxTxTEGs-1-r17) + }, + case2-r17 SEQUENCE { + nr-UE-RxTx-TEG-ID-r17 INTEGER (0..maxNumOfRxTxTEGs-1-r17), + nr-UE-Tx-TEG-Index-r17 INTEGER (1..maxTxTEG-Sets-r17) + }, + case3-r17 SEQUENCE { + nr-UE-Rx-TEG-ID-r17 INTEGER (0..maxNumOfRxTEGs-1-r17), + nr-UE-Tx-TEG-Index-r17 INTEGER (1..maxTxTEG-Sets-r17) + }, + ... +} + + +NR-Multi-RTT-RequestLocationInformation-r16 ::= SEQUENCE { + nr-UE-RxTxTimeDiffMeasurementInfoRequest-r16 + ENUMERATED { true } OPTIONAL, -- Need ON + nr-RequestedMeasurements-r16 BIT STRING { prsrsrpReq (0), + firstPathRsrpReq-r17 (1) } (SIZE(1..8)), + nr-AssistanceAvailability-r16 BOOLEAN, + nr-Multi-RTT-ReportConfig-r16 NR-Multi-RTT-ReportConfig-r16, + additionalPaths-r16 ENUMERATED { requested } OPTIONAL, -- Need ON + ..., + [[ + nr-UE-RxTxTEG-Request-r17 ENUMERATED { case1, case2, case3, ... } + OPTIONAL, -- Need ON + measureSameDL-PRS-ResourceWithDifferentRxTxTEGs-r17 + ENUMERATED { n0, n2, n3, n4, n6, n8, ... } + OPTIONAL, -- Need ON + measureSameDL-PRS-ResourceWithDifferentRxTEGs-r17 + ENUMERATED { n0, n2, n3, n4, n6, n8, ... } + OPTIONAL, -- Need ON + reducedDL-PRS-ProcessingSamples-r17 + ENUMERATED { requested, ... } OPTIONAL, -- Need ON + nr-los-nlos-IndicatorRequest-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType1-r17, + granularity-r17 LOS-NLOS-IndicatorGranularity1-r17, + ... + } OPTIONAL, -- Need ON + additionalPathsExt-r17 ENUMERATED { requested } OPTIONAL, -- Need ON + additionalPathsDL-PRS-RSRP-Request-r17 + ENUMERATED { requested } OPTIONAL, -- Need ON + multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL, -- Need ON + lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]] +} + +NR-Multi-RTT-ReportConfig-r16 ::= SEQUENCE { + maxDL-PRS-RxTxTimeDiffMeasPerTRP-r16 INTEGER (1..4) OPTIONAL, -- Need ON + timingReportingGranularityFactor-r16 INTEGER (0..5) OPTIONAL -- Need ON +} + + +NR-Multi-RTT-ProvideCapabilities-r16 ::= SEQUENCE { + nr-Multi-RTT-PRS-Capability-r16 NR-DL-PRS-ResourcesCapability-r16, + nr-Multi-RTT-MeasurementCapability-r16 NR-Multi-RTT-MeasurementCapability-r16, + nr-DL-PRS-QCL-ProcessingCapability-r16 NR-DL-PRS-QCL-ProcessingCapability-r16, + nr-DL-PRS-ProcessingCapability-r16 NR-DL-PRS-ProcessingCapability-r16, + nr-UL-SRS-Capability-r16 NR-UL-SRS-Capability-r16, + additionalPathsReport-r16 ENUMERATED { supported } OPTIONAL, + periodicalReporting-r16 ENUMERATED { supported } OPTIONAL, + ..., + [[ + ten-ms-unit-ResponseTime-r17 ENUMERATED { supported } OPTIONAL, + nr-DL-PRS-ExpectedAoD-or-AoA-Sup-r17 BIT STRING { eAoD (0), + eAoA (1) + } (SIZE (1..8)) OPTIONAL, nr-Multi-RTT-On-Demand-DL-PRS-Support-r17 + NR-On-Demand-DL-PRS-Support-r17 OPTIONAL, + nr-UE-RxTx-TEG-ID-ReportingSupport-r17 BIT STRING { case1 (0), + case2 (1), + case3 (2) + } (SIZE (1..8)) OPTIONAL, + nr-los-nlos-IndicatorSupport-r17 SEQUENCE { + type-r17 LOS-NLOS-IndicatorType2-r17, + granularity-r17 LOS-NLOS-IndicatorGranularity2-r17, + ... + } OPTIONAL, + additionalPathsExtSupport-r17 ENUMERATED { n4, n6, n8 } OPTIONAL, + scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL, + nr-dl-prs-AssistanceDataValidity-r17 SEQUENCE { + area-validity-r17 INTEGER (1..maxNrOfAreas-r17) OPTIONAL, + ... + } OPTIONAL, + multiMeasInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL, + mg-ActivationRequest-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL + ]] +} + + +NR-Multi-RTT-MeasurementCapability-r16 ::= SEQUENCE { + maxNrOfRx-TX-MeasFR1-r16 INTEGER (1..4) OPTIONAL, + maxNrOfRx-TX-MeasFR2-r16 INTEGER (1..4) OPTIONAL, + supportOfRSRP-MeasFR1-r16 ENUMERATED { supported } OPTIONAL, + supportOfRSRP-MeasFR2-r16 ENUMERATED { supported } OPTIONAL, + srs-AssocPRS-MultiLayersFR1-r16 ENUMERATED { supported } OPTIONAL, + srs-AssocPRS-MultiLayersFR2-r16 ENUMERATED { supported } OPTIONAL, + ..., + [[ + nr-UE-TEG-Capability-r17 NR-UE-TEG-Capability-r17 OPTIONAL, + multi-RTT-MeasCapabilityBandList-r17 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF + Multi-RTT-MeasCapabilityPerBand-r17 + OPTIONAL + ]] +} + +Multi-RTT-MeasCapabilityPerBand-r17 ::= SEQUENCE { + freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16, + supportOfDL-PRS-FirstPathRSRP-r17 ENUMERATED { supported } OPTIONAL, + dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL, + ... +} + + +NR-Multi-RTT-RequestCapabilities-r16 ::= SEQUENCE { + ... +} + + +NR-Multi-RTT-Error-r16 ::= CHOICE { + locationServerErrorCauses-r16 NR-Multi-RTT-LocationServerErrorCauses-r16, + targetDeviceErrorCauses-r16 NR-Multi-RTT-TargetDeviceErrorCauses-r16, + ... +} + + +NR-Multi-RTT-LocationServerErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + assistanceDataNotSupportedByServer, + assistanceDataSupportedButCurrentlyNotAvailableByServer, + ..., + on-demand-dl-prs-NotSupportedByServer-v1700, + on-demand-dl-prs-SupportedButCurrentlyNotAvailableByServer-v1700 + }, + ... +} + + +NR-Multi-RTT-TargetDeviceErrorCauses-r16 ::= SEQUENCE { + cause-r16 ENUMERATED { undefined, + dl-assistance-data-missing, + unableToMeasureAnyTRP, + attemptedButUnableToMeasureSomeNeighbourTRPs, + ul-srs-configuration-missing, + unableToTransmit-ul-srs, + ... + }, + ... +} + + +maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier frequency +maxEARFCN-Plus1 INTEGER ::= 65536 -- Lowest value extended EARFCN range +maxEARFCN2 INTEGER ::= 262143 -- Highest value extended EARFCN range + +maxMBS-r14 INTEGER ::= 64 +maxWLAN-AP-r13 INTEGER ::= 64 +maxKnownAPs-r14 INTEGER ::= 2048 +maxVisibleAPs-r14 INTEGER ::= 32 +maxWLAN-AP-r14 INTEGER ::= 128 +maxWLAN-DataSets-r14 INTEGER ::= 8 + +maxBT-Beacon-r13 INTEGER ::= 32 + +nrMaxBands-r16 INTEGER ::= 1024 -- Maximum number of supported bands in + -- UE capability. +nrMaxFreqLayers-r16 INTEGER ::= 4 -- Max freq layers +nrMaxFreqLayers-1-r16 INTEGER ::= 3 +nrMaxNumDL-PRS-ResourcesPerSet-1-r16 INTEGER ::= 63 +nrMaxNumDL-PRS-ResourceSetsPerTRP-1-r16 INTEGER ::= 7 +nrMaxResourceIDs-r16 INTEGER ::= 64 -- Max Resource IDs +nrMaxResourceOffsetValue-1-r16 INTEGER ::= 511 +nrMaxResourcesPerSet-r16 INTEGER ::= 64 -- Maximum resources for one set +nrMaxSetsPerTrpPerFreqLayer-r16 INTEGER ::= 2 -- Maximum resource sets for one TRP +nrMaxSetsPerTrpPerFreqLayer-1-r16 INTEGER ::= 1 +nrMaxTRPs-r16 INTEGER ::= 256 -- Max TRPs per UE +nrMaxTRPsPerFreq-r16 INTEGER ::= 64 -- Max TRPs per freq layers +nrMaxTRPsPerFreq-1-r16 INTEGER ::= 63 +maxSimultaneousBands-r16 INTEGER ::= 4 -- Maximum number of simultaneously + -- measured bands +maxBandComb-r16 INTEGER ::= 1024 +nrMaxConfiguredBands-r16 INTEGER ::= 16 + +maxNumOfRxTEGs-r17 INTEGER ::= 32 +maxNumOfRxTEGs-1-r17 INTEGER ::= 31 +maxNumOfTxTEGs-1-r17 INTEGER ::= 7 +maxTxTEG-Sets-r17 INTEGER ::= 256 -- Maximum applicable number is 64 +maxNumOfRxTxTEGs-1-r17 INTEGER ::= 255 +maxNumOfTRP-TxTEGs-1-r17 INTEGER ::= 7 +maxNumOfSRS-PosResources-r17 INTEGER ::= 64 +maxNumOfSRS-PosResources-1-r17 INTEGER ::= 63 + +maxNumResourcesPerAngle-r17 INTEGER ::= 24 +maxNumPrioResources-r17 INTEGER ::= 24 + +maxAddMeasTDOA-r17 INTEGER ::= 31 +maxAddMeasAoD-r17 INTEGER ::= 23 +maxAddMeasRTT-r17 INTEGER ::= 31 + +maxOD-DL-PRS-Configs-r17 INTEGER ::= 8 + +maxCellIDsPerArea-r17 INTEGER ::= 256 +maxNrOfAreas-r17 INTEGER ::= 16 +maxMeasInstances-r17 INTEGER ::= 32 + + +END |