diff options
Diffstat (limited to 'epan/dissectors/asn1/lppe')
-rw-r--r-- | epan/dissectors/asn1/lppe/CMakeLists.txt | 38 | ||||
-rw-r--r-- | epan/dissectors/asn1/lppe/LPPe.asn | 4331 | ||||
-rw-r--r-- | epan/dissectors/asn1/lppe/lppe.cnf | 49 | ||||
-rw-r--r-- | epan/dissectors/asn1/lppe/packet-lppe-template.c | 90 |
4 files changed, 4508 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/lppe/CMakeLists.txt b/epan/dissectors/asn1/lppe/CMakeLists.txt new file mode 100644 index 00000000..5212820a --- /dev/null +++ b/epan/dissectors/asn1/lppe/CMakeLists.txt @@ -0,0 +1,38 @@ +# CMakeLists.txt +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# SPDX-License-Identifier: GPL-2.0-or-later +# + +set( PROTOCOL_NAME lppe ) + +set( PROTO_OPT ) + +set( EXT_ASN_FILE_LIST +) + +set( ASN_FILE_LIST + LPPe.asn +) + +set( EXTRA_DIST + ${ASN_FILE_LIST} + packet-${PROTOCOL_NAME}-template.c + ${PROTOCOL_NAME}.cnf +) + +set( SRC_FILES + ${EXTRA_DIST} + ${EXT_ASN_FILE_LIST} +) + +set( A2W_FLAGS ) + +set( EXTRA_CNF + "${CMAKE_CURRENT_BINARY_DIR}/../lpp/lpp-exp.cnf" +) + +ASN2WRS() diff --git a/epan/dissectors/asn1/lppe/LPPe.asn b/epan/dissectors/asn1/lppe/LPPe.asn new file mode 100644 index 00000000..76fd1134 --- /dev/null +++ b/epan/dissectors/asn1/lppe/LPPe.asn @@ -0,0 +1,4331 @@ +-- Open Mobile Alliance OMA-TS-LPPe-V1_0-20200630-D +-- +OMA-LPPE DEFINITIONS AUTOMATIC TAGS ::= +BEGIN + +-- asn2wrs does not seem to import integer constants (maxFreqLayers) +--IMPORTS GNSS-ID, GNSS-SignalID, GNSS-SignalIDs, GNSS-SystemTime, SV-ID, +--ECID-SignalMeasurementInformation, CellGlobalIdGERAN, CellGlobalIdEUTRA-AndUTRA, +--OTDOA-ReferenceCellInfo, OTDOA-NeighbourCellInfoElement, maxFreqLayers, ARFCN-ValueEUTRA, +--Ellipsoid-Point, EllipsoidPointWithAltitude, EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, +--NetworkTime, GNSS-ID-Bitmap, ARFCN-ValueUTRA, ARFCN-ValueEUTRA-v9a0, Velocity FROM LPP-PDU-Definitions; +IMPORTS GNSS-ID, GNSS-SignalID, GNSS-SignalIDs, GNSS-SystemTime, SV-ID, +ECID-SignalMeasurementInformation, CellGlobalIdGERAN, CellGlobalIdEUTRA-AndUTRA, +OTDOA-ReferenceCellInfo, OTDOA-NeighbourCellInfoElement, ARFCN-ValueEUTRA, +Ellipsoid-Point, EllipsoidPointWithAltitude, EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, +NetworkTime, GNSS-ID-Bitmap, ARFCN-ValueUTRA, ARFCN-ValueEUTRA-v9a0, Velocity FROM LPP-PDU-Definitions; + + +OMA-LPPe-MessageExtension ::= SEQUENCE { + lppeCompatibilityLevel OMA-LPPe-LPPeCompatibilityLevel, + lppeVersion OMA-LPPe-LPPeVersion, + lppeMode OMA-LPPe-LPPeMode, + messageExtensionBody OMA-LPPe-MessageExtensionBody, + ... +} + +OMA-LPPe-LPPeCompatibilityLevel ::= INTEGER (0..15) + +OMA-LPPe-LPPeVersion ::= SEQUENCE { + majorVersion INTEGER(0..255), + minorVersion INTEGER(0..255) +} + +OMA-LPPe-LPPeMode ::= ENUMERATED { + normal, + reversed, + ... +} + + +OMA-LPPe-MessageExtensionBody ::= CHOICE { + requestCapabilities OMA-LPPe-RequestCapabilities, + --Shall only be used in the EPDU in LPP RequestCapabilities + provideCapabilities OMA-LPPe-ProvideCapabilities, + --Shall only be used in the EPDU in LPP ProvideCapabilities + requestAssistanceData OMA-LPPe-RequestAssistanceData, + --Shall only be used in the EPDU in LPP RequestAssistanceData + provideAssistanceData OMA-LPPe-ProvideAssistanceData, + --Shall only be used in the EPDU in LPP ProvideAssistanceData + requestLocationInformation OMA-LPPe-RequestLocationInformation, + --Shall only be used in the EPDU in LPP RequestLocationInformation + provideLocationInformation OMA-LPPe-ProvideLocationInformation, + --Shall only be used in the EPDU in LPP ProvideLocationInformation + error OMA-LPPe-Error, --Shall only be used in the EPDU in LPP Error + abort OMA-LPPe-Abort, --Shall only be used in the EPDU in LPP Abort + ... +} + + +OMA-LPPe-RequestCapabilities ::= SEQUENCE { + commonIEsRequestCapabilities OMA-LPPe-CommonIEsRequestCapabilities OPTIONAL, + agnss-RequestCapabilities OMA-LPPe-AGNSS-RequestCapabilities OPTIONAL, + otdoa-RequestCapabilities OMA-LPPe-OTDOA-RequestCapabilities OPTIONAL, + eotd-RequestCapabilities OMA-LPPe-EOTD-RequestCapabilities OPTIONAL, + otdoa-utra-RequestCapabilities OMA-LPPe-OTDOA-UTRA-RequestCapabilities OPTIONAL, + ecid-lte-RequestCapabilities OMA-LPPe-ECID-LTE-RequestCapabilities OPTIONAL, + ecid-gsm-RequestCapabilities OMA-LPPe-ECID-GSM-RequestCapabilities OPTIONAL, + ecid-utra-RequestCapabilities OMA-LPPe-ECID-UTRA-RequestCapabilities OPTIONAL, + wlan-ap-RequestCapabilities OMA-LPPe-WLAN-AP-RequestCapabilities OPTIONAL, + ecid-wimax-RequestCapabilities OMA-LPPe-ECID-WiMax-RequestCapabilities OPTIONAL, + sensor-RequestCapabilities OMA-LPPe-Sensor-RequestCapabilities OPTIONAL, + srn-RequestCapabilities OMA-LPPe-SRN-RequestCapabilities OPTIONAL, + ... +} + + +OMA-LPPe-ProvideCapabilities::= SEQUENCE { + commonIEsProvideCapabilities OMA-LPPe-CommonIEsProvideCapabilities OPTIONAL, + agnss-ProvideCapabilities OMA-LPPe-AGNSS-ProvideCapabilities OPTIONAL, + otdoa-ProvideCapabilities OMA-LPPe-OTDOA-ProvideCapabilities OPTIONAL, + eotd-ProvideCapabilities OMA-LPPe-EOTD-ProvideCapabilities OPTIONAL, + otdoa-utra-ProvideCapabilities OMA-LPPe-OTDOA-UTRA-ProvideCapabilities OPTIONAL, + ecid-lte-ProvideCapabilities OMA-LPPe-ECID-LTE-ProvideCapabilities OPTIONAL, + ecid-gsm-ProvideCapabilities OMA-LPPe-ECID-GSM-ProvideCapabilities OPTIONAL, + ecid-utra-ProvideCapabilities OMA-LPPe-ECID-UTRA-ProvideCapabilities OPTIONAL, + wlan-ap-ProvideCapabilities OMA-LPPe-WLAN-AP-ProvideCapabilities OPTIONAL, + ecid-wimax-ProvideCapabilities OMA-LPPe-ECID-WiMax-ProvideCapabilities OPTIONAL, + sensor-ProvideCapabilities OMA-LPPe-Sensor-ProvideCapabilities OPTIONAL, + srn-ProvideCapabilities OMA-LPPe-SRN-ProvideCapabilities OPTIONAL, + ... +} + + +OMA-LPPe-RequestAssistanceData ::= SEQUENCE { + commonIEsRequestAssistanceData OMA-LPPe-CommonIEsRequestAssistanceData OPTIONAL, + agnss-RequestAssistanceData OMA-LPPe-AGNSS-RequestAssistanceData OPTIONAL, + otdoa-RequestAssistanceData OMA-LPPe-OTDOA-RequestAssistanceData OPTIONAL, + eotd-RequestAssistanceData OMA-LPPe-EOTD-RequestAssistanceData OPTIONAL, + otdoa-utra-RequestAssistanceData OMA-LPPe-OTDOA-UTRA-RequestAssistanceData OPTIONAL, + ecid-lte-RequestAssistanceData OMA-LPPe-ECID-LTE-RequestAssistanceData OPTIONAL, + ecid-gsm-RequestAssistanceData OMA-LPPe-ECID-GSM-RequestAssistanceData OPTIONAL, + ecid-utra-RequestAssistanceData OMA-LPPe-ECID-UTRA-RequestAssistanceData OPTIONAL, + wlan-ap-RequestAssistanceData OMA-LPPe-WLAN-AP-RequestAssistanceData OPTIONAL, + sensor-RequestAssistanceData OMA-LPPe-Sensor-RequestAssistanceData OPTIONAL, + srn-RequestAssistanceData OMA-LPPe-SRN-RequestAssistanceData OPTIONAL, + ... +} + + +OMA-LPPe-ProvideAssistanceData ::= SEQUENCE { + commonIEsProvideAssistanceData OMA-LPPe-CommonIEsProvideAssistanceData OPTIONAL, + agnss-ProvideAssistanceData OMA-LPPe-AGNSS-ProvideAssistanceData OPTIONAL, + otdoa-ProvideAssistanceData OMA-LPPe-OTDOA-ProvideAssistanceData OPTIONAL, + eotd-ProvideAssistanceData OMA-LPPe-EOTD-ProvideAssistanceData OPTIONAL, + otdoa-utra-ProvideAssistanceData OMA-LPPe-OTDOA-UTRA-ProvideAssistanceData OPTIONAL, + ecid-lte-ProvideAssistanceData OMA-LPPe-ECID-LTE-ProvideAssistanceData OPTIONAL, + ecid-gsm-ProvideAssistanceData OMA-LPPe-ECID-GSM-ProvideAssistanceData OPTIONAL, + ecid-utra-ProvideAssistanceData OMA-LPPe-ECID-UTRA-ProvideAssistanceData OPTIONAL, + wlan-ap-ProvideAssistanceData OMA-LPPe-WLAN-AP-ProvideAssistanceData OPTIONAL, + sensor-ProvideAssistanceData OMA-LPPe-Sensor-ProvideAssistanceData OPTIONAL, + srn-ProvideAssistanceData OMA-LPPe-SRN-ProvideAssistanceData OPTIONAL, + ... +} + + +OMA-LPPe-RequestLocationInformation ::= SEQUENCE { + commonIEsRequestLocationInformation OMA-LPPe-CommonIEsRequestLocationInformation OPTIONAL, + agnss-RequestLocationInformation OMA-LPPe-AGNSS-RequestLocationInformation OPTIONAL, + otdoa-RequestLocationInformation OMA-LPPe-OTDOA-RequestLocationInformation OPTIONAL, + eotd-RequestLocationInformation OMA-LPPe-EOTD-RequestLocationInformation OPTIONAL, + otdoa-utra-RequestLocationInformation OMA-LPPe-OTDOA-UTRA-RequestLocationInformation OPTIONAL, + ecid-lte-RequestLocationInformation OMA-LPPe-ECID-LTE-RequestLocationInformation OPTIONAL, + ecid-gsm-RequestLocationInformation OMA-LPPe-ECID-GSM-RequestLocationInformation OPTIONAL, + ecid-utra-RequestLocationInformation OMA-LPPe-ECID-UTRA-RequestLocationInformation OPTIONAL, + wlan-ap-RequestLocationInformation OMA-LPPe-WLAN-AP-RequestLocationInformation OPTIONAL, + ecid-wimax-RequestLocationInformation OMA-LPPe-ECID-WiMax-RequestLocationInformation OPTIONAL, + sensor-RequestLocationInformation OMA-LPPe-Sensor-RequestLocationInformation OPTIONAL, + srn-RequestLocationInformation OMA-LPPe-SRN-RequestLocationInformation OPTIONAL, + ... +} + + +OMA-LPPe-ProvideLocationInformation ::= SEQUENCE { + commonIEsProvideLocationInformation OMA-LPPe-CommonIEsProvideLocationInformation OPTIONAL, + agnss-ProvideLocationInformation OMA-LPPe-AGNSS-ProvideLocationInformation OPTIONAL, + otdoa-ProvideLocationInformation OMA-LPPe-OTDOA-ProvideLocationInformation OPTIONAL, + eotd-ProvideLocationInformation OMA-LPPe-EOTD-ProvideLocationInformation OPTIONAL, + otdoa-utra-ProvideLocationInformation OMA-LPPe-OTDOA-UTRA-ProvideLocationInformation OPTIONAL, + ecid-lte-ProvideLocationInformation OMA-LPPe-ECID-LTE-ProvideLocationInformation OPTIONAL, + ecid-gsm-ProvideLocationInformation OMA-LPPe-ECID-GSM-ProvideLocationInformation OPTIONAL, + ecid-utra-ProvideLocationInformation OMA-LPPe-ECID-UTRA-ProvideLocationInformation OPTIONAL, + wlan-ap-ProvideLocationInformastion OMA-LPPe-WLAN-AP-ProvideLocationInformation OPTIONAL, + ecid-wimax-ProvideLocationInformastion OMA-LPPe-ECID-WiMax-ProvideLocationInformation OPTIONAL, + sensor-ProvideLocationInformation OMA-LPPe-Sensor-ProvideLocationInformation OPTIONAL, + srn-ProvideLocationInformation OMA-LPPe-SRN-ProvideLocationInformation OPTIONAL, + ... +} + + +OMA-LPPe-Abort ::= SEQUENCE { + commonIEsAbort OMA-LPPe-CommonIEsAbort OPTIONAL, + agnssAbort OMA-LPPe-AGNSS-Abort OPTIONAL, + ... +} + + + +OMA-LPPe-Error ::= SEQUENCE { + commonIEsError OMA-LPPe-CommonIEsError OPTIONAL, + ... +} + + + +OMA-LPPe-AssistanceContainer-DataSerialNumber ::= SEQUENCE { + dataSerialNumber INTEGER(0..4294967295), + ... +} + + +OMA-LPPe-AssistanceContainerID ::= SEQUENCE { + containerID INTEGER (0..65535), + ... +} + + +OMA-LPPe-AssistanceContainerProvideList ::= SEQUENCE (SIZE(1.. maxAssistanceContainerList)) OF OMA-LPPe-AssistanceContainerProvide + +maxAssistanceContainerList INTEGER ::= 16 +OMA-LPPe-AssistanceContainerProvide ::= SEQUENCE { + dataIdentifier OMA-LPPe-VendorOrOperatorAssistanceDataIdentifier, + checkOrUpdateOrError ENUMERATED { + targetHasLatestData, + targetDataNotLatest, + targetDataNotLatestButServerCannotProvideLatestData, + targetHasValidData, + targetDataInvalidButServerCannotProvideValidData, + serverHasRequestedDataButUnableToProvideTemporarily, + serverDoesNotHaveRequestedData, + serverDoesNotRecognizeRequestedData, + undefined, + ... } OPTIONAL, --Cond CheckorUpdate + dataResult CHOICE { + simulationResult INTEGER(0..5000), + data OMA-LPPe-AssistanceContainerData, + ... + } OPTIONAL, + errorCode OMA-LPPe-AssistanceContainerProvideError OPTIONAL, + ... +} + +OMA-LPPe-AssistanceContainerData ::= SEQUENCE { + dataSerialNumber OMA-LPPe-AssistanceContainer-DataSerialNumber OPTIONAL, + data OCTET STRING, + validityPeriod OMA-LPPe-ValidityPeriod OPTIONAL, + validityArea OMA-LPPe-ValidityArea OPTIONAL, + ... +} + +OMA-LPPe-AssistanceContainerProvideError ::= SEQUENCE { + serverError ENUMERATED { assistanceContainerUnknownDataIdentifier, + assistanceContainerUnknownDataSerialNumber, + assistanceContainerDataTemporarilyUnavailable, + assistanceContainerDataNoLongerSupported, + assistanceContainerVendorOrOperatorNotSupported, + ...} OPTIONAL, + ... +} + + + +OMA-LPPe-AssistanceContainerRequestList ::= SEQUENCE (SIZE(1..maxAssistanceContainerList)) OF OMA-LPPe-AssistanceContainerRequest + +OMA-LPPe-AssistanceContainerRequest ::= SEQUENCE { + dataIdentifier OMA-LPPe-VendorOrOperatorAssistanceDataIdentifier, + simulatedReq BOOLEAN, + checkOrUpdateReq OMA-LPPe-AssistanceContainerCheckOrUpdateReq OPTIONAL, + validityTimeRequest OMA-LPPe-ValidityPeriod OPTIONAL, + proprietaryRequestParameters OCTET STRING OPTIONAL, + ... +} + +OMA-LPPe-AssistanceContainerCheckOrUpdateReq ::= SEQUENCE { + dataSerialNumber OMA-LPPe-AssistanceContainer-DataSerialNumber, + checkLatest ENUMERATED {returnLatestIfCurrentNotLatest, + returnUpdateOnlyIfCurrentInvalid, + ... }, + ... +} + + + +OMA-LPPe-CellLocalIdGERAN ::= SEQUENCE { + locationAreaCode BIT STRING (SIZE (16)), + cellIdentity BIT STRING (SIZE (16)), + ... +} + + +OMA-LPPe-CellNonUniqueIDGERAN ::= SEQUENCE { + bsic INTEGER (0..63), + bcch INTEGER (0..1023), + ... +} + + + +OMA-LPPe-CharArray ::= VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ".-"))(SIZE (1..31)) + + +OMA-LPPe-CivicLocation ::= SEQUENCE { + countryCode OCTET STRING (SIZE (2)), + civicAddressElementList OMA-LPPe-CivicAddressElementList, + ... +} + +OMA-LPPe-CivicAddressElementList ::= SEQUENCE (SIZE (1..128)) OF OMA-LPPe-CivicAddressElement + +OMA-LPPe-CivicAddressElement ::= SEQUENCE { + caType INTEGER(0..511), + caValue OCTET STRING (SIZE (1..256)), + ... +} + + +OMA-LPPe-CivicLocation-pidf-lo ::= SEQUENCE { + civicLocation OCTET STRING, + ... +} + + +OMA-LPPe-Duration ::= SEQUENCE { + duration INTEGER (1..63), + durationLSB INTEGER (1..89) OPTIONAL, + ... +} + + +OMA-LPPe-FixedAccessTypes ::= BIT STRING { cable (0), + dsl (1), + lan (2), + pstn (3), + other (4) } (SIZE(1..16)) + + +OMA-LPPe-HighAccuracy3Dposition ::= SEQUENCE { + latitude INTEGER(-2147483648..2147483647), + longitude INTEGER(-2147483648..2147483647), + cep INTEGER(0..255) OPTIONAL, --Cond NoEllipse + uncertainty-semimajor INTEGER(0..255) OPTIONAL, --Cond NoCEP + uncertainty-semiminor INTEGER(0..255) OPTIONAL, --Cond NoCEP + offset-angle INTEGER(0..179) OPTIONAL, --Cond NoCEP + confidenceHorizontal INTEGER(0..99) OPTIONAL, + altitude INTEGER(-64000..1280000), + uncertainty-altitude INTEGER(0..255), + confidenceVertical INTEGER(0..99) OPTIONAL, + ..., + extUncertRange BOOLEAN OPTIONAL +} + + + +OMA-LPPe-HighAccuracy3Dvelocity ::= SEQUENCE { + enu-origin OMA-LPPe-HighAccuracy3Dposition OPTIONAL, + east-component INTEGER(0..511), + negative-sign-east NULL OPTIONAL, --Cond West + north-component INTEGER(0..511), + negative-sign-north NULL OPTIONAL, --Cond South + up-component INTEGER(0..511), + negative-sign-up NULL OPTIONAL, --Cond Down + cep INTEGER(0..255) OPTIONAL, --Cond NoEllipse + uncertainty-semimajor INTEGER(0..255) OPTIONAL, --Cond NoCEP, + uncertainty-semiminor INTEGER(0..255) OPTIONAL, --Cond NoCEP, + offset-angle INTEGER(0..179) OPTIONAL, --Cond NoCEP, + confidenceHorizontal INTEGER(0..99) OPTIONAL, + uncertainty-up-component INTEGER(0..255), + confidenceUp INTEGER(0..99) OPTIONAL, + ... +} + + +OMA-LPPe-LocationInformationContainerID ::= SEQUENCE { + containerID INTEGER (0..65535), + ... +} + + +OMA-LPPe-LocationInformationContainer ::= SEQUENCE { + vendorOrOperatorID OMA-LPPe-VendorOrOperatorID, + locationInformationContainerDataList OMA-LPPe-LocationInformationContainerDataList, + ... +} + +OMA-LPPe-LocationInformationContainerDataList ::= SEQUENCE (SIZE(1..maxLocationInformationContainerDataList)) OF OMA-LPPe-LocationInformationContainerData + +OMA-LPPe-LocationInformationContainerData ::= SEQUENCE { + containerID OMA-LPPe-LocationInformationContainerID, + containerData OCTET STRING, + ... +} + + +OMA-LPPe-LocationInformationContainerRequest ::= SEQUENCE { + vendorOrOperatorID OMA-LPPe-VendorOrOperatorID, + locationInformationContainerRequestList OMA-LPPe-LocationInformationContainerRequestList, + ... +} + +OMA-LPPe-LocationInformationContainerRequestList ::= SEQUENCE + (SIZE (1.. maxLocationInformationContainerDataList)) OF + OMA-LPPe-LocationInformationContainerRequestItem + +maxLocationInformationContainerDataList INTEGER ::= 10 + +OMA-LPPe-LocationInformationContainerRequestItem ::= SEQUENCE { + containerID OMA-LPPe-LocationInformationContainerID, + additionalInformation OCTET STRING OPTIONAL, + ... +} + + +OMA-LPPe-MapDataReference ::= SEQUENCE { + dataID OMA-LPPe-AssistanceContainerID, + mapReference OCTET STRING (SIZE (1..64)), + mapSize INTEGER (1..5000) OPTIONAL, + ... +} + + +OMA-LPPe-Orientation ::= CHOICE { + eulerAngles SEQUENCE { + alpha INTEGER (0..359), + beta INTEGER (0..180), + gamma INTEGER (0..359), + ... + }, + ... +} + + +OMA-LPPe-ReferencePoint ::= SEQUENCE { + referencePointUniqueID OMA-LPPe-ReferencePointUniqueID OPTIONAL, + referencePointGeographicLocation CHOICE { + location3D EllipsoidPointWithAltitude, + location3DwithUncertainty EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + locationwithhighaccuracy OMA-LPPe-HighAccuracy3Dposition, + ... + } OPTIONAL, + referencePointCivicLocation OMA-LPPe-CivicLocation OPTIONAL, + referencePointFloorLevel INTEGER (-20..235) OPTIONAL, + relatedReferencePoints SEQUENCE (SIZE (1..8)) OF + OMA-LPPe-ReferencePointRelationship OPTIONAL, + mapDataInformation OMA-LPPe-MapDataInformation OPTIONAL, + ... +} + +OMA-LPPe-MapDataInformation ::= SEQUENCE (SIZE (1..16)) OF OMA-LPPe-MapDataReferenceElement + +OMA-LPPe-MapDataReferenceElement ::= SEQUENCE { + mapDataUrl CHOICE { + mapDataUrl OMA-LPPe-Uri, + mapDataRef OMA-LPPe-MapDataReference + }, + mapProvider CHOICE { + sameAsRefPointProvider NULL, + notSameAsRefPointProvider OMA-LPPe-VendorOrOperatorID, + ... + } OPTIONAL, + mapAssociation CHOICE { + referencePointUniqueID NULL, + otherID VisibleString (SIZE (1..64)), + mapOffset OMA-LPPe-RelativeLocation, + origin NULL, + ... + }, + mapHorizontalOrientation INTEGER (0..359) OPTIONAL, + ... +} + +OMA-LPPe-ReferencePointRelationship ::= SEQUENCE { + referencePointUniqueID OMA-LPPe-ReferencePointUniqueID, + relativeLocation OMA-LPPe-RelativeLocation, + ... +} + + +OMA-LPPe-ReferencePointUniqueID ::= SEQUENCE { + providerID OMA-LPPe-VendorOrOperatorID, + providerAssignedID OCTET STRING, + version INTEGER (1..64), + ... +} + + +OMA-LPPe-RelativeLocation ::= SEQUENCE { + units ENUMERATED {cm,dm, m10, ...} OPTIONAL, + arc-second-units ENUMERATED {as0-0003, as0-003, as0-03, as0-3, ...} OPTIONAL, + relativeNorth INTEGER (-524288..524287), + relativeEast INTEGER (-524288..524287), + relativeAltitude OMA-LPPe-RelativeAltitude OPTIONAL, + horizontalUncertainty OMA-LPPe-HorizontalUncertaintyAndConfidence OPTIONAL, + ... +} + +OMA-LPPe-HorizontalUncertaintyAndConfidence ::= SEQUENCE { + uncShape CHOICE { + circle INTEGER (0..127), + ellipse SEQUENCE { + semimajor INTEGER (0..127), + semiminor INTEGER (0..127), + offsetAngle INTEGER (0..179) + }, + ... + }, + confidence INTEGER (0..99) OPTIONAL, + ... +} + +OMA-LPPe-RelativeAltitude ::= SEQUENCE { + geodeticRelativeAltitude OMA-LPPe-GeodeticRelativeAltitude OPTIONAL, + civicRelativeAltitude OMA-LPPe-CivicRelativeAltitude OPTIONAL, + ... +} + +OMA-LPPe-GeodeticRelativeAltitude ::= SEQUENCE { + geodetic-height-depth INTEGER (-32768..32767), + geodetic-uncertainty-and-confidence OMA-LPPe-GeodeticUncertaintyAndConfidence OPTIONAL, + ... +} + +OMA-LPPe-GeodeticUncertaintyAndConfidence ::= SEQUENCE { + uncertainty INTEGER (0..127), + confidence INTEGER (0..99) OPTIONAL, + ... +} + +OMA-LPPe-CivicRelativeAltitude ::= SEQUENCE { + civic-floors INTEGER (-255..256), + civic-uncertainty-and-confidence OMA-LPPe-CivicUncertaintyAndConfidence OPTIONAL, + ... +} + +OMA-LPPe-CivicUncertaintyAndConfidence ::= SEQUENCE { + uncertainty INTEGER (0..127), + confidence INTEGER (0..99) OPTIONAL, + ... +} + + +OMA-LPPe-Session-ID ::= SEQUENCE { + provider-ID OMA-LPPe-VendorOrOperatorID, + server-ID OCTET STRING (SIZE(4)), + session-ID OCTET STRING (SIZE(4)), + ... +} + + +-- asn2wrs does not handle '%' in the restricted string; handle it in lppe.cnf +--OMA-LPPe-Uri ::= VisibleString (FROM ( "a".."z" | "A".."Z" | "0".."9" | ":" | "/" | "?" | "#" | "[" | +--"]" | "@" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | "-" | "." | "_" | "~" | +--"%" )) +OMA-LPPe-Uri ::= VisibleString (FROM ( "a".."z" | "A".."Z" | "0".."9" | ":" | "/" | "?" | "#" | "[" | +"]" | "@" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | "-" | "." | "_" | "~")) + + +OMA-LPPe-ValidityArea ::= SEQUENCE { + regionSizeInv INTEGER (1..255), + areaWidth INTEGER (2..9180) OPTIONAL, + codedLatOfNWCorner INTEGER (0..4589), + codedLonOfNWCorner INTEGER (0..9179), + rleList OMA-LPPe-RleList OPTIONAL, + ... +} + +OMA-LPPe-RleList ::= SEQUENCE (SIZE(1..65535)) OF INTEGER (0..255) + + +OMA-LPPe-ValidityPeriod ::= SEQUENCE { + beginTime GNSS-SystemTime, + beginTimeAlt INTEGER (0..2881) OPTIONAL, + duration INTEGER (1..2881), + ... +} + + +OMA-LPPe-VendorOrOperatorAssistanceDataIdentifier ::= SEQUENCE { + vendorOrOperatorID OMA-LPPe-VendorOrOperatorID, + assistanceDataID OMA-LPPe-AssistanceContainerID, + ... +} + + +OMA-LPPe-VendorOrOperatorID ::= CHOICE { + standard-VendorOrOperatorID INTEGER(1..1024), + nonStandard-VendorOrOperatorID OMA-LPPe-NonStandard-VendorOrOperatorID, + ... +} + + +OMA-LPPe-NonStandard-VendorOrOperatorID ::= SEQUENCE { + encodedID INTEGER(0..65535), + visibleIdentification OMA-LPPe-CharArray OPTIONAL, + ... +} + + +OMA-LPPe-WirelessAccessTypes ::= BIT STRING { gsm (0), + utra (1), + lte (2), + wimax (3), + wifi (4), + other (5), + nr (6) } (SIZE(1..16)) + + +OMA-LPPe-WLAN-AP-ID ::= SEQUENCE { + apMacAddress BIT STRING ( SIZE (48) ), + ... +} + + +OMA-LPPe-WLAN-AP-Type ::= ENUMERATED { + ieee802-11a, + ieee802-11b, + ieee802-11g, + ieee802-11n, + ..., + ieee802-11ac, + ieee802-11ad +} + + +OMA-LPPe-WLAN-AP-Type-List ::= BIT STRING { + ieee802-11a (0), + ieee802-11b (1), + ieee802-11g (2), + ieee802-11n (3), + ieee802-11ac (4), + ieee802-11ad (5)} (SIZE (1..16)) + + +OMA-LPPe-WLANFemtoCoverageArea ::= SEQUENCE { + truncation INTEGER(-127..128) OPTIONAL, + areaType ENUMERATED { gaussian, binaryDistribution, ...} OPTIONAL, + confidence INTEGER (0..99), + componentList SEQUENCE (SIZE (1..16)) OF OMA-LPPe-WLANFemtoCoverageAreaElement, + ... +} + +OMA-LPPe-WLANFemtoCoverageAreaElement ::= SEQUENCE { + refPointAndArea SEQUENCE { + referenceLocation ENUMERATED {antenna, + referencePoint, + ... }, + referencePoint OMA-LPPe-ReferencePointUniqueID OPTIONAL, + locationAndArea OMA-LPPe-RelativeLocation, + ... + }, + type ENUMERATED {indoor (0), + outdoor (1), + mixed (2), + ... } OPTIONAL, + weight INTEGER (0..100) OPTIONAL, + ... +} + + +OMA-LPPe-CommonIEsRequestCapabilities ::= SEQUENCE { + iP-Address-RequestCapabilities OMA-LPPe-IP-Address-RequestCapabilities OPTIONAL, + assistanceContainerSupportReq OMA-LPPe-AssistanceContainerSupportReq OPTIONAL, + locationInformationContainerSupportReq OMA-LPPe-LocationInformationContainerSupportReq OPTIONAL, + relativeLocationChange-RequestCapabilities OMA-LPPe-RelativeLocationChange-RequestCapabilities OPTIONAL, + highAccuracyFormatCapabilitiesReq OMA-LPPe-HighAccuracyFormatCapabilitiesReq OPTIONAL, + segmentedAssistanceData-ReqCapabilities OMA-LPPe-SegmentedAssistanceData-ReqCapabilities OPTIONAL, + referencePointCapabilitiesReq OMA-LPPe-ReferencePointCapabilitiesReq OPTIONAL, + scheduledLocation-RequestCapabilities OMA-LPPe-ScheduledLocation-RequestCapabilities OPTIONAL, + accessCapabilitiesReq OMA-LPPe-AccessCapabilitiesReq OPTIONAL, + segmentedLocationInformation-ReqCapabilities + OMA-LPPe-SegmentedLocationInformation-ReqCapabilities + OPTIONAL, + ... +} + +OMA-LPPe-IP-Address-RequestCapabilities ::= SEQUENCE { + ... +} + +OMA-LPPe-AssistanceContainerSupportReq ::= SEQUENCE { + vendorOrOperatorIDList OMA-LPPe-VendorOrOperatorIDList OPTIONAL, + ... +} + +OMA-LPPe-LocationInformationContainerSupportReq ::= SEQUENCE { + vendorOrOperatorIDList OMA-LPPe-VendorOrOperatorIDList OPTIONAL, + ... +} + +OMA-LPPe-VendorOrOperatorIDList ::= SEQUENCE (SIZE(1..maxVendorOrOperatorIDList)) OF + OMA-LPPe-VendorOrOperatorID + +maxVendorOrOperatorIDList INTEGER ::= 32 + +OMA-LPPe-RelativeLocationChange-RequestCapabilities ::= SEQUENCE { + ... +} + +OMA-LPPe-HighAccuracyFormatCapabilitiesReq ::= SEQUENCE { + ... +} +OMA-LPPe-SegmentedAssistanceData-ReqCapabilities ::= SEQUENCE { + ... +} + +OMA-LPPe-ReferencePointCapabilitiesReq ::= SEQUENCE { + referencePointProviderSupportListReq SEQUENCE (SIZE (1..128)) OF + OMA-LPPe-VendorOrOperatorID OPTIONAL, + ... +} + +OMA-LPPe-ScheduledLocation-RequestCapabilities ::= SEQUENCE { + ... +} + +OMA-LPPe-AccessCapabilitiesReq ::= SEQUENCE { + ... +} + +OMA-LPPe-SegmentedLocationInformation-ReqCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-CommonIEsProvideCapabilities ::= SEQUENCE { + iP-Address-Capabilities OMA-LPPe-IP-Address-Capabilities OPTIONAL, + assistanceContainerSupport OMA-LPPe-AssistanceContainerSupport OPTIONAL, + locationInformationContainerSupport OMA-LPPe-LocationInformationContainerSupport OPTIONAL, + relativeLocationChange-Capabilities OMA-LPPe-RelativeLocationChange-Capabilities OPTIONAL, + highAccuracyFormatCapabilities OMA-LPPe-HighAccuracyFormatCapabilities OPTIONAL, + segmentedAssistanceData-ProvideCapabs OMA-LPPe-SegmentedAssistanceData-ProvideCapabs OPTIONAL, + referencePointCapabilities OMA-LPPe-ReferencePointCapabilities OPTIONAL, + scheduledLocation-Capabilities OMA-LPPe-ScheduledLocation-Capabilities OPTIONAL, + accessCapabilities OMA-LPPe-AccessCapabilities OPTIONAL, + segmentedLocationInformation-ProvideCapabs OMA-LPPe-SegmentedLocationInformation-ProvideCapabs OPTIONAL, + ... +} + +OMA-LPPe-IP-Address-Capabilities ::= SEQUENCE { + iP-Address-support BIT STRING { iPv4 (0), + iPv6 (1), + nat (2) } (SIZE(1..8)) OPTIONAL, + ... +} + + +OMA-LPPe-AssistanceContainerSupport ::= SEQUENCE (SIZE(1..maxVendorOrOperatorIDList)) OF + OMA-LPPe-VendorOrOperatorAssistanceContainerList + + +OMA-LPPe-VendorOrOperatorAssistanceContainerList ::= SEQUENCE { + vendorOrOperatorID OMA-LPPe-VendorOrOperatorID, + assistanceContainerList OMA-LPPe-AssistanceContainerList, + ... +} + +OMA-LPPe-AssistanceContainerList ::= SEQUENCE (SIZE(1.. maxAssistanceContainerList))OF OMA-LPPe-AssistanceContainerID + +OMA-LPPe-LocationInformationContainerSupport ::= SEQUENCE (SIZE(1..maxVendorOrOperatorIDList)) OF + OMA-LPPe-VendorOrOperatorLocationInformationContainerList + +OMA-LPPe-VendorOrOperatorLocationInformationContainerList ::= SEQUENCE { + vendorOrOperatorID OMA-LPPe-VendorOrOperatorID, + locationInformationContainerList OMA-LPPe-LocationInformationContainerList, + ... +} + +OMA-LPPe-LocationInformationContainerList ::= SEQUENCE (SIZE(1..maxLocationInformationContainerList))OF OMA-LPPe-LocationInformationContainerID + +maxLocationInformationContainerList INTEGER ::= 64 +OMA-LPPe-RelativeLocationChange-Capabilities ::= SEQUENCE { + numberOfChanges INTEGER (1..5) OPTIONAL, + ... +} + +OMA-LPPe-HighAccuracyFormatCapabilities ::= BIT STRING { hAposition(0), + hAvelocity(1), + pidf-lo (2) } (SIZE(1..8)) + +OMA-LPPe-SegmentedAssistanceData-ProvideCapabs ::= SEQUENCE { + maxSegments INTEGER (2..4096) OPTIONAL, + maxSize INTEGER (1..5000) OPTIONAL, + minSize INTEGER (1..5000) OPTIONAL, + resume NULL OPTIONAL, + ... +} + +OMA-LPPe-ReferencePointCapabilities ::= SEQUENCE { + relativeLocationReportingSupport BIT STRING { geo (0), + civic (1), + otherProviders (2) } (SIZE (1..8)), + referencePointProviderSupportList SEQUENCE (SIZE (1..128)) OF + OMA-LPPe-ReferencePointProviderSupportElement OPTIONAL, + ... +} + +OMA-LPPe-ReferencePointProviderSupportElement ::= SEQUENCE { + referencePointProvider OMA-LPPe-VendorOrOperatorID, + mapDataSupport SEQUENCE { + mapDataFormat OCTET STRING OPTIONAL, + ... + } OPTIONAL, + ... +} + +OMA-LPPe-ScheduledLocation-Capabilities ::= SEQUENCE { + minimumWindow INTEGER (1..1024) OPTIONAL, + gnssTimeReference GNSS-ID-Bitmap OPTIONAL, + networkTimeReference ENUMERATED {serving, + servingOrNonServing, + ... } OPTIONAL, + ... +} + +OMA-LPPe-AccessCapabilities ::= SEQUENCE { + accessTypeUnknown NULL OPTIONAL, + fixedAccessTypes OMA-LPPe-FixedAccessTypes OPTIONAL, + wirelessAccessTypes OMA-LPPe-WirelessAccessTypes OPTIONAL, + ... +} + +OMA-LPPe-SegmentedLocationInformation-ProvideCapabs ::= SEQUENCE { + maxSegments INTEGER (2..4096) OPTIONAL, + maxSize INTEGER (1..5000) OPTIONAL, + minSize INTEGER (1..5000) OPTIONAL, + resume NULL OPTIONAL, + ... +} + + +OMA-LPPe-CommonIEsRequestAssistanceData ::= SEQUENCE { + approximate-location EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL, + assistanceContainerRequestList OMA-LPPe-AssistanceContainerRequestList OPTIONAL, + requestPeriodicADwithUpdate OMA-LPPe-RequestPeriodicADwithUpdate OPTIONAL, + --Cond RequestPeriodicADWithUpdate + segmentedADpreference ENUMERATED {useBasic, useResume, ...} OPTIONAL, + segmentedADResume OMA-LPPe-SegmentedADResume OPTIONAL, + --Cond segmentedTransferResume + referencePointAssistanceReq OMA-LPPe-ReferencePointAssistanceReq OPTIONAL, + ... +} + +OMA-LPPe-RequestPeriodicADwithUpdate ::= SEQUENCE { + periodicAD-session-ID OCTET STRING (SIZE(4)), + typeOfADRequest TypeOfADRequest, + ... +} + +TypeOfADRequest ::= ENUMERATED { + initialRequest, + updateAndContinueIfUpdateFails, + updateAndAbortIfUpdateFails, + ... +} + +OMA-LPPe-SegmentedADResume ::= SEQUENCE { + segmentedAD-session-ID OMA-LPPe-Session-ID, + next-segment-number INTEGER (1..4096) +} + +OMA-LPPe-ReferencePointAssistanceReq ::= SEQUENCE { + referencePointReq SEQUENCE (SIZE (1..16)) OF OMA-LPPe-ReferencePointAssistanceReqElement, + ... +} + +OMA-LPPe-ReferencePointAssistanceReqElement ::= SEQUENCE { + referencePointProvider OMA-LPPe-VendorOrOperatorID, + mapDataReq OCTET STRING OPTIONAL, + ... +} + + +OMA-LPPe-CommonIEsProvideAssistanceData ::= SEQUENCE { + assistanceContainerList OMA-LPPe-AssistanceContainerProvideList OPTIONAL, + providePeriodicADwithUpdate OMA-LPPe-ProvidePeriodicADwithUpdate OPTIONAL, --Cond ProvidePeriodicADWithUpdate, + segmentedADTransfer OMA-LPPe-SegmentedADTransfer OPTIONAL, --Cond segmentedTransferWithResume + default-reference-point OMA-LPPe-ReferencePoint OPTIONAL, + ... +} + +OMA-LPPe-ProvidePeriodicADwithUpdate ::= SEQUENCE { + periodicAD-session-ID OCTET STRING (SIZE(4)), + typeOfADProvide OMA-LPPe-TypeOfADProvide, + ... +} + +OMA-LPPe-TypeOfADProvide ::= ENUMERATED { + responseToInitialRequest, + providePeriodicAD, + responseToTargetUpdateRequest, + serverUpdate, + ... +} + +OMA-LPPe-SegmentedADTransfer ::= SEQUENCE { + segmentedAD-session-ID OMA-LPPe-Session-ID, + segment-number INTEGER (1..4096), + ... +} + + +OMA-LPPe-CommonIEsRequestLocationInformation ::= SEQUENCE { + iP-Address-Request OMA-LPPe-IP-Address-Request OPTIONAL, + locationInformationContainerRequest OMA-LPPe-LocationInformationContainerRequest OPTIONAL, + requestPeriodicLocInfoWithUpdate OMA-LPPe-RequestPeriodicLocInfoWithUpdate OPTIONAL, + --Cond RequestPeriodicLocInfoWithUpdate + relativeLocationChange-Request OMA-LPPe-RelativeLocationChange-Request OPTIONAL, + localPositionRequest OMA-LPPe-LocalPositionRequest OPTIONAL, + scheduledLocation-Request OMA-LPPe-ScheduledLocation-Request OPTIONAL, + accessTypeRequest OMA-LPPe-AccessTypeRequest OPTIONAL, + segmentedLIpreference ENUMERATED {useBasic, useResume, ...} OPTIONAL, + segmentedLIResume OMA-LPPe-SegmentedLIResume OPTIONAL, + --Cond segmentedTransferResume + ..., + civicLocation-Request OMA-LPPe-CivicLocation-Request OPTIONAL +} + +OMA-LPPe-IP-Address-Request ::= SEQUENCE { + ... +} + +OMA-LPPe-RequestPeriodicLocInfoWithUpdate ::= SEQUENCE { + session-ID OCTET STRING (SIZE(4)), + typeOfLocInfoRequest OMA-LPPe-TypeOfLocInfoRequest, + ... +} + +OMA-LPPe-TypeOfLocInfoRequest ::= ENUMERATED { + initialRequest, + updateAndContinueIfUpdateFails, + updateAndAbortIfUpdateFails, + ... +} + +OMA-LPPe-RelativeLocationChange-Request ::= SEQUENCE { + numberOfChanges INTEGER (1..5) OPTIONAL, + ... +} + +OMA-LPPe-LocalPositionRequest ::= SEQUENCE { + typeOfRequest ENUMERATED { localOptional, localMandatory, localOnly, ... }, + referencePointReq SEQUENCE (SIZE (1..8)) OF + OMA-LPPe-ReferencePointUniqueID OPTIONAL, + ... +} + +OMA-LPPe-ScheduledLocation-Request ::= SEQUENCE { + gnssTime GNSS-SystemTime OPTIONAL, --Cond AtLeastOne + networkTime NetworkTime OPTIONAL, --Cond AtLeastOne + relativeTime INTEGER (1..1024) OPTIONAL, --Cond AtLeastOne + windowSize INTEGER (1..1024) OPTIONAL, + ... +} + +OMA-LPPe-AccessTypeRequest ::= SEQUENCE { + ... +} + +OMA-LPPe-SegmentedLIResume ::= SEQUENCE { + segmentedLI-session-ID INTEGER (1..256), + next-segment-number INTEGER (1..4096)} + +OMA-LPPe-CivicLocation-Request ::= SEQUENCE { + format ENUMERATED {pidf-lo, ... }, + ... +} + + +OMA-LPPe-CommonIEsProvideLocationInformation ::= SEQUENCE { + highAccuracy3Dposition OMA-LPPe-HighAccuracy3Dposition OPTIONAL, + --Cond HighAccuracy + localPosition OMA-LPPe-LocalPosition OPTIONAL, + highAccuracy3Dvelocity OMA-LPPe-HighAccuracy3Dvelocity OPTIONAL, + --Cond HighAccuracy + iP-Address-List OMA-LPPe-IP-Address-List OPTIONAL, + locationInformationContainer OMA-LPPe-LocationInformationContainer OPTIONAL, + providePeriodicLocInfoWithUpdate OMA-LPPe-ProvidePeriodicLocInfowithUpdate OPTIONAL, + --Cond ProvidePeriodicLocInfoWithUpdate + relativeLocationChangeList OMA-LPPe-RelativeLocationChangeList OPTIONAL, + scheduledLocation OMA-LPPe-ScheduledLocation OPTIONAL, + --Cond ScheduledLocationRequested + accessTypes OMA-LPPe-AccessTypes OPTIONAL, + segmentedLITransfer OMA-LPPe-SegmentedLITransfer OPTIONAL, + --Cond segmentedTransferWithResume + locationInformationTimeStamp OMA-LPPe-TimeStamp OPTIONAL, + ..., + locationSource OMA-LPPe-LocationSource OPTIONAL, + --Cond LocationSource + civicLocation-pidf-lo OMA-LPPe-CivicLocation-pidf-lo OPTIONAL + --Cond CivicLocationRequest-pidf-lo +} + +OMA-LPPe-LocalPosition ::= SEQUENCE { + referencePoint OMA-LPPe-ReferencePointUniqueID, + subjectLocation OMA-LPPe-RelativeLocation OPTIONAL, + ... +} + +OMA-LPPe-IP-Address-List ::= SEQUENCE (SIZE (1..maxIPAddress)) OF OMA-LPPe-IP-Address + +maxIPAddress INTEGER ::= 5 + +OMA-LPPe-IP-Address ::= SEQUENCE { + local-IP-Address CHOICE { + iPv4 BIT STRING (SIZE(32)), + iPv6 BIT STRING (SIZE(128)), + ... + }, + bearer OMA-LPPe-Bearer, + nat BOOLEAN OPTIONAL, + ... +} + +OMA-LPPe-Bearer ::= ENUMERATED { + unknown, + gsm, + utran, + lte, + wlan, + wimax, + dsl, + pktcable, + other, + ..., + nr +} + +OMA-LPPe-ProvidePeriodicLocInfowithUpdate ::= SEQUENCE { + session-ID OCTET STRING (SIZE(4)), + typeOfLocInfoProvide OMA-LPPe-TypeOfLocInfoProvide, + ... +} + +OMA-LPPe-TypeOfLocInfoProvide ::= ENUMERATED { + responseToInitialRequest, + providePeriodicLocInfo, + responseToServerUpdateRequest, + targetUpdate, + ... +} + +OMA-LPPe-RelativeLocationChangeList ::= SEQUENCE (SIZE (1..maxRelativeLocation)) OF + OMA-LPPe-RelativeLocationChange + +OMA-LPPe-RelativeLocationChange ::= SEQUENCE { + relativeTime INTEGER (0..65535) OPTIONAL, + transactionID INTEGER (0..255) OPTIONAL, + relativeLocation OMA-LPPe-RelativeLocation, + ... +} + +maxRelativeLocation INTEGER ::= 5 + +OMA-LPPe-ScheduledLocation ::= SEQUENCE { + disposition ENUMERATED {withinWindow, + outsideWindowOrNoWindow, + notSupportedDueToNoCapability, + notSupportedDueToNoTimeReference, + notSupportedDueToConflictWithAnotherRequest, + notSupportedForOtherReasons, + ... }, + actualWindow SEQUENCE { + start INTEGER (-512..511), + duration INTEGER (0..2047) + } OPTIONAL, + ... +} + +OMA-LPPe-AccessTypes ::= SEQUENCE { + accessTypeUnknown NULL OPTIONAL, + fixedAccessTypes OMA-LPPe-FixedAccessTypes OPTIONAL, + wirelessAccessTypes OMA-LPPe-WirelessAccessTypes OPTIONAL, + ... +} + +OMA-LPPe-SegmentedLITransfer ::= SEQUENCE { + segmentedLI-session-ID INTEGER (1..256), + segment-number INTEGER (1..4096), + ... +} + +OMA-LPPe-TimeStamp ::= CHOICE { + gnssTime GNSS-SystemTime, + networkTime NetworkTime, + relativeTime INTEGER (0..1024), + ... +} + +OMA-LPPe-LocationSource ::= SEQUENCE { + agnss NULL OPTIONAL, + otdoa NULL OPTIONAL, + eotd NULL OPTIONAL, + otdoaUTRA NULL OPTIONAL, + ecidLTE NULL OPTIONAL, + ecidGSM NULL OPTIONAL, + ecidUTRA NULL OPTIONAL, + wlanAP NULL OPTIONAL, + srn NULL OPTIONAL, + sensors NULL OPTIONAL, + ..., + nr-dl-tdoa NULL OPTIONAL, + nr-dl-aod NULL OPTIONAL, + ecidNR NULL OPTIONAL, + bt NULL OPTIONAL, + mbs NULL OPTIONAL, + baro-sensor NULL OPTIONAL, + motion-sensor NULL OPTIONAL +} + + +OMA-LPPe-CommonIEsAbort ::= SEQUENCE { + abortCause ENUMERATED {periodicADsessionStop, + periodicADprocedureNotSupported, + periodicADprocedureNotAccepted, + periodicLocInfoSessionStop, + periodicLocInfoProcedureNotSupported, + periodicLocInfoProcedureNotAccepted, + ... + } OPTIONAL, + periodicSessionIDtoAbort OCTET STRING (SIZE(4)) OPTIONAL, --Cond periodicWithUpdate + ... +} + + +OMA-LPPe-CommonIEsError ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-ProvideAssistanceData ::= SEQUENCE { + commonAssistData OMA-LPPe-AGNSS-CommonAssistData OPTIONAL, + genericAssistData OMA-LPPe-AGNSS-GenericAssistData OPTIONAL, + error OMA-LPPe-AGNSS-Error OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-CommonAssistData::= SEQUENCE { + ionosphericModel OMA-LPPe-AGNSS-IonosphericModel OPTIONAL, + troposphereModel OMA-LPPe-AGNSS-TroposphereModel OPTIONAL, + altitudeAssistance OMA-LPPe-AGNSS-AltitudeAssistanceList OPTIONAL, + solarRadiation OMA-LPPe-AGNSS-SolarRadiation OPTIONAL, + ccpAssistCommonProvide OMA-LPPe-AGNSS-CCPassistCommonProvide OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF OMA-LPPe-AGNSS-GenericAssistDataElement + +OMA-LPPe-AGNSS-GenericAssistDataElement ::= SEQUENCE { + gnss-ID GNSS-ID, + wideAreaIonoSurfacePerSVlist OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVlist OPTIONAL, + mechanicsForAllSVs OMA-LPPe-AGNSS-MechanicsForAllSVs OPTIONAL, + dcbsForAllSVs OMA-LPPe-AGNSS-DCBsForAllSVs OPTIONAL, + navModelDegradationModel OMA-LPPe-AGNSS-NavModelDegradationModelList OPTIONAL, + ccpAssistProvide OMA-LPPe-AGNSS-CCPassistGenericProvide OPTIONAL, --Cond CCP + navModelList OMA-LPPe-AGNSS-NavModelList OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-IonosphericModel ::= CHOICE { + staticModels SEQUENCE { + localKlobucharModelList OMA-LPPe-AGNSS-LocalKlobucharModelList OPTIONAL, + ionoStormIndication OMA-LPPe-AGNSS-IonoStormIndication OPTIONAL, + ... + }, + waIono CHOICE { + controlParameters OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersProvide, + commonProvide OMA-LPPe-AGNSS-WideAreaIonoSurfaceCommon, + ... + }, + ... +} + + +OMA-LPPe-AGNSS-LocalKlobucharModelList ::= SEQUENCE (SIZE(1..16)) OF + OMA-LPPe-AGNSS-LocalKlobucharModelElement + +OMA-LPPe-AGNSS-LocalKlobucharModelElement ::= SEQUENCE { + validityArea OMA-LPPe-ValidityArea, + klobucharModel SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-LocalKlobucharModel, + ... +} + +OMA-LPPe-AGNSS-LocalKlobucharModel ::= SEQUENCE { + validityPeriod OMA-LPPe-ValidityPeriod, + 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), + ... +} + + + +OMA-LPPe-AGNSS-IonoStormIndication ::= SEQUENCE { + area OMA-LPPe-ValidityArea, + --rleList shall not be included and is replaced by the stormList below + stormList OMA-LPPe-AGNSS-StormList, + ... +} + +OMA-LPPe-AGNSS-StormList ::= SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-StormElement + +OMA-LPPe-AGNSS-StormElement ::= SEQUENCE { + validityPeriod OMA-LPPe-ValidityPeriod, + rleListIono OMA-LPPe-AGNSS-RleListIono, + ... +} + +OMA-LPPe-AGNSS-RleListIono ::= SEQUENCE (SIZE(1..65535)) OF OMA-LPPe-AGNSS-RleIonoElement + +OMA-LPPe-AGNSS-RleIonoElement ::= SEQUENCE { + regionCount INTEGER (0..255), + ionoIndex CHOICE { + noaaScales OMA-LPPe-AGNSS-NoaaScales, + ... + }, + ... +} + +OMA-LPPe-AGNSS-NoaaScales ::= ENUMERATED{ g1,g2, g3, g4, g5, unknown, none, ... } + + +OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersProvide ::= SEQUENCE { + duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify + rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify + referencePosition Ellipsoid-Point OPTIONAL, --Cond FirstOrPosModify + validityArea OMA-LPPe-ValidityArea OPTIONAL, --Cond FirstOrAreaModify + ... +} + + +OMA-LPPe-AGNSS-WideAreaIonoSurfaceCommon ::= SEQUENCE { + validityPeriod OMA-LPPe-ValidityPeriod, + ... +} + + +OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVlist ::= + SEQUENCE (SIZE (1..64)) OF OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVelement + +OMA-LPPe-AGNSS-WideAreaIonoSurfacePerSVelement ::= SEQUENCE { + svID SV-ID, + a0 INTEGER (0..8191), + e1 INTEGER (-4096..4095), + n1 INTEGER (-4096..4095), + e2 INTEGER (-4096..4095) OPTIONAL, --Cond SecondOrder + n2 INTEGER (-4096..4095) OPTIONAL, --Cond SecondOrder + en INTEGER (-4096..4095) OPTIONAL, --Cond SecondOrder + ... +} + + +OMA-LPPe-AGNSS-TroposphereModel ::= SEQUENCE { + troposphereDelayList OMA-LPPe-AGNSS-LocalTroposphereDelayList OPTIONAL, + surfaceParametersList OMA-LPPe-AGNSS-LocalSurfaceParametersList OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-LocalTroposphereDelayList ::= SEQUENCE (SIZE(1..8)) OF + OMA-LPPe-AGNSS-LocalTroposphereDelayAreaElement + +OMA-LPPe-AGNSS-LocalTroposphereDelayAreaElement ::= SEQUENCE { + validityArea OMA-LPPe-ValidityArea, + refAltitude INTEGER (-1000..8192) OPTIONAL, + gradientReferencePosition Ellipsoid-Point OPTIONAL, + delayList SEQUENCE (SIZE(1..8)) OF + OMA-LPPe-AGNSS-LocalTroposphereDelayTimeElement, + ... +} + + +OMA-LPPe-AGNSS-LocalTroposphereDelayTimeElement ::= SEQUENCE { + validityPeriod OMA-LPPe-ValidityPeriod, + zh0 INTEGER (0..4095), + eh INTEGER (0..4095) OPTIONAL, + zw0 INTEGER (0..4095) OPTIONAL, + ew INTEGER (0..4095) OPTIONAL, + gN INTEGER (-8192..8191) OPTIONAL, + gE INTEGER (-8192..8191) OPTIONAL, + mappingFunctionParameters OMA-LPPe-AGNSS-MappingFunctionParameters, + ... +} + + +OMA-LPPe-AGNSS-LocalSurfaceParametersList ::= SEQUENCE (SIZE(1..8)) OF + OMA-LPPe-AGNSS-LocalSurfaceParametersAreaElement + +OMA-LPPe-AGNSS-LocalSurfaceParametersAreaElement ::= SEQUENCE { + validityArea OMA-LPPe-ValidityArea, + refAltitude INTEGER (-1000..8192) OPTIONAL, + gradientReferencePosition Ellipsoid-Point OPTIONAL, + parameterList SEQUENCE (SIZE(1..8)) OF + OMA-LPPe-AGNSS-LocalSurfaceParametersTimeElement, + ... +} + +OMA-LPPe-AGNSS-LocalSurfaceParametersTimeElement ::= SEQUENCE { + validityPeriod OMA-LPPe-ValidityPeriod, + pressure INTEGER (-1024..1023), + pressureRate INTEGER (-128..127), + gN-pressure INTEGER (-128..127) OPTIONAL, + gE-pressure INTEGER (-128..127) OPTIONAL, + temperature INTEGER (-64..63) OPTIONAL, + temperatureRate INTEGER (-16..16) OPTIONAL, + gN-temperature INTEGER (-8..7) OPTIONAL, + gE-temperature INTEGER (-8..7) OPTIONAL, + mappingFunctionParameters OMA-LPPe-AGNSS-MappingFunctionParameters, + ... +} + + +OMA-LPPe-AGNSS-MappingFunctionParameters ::= SEQUENCE { + ah INTEGER (0..16383), + bh INTEGER (0..16383) OPTIONAL, + ch INTEGER (0..16383) OPTIONAL, + aw INTEGER (0..16383) OPTIONAL, + bw INTEGER (0..16383) OPTIONAL, + cw INTEGER (0..16383) OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-AltitudeAssistanceList ::= SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-AltitudeAssistanceAreaElement + +OMA-LPPe-AGNSS-AltitudeAssistanceAreaElement ::= SEQUENCE { + validityArea OMA-LPPe-ValidityArea, + gradientReferencePosition EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL, + refAltitude INTEGER (-1000..8192) OPTIONAL, + pressureAssistanceList SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-PressureAssistanceElement, + ... +} + +OMA-LPPe-AGNSS-PressureAssistanceElement ::= SEQUENCE{ + validityPeriod OMA-LPPe-ValidityPeriod, + pressure INTEGER (-1024..1023), + pressureRate INTEGER (-128..127) OPTIONAL, + gN INTEGER (-128..127) OPTIONAL, + gE INTEGER (-128..127) OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-SolarRadiation ::= SEQUENCE { + solarRadiation INTEGER(1000..2000), + ... +} + + +OMA-LPPe-AGNSS-MechanicsForAllSVs::= SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-MechanicsElement + + +OMA-LPPe-AGNSS-MechanicsElement ::= SEQUENCE { + svid SV-ID, + mass INTEGER(1..4095) OPTIONAL, + effectiveReflectivityArea INTEGER(1..511) OPTIONAL, + pco OMA-LPPe-AGNSS-PCOelement OPTIONAL, + svInfo SEQUENCE { + svType OMA-LPPe-AGNSS-SVtype, + svNumber INTEGER(0..1000), + ... + } OPTIONAL, + ... +} + +OMA-LPPe-AGNSS-PCOelement ::= SEQUENCE{ + xOffsetSBF INTEGER(-30000..30000), + yOffsetSBF INTEGER(-30000..30000), + zOffsetSBF INTEGER(-30000..30000), + ... +} + +OMA-LPPe-AGNSS-SVtype ::= ENUMERATED { + gpsIIR, gpsIIRM, gpsIIF, gpsIII, + glonassM, glonassK1, glonassK2, glonassKM, + unknown, + ...} + + + +OMA-LPPe-AGNSS-DCBsForAllSVs ::= SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-DCBlistElement + + +OMA-LPPe-AGNSS-DCBlistElement ::= SEQUENCE { + svid SV-ID, + reference SEQUENCE{ + signal GNSS-SignalID, + pd ENUMERATED { pilot, data, notapplicable, ... }, + ... + }, + dcbList OMA-LPPe-AGNSS-DCBlist, + ... +} + +OMA-LPPe-AGNSS-DCBlist ::= SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-DCBelement + +OMA-LPPe-AGNSS-DCBelement ::= SEQUENCE { + signal GNSS-SignalID, + pd ENUMERATED{ pilot, data, notapplicable, ... }, + dcb INTEGER (-4096..4095), + ... +} + + +OMA-LPPe-AGNSS-NavModelDegradationModelList ::= SEQUENCE (SIZE(1..64)) OF + OMA-LPPe-AGNSS-NavModelDegradationModelElement + +OMA-LPPe-AGNSS-NavModelDegradationModelElement ::= SEQUENCE { + svid SV-ID, + clockDegradationModel OMA-LPPe-AGNSS-ClockModelDegradationModel, + orbitDegradationModel OMA-LPPe-AGNSS-OrbitModelDegradationModel, + ... +} + +OMA-LPPe-AGNSS-ClockModelDegradationModel ::= SEQUENCE { + clockRMS0 INTEGER(0..31), + clockRMS1 INTEGER(0..7) OPTIONAL, + ... +} + +OMA-LPPe-AGNSS-OrbitModelDegradationModel ::= SEQUENCE { + orbitRMS0 INTEGER(0..31), + orbitRMS1 INTEGER(0..7) OPTIONAL, + ... +} + + + +OMA-LPPe-AGNSS-CCPassistCommonProvide ::= CHOICE { + ccpProvideCommonParameters OMA-LPPe-AGNSS-CCPprovideCommonParameters, + ccpProvideControlParameters OMA-LPPe-AGNSS-CCPprovideControlParameters, + ... +} + +OMA-LPPe-AGNSS-CCPprovideCommonParameters ::= SEQUENCE { + ccpReferenceTime GNSS-SystemTime, + ... +} + +OMA-LPPe-AGNSS-CCPprovideControlParameters ::= SEQUENCE { + ccpSupportArea OMA-LPPe-AGNSS-CCPsupportArea OPTIONAL, + ccpNeighborList OMA-LPPe-AGNSS-CCPreferenceStationList OPTIONAL, + duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify + rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify + ccpReferenceStationList OMA-LPPe-AGNSS-CCPreferenceStationList OPTIONAL, --Cond FirstOrRefModify + ... +} + + +OMA-LPPe-AGNSS-CCPsupportArea ::= SEQUENCE { + areaDescription OMA-LPPe-ValidityArea, + signalSupport SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-CCPsignalSupport, + ... +} + +OMA-LPPe-AGNSS-CCPsignalSupport ::= SEQUENCE { + gnss GNSS-ID, + signals GNSS-SignalIDs, + ... +} + + +OMA-LPPe-AGNSS-CCPreferenceStationList ::= SEQUENCE (SIZE(0..maxReferenceStations)) OF + OMA-LPPe-AGNSS-CCPreferenceStationElement + +OMA-LPPe-AGNSS-CCPreferenceStationElement ::= SEQUENCE { + referenceStationID OMA-LPPe-AGNSS-CCPreferenceStationID, + referenceStationLocation OMA-LPPe-HighAccuracy3Dposition, + antennaDescription OMA-LPPe-AGNSS-AntennaDescription OPTIONAL, --Cond IfPhysical + ... +} + + +OMA-LPPe-AGNSS-CCPassistGenericProvide ::= SEQUENCE (SIZE(1..maxReferenceStations)) OF + OMA-LPPe-AGNSS-CCPassistGenericProvideElement + +OMA-LPPe-AGNSS-CCPassistGenericProvideElement::= SEQUENCE { + referenceStationID OMA-LPPe-AGNSS-CCPreferenceStationID, + ccpPerSignalList SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-CCPperSignalElement, + ... +} + +OMA-LPPe-AGNSS-CCPperSignalElement ::= SEQUENCE { + signal-ID GNSS-SignalID, + ccpPerSVlist SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-CCPperSVelement, + ... +} + +OMA-LPPe-AGNSS-CCPperSVelement::= SEQUENCE { + svID SV-ID, + integerCodePhase INTEGER(0..255) OPTIONAL, --Cond IfAvailable + codePhase INTEGER(0.. 14989622), + codePhaseError OMA-LPPe-AGNSS-CodePhaseError OPTIONAL, --Cond IfAvailable + phaseRangeDelta INTEGER(-524288.. 524287), + phaseRangeRMSerror INTEGER(0..127) OPTIONAL, --Cond IfAvailable + lockIndicator BOOLEAN, + ... +} + +OMA-LPPe-AGNSS-CodePhaseError ::= CHOICE { + codePhaseRMSError INTEGER(0..63), + cnr INTEGER(0..255), + ... +} + + +OMA-LPPe-AGNSS-NavModelList ::= SEQUENCE { + coordinateBased OMA-LPPe-AGNSS-NavModel-CoordinateBased OPTIONAL, --Cond ModelId-1 + ... +} + + +OMA-LPPe-AGNSS-NavModel-CoordinateBased ::= SEQUENCE { + fixedInterval SEQUENCE { + beginTime GNSS-SystemTime, + interval INTEGER(1..30), + ... + } OPTIONAL, --Cond FixedInterval + bases SEQUENCE { + baseForPosVel INTEGER(-100000000..100000000) OPTIONAL, + baseForCcRate OMA-LPPe-AGNSS-NavModel-BigNumber OPTIONAL, + ... + } OPTIONAL, --Cond DefaultsNotApplicable + referencedTo ENUMERATED { centerOfMass, antennaPhaseCenter, ... }, + pointList SEQUENCE (SIZE (1..97)) OF OMA-LPPe-AGNSS-NavModel-CoordinateBasedElement, + ... +} + +OMA-LPPe-AGNSS-NavModel-CoordinateBasedElement::= SEQUENCE { + time-of-record GNSS-SystemTime OPTIONAL, --Cond NoFixedInterval + svIdList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-AGNSS-NavModel-PVTelement, + ... +} + +OMA-LPPe-AGNSS-NavModel-PVTelement ::= SEQUENCE { + svID SV-ID, + svClockOffset OMA-LPPe-AGNSS-NavModel-BigNumber, + ecefPositionX OMA-LPPe-AGNSS-NavModel-BigNumber, + ecefPositionY OMA-LPPe-AGNSS-NavModel-BigNumber, + ecefPositionZ OMA-LPPe-AGNSS-NavModel-BigNumber, + clockPosSTD OMA-LPPe-AGNSS-NavModel-STDmatrix, + rateRecord SEQUENCE { + svClockRate OMA-LPPe-AGNSS-NavModel-BigNumber, + ecefVelocityX OMA-LPPe-AGNSS-NavModel-BigNumber, + ecefVelocityY OMA-LPPe-AGNSS-NavModel-BigNumber, + ecefVelocityZ OMA-LPPe-AGNSS-NavModel-BigNumber, + clockRateVelSTD OMA-LPPe-AGNSS-NavModel-STDmatrix, + ... + } OPTIONAL, --Cond RateAvailable + ... +} + +OMA-LPPe-AGNSS-NavModel-BigNumber::= SEQUENCE { + msb INTEGER(-1000000000..1000000000), + lsb INTEGER(1..100) OPTIONAL, + ... +} + +OMA-LPPe-AGNSS-NavModel-STDmatrix ::= SEQUENCE { + e11 INTEGER(0..1000), + e22 INTEGER(0..1000), + e33 INTEGER(0..1000), + e44 INTEGER(0..1000000), + e12 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable + e13 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable + e14 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable + e23 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable + e24 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable + e34 INTEGER(0..10000000) OPTIONAL, --Cond CrossTermAvailable + ... +} + + +OMA-LPPe-AGNSS-RequestAssistanceData ::= SEQUENCE { + commonAssistDataReq OMA-LPPe-AGNSS-CommonAssistanceDataReq OPTIONAL, + genericAssistDataReq OMA-LPPe-AGNSS-GenericAssistanceDataReq OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-CommonAssistanceDataReq ::= SEQUENCE { + ionosphericModelReq OMA-LPPe-AGNSS-IonosphericModelReq OPTIONAL, + troposphereModelReq OMA-LPPe-AGNSS-TroposphereModelReq OPTIONAL, + altitudeAssistanceReq OMA-LPPe-AGNSS-AltitudeAssistanceReq OPTIONAL, + solarRadiationRequest OMA-LPPe-AGNSS-SolarRadiationReq OPTIONAL, + ccpRequestControlParameters OMA-LPPe-AGNSS-CCPrequestControlParameters OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-GenericAssistanceDataReq ::= SEQUENCE (SIZE (1..16)) OF + OMA-LPPe-AGNSS-GenericAssistDataReqElement + +OMA-LPPe-AGNSS-GenericAssistDataReqElement ::= SEQUENCE { + gnss-ID GNSS-ID, + waIonoSurfaceReq OMA-LPPe-AGNSS-WaIonoSurfaceRequest OPTIONAL, --Cond WAiono + mechanicsReq OMA-LPPe-AGNSS-MechanicsReq OPTIONAL, + dcbReq OMA-LPPe-AGNSS-DCBreq OPTIONAL, + navModelDegradationModelReq OMA-LPPe-AGNSS-NavModelDegradationModelReq OPTIONAL, + ccpAssistGenericReq OMA-LPPe-AGNSS-CCPassistGenericReq OPTIONAL, --Cond CCPreq + navigationModelReq OMA-LPPe-AGNSS-NavigationModelReq OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-IonosphericModelReq ::= CHOICE { + staticModels SEQUENCE { + ionoreq BIT STRING {klobucharModel (0), + ionoStormWarning (1) } (SIZE (1..8)), + requestBeginTime GNSS-SystemTime OPTIONAL, + duration OMA-LPPe-Duration, + ... + }, + periodicModels SEQUENCE { + waIonoSurface OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersRequest, + ... + }, + ... +} + + +OMA-LPPe-AGNSS-WideAreaIonoSurfaceControlParametersRequest ::= SEQUENCE { + duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify + rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify + ... +} + + +OMA-LPPe-AGNSS-TroposphereModelReq ::= SEQUENCE { + troposphereModelReq BIT STRING {delay (0), + surface (1) } (SIZE (1..8)), + supportForMultipleGridPoints BOOLEAN, + requestBeginTime GNSS-SystemTime OPTIONAL, + duration OMA-LPPe-Duration, + ... +} + + +OMA-LPPe-AGNSS-AltitudeAssistanceReq ::= SEQUENCE { + requestBeginTime GNSS-SystemTime OPTIONAL, + duration OMA-LPPe-Duration OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-SolarRadiationReq ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-WaIonoSurfaceRequest ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-NavModelDegradationModelReq ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-DCBreq ::= SEQUENCE { + reference SEQUENCE{ + signal GNSS-SignalID, + pd ENUMERATED { pilot, data, notapplicable, ... }, + ... + } OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-MechanicsReq::= SEQUENCE { + massRequest BOOLEAN, + effectiveReflectivityAreaRequest BOOLEAN, + pcoRequest BOOLEAN, + svInfoRequest BOOLEAN, + ... +} + + +OMA-LPPe-AGNSS-CCPrequestControlParameters ::= SEQUENCE { + ccpSupportAreaRequest NULL OPTIONAL, + ccpNeighborListRequest NULL OPTIONAL, + ccpCommonRequest SEQUENCE { + duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrDurModify + rate INTEGER(1..64) OPTIONAL, --Cond FirstOrRateModify + refStation CHOICE { + posBasedReferenceStationRequest SEQUENCE { + requestedReferenceStationLocation OMA-LPPe-HighAccuracy3Dposition, + qor OMA-LPPe-AGNSS-QoR, + ... + }, + idBasedReferenceStationRequest OMA-LPPe-AGNSS-ReferenceStationIDlist, + referenceStationKillList OMA-LPPe-AGNSS-ReferenceStationIDlist, + ... + } OPTIONAL, --Cond FirstOrRefModify + ... + }, + ... +} + + +OMA-LPPe-AGNSS-ReferenceStationIDlist ::= SEQUENCE (SIZE(1..maxReferenceStations)) OF + OMA-LPPe-AGNSS-CCPreferenceStationID + +OMA-LPPe-AGNSS-QoR ::= ENUMERATED {m10, km1,km10,km100, ...} + + +OMA-LPPe-AGNSS-CCPassistGenericReq ::= SEQUENCE { + ccpAssist-SignalsReq GNSS-SignalIDs, + ... +} + + +OMA-LPPe-AGNSS-NavigationModelReq ::= SEQUENCE { + navModelID-PrefList SEQUENCE (SIZE(1..8)) OF INTEGER(1..8) OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-ProvideLocationInformation ::= SEQUENCE { + highAccuracyReferenceTime GNSS-SystemTime OPTIONAL, --Cond HighAccuracy + highAccuracyMeasurements OMA-LPPe-AGNSS-HAgnssProvide OPTIONAL, + ionosphereMeasurements OMA-LPPe-AGNSS-IonosphereMeasurements OPTIONAL, + localSurfaceMeasurements OMA-LPPe-AGNSS-LocalSurfaceMeasurements OPTIONAL, + error OMA-LPPe-AGNSS-Error OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-HAgnssProvide ::= CHOICE { + controlParameters SEQUENCE { + duration OMA-LPPe-Duration, + rate INTEGER(1..64), + antennaDescription OMA-LPPe-AGNSS-AntennaDescription OPTIONAL, --Cond HAantenna + ... + }, + measurements SEQUENCE { + position EllipsoidPointWithAltitudeAndUncertaintyEllipsoid OPTIONAL, + --Cond NotForbidden + referenceTime GNSS-SystemTime, + localPressure SEQUENCE { + pressure INTEGER(-1024..1023), + pressureUncertainty INTEGER(0..127), + ... + } OPTIONAL, --Cond HApressure + antennaOrientation OMA-LPPe-Orientation OPTIONAL, --Cond HAantOrientation + signalMeasurements SEQUENCE (SIZE(1..16)) OF OMA-LPPe-AGNSS-HAgnssMeasurementElement, + ... + }, + ... +} + +OMA-LPPe-AGNSS-HAgnssMeasurementElement::= SEQUENCE { + gnss-ID GNSS-ID, + haGNSSperSignalList SEQUENCE (SIZE(1..8)) OF OMA-LPPe-HAgnssPerSignalElement, + ... +} + +OMA-LPPe-HAgnssPerSignalElement ::= SEQUENCE { + signal-ID GNSS-SignalID, + haGNSSperSVlist SEQUENCE (SIZE(1..64)) OF OMA-LPPe-HAgnssPerSVelement, + ... +} + + +OMA-LPPe-HAgnssPerSVelement ::= SEQUENCE { + svID SV-ID, + integerCodePhase INTEGER (0..255) OPTIONAL, --Cond IfAvailable + codePhase INTEGER (0..14989622), + codePhaseRMSError INTEGER (0..63), + multipathDetection ENUMERATED {low, + moderate, + high, + notMeasured, + ...}, + cnr INTEGER(0..255), + adr INTEGER (0..536870911), + adrRMSerror INTEGER (0..127), + lockIndicator BOOLEAN, + ... +} + + +OMA-LPPe-AGNSS-IonosphereMeasurements ::= SEQUENCE { + gnssTime GNSS-SystemTime, + position EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + tecPerSV OMA-LPPe-AGNSS-TECPerSV OPTIONAL, --Cond TecPerSV + tecAtZenith OMA-LPPe-AGNSS-TECAtZenith OPTIONAL, --Cond ZenithTec + ... +} + +OMA-LPPe-AGNSS-TECPerSV ::= SEQUENCE (SIZE(1..64)) OF OMA-LPPe-AGNSS-TECPerSVElement + +OMA-LPPe-AGNSS-TECPerSVElement ::= SEQUENCE { + azimuth INTEGER(0..359), + elevation INTEGER(0..90), + tecValue INTEGER(0..511), + tecUncertainty INTEGER(0..63), + ... +} + +OMA-LPPe-AGNSS-TECAtZenith ::= SEQUENCE { + tecValueAtZenith INTEGER(0..511), + tecUncertaintyAtZenith INTEGER(0..63), + ... +} + + +OMA-LPPe-AGNSS-LocalSurfaceMeasurements ::= SEQUENCE { + gnssTime GNSS-SystemTime, + position EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + pressure INTEGER(-1024..1023), + pressureUncertainty INTEGER(0..127), + temperatureMeasurement SEQUENCE { + temperature INTEGER(-64..63) OPTIONAL, + temperatureUncertainty INTEGER(0..7) OPTIONAL, + ... + } OPTIONAL, --Cond TemperatureAvailable + ... +} + + +OMA-LPPe-AGNSS-RequestLocationInformation ::= SEQUENCE { + positioningInstructions OMA-LPPe-AGNSS-PositioningInstructions OPTIONAL, + ionosphereMeasurementsReq BIT STRING {tecPerSV(0), + zenithTEC(1) }(SIZE(1..8)) OPTIONAL, + localSurfaceMeasurementReq OMA-LPPe-AGNSS-LocalSurfaceMeasurementReq OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-PositioningInstructions ::= SEQUENCE { + highAccuracyMethodRequested BOOLEAN, + haGNSSreq OMA-LPPe-AGNSS-HAgnssRequestControlParameters OPTIONAL, --Cond HAgnssReq + ..., + extUncertRange BOOLEAN OPTIONAL +} + + +OMA-LPPe-AGNSS-LocalSurfaceMeasurementReq ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-HAgnssRequestControlParameters ::= SEQUENCE { + duration OMA-LPPe-Duration OPTIONAL, --Cond FirstOrModify + rate INTEGER(1..63) OPTIONAL, --Cond FirstOrModify + antennaInformationReq ENUMERATED {antennaDescriptionOnly, + antennaDescriptionAndOrientation, + ...} OPTIONAL, + pressureInformationReq BOOLEAN, --Cond FirstOrModify + signalReqList SEQUENCE (SIZE(1..16)) OF + OMA-LPPe-AGNSS-HAgnssSignalReqElement OPTIONAL, --Cond First + ... +} + +OMA-LPPe-AGNSS-HAgnssSignalReqElement ::= SEQUENCE { + gnssID GNSS-ID, + signals GNSS-SignalIDs, + ... +} + + + +OMA-LPPe-AGNSS-ProvideCapabilities ::= SEQUENCE { + assistanceDataSupportList OMA-LPPe-AGNSS-AssistanceDataSupportList OPTIONAL, + environmentObservationSupportList OMA-LPPe-AGNSS-EnvironmentObservationSupportList OPTIONAL, + haGNSSsupport OMA-LPPe-AGNSS-HAgnssSupport OPTIONAL, + ... +} + +OMA-LPPe-AGNSS-AssistanceDataSupportList ::= SEQUENCE { + commonAssistanceDataSupport OMA-LPPe-AGNSS-CommonAssistanceDataSupport, + genericAssistanceDataSupport OMA-LPPe-AGNSS-GenericAssistanceDataSupport, + ... +} + + +OMA-LPPe-AGNSS-EnvironmentObservationSupportList ::= SEQUENCE{ + ionosphereMeasurementSupport BIT STRING {tecPerSVsupport(0), + zenithTecSupport(1) } (SIZE (1..8)), + pressureMeasurementSupported BOOLEAN, + temperatureMeasurementSupported BOOLEAN, + ... +} + + + +OMA-LPPe-AGNSS-CommonAssistanceDataSupport ::= SEQUENCE { + ionosphericModelSupport OMA-LPPe-AGNSS-IonosphericModelSupport OPTIONAL, --Cond IonoSupport + troposphereModelSupport OMA-LPPe-AGNSS-TroposphereModelSupport OPTIONAL, --Cond TropoSupport + altitudeAssistanceSupport OMA-LPPe-AGNSS-AltitudeAssistanceSupport OPTIONAL, --Cond AltAssistSupport + solarRadiationSupport OMA-LPPe-AGNSS-SolarRadiationSupport OPTIONAL, --Cond SolarRadiationSupport + ccpSupport OMA-LPPe-AGNSS-CCPsupport OPTIONAL, --CCPsupport + ... +} + + +OMA-LPPe-AGNSS-IonosphericModelSupport ::= SEQUENCE { + ionoModel BIT STRING { localKlobuchar (0), + ionoStormWarning (1), + wideAreaIonoSurface (2) } (SIZE (1..8)), + ... +} + + +OMA-LPPe-AGNSS-TroposphereModelSupport ::= SEQUENCE { + tropoModel BIT STRING { localTroposphereDelay (0), + surfaceParameters (1) } (SIZE (1..8)), + supportForMultipleGridPoints BOOLEAN, + ... +} + + +OMA-LPPe-AGNSS-AltitudeAssistanceSupport ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-SolarRadiationSupport ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-CCPsupport ::= SEQUENCE { + supportAreaAssistanceSupported BOOLEAN, + multiReferenceStationSupported BOOLEAN, + ... +} + + +OMA-LPPe-AGNSS-GenericAssistanceDataSupport ::= + SEQUENCE (SIZE (1..16)) OF OMA-LPPe-AGNSS-GenericAssistDataSupportElement + +OMA-LPPe-AGNSS-GenericAssistDataSupportElement ::= SEQUENCE { + gnss-ID GNSS-ID, + mechnanicsSupport OMA-LPPe-AGNSS-MechanicsSupport OPTIONAL, + --Cond MechSupport + dcbSupport OMA-LPPe-AGNSS-DCBsupport OPTIONAL, + --Cond DCBsupport + navModelAccuracyModelDegradationSupport OMA-LPPe-AGNSS-NavModelAccuracyModelDegradationSupport OPTIONAL, --Cond NavModDegrSupport + ccpAssistanceSuppport GNSS-SignalIDs OPTIONAL, --Cond CCPsupport + navModelSupport OMA-LPPe-AGNSS-NavModelSupport OPTIONAL, --Cond NavModSupport + ... +} + + +OMA-LPPe-AGNSS-MechanicsSupport ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-DCBsupport ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-NavModelAccuracyModelDegradationSupport ::= SEQUENCE { + ... +} + + +OMA-LPPe-AGNSS-NavModelSupport ::= SEQUENCE { + navModelSupport SEQUENCE (SIZE(1..8)) OF INTEGER(1..8) OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-HAgnssSupport ::= SEQUENCE { + modeSupport BIT STRING {ueBased (0), ueAssisted (1) } (SIZE(2)), + haGNSSpressureInformationSupport BOOLEAN, + haGNSSantennaInformationSupport BIT STRING { antennaDescriptionSupported (0), + antennaOrientationSupported (1) + } (SIZE(8)), + + haGNSSperGNSSsupport SEQUENCE (SIZE(1..8)) OF OMA-LPPe-AGNSS-HAgnssPerGNSSsupport, + ... +} + +OMA-LPPe-AGNSS-HAgnssPerGNSSsupport::= SEQUENCE { + gnss-ID GNSS-ID, + haGNSSsignalSupport GNSS-SignalIDs, + ... +} + + +OMA-LPPe-AGNSS-RequestCapabilities ::= SEQUENCE { + assistanceDataSupportListReq NULL OPTIONAL, + environmentObservationSupportListReq NULL OPTIONAL, + haGNSSsupportReq NULL OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-Error ::= CHOICE { + agnss-locationServerErrorCauses OMA-LPPe-AGNSS-LocationServerErrorCauses, + agnss-targetDeviceErrorCauses OMA-LPPe-AGNSS-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-AGNSS-LocationServerErrorCauses ::= SEQUENCE { + waIonoErrorCauses ENUMERATED { undefined, + waIonoNotSupportedByServer, + waIonoNotSupportedInTargetArea, + waIonoNotSupportedForAnyRequestedGNSS, + ...} OPTIONAL, + ccpErrorCauses ENUMERATED { undefined, + ccpNotSupportedByServer, + ccpNotSupportedInTargetArea, + ccpNotSupportedForAnyRequestedSignal, + ccpQorCannotBeMet, + ccpUnableToModifyControlParameters, + ccpMultiReferenceStationNotSupported, + ccpNeighborListNotSupported, + ccpSupportAreaAssistanceNotSupported, + ...} OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-TargetDeviceErrorCauses ::= SEQUENCE { + highAccuracyErrorCauses ENUMERATED { undefined, + highAccuracyMethodNotSupported, + ...} OPTIONAL, + ionosphereMeasurementErrorCauses ENUMERATED { undefined, + ionosphereMeasurementsNotSupported, + ionosphereMeasurementsNotAvailable, + ...} OPTIONAL, + environmentObservationErrorCauses ENUMERATED { undefined, + surfaceMeasurementsNotSupported, + surfaceMeasurementsNotAvailable, + ...} OPTIONAL, + haGNSSerrorCauses ENUMERATED { undefined, + haGNSSnotSupportedByTarget, + haGNSSunavailableForAllRequestedSignals, + haGNSSantennaInformationNotSupported, + haGNSSantennaInformationNotAvailable, + haGNSSpressureInformationNotSupported, + haGNSSpressureInformationNotAvailable, + haGNSSunableToModifyControlParameters, + ...} OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-CCPreferenceStationID ::= SEQUENCE { + stationID INTEGER(0..65535), + ... +} + +maxReferenceStations INTEGER ::= 8 + + +OMA-LPPe-AGNSS-AntennaDescription ::= SEQUENCE { + antennaDescription CHOICE { + igsAntennaName OMA-LPPe-CharArray, + proprietaryName OMA-LPPe-CharArray, + ... + }, + antennaSetupID INTEGER(0..255) OPTIONAL, + antennaSerialNumber OMA-LPPe-CharArray OPTIONAL, + ... +} + + +OMA-LPPe-AGNSS-Abort::= SEQUENCE { + targetDeviceAbortCauses SEQUENCE { + ccpAbort ENUMERATED { undefined, + ccpNotSupported, + ccpNotSupportedForProvidedSignals, + ... } OPTIONAL, + waIonoAbort ENUMERATED { undefined, + waIonoNotSupported, + waIonoNotSupportedForProvidedGNSSs, + ... } OPTIONAL, + ... + } OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-ProvideAssistanceData ::= SEQUENCE { + otdoa-ReferenceCellInfo OMA-LPPe-OTDOA-ReferenceCellInfo OPTIONAL, + otdoa-NeighbourCellInfo OMA-LPPe-OTDOA-NeighbourCellInfoList OPTIONAL, + otdoa-Error OMA-LPPe-OTDOA-Error OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-ReferenceCellInfo ::= SEQUENCE { + referenceCellInfo OTDOA-ReferenceCellInfo, + positionCalculationInfoRef OMA-LPPe-OTDOA-PositionCalculationInfoRef, + ... +} + + +OMA-LPPe-OTDOA-PositionCalculationInfoRef ::= SEQUENCE { + systemFrameNumber BIT STRING (SIZE(10)) OPTIONAL, --Cond driftRate + rtdReferenceStd OMA-LPPe-OTDOA-RTDquality OPTIONAL, + cellLocation SEQUENCE { + reference-point OMA-LPPe-ReferencePoint OPTIONAL, + relative-location OMA-LPPe-RelativeLocation OPTIONAL, + ... + }, + femtoCellInfo SEQUENCE { + location-reliability INTEGER(1..100) OPTIONAL, + ... + } OPTIONAL, --Cond femto + + ... +} + + +OMA-LPPe-OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF + OMA-LPPe-OTDOA-NeighbourFreqCellInfoList + +-- Added from LPP.asn +maxFreqLayers INTEGER ::= 3 + +OMA-LPPe-OTDOA-NeighbourFreqCellInfoList ::= SEQUENCE { + neighbourCellInfoList-eNB SEQUENCE (SIZE (1..maxLTEeNBs)) OF + OMA-LPPe-OTDOA-NeighbourCellInfoElement-eNB OPTIONAL, + neighbourCellInfoList-HeNB SEQUENCE (SIZE (1..maxLTEHeNBs)) OF + OMA-LPPe-OTDOA-NeighbourCellInfoElement-HeNB OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-NeighbourCellInfoElement-eNB ::= SEQUENCE { + relative-Location OMA-LPPe-RelativeLocation, + otdoa-eNB-CellDataList SEQUENCE (SIZE (1..maxLTEMacroCells)) OF OMA-LPPe-OTDOA-CellData, + ... +} + + +OMA-LPPe-OTDOA-NeighbourCellInfoElement-HeNB ::= SEQUENCE { + relative-Location OMA-LPPe-RelativeLocation, + location-reliability INTEGER (1..100) OPTIONAL, + otdoa-HeNB-CellDataList OMA-LPPe-OTDOA-CellData, + ... +} + + +OMA-LPPe-OTDOA-CellData ::= SEQUENCE { + otdoa-NeighbourCellInfoElement OTDOA-NeighbourCellInfoElement, + rtdInfo SEQUENCE { + subframeOffset INTEGER(0..10229) OPTIONAL, + fineRTD INTEGER(0..99999), + fineRTDstd OMA-LPPe-OTDOA-RTDquality, + fineRTDdriftRate INTEGER(-100..100) OPTIONAL, + ... + }, + ... +} + + +OMA-LPPe-OTDOA-RTDquality ::= SEQUENCE { + resolution ENUMERATED { ns-5, ns-10, ns-50, ns-100, ... }, + quality INTEGER (0..127), + ... +} + + +OMA-LPPe-OTDOA-RequestAssistanceData ::= SEQUENCE { + lteCell SEQUENCE { + physCellId INTEGER(0..503), + eARFCN ARFCN-ValueEUTRA, + ecgi CellGlobalIdEUTRA-AndUTRA OPTIONAL, + ..., + eARFCN-ext ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-ext + }, + requestedCells BIT STRING { + eNBs (0), + heNBs (1) } (SIZE (1..8)), + ... +} + + +OMA-LPPe-OTDOA-ProvideLocationInformation ::= SEQUENCE { + otdoaLocationInformation OMA-LPPe-OTDOA-LocationInformation OPTIONAL, + otdoaError OMA-LPPe-OTDOA-Error OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-LocationInformation ::= SEQUENCE { + systemFrameNumber BIT STRING (SIZE (10)), + physCellId INTEGER (0..503), + cellGlobalId CellGlobalIdEUTRA-AndUTRA OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-RequestLocationInformation ::= SEQUENCE { + assistanceAvailability BOOLEAN, + ... +} + + +OMA-LPPe-OTDOA-ProvideCapabilities ::= SEQUENCE { + eNodeB-AD-sup SEQUENCE { ... } OPTIONAL, + home-eNodeB-AD-sup SEQUENCE { ... } OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-OTDOA-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-OTDOA-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-OTDOA-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-OTDOA-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + locationCalculationAssistanceDataNotSupported, + locationCalculationAssistanceDataSupportedButCurrentlyNotAvailable, + ... + }, + ... +} + + +OMA-LPPe-OTDOA-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + there-were-not-enough-signals-received-for-ueBased-otdoa, + location-calculation-assistance-data-missing, + ... + }, + ... +} + + +OMA-LPPe-EOTD-ProvideAssistanceData ::= SEQUENCE { + referenceBTS OMA-LPPe-EOTD-ReferenceBTSForAssistance OPTIONAL, --Cond NotError + msrAssistDataList OMA-LPPe-EOTD-MsrAssistDataList OPTIONAL, + systemInfoAssistDataList OMA-LPPe-EOTD-SystemInfoAssistDataList OPTIONAL, + eotdError OMA-LPPe-EOTD-Error OPTIONAL, + ... +} + + +OMA-LPPe-EOTD-ReferenceBTSForAssistance ::= SEQUENCE { + bsicAndCarrier OMA-LPPe-CellNonUniqueIDGERAN, + timeSlotScheme OMA-LPPe-EOTD-TimeSlotScheme, + btsPosition CHOICE { + ellipsoidPoint Ellipsoid-Point, + ellipsoidPointWithAltitudeAndUncertaintyEllipsoid EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + ... + } OPTIONAL, --Cond UE-based + ... +} + + +OMA-LPPe-EOTD-MsrAssistDataList ::= SEQUENCE (SIZE (1..15)) OF OMA-LPPe-EOTD-MsrAssistBTS + +OMA-LPPe-EOTD-MsrAssistBTS ::= SEQUENCE { + bsicAndCarrier OMA-LPPe-CellNonUniqueIDGERAN, + multiFrameOffset OMA-LPPe-EOTD-MultiFrameOffset, + timeSlotScheme OMA-LPPe-EOTD-TimeSlotScheme, + roughRTD OMA-LPPe-EOTD-RoughRTD, + expectedOTD OMA-LPPe-EOTD-ExpectedOTD, + calcAssistanceBTS OMA-LPPe-EOTD-CalcAssistanceBTS OPTIONAL, --Cond UE-based + ... +} + + +OMA-LPPe-EOTD-SystemInfoAssistDataList ::= SEQUENCE (SIZE (1..32)) OF OMA-LPPe-EOTD-SystemInfoAssistBTS + +OMA-LPPe-EOTD-SystemInfoAssistBTS ::= CHOICE{ + notPresent NULL, + present OMA-LPPe-EOTD-AssistBTSData +} + +OMA-LPPe-EOTD-AssistBTSData ::= SEQUENCE { + bsic INTEGER(0..63), + multiFrameOffset OMA-LPPe-EOTD-MultiFrameOffset, + timeSlotScheme OMA-LPPe-EOTD-TimeSlotScheme, + roughRTD OMA-LPPe-EOTD-RoughRTD, + expectedOTD OMA-LPPe-EOTD-ExpectedOTD OPTIONAL, + calcAssistanceBTS OMA-LPPe-EOTD-CalcAssistanceBTS OPTIONAL, --Cond UE-based + ... +} + + +OMA-LPPe-EOTD-CalcAssistanceBTS ::= SEQUENCE { + fineRTD OMA-LPPe-EOTD-FineRTD, + relativePos OMA-LPPe-EOTD-relativePos, + ... +} + +OMA-LPPe-EOTD-relativePos ::= SEQUENCE { + relativeNorth OMA-LPPe-EOTD-RelDistance, + relativeEast OMA-LPPe-EOTD-RelDistance, + relativeAlt OMA-LPPe-EOTD-RelativeAlt OPTIONAL, + ... +} + +OMA-LPPe-EOTD-FineRTD ::= INTEGER(0..255) + +OMA-LPPe-EOTD-RelDistance ::= INTEGER(-200000..200000) + +OMA-LPPe-EOTD-RelativeAlt ::= INTEGER(-4000..4000) + + +OMA-LPPe-EOTD-RequestAssistanceData ::= SEQUENCE { + eotdAssistanceReq BIT STRING { ueAssisted (0), ueBased (1) }, + ... +} + + +OMA-LPPe-EOTD-ProvideLocationInformation ::= SEQUENCE { + eotdMsrElement OMA-LPPe-EOTD-MsrElement OPTIONAL, + eotdError OMA-LPPe-EOTD-Error OPTIONAL, + ... +} + + + +OMA-LPPe-EOTD-MsrElement ::= SEQUENCE { + refFrameNumber INTEGER(0..42431), + referenceTimeSlot OMA-LPPe-EOTD-ModuloTimeSlot, + toaMeasurementsOfRef OMA-LPPe-EOTD-TOA-MeasurementsOfRef OPTIONAL, + stdResolution BIT STRING(SIZE(2)), + taCorrection INTEGER(0..960) OPTIONAL, + otd-FirstSetMsrs SEQUENCE (SIZE(1..15)) OF OMA-LPPe-EOTD-MeasurementWithID OPTIONAL, + ... +} + + +OMA-LPPe-EOTD-TOA-MeasurementsOfRef ::= SEQUENCE { + refQuality BIT STRING(SIZE(5)), + numOfMeasurements BIT STRING(SIZE(3)), + ... +} + + + +OMA-LPPe-EOTD-MeasurementWithID ::= SEQUENCE { + neighborIdentity OMA-LPPe-EOTD-NeighborIdentity, + nborTimeSlot OMA-LPPe-EOTD-ModuloTimeSlot, + eotdQuality OMA-LPPe-EOTD-EOTDQuality, + otdValue OMA-LPPe-EOTD-OTDValue, + ... +} + + +OMA-LPPe-EOTD-NeighborIdentity ::= CHOICE { + bsicAndCarrier OMA-LPPe-CellNonUniqueIDGERAN, + ci OMA-LPPe-EOTD-CellID, + multiFrameCarrier OMA-LPPe-EOTD-MultiFrameCarrier, + requestIndex OMA-LPPe-EOTD-RequestIndex, + systemInfoIndex OMA-LPPe-EOTD-SystemInfoIndex, + ciAndLac OMA-LPPe-CellLocalIdGERAN, + ... +} + +OMA-LPPe-EOTD-EOTDQuality ::= SEQUENCE { + nbrOfMeasurements BIT STRING(SIZE(3)), + stdOfEOTD BIT STRING(SIZE(5)), + ... +} + +OMA-LPPe-EOTD-OTDValue ::= INTEGER (0..39999) + +OMA-LPPe-EOTD-CellID ::= INTEGER (0..65535) + +OMA-LPPe-EOTD-RequestIndex ::= INTEGER (1..16) +OMA-LPPe-EOTD-SystemInfoIndex ::= INTEGER (1..32) + +OMA-LPPe-EOTD-MultiFrameCarrier ::= SEQUENCE { + bcchCarrier OMA-LPPe-EOTD-BCCHCarrier, + multiFrameOffset OMA-LPPe-EOTD-MultiFrameOffset, + ... +} + +OMA-LPPe-EOTD-BCCHCarrier ::= INTEGER (0..1023) + + +OMA-LPPe-EOTD-RequestLocationInformation ::= SEQUENCE { + ... +} + + +OMA-LPPe-EOTD-ProvideCapabilities ::= SEQUENCE { + eotdSupport BIT STRING{ ueBased(0), ueAssisted(1) }, + ... +} + + +OMA-LPPe-EOTD-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-EOTD-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-EOTD-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-EOTD-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-EOTD-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED{ undefined, + assistanceDataForUEbasedEOTDnotAvailable, + assistanceDataForUEassistedEOTDnotAvailable, + ...}, + ... +} + + +OMA-LPPe-EOTD-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED{ undefinedError, + notEnoughBTsforEOTD, + assistanceDataMissing, + referenceCellNotServingCell, + eotdMeasurementsNotSupported, + eotdMeasurementsNotAvailable, + uebasedEOTDnotSupported, + ...}, + ... +} + + +OMA-LPPe-EOTD-TimeSlotScheme ::= ENUMERATED { + equalLength (0), + variousLength (1) +} + + +OMA-LPPe-EOTD-MultiFrameOffset ::= INTEGER (0..51) + + +OMA-LPPe-EOTD-RoughRTD ::= INTEGER (0..1250) + + +OMA-LPPe-EOTD-ExpectedOTD ::= SEQUENCE { + expectedOTD INTEGER(0..1250), + expOTDUncertainty INTEGER(0..7), + ... +} + + +OMA-LPPe-EOTD-ModuloTimeSlot ::= INTEGER(0..3) + + +OMA-LPPe-OTDOA-UTRA-ProvideAssistanceData ::= SEQUENCE { + referenceCellInfo OMA-LPPe-OTDOA-UTRA-ReferenceCellInfo OPTIONAL, + neigborCellList OMA-LPPe-OTDOA-UTRA-NeighborCellList OPTIONAL, + otdoaUtraError OMA-LPPe-OTDOA-UTRA-Error OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-UTRA-ReferenceCellInfo ::= SEQUENCE { + sfn INTEGER(0..4095) OPTIONAL, + modeSpecificInfo CHOICE { + fdd SEQUENCE { + primaryCPICH-info OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info + }, + tdd SEQUENCE { + cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity + } + }, + frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL, + refPosAssist OMA-LPPe-OTDOA-UTRA-RefPosAssist OPTIONAL, --Cond UE-based + ipdl-parameters OMA-LPPe-OTDOA-UTRA-IPDL-Parameters OPTIONAL, + ... +} + + + +OMA-LPPe-OTDOA-UTRA-RefPosAssist ::= SEQUENCE { + cellPosition CHOICE { + ellipsoidPoint Ellipsoid-Point, + ellipsoidPointWithAltitude EllipsoidPointWithAltitude, + ... + }, + roundTripTime INTEGER (0..32766) OPTIONAL, + roundTripTimeExtension INTEGER (0..70274) OPTIONAL, + ... +} + + +OMA-LPPe-OTDOA-UTRA-NeighborCellList ::= SEQUENCE (SIZE (1..utra-maxCellMeas)) OF + OMA-LPPe-OTDOA-UTRA-NeighborCellInfo + +OMA-LPPe-OTDOA-UTRA-NeighborCellInfo ::= SEQUENCE { + modeSpecificInfo CHOICE { + fdd SEQUENCE { + primaryCPICH-info OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info + }, + tdd SEQUENCE { + cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity + } + }, + frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL, + ipdl-parameters OMA-LPPe-OTDOA-UTRA-IPDL-Parameters OPTIONAL, + sfn-SFN-relTimeDifference OMA-LPPe-OTDOA-UTRA-SFN-SFN-RelTimeDifference1, + sfn-offsetValidity OMA-LPPe-OTDOA-UTRA-SFN-OffsetValidity OPTIONAL, + sfn-SFN-drift OMA-LPPe-OTDOA-UTRA-SFN-SFN-Drift OPTIONAL, + searchWindowSize OMA-LPPe-OTDOA-UTRA-SearchWindowSize, + positioningAssistance OMA-LPPe-OTDOA-UTRA-PositioningAssistance OPTIONAL, --Cond UEbased + ... +} + +OMA-LPPe-OTDOA-UTRA-SFN-SFN-RelTimeDifference1 ::= SEQUENCE { + sfn-offset INTEGER (0..4095), + sfn-sfn-relTimeDifference INTEGER (0..38399) +} + +OMA-LPPe-OTDOA-UTRA-PositioningAssistance ::= SEQUENCE { + relativeNorth INTEGER (-20000..20000), + relativeEast INTEGER (-20000..20000), + relativeAltitude INTEGER (-4000..4000) OPTIONAL, + fineSFN-SFN OMA-LPPe-OTDOA-UTRA-fineSFN-SFN, + roundTripTime INTEGER (0..32766) OPTIONAL, + roundTripTimeExtension INTEGER (0..70274) OPTIONAL, + ... +} + +utra-maxCellMeas INTEGER ::= 32 + +OMA-LPPe-OTDOA-UTRA-SFN-OffsetValidity ::= ENUMERATED { false } + +OMA-LPPe-OTDOA-UTRA-SFN-SFN-Drift ::= ENUMERATED { + sfnsfndrift0, sfnsfndrift1, sfnsfndrift2, + sfnsfndrift3, sfnsfndrift4, sfnsfndrift5, + sfnsfndrift8, sfnsfndrift10, sfnsfndrift15, + sfnsfndrift25, sfnsfndrift35, sfnsfndrift50, + sfnsfndrift65, sfnsfndrift80, sfnsfndrift100, + sfnsfndrift-1, sfnsfndrift-2, sfnsfndrift-3, + sfnsfndrift-4, sfnsfndrift-5, sfnsfndrift-8, + sfnsfndrift-10, sfnsfndrift-15, sfnsfndrift-25, + sfnsfndrift-35, sfnsfndrift-50, sfnsfndrift-65, + sfnsfndrift-80, sfnsfndrift-100, + ... } + +OMA-LPPe-OTDOA-UTRA-SearchWindowSize ::= ENUMERATED { c20, c40, c80, c160, c320, + c640, c1280, moreThan1280, ... } + +OMA-LPPe-OTDOA-UTRA-fineSFN-SFN ::= INTEGER (0..15) + + +OMA-LPPe-OTDOA-UTRA-IPDL-Parameters ::= SEQUENCE { + modeSpecificInfo CHOICE { + fdd SEQUENCE { + ip-spacing OMA-LPPe-OTDOA-UTRA-IP-Spacing, + ip-length OMA-LPPe-OTDOA-UTRA-IP-Length, + ip-Offset INTEGER (0..9), + seed INTEGER (0..63), + burstModeParameters OMA-LPPe-OTDOA-UTRA-BurstModeParameters OPTIONAL + }, + tdd SEQUENCE { + ip-spacing-tdd OMA-LPPe-OTDOA-UTRA-IP-Spacing-TDD, + ip-slot INTEGER (0..14), + ip-start INTEGER (0..4095), + ip-PCCPCH OMA-LPPe-OTDOA-UTRA-IP-PCCPCH OPTIONAL, + burstModeParameters OMA-LPPe-OTDOA-UTRA-BurstModeParameters + } + } +} + +OMA-LPPe-OTDOA-UTRA-IP-Spacing ::= ENUMERATED { e5, e7, e10, e15, e20, e30, e40, e50} + +OMA-LPPe-OTDOA-UTRA-IP-Length ::= ENUMERATED {ipl5, ipl10} + +OMA-LPPe-OTDOA-UTRA-IP-Spacing-TDD ::= ENUMERATED { e30, e40, e50, e70, e100 } + +OMA-LPPe-OTDOA-UTRA-IP-PCCPCH ::= BOOLEAN + +OMA-LPPe-OTDOA-UTRA-BurstModeParameters ::= SEQUENCE { + burstStart INTEGER (0..15), + burstLength INTEGER (10..25), + burstFreq INTEGER (1..16) +} + + +OMA-LPPe-OTDOA-UTRA-RequestAssistanceData ::= SEQUENCE { + otdoaUtraAssistanceReq BIT STRING { ueAssisted (0), ueBased (1) } (SIZE(1..8)), + ... +} + + +OMA-LPPe-OTDOA-UTRA-ProvideLocationInformation ::= SEQUENCE { + otdoaUtraMeasurement OMA-LPPe-OTDOA-UTRA-Measurement OPTIONAL, + otdoaUtraError OMA-LPPe-OTDOA-UTRA-Error OPTIONAL, + timeStampData OMA-LPPe-OTDOA-UTRA-TimeStampData OPTIONAL, --Cond UE-based + ... +} + + +OMA-LPPe-OTDOA-UTRA-Measurement ::= SEQUENCE { + sfn INTEGER (0..4095), + modeSpecificInfoMeas CHOICE { + fdd SEQUENCE { + referenceCellIdentity OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info, + ue-RX-TX-TimeDifferenceType2Info OMA-LPPe-OTDOA-UTRA-UE-RX-TX-TimeDifferenceType2Info, + ... + }, + tdd SEQUENCE { + cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity, + ... + } + }, + neighborList OMA-LPPe-OTDOA-UTRA-NeighborList OPTIONAL, + ... +} + +OMA-LPPe-OTDOA-UTRA-UE-RX-TX-TimeDifferenceType2Info ::= SEQUENCE { + ue-RX-TX-timeDifferenceType2 OMA-LPPe-OTDOA-UTRA-TimeDifferenceType2, + neighborQuality OMA-LPPe-OTDOA-UTRA-NeighborQuality +} + +OMA-LPPe-OTDOA-UTRA-TimeDifferenceType2 ::= INTEGER(0..8191) + +OMA-LPPe-OTDOA-UTRA-NeighborList ::= SEQUENCE (SIZE (1..utra-maxCellMeas)) OF + OMA-LPPe-OTDOA-UTRA-Neighbor + +OMA-LPPe-OTDOA-UTRA-Neighbor ::= SEQUENCE { + modeSpecificInfo CHOICE { + fdd SEQUENCE { + neighborIdentity OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info OPTIONAL, + ue-RX-TX-timeDifferenceType2Info + OMA-LPPe-OTDOA-UTRA-UE-RX-TX-TimeDifferenceType2Info OPTIONAL, + ... }, + tdd SEQUENCE { + cellAndChannelIdentity OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity OPTIONAL, + uarfcn ARFCN-ValueUTRA OPTIONAL, + ... } + }, + neighborQuality OMA-LPPe-OTDOA-UTRA-NeighborQuality, + sfn-sfn-ObsTimeDifference2 OMA-LPPe-OTDOA-UTRA-SFN-SFN-ObsTimeDifference2, + ... +} + +OMA-LPPe-OTDOA-UTRA-NeighborQuality ::= SEQUENCE { + quality OMA-LPPe-OTDOA-UTRA-Quality, + ... +} + +OMA-LPPe-OTDOA-UTRA-SFN-SFN-ObsTimeDifference2 ::= INTEGER (0..65535) + +OMA-LPPe-OTDOA-UTRA-Quality ::= SEQUENCE { + stdResolution BIT STRING (SIZE (2)), + numberOfOTDOA-Measurements BIT STRING (SIZE (3)), + stdOfOTDOA-Measurements BIT STRING (SIZE (5)), + ... +} + + +OMA-LPPe-OTDOA-UTRA-TimeStampData ::= SEQUENCE { + sfn INTEGER(0..4095), + utraCellGlobalID CellGlobalIdEUTRA-AndUTRA, + frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL, + nonUniqueCellID CHOICE { + primaryScramblingCode OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode, --FDD + cellParametersId OMA-LPPe-OTDOA-UTRA-CellParametersID, --TDD + ...}, + ... +} + + +OMA-LPPe-OTDOA-UTRA-RequestLocationInformation ::= SEQUENCE { + ... +} + + +OMA-LPPe-OTDOA-UTRA-ProvideCapabilities ::= SEQUENCE { + ueBasedSupported BOOLEAN, + ueAssistedSupported BOOLEAN, + ipdlSupported BOOLEAN, + ... +} + + +OMA-LPPe-OTDOA-UTRA-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-OTDOA-UTRA-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-OTDOA-UTRA-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-OTDOA-UTRA-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-OTDOA-UTRA-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED{ undefinedError, + assistanceDataForUEbasedOTDOAnotAvailable, + assistanceDataForUEassistedOTDOAnotAvailable, + ...}, + ... +} + + +OMA-LPPe-OTDOA-UTRA-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED{ undefinedError, + notEnoughOTDOA-cells, + assistanceDataMissing, + referenceCellNotServingCell, + otdoaMeasurementsNotSupported, + otdoaMeasurementsNotAvailable, + uebasedOTDOAnotSupported, + ...}, + ... +} + + +OMA-LPPe-OTDOA-UTRA-PrimaryCPICH-Info ::= SEQUENCE { + primaryScramblingCode OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode +} + + +OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode ::= INTEGER (0..511) + + +OMA-LPPe-OTDOA-UTRA-CellAndChannelIdentity ::= SEQUENCE { + burstType OMA-LPPe-OTDOA-UTRA-BurstType, + midambleShift OMA-LPPe-OTDOA-UTRA-MidambleShiftLong, + timeslot OMA-LPPe-OTDOA-UTRA-TimeSlotNumber, + cellParametersID OMA-LPPe-OTDOA-UTRA-CellParametersID, + ... +} + +OMA-LPPe-OTDOA-UTRA-BurstType ::= ENUMERATED { type1, type2 } + +OMA-LPPe-OTDOA-UTRA-MidambleShiftLong ::= INTEGER (0..15) + +OMA-LPPe-OTDOA-UTRA-TimeSlotNumber ::= INTEGER (0..14) + +OMA-LPPe-OTDOA-UTRA-CellParametersID ::= INTEGER (0..127) + + +OMA-LPPe-ECID-LTE-ProvideAssistanceData ::= SEQUENCE { + ecid-LTE-NetworkData SEQUENCE (SIZE (1..maxLTENetworks)) OF + OMA-LPPe-ECID-LTE-NetworkData OPTIONAL, + ecid-LTE-Error OMA-LPPe-ECID-LTE-Error OPTIONAL, + ... +} + +maxLTENetworks INTEGER ::= 8 + + +OMA-LPPe-ECID-LTE-NetworkData ::= SEQUENCE { + plmn-Identity SEQUENCE { + mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9), + ... + }, + multiple-PLMNs BOOLEAN, + reference-location OMA-LPPe-ReferencePoint OPTIONAL, --Cond eNBlocations + ecid-lte-eNodeB-list SEQUENCE (SIZE (1..maxLTEeNBs)) OF OMA-LPPe-ECID-LTE-eNodeBData, + ecid-lte-HeNB-list SEQUENCE (SIZE (1..maxLTEHeNBs)) OF OMA-LPPe-ECID-LTE-HeNBData OPTIONAL, + ... +} + +maxLTEeNBs INTEGER ::= 32 + +maxLTEHeNBs INTEGER ::= 128 + + +OMA-LPPe-ECID-LTE-eNodeBData ::= SEQUENCE { + relative-location OMA-LPPe-RelativeLocation OPTIONAL, + ecid-lte-eNodeB-CellData SEQUENCE (SIZE (1..maxLTEMacroCells)) OF OMA-LPPe-ECID-LTE-CellData, + ... +} + +maxLTEMacroCells INTEGER ::= 8 + + +OMA-LPPe-ECID-LTE-HeNBData ::= SEQUENCE { + relative-location OMA-LPPe-RelativeLocation OPTIONAL, + location-reliability INTEGER (1..100) OPTIONAL, + coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL, + ecid-lte-HeNB-CellData OMA-LPPe-ECID-LTE-CellData, + ... +} + + +OMA-LPPe-ECID-LTE-CellData ::= SEQUENCE { + physCellId INTEGER (0..503) OPTIONAL, --Cond AtLeastOne + cellIdentity BIT STRING (SIZE (28)) OPTIONAL, --Cond AtLeastOne + dl-CarrierFreq ARFCN-ValueEUTRA, + rs-transmit-power INTEGER (-127..128) OPTIONAL, + antennaPortConfig ENUMERATED {port1, ports2, ports4, ... } OPTIONAL, + antenna-gain INTEGER (-127..128) OPTIONAL, + beam-width INTEGER (1..360) OPTIONAL, + transmit-direction INTEGER (0..360) OPTIONAL, + frequency-accuracy INTEGER (0..100), + ..., + dl-CarrierFreq-ext ARFCN-ValueEUTRA-v9a0 OPTIONAL -- Cond EARFCN-ext +} + + +OMA-LPPe-ECID-LTE-RequestAssistanceData ::= SEQUENCE { + eNBrequestedAD BIT STRING { bslist (0), + bslocation (1), + transmit-power (2), + antennaPortConfig (3), + antenna-gain (4), + beam-width (5), + transmit-direction (6), + frequency-accuracy (7), + non-serving (8) } (SIZE(1..16)) OPTIONAL, + heNBrequestedAD BIT STRING { bslist (0), + bslocation (1), + locationreliability (2), + transmit-power (3), + antennaPortConfig (4), + frequency-accuracy (5), + coveragearea (6), + non-serving (7) } (SIZE(1..16)) OPTIONAL, + ... +} + + +OMA-LPPe-ECID-LTE-ProvideLocationInformation ::= SEQUENCE { + ecid-LTE-CombinedLocationInformation SEQUENCE (SIZE (1..maxLTEECIDSize)) + OF OMA-LPPe-ECID-LTE-LocationInformationList OPTIONAL, + ecid-LTE-Error OMA-LPPe-ECID-LTE-Error OPTIONAL, + ... +} + +OMA-LPPe-ECID-LTE-LocationInformationList ::= SEQUENCE { + ecid-LTE-LocationInformation OMA-LPPe-ECID-LTE-LocationInformation, + relativeTimeStamp INTEGER (0..65535) OPTIONAL, + servingFlag BOOLEAN, + ... +} + +maxLTEECIDSize INTEGER ::= 64 + + +OMA-LPPe-ECID-LTE-LocationInformation ::= SEQUENCE { + lpp-ECID-SignalMeasurementInformation ECID-SignalMeasurementInformation, + ... +} + + +OMA-LPPe-ECID-LTE-RequestLocationInformation ::= SEQUENCE { + requestedMeasurements BIT STRING { rsrp (0), + rsrq (1), + ueRxTx (2), + non-serving (3), + historic (4) } (SIZE(1..8)), + ... +} + + +OMA-LPPe-ECID-LTE-ProvideCapabilities ::= SEQUENCE { + ecid-lte-MeasSupported BIT STRING {rsrp (0), + rsrq (1), + ueRxTx (2), + non-serving (3), + historic (4) } (SIZE(1..8)), + ecid-lte-eNodeB-ADSupported BIT STRING {bslist (0), + bslocation (1), + transmit-power (2), + antennaPortConfig (3), + antenna-gain (4), + beam-width (5), + transmit-direction (6), + frequency-accuracy (7), + non-serving (8) } (SIZE(1..16)), + ecid-utra-HeNB-ADSupported BIT STRING {bslist (0), + bslocation (1), + locationreliability (2), + transmit-power (3), + antennaPortConfig (4), + frequency-accuracy (5), + coveragearea (6), + non-serving (7) } (SIZE(1..16)), + ... +} + + +OMA-LPPe-ECID-LTE-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-ECID-LTE-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-ECID-LTE-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-ECID-LTE-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-ECID-LTE-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + requestedADNotAvailable, + notAllrequestedADAvailable, + ... + }, + eNodeBMandatoryDataUnavailable NULL OPTIONAL, + eNodeBLocationsUnavailable NULL OPTIONAL, + eNodeBcellTransmitPowerUnavailable NULL OPTIONAL, + eNodeBcellAntennaPortConfigUnavailable NULL OPTIONAL, + eNodeBcallAntennaGainUnavailable NULL OPTIONAL, + eNodeBcellBeamWidthUnavailable NULL OPTIONAL, + eNodeBcellTransmitDirectionUnavailable NULL OPTIONAL, + eNodeBcellFrequencyAccuracyUnavailable NULL OPTIONAL, + eNodeBnonservingADUnavailable NULL OPTIONAL, + heNBMandatoryDataUnavailable NULL OPTIONAL, + heNBLocationUnavailable NULL OPTIONAL, + heNBLocationReliabilityUnavailable NULL OPTIONAL, + heNBcellTransmitPowerUnavailable NULL OPTIONAL, + heNBcellAntennaPortConfigUnavailable NULL OPTIONAL, + heNBcellFrequencyAccuracyUnavailable NULL OPTIONAL, + heNBCoverageAreaUnavailable NULL OPTIONAL, + heNBnonservingADUnavailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-ECID-LTE-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED {undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + rsrpMeasurementNotPossible NULL OPTIONAL, + rsrqMeasurementNotPossible NULL OPTIONAL, + ueRxTxMeasurementNotPossible NULL OPTIONAL, + non-servingMeasurementsNotAvailable NULL OPTIONAL, + historicMeasurementsNotAvailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-ECID-GSM-ProvideAssistanceData ::= SEQUENCE { + ecid-gsm-NetworkData SEQUENCE (SIZE (1..maxGSMNetworks)) + OF OMA-LPPe-ECID-GSM-NetworkData OPTIONAL, + ecid-gsm-Error OMA-LPPe-ECID-GSM-Error OPTIONAL, + ... +} + +maxGSMNetworks INTEGER ::= 8 + + +OMA-LPPe-ECID-GSM-NetworkData ::= SEQUENCE { + plmn-Identity SEQUENCE { + mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9) + }, + reference-location OMA-LPPe-ReferencePoint OPTIONAL, --Cond BSlocations + base-station-list SEQUENCE (SIZE (1..maxGSMBaseStations)) OF OMA-LPPe-ECID-GSM-BaseStationData, + ... +} + +maxGSMBaseStations INTEGER ::= 32 + + +OMA-LPPe-ECID-GSM-BaseStationData ::= SEQUENCE { + relative-location OMA-LPPe-RelativeLocation OPTIONAL, + ecid-gsm-CellData SEQUENCE (SIZE (1..maxGSMCells)) OF OMA-LPPe-ECID-GSM-CellData, + ... +} + +maxGSMCells INTEGER ::= 8 + + +OMA-LPPe-ECID-GSM-CellData ::= SEQUENCE { + cellNonUniqueIDGERAN OMA-LPPe-CellNonUniqueIDGERAN OPTIONAL, --Cond AtLeastOne + cellLocalIDGERAN OMA-LPPe-CellLocalIdGERAN OPTIONAL, --Cond AtLeastOne + transmit-power INTEGER (-127..128) OPTIONAL, + antenna-gain INTEGER (-127..128) OPTIONAL, + beam-width INTEGER (1..360) OPTIONAL, + transmit-direction INTEGER (0..360) OPTIONAL, + frequency-accuracy INTEGER (0..100) OPTIONAL, + ... +} + + + + +OMA-LPPe-ECID-GSM-RequestAssistanceData ::= SEQUENCE { + requestedAD BIT STRING { bslist (0), + bslocation (1), + transmit-power (2), + antenna-gain (3), + beam-width (4), + transmit-direction (5), + frequency-accuracy (6), + non-serving (7) + } (SIZE(1..16)), + ... +} + + +OMA-LPPe-ECID-GSM-ProvideLocationInformation ::= SEQUENCE { + ecid-GSM-CombinedLocationInformation SEQUENCE (SIZE (1..maxGSMECIDSize)) + OF OMA-LPPe-ECID-GSM-LocationInformationList OPTIONAL, + ecid-GSM-Error OMA-LPPe-ECID-GSM-Error OPTIONAL, + ... +} + +OMA-LPPe-ECID-GSM-LocationInformationList ::= SEQUENCE { + ecid-GSM-LocationInformation OMA-LPPe-ECID-GSM-LocationInformation, + relativeTimeStamp INTEGER (0..65535) OPTIONAL, + servingFlag BOOLEAN, + ... +} + +maxGSMECIDSize INTEGER ::= 64 + + + +OMA-LPPe-ECID-GSM-LocationInformation ::= SEQUENCE { + cellGlobalIdGERAN CellGlobalIdGERAN, + rxLevel INTEGER (0..63) OPTIONAL, + tA INTEGER(0..255) OPTIONAL, + nMR-GERAN OMA-LPPe-NMR-GERAN OPTIONAL, + ... +} + +OMA-LPPe-NMR-GERAN ::= SEQUENCE (SIZE (1..15)) OF SEQUENCE { + cellNonUniqueIDGERAN OMA-LPPe-CellNonUniqueIDGERAN, + cellLocalIDGERAN OMA-LPPe-CellLocalIdGERAN OPTIONAL, + rxLevel INTEGER (0..63), + ... +} + + +OMA-LPPe-ECID-GSM-RequestLocationInformation ::= SEQUENCE { + requestedMeasurements BIT STRING { rxLevel (0), + tA (1), + nMR-GERAN (2), + non-serving (3), + historic (4) } (SIZE(1..8)), + ... +} + + +OMA-LPPe-ECID-GSM-ProvideCapabilities ::= SEQUENCE { + ecid-gsm-MeasSupported BIT STRING { rxLevel (0), + tA (1), + nMR-GERAN (2), + non-serving (3), + historic (4) } (SIZE(1..8)), + ecid-gsm-ADSupported BIT STRING { bslist (0), + bslocation (1), + transmit-power (2), + antenna-gain (3), + beam-width (4), + transmit-direction (5), + frequency-accuracy (6), + non-serving (7) } (SIZE(1..16)), + ... +} + + +OMA-LPPe-ECID-GSM-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-ECID-GSM-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-ECID-GSM-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-ECID-GSM-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-ECID-GSM-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + requestedADNotAvailable, + notAllrequestedADAvailable, + ... + }, + mandatoryDataUnavailable NULL OPTIONAL, + bsLocationsUnavailable NULL OPTIONAL, + cellTransmitPowerUnavailable NULL OPTIONAL, + callAntennaGainUnavailable NULL OPTIONAL, + cellBeamWidthUnavailable NULL OPTIONAL, + cellTransmitDirectionUnavailable NULL OPTIONAL, + cellFrequencyAccuracyUnavailable NULL OPTIONAL, + nonservingADUnavailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-ECID-GSM-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + rxLevelMeasurementNotPossible NULL OPTIONAL, + taMeasurementNotPossible NULL OPTIONAL, + nMRMeasurementNotPossible NULL OPTIONAL, + non-servingMeasurementsNotAvailable NULL OPTIONAL, + historicMeasurementsNotAvailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-ECID-UTRA-ProvideAssistanceData ::= SEQUENCE { + ecid-UTRA-NetworkData SEQUENCE (SIZE (1..maxUTRANetworks)) + OF OMA-LPPe-ECID-UTRA-NetworkData OPTIONAL, + ecid-UTRA-Error OMA-LPPe-ECID-UTRA-Error OPTIONAL, + ... +} + +maxUTRANetworks INTEGER ::= 8 + + +OMA-LPPe-ECID-UTRA-NetworkData ::= SEQUENCE { + plmn-Identity SEQUENCE { + mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9) + }, + multiple-PLMNs BOOLEAN, + reference-location OMA-LPPe-ReferencePoint OPTIONAL, --Cond nodeBlocations + ecid-utra-nodeB-list SEQUENCE (SIZE (1..maxUTRAnodeBs)) + OF OMA-LPPe-ECID-UTRA-NodeBData OPTIONAL, + ecid-utra-HNB-list SEQUENCE (SIZE (1..maxUTRAHNBs)) OF OMA-LPPe-ECID-UTRA-HNBData OPTIONAL, + ... +} + +maxUTRAnodeBs INTEGER ::= 32 + +maxUTRAHNBs INTEGER ::= 128 + + +OMA-LPPe-ECID-UTRA-NodeBData ::= SEQUENCE { + relative-location OMA-LPPe-RelativeLocation OPTIONAL, + ecid-utra-nodeB-CellData SEQUENCE (SIZE (1..maxUTRAMacroCells)) OF + OMA-LPPe-ECID-UTRA-CellData, + ... +} + +maxUTRAMacroCells INTEGER ::= 8 + + +OMA-LPPe-ECID-UTRA-HNBData ::= SEQUENCE { + relative-location OMA-LPPe-RelativeLocation OPTIONAL, + location-reliability INTEGER (1..100) OPTIONAL, + coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL, + ecid-utra-HNB-CellData OMA-LPPe-ECID-UTRA-CellData, + ... +} + + +OMA-LPPe-ECID-UTRA-CellData ::= SEQUENCE { + cellIdentity BIT STRING (SIZE (32)) OPTIONAL, --Cond AtLeastOne + modeSpecificInfo CHOICE { + fdd + SEQUENCE { + primaryCPICH-Scrambling-Code OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode, + primaryCPICH-Tx-Power INTEGER (-127..128) OPTIONAL, + uarfcn-dl ARFCN-ValueUTRA, + ... + }, + tdd + SEQUENCE { + cellParametersID OMA-LPPe-OTDOA-UTRA-CellParametersID, + primaryCCPCH-Tx-Power INTEGER (-127..128) OPTIONAL, + uarfcn-nt ARFCN-ValueUTRA, + ... + } + } OPTIONAL, --Cond AtLeastOne + antenna-gain INTEGER (-127..128) OPTIONAL, + beam-width INTEGER (1..360) OPTIONAL, + transmit-direction INTEGER (0..360) OPTIONAL, + frequency-accuracy INTEGER (0..100) OPTIONAL, + ... +} + + +OMA-LPPe-ECID-UTRA-RequestAssistanceData ::= SEQUENCE { + nBrequestedAD BIT STRING { bslist (0), + bslocation (1), + transmit-power (2), + antenna-gain (3), + beam-width (4), + transmit-direction (5), + frequency-accuracy (6), + non-serving (7) } (SIZE(1..16)) OPTIONAL, + hNBrequestedAD BIT STRING { bslist (0), + bslocation (1), + locationreliability (2), + transmit-power (3), + frequency-accuracy (4), + coveragearea (5), + non-serving (6) } (SIZE(1..16)) OPTIONAL, + ... +} + + +OMA-LPPe-ECID-UTRA-ProvideLocationInformation ::= SEQUENCE { + ecid-UTRA-CombinedLocationInformation SEQUENCE (SIZE (1..maxECIDUTRASize)) + OF OMA-LPPe-ECID-UTRA-LocationInformationList OPTIONAL, + ecid-Error OMA-LPPe-ECID-UTRA-Error OPTIONAL, + ... +} + +OMA-LPPe-ECID-UTRA-LocationInformationList ::= SEQUENCE { + ecid-utra-LocationInformation OMA-LPPe-ECID-UTRA-LocationInformation, + relativeTimeStamp INTEGER (0..65535) OPTIONAL, + servingFlag BOOLEAN, + ... +} + +maxECIDUTRASize INTEGER ::= 64 + + +OMA-LPPe-ECID-UTRA-LocationInformation ::= SEQUENCE { + cellGlobalIdUTRA CellGlobalIdEUTRA-AndUTRA, + frequencyInfo OMA-LPPe-UTRA-FrequencyInfo OPTIONAL, + primaryScramblingCode OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode OPTIONAL, --Cond FDD + measuredResultsList OMA-LPPe-ECID-UTRA-MeasuredResultsList OPTIONAL, + cellParametersId OMA-LPPe-OTDOA-UTRA-CellParametersID OPTIONAL, --Cond TDD + utratimingAdvance OMA-LPPe-ECID-UTRA-UTRATimingAdvance OPTIONAL, --Cond TDD + ... +} + +OMA-LPPe-ECID-UTRA-UTRATimingAdvance ::= SEQUENCE { + tA INTEGER (0..8191), + tAResolution OMA-LPPe-ECID-UTRA-TAResolution OPTIONAL, + chipRate OMA-LPPe-ECID-UTRA-ChipRate OPTIONAL, + ... +} + +OMA-LPPe-ECID-UTRA-TAResolution ::= ENUMERATED { + res1-0chip, + res0-5chip, + res0-125chip, + ... +} + +OMA-LPPe-ECID-UTRA-ChipRate ::= ENUMERATED { + tdd128, + tdd384, + tdd768, + ... +} + + +OMA-LPPe-UTRA-FrequencyInfo ::= SEQUENCE { + modeSpecificInfo OMA-LPPe-UTRA-ModeSpecificInfo, + ... +} + +OMA-LPPe-UTRA-ModeSpecificInfo ::= CHOICE { + fdd OMA-LPPe-UTRA-FrequencyInfoFDD, + tdd OMA-LPPe-UTRA-FrequencyInfoTDD, + ... +} + +OMA-LPPe-UTRA-FrequencyInfoFDD ::= SEQUENCE { + uarfcn-UL ARFCN-ValueUTRA OPTIONAL, + uarfcn-DL ARFCN-ValueUTRA, + ...} + +OMA-LPPe-UTRA-FrequencyInfoTDD ::= SEQUENCE { + uarfcn-Nt ARFCN-ValueUTRA, + ... +} + +OMA-LPPe-ECID-UTRA-MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF + OMA-LPPe-ECID-UTRA-MeasuredResults + +OMA-LPPe-ECID-UTRA-MeasuredResults ::= SEQUENCE { + frequencyInfo OMA-LPPe-UTRA-FrequencyInfo, + utra-CarrierRSSI OMA-LPPe-ECID-UTRA-CarrierRSSI OPTIONAL, + cellMeasuredResultsList OMA-LPPe-ECID-UTRA-CellMeasuredResultsList OPTIONAL, + ... +} + +OMA-LPPe-ECID-UTRA-CellMeasuredResultsList ::= SEQUENCE (SIZE (1..utra-maxCellMeas)) OF OMA-LPPe-ECID-UTRA-CellMeasuredResults + +OMA-LPPe-ECID-UTRA-CarrierRSSI ::= INTEGER(0..127) + +OMA-LPPe-ECID-UTRA-CellMeasuredResults ::= SEQUENCE { + cellIdentity BIT STRING (SIZE (32)) OPTIONAL, + modeSpecificInfo CHOICE + { + fdd + SEQUENCE { + primaryCPICH-Info OMA-LPPe-OTDOA-UTRA-PrimaryScramblingCode, + cpich-Ec-N0 OMA-LPPe-ECID-UTRA-CPICH-Ec-N0 OPTIONAL, + cpich-RSCP OMA-LPPe-ECID-UTRA-CPICH-RSCP OPTIONAL, + pathloss OMA-LPPe-ECID-UTRA-Pathloss OPTIONAL, + ... + }, + tdd + SEQUENCE { + cellParametersID OMA-LPPe-OTDOA-UTRA-CellParametersID, + primaryCCPCH-RSCP OMA-LPPe-ECID-UTRA-PrimaryCCPCH-RSCP OPTIONAL, + pathloss OMA-LPPe-ECID-UTRA-Pathloss OPTIONAL, + ... + } + }, + ... +} + +OMA-LPPe-ECID-UTRA-PrimaryCCPCH-RSCP ::= INTEGER(0..127) + +OMA-LPPe-ECID-UTRA-CPICH-Ec-N0 ::= INTEGER(0..63) + +OMA-LPPe-ECID-UTRA-CPICH-RSCP ::= INTEGER(0..127) + +OMA-LPPe-ECID-UTRA-Pathloss ::= INTEGER(46..173) + +maxFreq INTEGER ::= 8 + + +OMA-LPPe-ECID-UTRA-RequestLocationInformation ::= SEQUENCE { + requestedMeasurements BIT STRING { measuredResultsList (0), + tdd-timingAdvance (1), + mRL-utra-CarrierRSSI (2), + mRL-FDD-cpich-Ec-N0 (3), + mRL-FDD-cpich-RSCP (4), + mRL-FDD-pathloss (5), + mRL-TDD-primaryCCPCH-RSCP (6), + mRL-TDD-pathloss (7), + non-serving (8), + historic (9) } (SIZE(1..16)), + ... +} + + +OMA-LPPe-ECID-UTRA-ProvideCapabilities ::= SEQUENCE { + ecid-utra-MeasSupported BIT STRING { measuredResultsList (0), + tdd-timingAdvance (1), + mRL-utra-CarrierRSSI (2), + mRL-FDD-cpich-Ec-N0 (3), + mRL-FDD-cpich-RSCP (4), + mRL-FDD-pathloss (5), + mRL-TDD-primaryCCPCH-RSCP (6), + mRL-TDD-pathloss (7), + non-serving (8), + historic (9) } (SIZE(1..16)), + ecid-utra-nodeB-ADSupported BIT STRING { bslist (0), + bslocation (1), + transmit-power (2), + antenna-gain (3), + beam-width (4), + transmit-direction (5), + frequency-accuracy (6), + non-serving (7) } (SIZE(1..16)), + ecid-utra-HNB-ADSupported BIT STRING { bslist (0), + bslocation (1), + locationreliability (2), + transmit-power (3), + frequency-accuracy (4), + coveragearea (5), + non-serving (6) } (SIZE(1..16)), + ... +} + + +OMA-LPPe-ECID-UTRA-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-ECID-UTRA-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-ECID-UTRA-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-ECID-UTRA-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-ECID-UTRA-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + requestedADNotAvailable, + notAllrequestedADAvailable, + ... + }, + nodeBMandatoryDataUnavailable NULL OPTIONAL, + nodeBLocationUnavailable NULL OPTIONAL, + nodeBcellTransmitPowerUnavailable NULL OPTIONAL, + nodeBcallAntennaGainUnavailable NULL OPTIONAL, + nodeBcellBeamWidthUnavailable NULL OPTIONAL, + nodeBcellTransmitDirectionUnavailable NULL OPTIONAL, + nodeBcellFrequencyAccuracyUnavailable NULL OPTIONAL, + nodeBnonservingADUnavailable NULL OPTIONAL, + hNBMandatoryDataUnavailable NULL OPTIONAL, + hNBLocationUnavailable NULL OPTIONAL, + hNBLocationReliabilityUnavailable NULL OPTIONAL, + hNBcellTransmitPowerUnavailable NULL OPTIONAL, + hNBcellFrequencyAccuracyUnavailable NULL OPTIONAL, + hNBCoverageAreaUnavailable NULL OPTIONAL, + hNBnonservingADUnavailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-ECID-UTRA-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + mRLMeasurementsNotPossible NULL OPTIONAL, + tdd-timingAdvanceMeasurementNotPossible NULL OPTIONAL, + mRL-utra-CarrierRSSIMeasurementNotPossible NULL OPTIONAL, + mRL-FDD-cpich-Ec-N0MeasurementNotPossible NULL OPTIONAL, + mRL-FDD-cpich-RSCPMeasurementNotPossible NULL OPTIONAL, + mRL-FDD-pathlossMeasurementNotPossible NULL OPTIONAL, + mRL-TDD-primaryCCPCH-RSCPMeasurementNotPossible NULL OPTIONAL, + mRL-TDD-pathlossMeasurementNotPossible NULL OPTIONAL, + non-servingMeasurementsNotAvailable NULL OPTIONAL, + historicMeasurementsNotAvailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-WLAN-AP-ProvideAssistanceData ::= SEQUENCE { + wlan-DataSet SEQUENCE (SIZE (1..maxWLANDataSets)) OF OMA-LPPe-WLAN-DataSet OPTIONAL, + wlan-AP-Error OMA-LPPe-WLAN-AP-Error OPTIONAL, + ... +} + +maxWLANDataSets INTEGER ::= 8 + + +OMA-LPPe-WLAN-DataSet ::= SEQUENCE { + plmn-Identity SEQUENCE { + mcc SEQUENCE (SIZE (3)) OF INTEGER (0..9), + mnc SEQUENCE (SIZE (2..3)) OF INTEGER (0..9) + } OPTIONAL, + reference-point OMA-LPPe-ReferencePoint OPTIONAL, --Cond APlocations + supported-channels-11a Supported-Channels-11a OPTIONAL, + supported-channels-11bg Supported-Channels-11bg OPTIONAL, + wlan-ap-list SEQUENCE (SIZE (1..maxWLANAPs)) OF OMA-LPPe-WLAN-AP-Data, + ... +} + +maxWLANAPs INTEGER ::= 128 + +Supported-Channels-11a ::= SEQUENCE { + ch34 BOOLEAN, + ch36 BOOLEAN, + ch38 BOOLEAN, + ch40 BOOLEAN, + ch42 BOOLEAN, + ch44 BOOLEAN, + ch46 BOOLEAN, + ch48 BOOLEAN, + ch52 BOOLEAN, + ch56 BOOLEAN, + ch60 BOOLEAN, + ch64 BOOLEAN, + ch149 BOOLEAN, + ch153 BOOLEAN, + ch157 BOOLEAN, + ch161 BOOLEAN +} + +Supported-Channels-11bg ::= SEQUENCE { + ch1 BOOLEAN, + ch2 BOOLEAN, + ch3 BOOLEAN, + ch4 BOOLEAN, + ch5 BOOLEAN, + ch6 BOOLEAN, + ch7 BOOLEAN, + ch8 BOOLEAN, + ch9 BOOLEAN, + ch10 BOOLEAN, + ch11 BOOLEAN, + ch12 BOOLEAN, + ch13 BOOLEAN, + ch14 BOOLEAN +} + + +OMA-LPPe-WLAN-AP-Data ::= SEQUENCE { + wlan-ap-id OMA-LPPe-WLAN-AP-ID, + relative-location OMA-LPPe-RelativeLocation OPTIONAL, + location-reliability INTEGER (1..100) OPTIONAL, + wlan-ap-Type-Data SEQUENCE (SIZE (1..maxWLANTypes)) OF OMA-LPPe-WLAN-AP-Type-Data, + coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL, --Cond oneonly + ... +} + +maxWLANTypes INTEGER ::= 5 + + +OMA-LPPe-WLAN-AP-Type-Data ::= SEQUENCE { + wlan-AP-Type OMA-LPPe-WLAN-AP-Type, + transmit-power INTEGER (-127..128) OPTIONAL, + antenna-gain INTEGER (-127..128) OPTIONAL, + coverageArea OMA-LPPe-WLANFemtoCoverageArea OPTIONAL, --Cond oneonly + ... +} + + +OMA-LPPe-WLAN-AP-RequestAssistanceData ::= SEQUENCE { + requestedAD BIT STRING { aplist (0), + aplocation (1), + locationreliability (2), + transmit-power (3), + antenna-gain (4), + coveragearea (5), + non-serving (6) } (SIZE(1..16)), + requestedAPTypes OMA-LPPe-WLAN-AP-Type-List, + ... +} + + +OMA-LPPe-WLAN-AP-ProvideLocationInformation ::= SEQUENCE { + wlan-AP-CombinedLocationInformation SEQUENCE (SIZE (1..maxWLANAPSize)) OF + OMA-LPPe-WLAN-AP-LocationInformationList OPTIONAL, + wlan-AP-Error OMA-LPPe-WLAN-AP-Error OPTIONAL, + ... +} + +OMA-LPPe-WLAN-AP-LocationInformationList ::= SEQUENCE { + wlan-AP-LocationInformation OMA-LPPe-WLAN-AP-LocationInformation, + relativeTimeStamp INTEGER (0..65535) OPTIONAL, + servingFlag BOOLEAN, + ... +} + +maxWLANAPSize INTEGER ::= 64 + + + +OMA-LPPe-WLAN-AP-LocationInformation ::= SEQUENCE { + apMACAddress OMA-LPPe-WLAN-AP-ID, + apSSID OCTET STRING (SIZE (1..32)) OPTIONAL, + apSignaltoNoise INTEGER(-127..128) OPTIONAL, + apDeviceType OMA-LPPe-WLAN-AP-Type OPTIONAL, + apPHYtype OMA-LPPe-WLAN-AP-PHY-Type OPTIONAL, + apSignalStrength INTEGER(-127..128) OPTIONAL, + apChannelFrequency INTEGER(0..256) OPTIONAL, + apRoundTripDelay OMA-LPPe-WLAN-RTD OPTIONAL, + ueTransmitPower INTEGER(-127..128) OPTIONAL, + ueAntennaGain INTEGER (-127..128) OPTIONAL, + apReportedLocation OMA-LPPe-WLAN-ReportedLocation OPTIONAL, + ..., + apTransmitPower INTEGER (-127..128) OPTIONAL, + apAntennaGain INTEGER (-127..128) OPTIONAL, + ueSignaltoNoise INTEGER (-127..128) OPTIONAL, + ueSignalStrength INTEGER (-127..128) OPTIONAL, + apSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- Cond APSSDelta + ueSignalStrengthDelta INTEGER (0..1) OPTIONAL, -- Cond UESSDelta + apSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- Cond APSNDelta + ueSignaltoNoiseDelta INTEGER (0..1) OPTIONAL, -- Cond UESNDelta + operatingClass INTEGER (0..255) OPTIONAL, + ueMacAddress BIT STRING (SIZE (48)) OPTIONAL +} + +OMA-LPPe-WLAN-AP-PHY-Type ::= ENUMERATED { unknown, any, fhss, dsss, irbaseband, ofdm, hrdsss, erp, + ht, ihv, ... } + +OMA-LPPe-WLAN-RTD ::= SEQUENCE { + rTDValue INTEGER(0..16777215), + rTDUnits OMA-LPPe-WLAN-RTDUnits, + rTDAccuracy INTEGER(0..255) OPTIONAL, + ... +} + +OMA-LPPe-WLAN-RTDUnits ::= ENUMERATED { + microseconds, + hundredsofnanoseconds, + tensofnanoseconds, + nanoseconds, + tenthsofnanoseconds, + ... +} + +OMA-LPPe-WLAN-ReportedLocation ::= SEQUENCE { + + locationDataLCI OMA-LPPe-WLAN-LocationDataLCI OPTIONAL, + ... +} + + +OMA-LPPe-WLAN-LocationDataLCI ::= SEQUENCE { + latitudeResolution BIT STRING (SIZE (6)), + latitude BIT STRING (SIZE (34)), + longitudeResolution BIT STRING (SIZE (6)), + longitude BIT STRING (SIZE (34)), + altitudeType BIT STRING (SIZE (4)), + altitudeResolution BIT STRING (SIZE (6)), + altitude BIT STRING (SIZE (30)), + datum BIT STRING (SIZE (8)), + ... +} + + +OMA-LPPe-WLAN-AP-RequestLocationInformation ::= SEQUENCE { + requestedMeasurements BIT STRING { + apSSID (0), + apSN (1), + apDevType (2), + apPhyType (3), + apRSSI (4), + apChanFreq (5), + apRTD (6), + ueTP (7), + ueAG (8), + apRepLoc (9), + non-serving (10), + historic (11), + apTP (12), + apAG (13), + ueSN (14), + ueRSSI (15)} (SIZE(1..16)), + ... , + additionalRequestedMeasurements BIT STRING { + oc (0), + ueMacAddr (1)} (SIZE(1..16)) OPTIONAL +} + + +OMA-LPPe-WLAN-AP-ProvideCapabilities ::= SEQUENCE { + wlan-ecid-MeasSupported BIT STRING { + apSSID (0), + apSN (1), + apDevType (2), + apPhyType (3), + apRSSI (4), + apChanFreq (5), + apRTD (6), + ueTP (7), + ueAG (8), + apRepLoc (9), + non-serving (10), + historic (11), + apTP (12), + apAG (13), + ueSN (14), + ueRSSI (15)} (SIZE(1..16)), + wlan-types-Supported OMA-LPPe-WLAN-AP-Type-List OPTIONAL, + ap-Capability OMA-LPPe-WLAN-AP-Capability OPTIONAL, + wlan-ap-ADSupported BIT STRING {aplist (0), + aplocation (1), + locationreliability (2), + transmit-power (3), + antenna-gain (4), + coveragearea (5), + non-serving (6) } (SIZE(1..16)), + ..., + additional-wlan-ecid-MeasSupported BIT STRING { + oc (0), + ueMacAddr (1)} (SIZE(1..16)) OPTIONAL + +} + +OMA-LPPe-WLAN-AP-Capability ::= SEQUENCE { + apMACAddress OMA-LPPe-WLAN-AP-ID, + apTypes OMA-LPPe-WLAN-AP-Type-List, + ... +} + + +OMA-LPPe-WLAN-AP-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-WLAN-AP-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-WLAN-AP-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-WLAN-AP-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-WLAN-AP-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED {undefined, + requestedADNotAvailable, + notAllrequestedADAvailable, + ... + }, + apMandatoryDataUnavailable NULL OPTIONAL, + apLocationsUnavailable NULL OPTIONAL, + apLocationReliabilityUnavailable NULL OPTIONAL, + apTransmitPowerUnavailable NULL OPTIONAL, + apAntennaGainUnavailable NULL OPTIONAL, + apCoverageAreaUnavailable NULL OPTIONAL, + nonservingADUnavailable NULL OPTIONAL, + ..., + apTPNotAvailable NULL OPTIONAL, + apAGNotAvailable NULL OPTIONAL, + ueSNNotAvailable NULL OPTIONAL, + ueRSSINotAvailable NULL OPTIONAL, + ocNotAvailable NULL OPTIONAL +} + + +OMA-LPPe-WLAN-AP-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED {undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + apSSIDnotAvailable NULL OPTIONAL, + apSNMeasurementNotPossible NULL OPTIONAL, + apDevTypeNotAvailable NULL OPTIONAL, + apPhyTypeNotAvailable NULL OPTIONAL, + apRSSIMeasurementNotPossible NULL OPTIONAL, + apChanFreqNotAvailable NULL OPTIONAL, + apRTDMeasurementNotPossible NULL OPTIONAL, + ueTPNotAvailable NULL OPTIONAL, + ueAGNotAvailable NULL OPTIONAL, + apRecLocNotAvailable NULL OPTIONAL, + non-servingMeasurementsNotAvailable NULL OPTIONAL, + historicMeasurementsNotAvailable NULL OPTIONAL, + ..., + apTPNotAvailable NULL OPTIONAL, + apAGNotAvailable NULL OPTIONAL, + ueSNNotAvailable NULL OPTIONAL, + ueRSSINotAvailable NULL OPTIONAL, + ocNotAvailable NULL OPTIONAL, + ueMACAddressNotAvailable NULL OPTIONAL +} + + +OMA-LPPe-ECID-WiMax-ProvideLocationInformation ::= SEQUENCE { + ecid-wimax-CombinedLocationInformation SEQUENCE (SIZE (1..maxWiMaxECIDSize)) OF + OMA-LPPe-ECID-WiMax-LocationInformationList OPTIONAL, + ecid-wimax-Error OMA-LPPe-ECID-WiMax-Error OPTIONAL, + ... +} + +OMA-LPPe-ECID-WiMax-LocationInformationList ::= SEQUENCE { + ecid-wimax-LocationInformation OMA-LPPe-ECID-WiMax-LocationInformation, + relativeTimeStamp INTEGER (0..65535) OPTIONAL, + servingFlag BOOLEAN, + ... +} + +maxWiMaxECIDSize INTEGER ::= 1264 + + + +OMA-LPPe-ECID-WiMax-LocationInformation ::= SEQUENCE { + wimaxBsID OMA-LPPe-ECID-WiMax-WimaxBsID, + wimaxRTD OMA-LPPe-ECID-WiMax-WimaxRTD OPTIONAL, + wimaxNMRList OMA-LPPe-ECID-WiMax-WimaxNMRList OPTIONAL, + ... +} + +OMA-LPPe-ECID-WiMax-WimaxBsID ::= SEQUENCE { + bsID-MSB BIT STRING (SIZE(24)) OPTIONAL, + bsID-LSB BIT STRING (SIZE(24)), + ... +} + +OMA-LPPe-ECID-WiMax-WimaxRTD ::= SEQUENCE { + rTD INTEGER (0..65535), + rTDstd INTEGER (0..1023) OPTIONAL, + ... +} + +OMA-LPPe-ECID-WiMax-WimaxNMRList ::= SEQUENCE (SIZE (1..maxWimaxBSMeas)) OF OMA-LPPe-ECID-WiMax-WimaxNMR + +OMA-LPPe-ECID-WiMax-WimaxNMR ::= SEQUENCE { + wimaxBsID OMA-LPPe-ECID-WiMax-WimaxBsID, + relDelay INTEGER (-32768..32767) OPTIONAL, + relDelaystd INTEGER (0..1023) OPTIONAL, + rSSI INTEGER (0..255) OPTIONAL, + rSSIstd INTEGER (0..63) OPTIONAL, + bSTxPower INTEGER (0..255) OPTIONAL, + cINR INTEGER (0..255) OPTIONAL, + cINRstd INTEGER (0..63) OPTIONAL, + bSLocation OMA-LPPe-WLAN-ReportedLocation OPTIONAL, + ... +} + +maxWimaxBSMeas INTEGER ::= 32 + + +OMA-LPPe-ECID-WiMax-RequestLocationInformation ::= SEQUENCE { + requestedMeasurements BIT STRING { rTD (0), + rTDstd (1), + nMR (2), + nMRrelDelay (3), + nMRrelDelaystd (4), + nMRrSSI (5), + nMRrSSIstd (6), + nMRbSTxPower (7), + nMRcINR (8), + nMRcINRstd (9), + nMRbSLocation (10), + non-serving (11), + historic (12) } (SIZE(1..16)), + ... +} + + +OMA-LPPe-ECID-WiMax-ProvideCapabilities ::= SEQUENCE { + ecid-wimax-MeasSupported BIT STRING { rTD (0), + rTDstd (1), + nMR (2), + nMRrelDelay (3), + nMRrelDelaystd (4), + nMRrSSI (5), + nMRrSSIstd (6), + nMRbSTxPower (7), + nMRcINR (8), + nMRcINRstd (9), + nMRbSLocation (10), + non-serving (11), + historic (12) } (SIZE(1..16)), + ... +} + + +OMA-LPPe-ECID-WiMax-RequestCapabilities ::= SEQUENCE { + ... +} + + +OMA-LPPe-ECID-WiMax-Error ::= CHOICE { + locationServerErrorCauses OMA-LPPe-ECID-WiMax-LocationServerErrorCauses, + targetDeviceErrorCauses OMA-LPPe-ECID-WiMax-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-ECID-WiMax-LocationServerErrorCauses ::= SEQUENCE { + cause ENUMERATED {undefined, + ... + }, + ... +} + + +OMA-LPPe-ECID-WiMax-TargetDeviceErrorCauses ::= SEQUENCE { + cause ENUMERATED { undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + rTDMeasurementNotPossible NULL OPTIONAL, + rTDstdMeasurementNotPossible NULL OPTIONAL, + nMRMeasurementNotPossible NULL OPTIONAL, + nMRrelDelayMeasurementNotPossible NULL OPTIONAL, + nMRrelDelaystdMeasurementNotPossible NULL OPTIONAL, + nMRrSSIMeasurementNotPossible NULL OPTIONAL, + nMRrSSIstdMeasurementNotPossible NULL OPTIONAL, + nMRbSTxPowerMeasurementNotPossible NULL OPTIONAL, + nMRcINRMeasurementNotPossible NULL OPTIONAL, + nMRcINRstdMeasurementNotPossible NULL OPTIONAL, + nMRbSLocationNotAvailable NULL OPTIONAL, + non-servingMeasurementsNotAvailable NULL OPTIONAL, + historicMeasurementsNotAvailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-Sensor-ProvideAssistanceData ::= SEQUENCE { + ..., + atmosphericPressureAD OMA-LPPe-AtmosphericPressureAD OPTIONAL +} + + +OMA-LPPe-AtmosphericPressureAD ::= SEQUENCE { + referencePressure INTEGER (-20000..10000), + period SEQUENCE { + pressureValidityPeriod OMA-LPPe-ValidityPeriod, + referencePressureRate INTEGER (-128..127) OPTIONAL, + ... + } OPTIONAL, + area SEQUENCE { + pressureValidityArea OMA-LPPe-PressureValidityArea, + gN-pressure INTEGER (-128..127) OPTIONAL, + gE-pressure INTEGER (-128..127) OPTIONAL, + ... + } OPTIONAL, + ... +} + +OMA-LPPe-PressureValidityArea ::= SEQUENCE { + centerPoint Ellipsoid-Point, -- coordinates of the center of the rectangular validity area + validityAreaWidth INTEGER (1..128), -- units in Kilometers + validityAreaHeight INTEGER (1..128), -- units in Kilometers + ... +} + + + +OMA-LPPe-Sensor-RequestAssistanceData ::= SEQUENCE { + ..., + pressureSensorAD OMA-LPPe-PressureSensorAD OPTIONAL +} + + +OMA-LPPe-PressureSensorAD ::= SEQUENCE { + ... +} + + +OMA-LPPe-Sensor-ProvideLocationInformation ::= SEQUENCE { + motionStateList OMA-LPPe-Sensor-MotionStateList OPTIONAL, + sensorError OMA-LPPe-Sensor-Error OPTIONAL, + ..., + atmosphericPressure OMA-LPPe-AtmosphericPressure OPTIONAL +} + + + +OMA-LPPe-Sensor-MotionStateList ::= SEQUENCE (SIZE(1..8)) OF OMA-LPPe-Sensor-MotionStateElement + +OMA-LPPe-Sensor-MotionStateElement ::= SEQUENCE { + primaryMotionState ENUMERATED{ + unknown, + stationary, + pedestrian, + running, + cycling, + car, + train, + aeroplane, + boat, + fidgeting, + ... + }, + confidence INTEGER(0..99), + secondaryMotionState BIT STRING { + stationary (0), + pedestrian (1), + running (2), + cycling (3), + car (4), + train (5), + aeroplane (6), + boat (7), + fidgeting (8) } (SIZE(1..16)) OPTIONAL, + ... +} + + + +OMA-LPPe-AtmosphericPressure ::= SEQUENCE { + pressureMeasurement OMA-LPPe-PressureMeasurement, + pressureStats PressureStats OPTIONAL, + calibrationPoints CalibrationPoints OPTIONAL, + ...} + + +PressureStats ::= SEQUENCE { + sensorMeanPressure INTEGER (30000..115000), + sensorStddevPressure INTEGER (0..2000) OPTIONAL, + duration INTEGER (5..40), +...} + +CalibrationPoints ::= SEQUENCE (SIZE (1..10)) OF SEQUENCE { + pressure OMA-LPPe-PressureMeasurement, + time UTCTime, + location EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, + motionState OMA-LPPe-Sensor-MotionStateList OPTIONAL, + velocity Velocity OPTIONAL, + locationSource OMA-LPPe-LocationSource OPTIONAL, + ... +} + + + + +OMA-LPPe-PressureMeasurement ::= SEQUENCE { + sensorMeasurement INTEGER (30000..115000), + adjustment INTEGER (-5000..5000) OPTIONAL, + uncertainty SEQUENCE { + range INTEGER (0..1000), + confidence INTEGER (1..100) + } OPTIONAL, + temperature INTEGER (-100..150) OPTIONAL, + ... +} + + +OMA-LPPe-Sensor-RequestLocationInformation ::= SEQUENCE { + motionStateReq OMA-LPPe-Sensor-MotionStateRequest OPTIONAL, --Cond MotionSateReq + ..., + atmosphericPressureReq OMA-LPPe-AtmosphericPressureRequest OPTIONAL --Cond AtmosphericPressureReq +} + + +OMA-LPPe-Sensor-MotionStateRequest ::= SEQUENCE { + secondaryMotionStateRequest NULL OPTIONAL, + ... +} + + +OMA-LPPe-AtmosphericPressureRequest ::= SEQUENCE { + ... +} + + +OMA-LPPe-Sensor-ProvideCapabilities ::= SEQUENCE { + motionStateSupport NULL OPTIONAL, --Cond MotionStateSupport + secondarySupport NULL OPTIONAL, --Cond SecondarySupport + ..., + atmosphericPressureADSupport NULL OPTIONAL, --Cond AtmosphericPressureADSupport + atmosphericPressureSupport NULL OPTIONAL --Cond AtmosphericPressureSupport +} + + +OMA-LPPe-Sensor-RequestCapabilities ::= SEQUENCE { + ... +} + + + +OMA-LPPe-Sensor-Error ::= CHOICE { + targetError OMA-LPPe-Sensor-TargetError, + ... +} + +OMA-LPPe-Sensor-TargetError ::= SEQUENCE { + motionStateError ENUMERATED { primaryMotionStateNotAvailable, + primaryMotionStateNotSupported, + ... } OPTIONAL, + secondaryMotionStateError ENUMERATED { secondaryMotionStateNotAvailable, + secondaryMotionStateNotSupported, + ... } OPTIONAL, + ..., + atmosphericPressureError ENUMERATED {pressureNotAvailable, pressureNotSupported, + ...} OPTIONAL +} + + +OMA-LPPe-SRN-ProvideAssistanceData ::= SEQUENCE { + srnGroup CHOICE { + srnGroupList OMA-LPPe-SRN-SRNgroupList, + srnGroupUpdateResponse OMA-LPPe-SRN-SRNgroupUpdateResponse, + ... + } OPTIONAL, + antennaPattern OMA-LPPe-SRN-AntennaPattern OPTIONAL, --Cond AntennaPattReq + srnError OMA-LPPe-SRN-Error OPTIONAL, + ... +} + + +OMA-LPPe-SRN-SRNgroupList ::= SEQUENCE { + incompleteFlag BOOLEAN, + defaultReferencePoint OMA-LPPe-ReferencePoint OPTIONAL, --Cond IfNoRefPoint + groupList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-SRN-SRNgroup, + ... + } + +OMA-LPPe-SRN-SRNgroup ::= SEQUENCE { + srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL, + defaultSRNtype OMA-LPPe-SRN-SRNtype OPTIONAL, + referencePoint OMA-LPPe-ReferencePoint OPTIONAL, + globalOrientation NULL OPTIONAL, + srnsInGroupList SEQUENCE (SIZE (1..1024)) OF OMA-LPPe-SRN-SRNinfo, + ... +} + +OMA-LPPe-SRN-SRNinfo ::= SEQUENCE { + srnID OMA-LPPe-SRN-SRNid, + srnType OMA-LPPe-SRN-SRNtype OPTIONAL, --Cond NotDefaultType + relativePosition OMA-LPPe-RelativeLocation, + orientation OMA-LPPe-Orientation OPTIONAL, + ... +} + + +OMA-LPPe-SRN-SRNgroupUpdateResponse ::= SEQUENCE (SIZE (1..8)) OF + OMA-LPPe-SRN-SRNgroupUpdateResponseElement + +OMA-LPPe-SRN-SRNgroupUpdateResponseElement ::= SEQUENCE { + srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL, + targetDataValidity ENUMERATED{ targetDataValid, + targetDataInValidAndUpdatedDataWillBeProvided, + targetDataInValidButServerWillNotProvideNewData, + ...}, + updatedSRNgroup OMA-LPPe-SRN-SRNgroup OPTIONAL, --Cond InvalidAndNewDataAvailable + ... +} + + +OMA-LPPe-SRN-AntennaPattern ::= SEQUENCE (SIZE (1..8)) OF OMA-LPPe-SRN-AntennaPatternElement + +OMA-LPPe-SRN-AntennaPatternElement::= SEQUENCE { + identification SEQUENCE { + vendorOrOperator OMA-LPPe-VendorOrOperatorID, + antennaPatternID INTEGER(0..65535), ... + }, + antennaData CHOICE { + antennaPattern OMA-LPPe-SRN-AntennaPatternForChannels, + antennaContainer OCTET STRING, + ... + }, + ... +} + + + +OMA-LPPe-SRN-AntennaPatternForChannels ::= SEQUENCE { + evenGrid SEQUENCE { + inAzimuth INTEGER(1..200), + inElevation INTEGER(1..150) + } OPTIONAL, --Cond EvenGrid + patternList SEQUENCE (SIZE (1..maxChannels)) OF OMA-LPPe-SRN-ChannelResponse, + ... +} + +OMA-LPPe-SRN-ChannelResponse ::= SEQUENCE { + channelNumber INTEGER(1..maxChannels), + responseInElevation SEQUENCE (SIZE (7..901)) OF OMA-LPPe-SRN-ResponseInElevation, + ... +} + +OMA-LPPe-SRN-ResponseInElevation ::= SEQUENCE { + elevation INTEGER(0..900) OPTIONAL, --Cond NotEven + responseInAzimuth SEQUENCE (SIZE (18..3601)) OF OMA-LPPe-SRN-ResponseInAzimuth, + ... +} + +OMA-LPPe-SRN-ResponseInAzimuth::= SEQUENCE { + azimuth INTEGER(0..3599) OPTIONAL, --Cond NotEven + response OMA-LPPe-ComplexNumber, + ... + } + +OMA-LPPe-ComplexNumber ::= SEQUENCE { + amplitude INTEGER(0..1000), + phase INTEGER(-1800..1799) +} + +maxChannels INTEGER ::= 512 + + +OMA-LPPe-SRN-RequestAssistanceData ::= SEQUENCE { + srnGroup CHOICE { + srnGroupRequest OMA-LPPe-SRN-SRNgroupRequest, + srnGroupUpdateRequest OMA-LPPe-SRN-SRNgroupUpdateRequest, + ... + } OPTIONAL, + antennaPatternRequest OMA-LPPe-SRN-AntennaPatternRequest OPTIONAL, + ... +} + + +OMA-LPPe-SRN-SRNgroupRequest ::= SEQUENCE { + doNotProvideList OMA-LPPe-SRN-SRNProvideList OPTIONAL, + doProvideList OMA-LPPe-SRN-SRNProvideList OPTIONAL, + ... +} + +OMA-LPPe-SRN-SRNProvideList ::= SEQUENCE { + groupList SEQUENCE (SIZE (1..256)) OF OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL, + categoryList SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-Category OPTIONAL, + ... +} + + +OMA-LPPe-SRN-SRNgroupUpdateRequest ::= SEQUENCE (SIZE (1..64)) OF + OMA-LPPe-SRN-SRNgroupUpdateRequestElement + +OMA-LPPe-SRN-SRNgroupUpdateRequestElement ::= SEQUENCE { + srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID, + provideIndicationOnly NULL OPTIONAL, + inTheGroup SEQUENCE (SIZE (1..1024)) OF OMA-LPPe-SRN-SRNid OPTIONAL, + ... +} + + +OMA-LPPe-SRN-AntennaPatternRequest ::= SEQUENCE (SIZE (1..8)) OF + OMA-LPPe-SRN-AntennaPatternRequestElement + +OMA-LPPe-SRN-AntennaPatternRequestElement ::= SEQUENCE { + antennaPatternID SEQUENCE { + vendorOrOperator OMA-LPPe-VendorOrOperatorID, + antennaPatternID INTEGER(0..65535), ... + }, + ... +} + + +OMA-LPPe-SRN-ProvideLocationInformation ::= SEQUENCE { + srnMeasurementList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-SRN-MeasurementElement OPTIONAL, + srnError OMA-LPPe-SRN-Error OPTIONAL, + ... +} + + +OMA-LPPe-SRN-MeasurementElement ::= SEQUENCE { + srnID OMA-LPPe-SRN-SRNid, + srnCategory OMA-LPPe-SRN-Category OPTIONAL, --Cond IfKnown + srnGroupID OMA-LPPe-SRN-SRNgroupUniqueID OPTIONAL, --Cond IfKnown + measurementList SEQUENCE (SIZE (1..64)) OF OMA-LPPe-SRN-srnMeasurementElement OPTIONAL, + ... +} + +OMA-LPPe-SRN-srnMeasurementElement ::= SEQUENCE { + relativeTimeStamp INTEGER(0..1000) OPTIONAL, --Cond IfNotFirst + rssi INTEGER(-128..127) OPTIONAL, + rtd OMA-LPPe-WLAN-RTD OPTIONAL, + ... +} + + +OMA-LPPe-SRN-RequestLocationInformation ::= SEQUENCE { + requestInfo SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-ReqLocInfo-Category, + ... +} + +OMA-LPPe-SRN-ReqLocInfo-Category ::= SEQUENCE { + category OMA-LPPe-SRN-Category, + multipleMeasurements ENUMERATED{ forbidden(0), + allowed(1), + requested(2), ... } OPTIONAL, + allowedMeasurements OMA-LPPe-SRN-MeasurementMask OPTIONAL, + historicMeasurementsRequested NULL OPTIONAL, + ... +} + + +OMA-LPPe-SRN-ProvideCapabilities ::= SEQUENCE { + capabilitiesPerSRNCategory SEQUENCE (SIZE (1..16)) OF + OMA-LPPe-SRN-ProvideCapabilitiesElement OPTIONAL, + ... +} + +OMA-LPPe-SRN-ProvideCapabilitiesElement::= SEQUENCE { + srnCategory OMA-LPPe-SRN-Category, + supportedMeasurements OMA-LPPe-SRN-MeasurementMask OPTIONAL, + supportedAssistanceData BIT STRING { + srnGroup (0), + antennaPattern (1) } (SIZE(1..16)), + historicMeasurementsSupported NULL OPTIONAL, + ... +} + + +OMA-LPPe-SRN-RequestCapabilities ::= SEQUENCE { + capabilitiesRequestedFor SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-Category OPTIONAL, + ... +} + + +OMA-LPPe-SRN-Error ::= CHOICE { + srnLocationServerErrorCauses OMA-LPPe-SRN-LocationServerErrorCauses, + srnTargetDeviceErrorCauses OMA-LPPe-SRN-TargetDeviceErrorCauses, + ... +} + + +OMA-LPPe-SRN-LocationServerErrorCauses ::= SEQUENCE { + groupErrors ENUMERATED{ undefined, + someGroupOrCategoryOrSRNidUnknownOrUnsupported, + allGroupAndCategoryOrSRNidUnknownOrUnsupported, + noSRNgroupsNearby, + ...} OPTIONAL, + groupUpdateErrors ENUMERATED { undefined, + allSRNgroupIDsUnknown, + allSRNgroupIDsknownButSomeSRNgroupVersionsUnknown, + allSRNgroupIDsknownAndAllSRNgroupVersionsUnknown, + someSRNgroupIDsUnknown, + someSRNgroupVersionsUnknownAndAllSRNGroupVersionsUnknown, + someSRNgroupIDsAndSomeSRNgroupVersionsUnknown, + inTheGroupInformationDoesNotMatchWithGroupID, + ...} OPTIONAL, + srnAntennaErrors ENUMERATED { undefined, + someAntennaPatternIDsUnknown, + allAntennaPatternIDsUnknown, + ... } OPTIONAL, + ... +} + + +OMA-LPPe-SRN-TargetDeviceErrorCauses ::= SEQUENCE { + srnErrorsPerCategory SEQUENCE (SIZE (1..16)) OF OMA-LPPe-SRN-TargetDeviceError, + ... +} + +OMA-LPPe-SRN-TargetDeviceError ::= SEQUENCE { + category OMA-LPPe-SRN-Category, + srnErrors ENUMERATED{ undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + categoryNotSupported, + ...}, + rssiNotAvailable NULL OPTIONAL, + rtdNotAvailable NULL OPTIONAL, + multipleSetsNotAvailable NULL OPTIONAL, + historicMeasurementsNotAvailable NULL OPTIONAL, + ... +} + + +OMA-LPPe-SRN-SRNgroupUniqueID ::= SEQUENCE { + providerID OMA-LPPe-VendorOrOperatorID, + providerAssignedID OCTET STRING, + srnDataVersion INTEGER (0..4294967295) OPTIONAL, + ... +} + + +OMA-LPPe-SRN-SRNtype ::= SEQUENCE { + srnCategory OMA-LPPe-SRN-Category, + srnERP INTEGER(-300..500) OPTIONAL, + srnAntennaInfo SEQUENCE { + antennaPatternID INTEGER(0..65535), + switchingPatternID INTEGER(0..65535) OPTIONAL, + ... + } OPTIONAL, + ... +} + + +OMA-LPPe-SRN-Category ::= SEQUENCE { + srnTechnologyType OMA-LPPe-SRN-Technologies, + srnVendorInformation SEQUENCE { + vendor OMA-LPPe-VendorOrOperatorID, + vendorInfo OCTET STRING OPTIONAL, + ... + } OPTIONAL, --Cond other + ... +} + + +OMA-LPPe-SRN-SRNid ::= SEQUENCE { + srn-id CHOICE { + mac BIT STRING(SIZE(48)), + nfc SEQUENCE { + manufacturer BIT STRING(SIZE(8)), + uniqueNumber BIT STRING(SIZE(48)), + ... + }, + mobileCode SEQUENCE { + registryID BIT STRING(SIZE(12)), + remainingPart OCTET STRING(SIZE(1..16)), + resolutionIdentifier OCTET STRING(SIZE(1..18)), + ... + }, + other OCTET STRING, + ... + }, + ... +} + + +OMA-LPPe-SRN-Technologies ::= SEQUENCE { + srnTechnologies ENUMERATED{ bt, btle, nfc, mobileCode, other, ... }, + ... +} + + +OMA-LPPe-SRN-MeasurementMask ::= SEQUENCE { + srnMeasurements BIT STRING { rssi(0), + rtd (1) } (SIZE(1..16)), + ... +} + + +END diff --git a/epan/dissectors/asn1/lppe/lppe.cnf b/epan/dissectors/asn1/lppe/lppe.cnf new file mode 100644 index 00000000..c6a6e790 --- /dev/null +++ b/epan/dissectors/asn1/lppe/lppe.cnf @@ -0,0 +1,49 @@ +# lppe.cnf +# llpe conformation file +# Copyright 2012-2018 Pascal Quantin + +#.OPT +PER +UNALIGNED +#.END + +#.IMPORT ../lpp/lpp-exp.cnf + +#.PDU +OMA-LPPe-MessageExtension +#.END + +#.OMIT_ASSIGNMENT + +#.FIELD_RENAME +OMA-LPPe-MapDataReferenceElement/mapDataUrl mapDataUrl_choice +OMA-LPPe-WLAN-LocationDataLCI/latitude oma-LPPe-WLAN-LocationDataLCI_latitude +OMA-LPPe-WLAN-LocationDataLCI/longitude oma-LPPe-WLAN-LocationDataLCI_longitude +OMA-LPPe-WLAN-LocationDataLCI/altitude oma-LPPe-WLAN-LocationDataLCI_altitude + +#.FIELD_ATTR +OMA-LPPe-MapDataReferenceElement/mapDataUrl ABBREV=mapDataUrl_choice +OMA-LPPe-WLAN-LocationDataLCI/latitude ABBREV=oMA-LPPe-WLAN-LocationDataLCI.latitude +OMA-LPPe-WLAN-LocationDataLCI/longitude ABBREV=oMA-LPPe-WLAN-LocationDataLCI.longitude +OMA-LPPe-WLAN-LocationDataLCI/altitude ABBREV=oMA-LPPe-WLAN-LocationDataLCI.altitude + +#.FN_HDR OMA-LPPe-MessageExtension + + proto_tree_add_item(tree, proto_lppe, tvb, 0, -1, ENC_NA); + + col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "LPPe"); + +#.FN_BODY OMA-LPPe-Uri + offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:/?#[]@!$&'()*+,;=-._~%%", 85, + NULL); + +#.FN_BODY OMA-LPPe-CivicLocation-pidf-lo/civicLocation VAL_PTR = &xml_tvb + tvbuff_t *xml_tvb = NULL; +%(DEFAULT_BODY)s + if (xml_tvb && xml_handle) { + proto_tree *xml_tree = proto_item_add_subtree(actx->created_item, ett_lppe_civicLocation); + call_dissector(xml_handle, xml_tvb, actx->pinfo, xml_tree); + } +#.END + diff --git a/epan/dissectors/asn1/lppe/packet-lppe-template.c b/epan/dissectors/asn1/lppe/packet-lppe-template.c new file mode 100644 index 00000000..8d8c488d --- /dev/null +++ b/epan/dissectors/asn1/lppe/packet-lppe-template.c @@ -0,0 +1,90 @@ +/* packet-lppe.c + * Routines for LPP Extensions (LLPe) packet dissection + * Copyright 2012-2021, Pascal Quantin <pascal@wireshark.org> + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * Ref Open Mobile Alliance OMA-TS-LPPe-V1_0-20200630-D + * https://gitlab.com/wireshark/wireshark/uploads/e1059f6dc0fc9e3b875b37a9732df39a/OMA-TS-LPPe-V1_0-20200630-D.doc + */ + +#include "config.h" + +#include <epan/packet.h> +#include <epan/asn1.h> + +#include "packet-per.h" +#include "packet-lpp.h" + +#define PNAME "LTE Positioning Protocol Extensions (LLPe)" +#define PSNAME "LPPe" +#define PFNAME "lppe" + +#ifdef _MSC_VER +/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ +#pragma warning(disable:4146) +#endif + +void proto_register_lppe(void); +void proto_reg_handoff_lppe(void); + +/* Initialize the protocol and registered fields */ +static int proto_lppe = -1; + +static dissector_handle_t xml_handle; + +#include "packet-lppe-hf.c" + +/* Initialize the subtree pointers */ +static gint ett_lppe = -1; +static gint ett_lppe_civicLocation = -1; +#include "packet-lppe-ett.c" + +/* Include constants */ +#include "packet-lppe-val.h" + + +#include "packet-lppe-fn.c" + + +/*--- proto_register_lpp -------------------------------------------*/ +void proto_register_lppe(void) { + + /* List of fields */ + static hf_register_info hf[] = { + +#include "packet-lppe-hfarr.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_lppe, + &ett_lppe_civicLocation, +#include "packet-lppe-ettarr.c" + }; + + + /* Register protocol */ + proto_lppe = proto_register_protocol(PNAME, PSNAME, PFNAME); + register_dissector("lppe", dissect_OMA_LPPe_MessageExtension_PDU, proto_lppe); + + /* Register fields and subtrees */ + proto_register_field_array(proto_lppe, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + + +} + + +/*--- proto_reg_handoff_lpp ---------------------------------------*/ +void +proto_reg_handoff_lppe(void) +{ + xml_handle = find_dissector_add_dependency("xml", proto_lppe); +} + + |