aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-lpp.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2017-07-17 23:26:40 +0200
committerAnders Broman <a.broman58@gmail.com>2017-07-18 04:38:05 +0000
commitaec147efa1f27518f6927ca5078e0547dd1a234d (patch)
tree11bb888555e5212879f209f7e8b1a2d9df2e6964 /epan/dissectors/packet-lpp.c
parent6d025eff1b41cb99a60b50c36de15803f6e8076f (diff)
LPP: upgrade dissector to v14.2.0
Change-Id: I445c5ef34c1a688310042634eb38bed9b17cadaf Reviewed-on: https://code.wireshark.org/review/22679 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-lpp.c')
-rw-r--r--epan/dissectors/packet-lpp.c4577
1 files changed, 4227 insertions, 350 deletions
diff --git a/epan/dissectors/packet-lpp.c b/epan/dissectors/packet-lpp.c
index e9c182d52d..74620a9d29 100644
--- a/epan/dissectors/packet-lpp.c
+++ b/epan/dissectors/packet-lpp.c
@@ -8,7 +8,7 @@
#line 1 "./asn1/lpp/packet-lpp-template.c"
/* packet-lpp.c
* Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection
- * Copyright 2011-2016 Pascal Quantin <pascal.quantin@gmail.com>
+ * Copyright 2011-2017 Pascal Quantin <pascal.quantin@gmail.com>
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
@@ -28,7 +28,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * Ref 3GPP TS 36.355 version 13.2.0 Release 13
+ * Ref 3GPP TS 36.355 version 14.2.0 Release 14
* http://www.3gpp.org
*/
@@ -126,6 +126,9 @@ static int hf_lpp_commonIEsRequestAssistanceData = -1; /* CommonIEsRequestAssis
static int hf_lpp_a_gnss_RequestAssistanceData = -1; /* A_GNSS_RequestAssistanceData */
static int hf_lpp_otdoa_RequestAssistanceData = -1; /* OTDOA_RequestAssistanceData */
static int hf_lpp_epdu_RequestAssistanceData = -1; /* EPDU_Sequence */
+static int hf_lpp_sensor_RequestAssistanceData_r14 = -1; /* Sensor_RequestAssistanceData_r14 */
+static int hf_lpp_tbs_RequestAssistanceData_r14 = -1; /* TBS_RequestAssistanceData_r14 */
+static int hf_lpp_wlan_RequestAssistanceData_r14 = -1; /* WLAN_RequestAssistanceData_r14 */
static int hf_lpp_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
static int hf_lpp_c1_04 = -1; /* T_c1_04 */
static int hf_lpp_provideAssistanceData_r9 = -1; /* ProvideAssistanceData_r9_IEs */
@@ -134,6 +137,9 @@ static int hf_lpp_commonIEsProvideAssistanceData = -1; /* CommonIEsProvideAssis
static int hf_lpp_a_gnss_ProvideAssistanceData = -1; /* A_GNSS_ProvideAssistanceData */
static int hf_lpp_otdoa_ProvideAssistanceData = -1; /* OTDOA_ProvideAssistanceData */
static int hf_lpp_epdu_Provide_Assistance_Data = -1; /* EPDU_Sequence */
+static int hf_lpp_sensor_ProvideAssistanceData_r14 = -1; /* Sensor_ProvideAssistanceData_r14 */
+static int hf_lpp_tbs_ProvideAssistanceData_r14 = -1; /* TBS_ProvideAssistanceData_r14 */
+static int hf_lpp_wlan_ProvideAssistanceData_r14 = -1; /* WLAN_ProvideAssistanceData_r14 */
static int hf_lpp_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */
static int hf_lpp_c1_05 = -1; /* T_c1_05 */
static int hf_lpp_requestLocationInformation_r9 = -1; /* RequestLocationInformation_r9_IEs */
@@ -171,6 +177,8 @@ static int hf_lpp_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFutu
static int hf_lpp_commonIEsError = -1; /* CommonIEsError */
static int hf_lpp_epdu_Error = -1; /* EPDU_Sequence */
static int hf_lpp_accessTypes = -1; /* T_accessTypes */
+static int hf_lpp_carrierFreq_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
+static int hf_lpp_carrierFreqOffset_r14 = -1; /* CarrierFreqOffsetNB_r14 */
static int hf_lpp_plmn_Identity = -1; /* T_plmn_Identity */
static int hf_lpp_mcc = -1; /* T_mcc */
static int hf_lpp_mcc_item = -1; /* INTEGER_0_9 */
@@ -244,6 +252,7 @@ static int hf_lpp_qos = -1; /* QoS */
static int hf_lpp_environment = -1; /* Environment */
static int hf_lpp_locationCoordinateTypes = -1; /* LocationCoordinateTypes */
static int hf_lpp_velocityTypes = -1; /* VelocityTypes */
+static int hf_lpp_messageSizeLimitNB_r14 = -1; /* MessageSizeLimitNB_r14 */
static int hf_lpp_reportingAmount = -1; /* T_reportingAmount */
static int hf_lpp_reportingInterval = -1; /* T_reportingInterval */
static int hf_lpp_cellChange = -1; /* BOOLEAN */
@@ -253,9 +262,13 @@ static int hf_lpp_verticalCoordinateRequest = -1; /* BOOLEAN */
static int hf_lpp_verticalAccuracy = -1; /* VerticalAccuracy */
static int hf_lpp_responseTime = -1; /* ResponseTime */
static int hf_lpp_velocityRequest = -1; /* BOOLEAN */
+static int hf_lpp_responseTimeNB_r14 = -1; /* ResponseTimeNB_r14 */
static int hf_lpp_accuracy = -1; /* INTEGER_0_127 */
static int hf_lpp_time = -1; /* INTEGER_1_128 */
static int hf_lpp_responseTimeEarlyFix_r12 = -1; /* INTEGER_1_128 */
+static int hf_lpp_timeNB_r14 = -1; /* INTEGER_1_512 */
+static int hf_lpp_responseTimeEarlyFixNB_r14 = -1; /* INTEGER_1_512 */
+static int hf_lpp_measurementLimit_r14 = -1; /* INTEGER_1_512 */
static int hf_lpp_locationEstimate = -1; /* LocationCoordinates */
static int hf_lpp_velocityEstimate = -1; /* Velocity */
static int hf_lpp_locationError = -1; /* LocationError */
@@ -279,6 +292,8 @@ static int hf_lpp_errorCause = -1; /* T_errorCause */
static int hf_lpp_otdoa_ReferenceCellInfo = -1; /* OTDOA_ReferenceCellInfo */
static int hf_lpp_otdoa_NeighbourCellInfo = -1; /* OTDOA_NeighbourCellInfoList */
static int hf_lpp_otdoa_Error = -1; /* OTDOA_Error */
+static int hf_lpp_otdoa_ReferenceCellInfoNB_r14 = -1; /* OTDOA_ReferenceCellInfoNB_r14 */
+static int hf_lpp_otdoa_NeighbourCellInfoNB_r14 = -1; /* OTDOA_NeighbourCellInfoListNB_r14 */
static int hf_lpp_physCellId = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalId = -1; /* ECGI */
static int hf_lpp_earfcnRef = -1; /* ARFCN_ValueEUTRA */
@@ -286,6 +301,12 @@ static int hf_lpp_antennaPortConfig = -1; /* T_antennaPortConfig */
static int hf_lpp_cpLength = -1; /* T_cpLength */
static int hf_lpp_prsInfo = -1; /* PRS_Info */
static int hf_lpp_earfcnRef_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
+static int hf_lpp_tpId_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_cpLengthCRS_r14 = -1; /* T_cpLengthCRS_r14 */
+static int hf_lpp_sameMBSFNconfigRef_r14 = -1; /* BOOLEAN */
+static int hf_lpp_dlBandwidth_r14 = -1; /* T_dlBandwidth_r14 */
+static int hf_lpp_addPRSconfigRef_r14 = -1; /* SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info */
+static int hf_lpp_addPRSconfigRef_r14_item = -1; /* PRS_Info */
static int hf_lpp_prs_Bandwidth = -1; /* T_prs_Bandwidth */
static int hf_lpp_prs_ConfigurationIndex = -1; /* INTEGER_0_4095 */
static int hf_lpp_numDL_Frames = -1; /* T_numDL_Frames */
@@ -294,6 +315,19 @@ static int hf_lpp_po2_r9 = -1; /* BIT_STRING_SIZE_2 */
static int hf_lpp_po4_r9 = -1; /* BIT_STRING_SIZE_4 */
static int hf_lpp_po8_r9 = -1; /* BIT_STRING_SIZE_8 */
static int hf_lpp_po16_r9 = -1; /* BIT_STRING_SIZE_16 */
+static int hf_lpp_po32_v1420 = -1; /* BIT_STRING_SIZE_32 */
+static int hf_lpp_po64_v1420 = -1; /* BIT_STRING_SIZE_64 */
+static int hf_lpp_po128_v1420 = -1; /* BIT_STRING_SIZE_128 */
+static int hf_lpp_po256_v1420 = -1; /* BIT_STRING_SIZE_256 */
+static int hf_lpp_po512_v1420 = -1; /* BIT_STRING_SIZE_512 */
+static int hf_lpp_po1024_v1420 = -1; /* BIT_STRING_SIZE_1024 */
+static int hf_lpp_prsID_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_add_numDL_Frames_r14 = -1; /* INTEGER_1_160 */
+static int hf_lpp_prsOccGroupLen_r14 = -1; /* T_prsOccGroupLen_r14 */
+static int hf_lpp_prsHoppingInfo_r14 = -1; /* T_prsHoppingInfo_r14 */
+static int hf_lpp_nb2_r14 = -1; /* INTEGER_0_maxAvailNarrowBands_Minus1_r14 */
+static int hf_lpp_nb4_r14 = -1; /* T_nb4_r14 */
+static int hf_lpp_nb4_r14_item = -1; /* INTEGER_1_maxAvailNarrowBands_Minus1_r14 */
static int hf_lpp_OTDOA_NeighbourCellInfoList_item = -1; /* OTDOA_NeighbourFreqInfo */
static int hf_lpp_OTDOA_NeighbourFreqInfo_item = -1; /* OTDOA_NeighbourCellInfoElement */
static int hf_lpp_earfcn = -1; /* ARFCN_ValueEUTRA */
@@ -304,12 +338,63 @@ static int hf_lpp_prs_SubframeOffset = -1; /* INTEGER_0_1279 */
static int hf_lpp_expectedRSTD = -1; /* INTEGER_0_16383 */
static int hf_lpp_expectedRSTD_Uncertainty = -1; /* INTEGER_0_1023 */
static int hf_lpp_earfcn_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
+static int hf_lpp_prs_only_tp_r14 = -1; /* T_prs_only_tp_r14 */
+static int hf_lpp_cpLengthCRS_r14_01 = -1; /* T_cpLengthCRS_r14_01 */
+static int hf_lpp_sameMBSFNconfigNeighbour_r14 = -1; /* BOOLEAN */
+static int hf_lpp_dlBandwidth_r14_01 = -1; /* T_dlBandwidth_r14_01 */
+static int hf_lpp_addPRSconfigNeighbour_r14 = -1; /* SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14 */
+static int hf_lpp_addPRSconfigNeighbour_r14_item = -1; /* Add_PRSconfigNeighbourElement_r14 */
+static int hf_lpp_add_prsInfo_r14 = -1; /* PRS_Info */
+static int hf_lpp_physCellIdNB_r14 = -1; /* INTEGER_0_503 */
+static int hf_lpp_cellGlobalIdNB_r14 = -1; /* ECGI */
+static int hf_lpp_carrierFreqRef_r14 = -1; /* CarrierFreq_NB_r14 */
+static int hf_lpp_earfcn_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
+static int hf_lpp_eutra_NumCRS_Ports_r14 = -1; /* T_eutra_NumCRS_Ports_r14 */
+static int hf_lpp_otdoa_SIB1_NB_repetitions_r14 = -1; /* T_otdoa_SIB1_NB_repetitions_r14 */
+static int hf_lpp_nprsInfo_r14 = -1; /* PRS_Info_NB_r14 */
+static int hf_lpp_PRS_Info_NB_r14_item = -1; /* NPRS_Info_r14 */
+static int hf_lpp_operationModeInfoNPRS_r14 = -1; /* T_operationModeInfoNPRS_r14 */
+static int hf_lpp_nprs_carrier_r14 = -1; /* CarrierFreq_NB_r14 */
+static int hf_lpp_nprsSequenceInfo_r14 = -1; /* INTEGER_0_174 */
+static int hf_lpp_nprsID_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_partA_r14 = -1; /* T_partA_r14 */
+static int hf_lpp_nprsBitmap_r14 = -1; /* T_nprsBitmap_r14 */
+static int hf_lpp_subframePattern10_r14 = -1; /* BIT_STRING_SIZE_10 */
+static int hf_lpp_subframePattern40_r14 = -1; /* BIT_STRING_SIZE_40 */
+static int hf_lpp_nprs_MutingInfoA_r14 = -1; /* T_nprs_MutingInfoA_r14 */
+static int hf_lpp_po2_r14 = -1; /* BIT_STRING_SIZE_2 */
+static int hf_lpp_po4_r14 = -1; /* BIT_STRING_SIZE_4 */
+static int hf_lpp_po8_r14 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_lpp_po16_r14 = -1; /* BIT_STRING_SIZE_16 */
+static int hf_lpp_partB_r14 = -1; /* T_partB_r14 */
+static int hf_lpp_nprs_Period_r14 = -1; /* T_nprs_Period_r14 */
+static int hf_lpp_nprs_startSF_r14 = -1; /* T_nprs_startSF_r14 */
+static int hf_lpp_nprs_NumSF_r14 = -1; /* T_nprs_NumSF_r14 */
+static int hf_lpp_nprs_MutingInfoB_r14 = -1; /* T_nprs_MutingInfoB_r14 */
+static int hf_lpp_OTDOA_NeighbourCellInfoListNB_r14_item = -1; /* OTDOA_NeighbourCellInfoNB_r14 */
+static int hf_lpp_carrierFreq_r14_01 = -1; /* CarrierFreq_NB_r14 */
+static int hf_lpp_eutra_NumCRS_Ports_r14_01 = -1; /* T_eutra_NumCRS_Ports_r14_01 */
+static int hf_lpp_otdoa_SIB1_NB_repetitions_r14_01 = -1; /* T_otdoa_SIB1_NB_repetitions_r14_01 */
+static int hf_lpp_nprs_slotNumberOffset_r14 = -1; /* INTEGER_0_19 */
+static int hf_lpp_nprs_SFN_Offset_r14 = -1; /* INTEGER_0_63 */
+static int hf_lpp_nprs_SubframeOffset_r14 = -1; /* INTEGER_0_1279 */
+static int hf_lpp_expectedRSTD_r14 = -1; /* INTEGER_0_16383 */
+static int hf_lpp_expectedRSTD_Uncertainty_r14 = -1; /* INTEGER_0_1023 */
+static int hf_lpp_prsNeighbourCellIndex_r14 = -1; /* INTEGER_1_72 */
+static int hf_lpp_adType_r14 = -1; /* T_adType_r14 */
static int hf_lpp_otdoaSignalMeasurementInformation = -1; /* OTDOA_SignalMeasurementInformation */
+static int hf_lpp_otdoaSignalMeasurementInformation_NB_r14 = -1; /* OTDOA_SignalMeasurementInformation_NB_r14 */
static int hf_lpp_systemFrameNumber = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_physCellIdRef = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalIdRef = -1; /* ECGI */
static int hf_lpp_referenceQuality = -1; /* OTDOA_MeasQuality */
static int hf_lpp_neighbourMeasurementList = -1; /* NeighbourMeasurementList */
+static int hf_lpp_tpIdRef_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_prsIdRef_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_additionalPathsRef_r14 = -1; /* AdditionalPathList_r14 */
+static int hf_lpp_nprsIdRef_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_carrierFreqOffsetNB_Ref_r14 = -1; /* CarrierFreqOffsetNB_r14 */
+static int hf_lpp_hyperSFN_r14 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_NeighbourMeasurementList_item = -1; /* NeighbourMeasurementElement */
static int hf_lpp_physCellIdNeighbour = -1; /* INTEGER_0_503 */
static int hf_lpp_cellGlobalIdNeighbour = -1; /* ECGI */
@@ -317,10 +402,33 @@ static int hf_lpp_earfcnNeighbour = -1; /* ARFCN_ValueEUTRA */
static int hf_lpp_rstd = -1; /* INTEGER_0_12711 */
static int hf_lpp_rstd_Quality = -1; /* OTDOA_MeasQuality */
static int hf_lpp_earfcnNeighbour_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
+static int hf_lpp_tpIdNeighbour_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_prsIdNeighbour_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_delta_rstd_r14 = -1; /* INTEGER_0_5 */
+static int hf_lpp_additionalPathsNeighbour_r14 = -1; /* AdditionalPathList_r14 */
+static int hf_lpp_nprsIdNeighbour_r14 = -1; /* INTEGER_0_4095 */
+static int hf_lpp_carrierFreqOffsetNB_Neighbour_r14 = -1; /* CarrierFreqOffsetNB_r14 */
+static int hf_lpp_AdditionalPathList_r14_item = -1; /* AdditionalPath_r14 */
+static int hf_lpp_systemFrameNumber_r14 = -1; /* BIT_STRING_SIZE_10 */
+static int hf_lpp_physCellIdRef_r14 = -1; /* INTEGER_0_503 */
+static int hf_lpp_cellGlobalIdRef_r14 = -1; /* ECGI */
+static int hf_lpp_earfcnRef_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
+static int hf_lpp_referenceQuality_r14 = -1; /* OTDOA_MeasQuality */
+static int hf_lpp_neighbourMeasurementList_r14 = -1; /* NeighbourMeasurementList_NB_r14 */
+static int hf_lpp_NeighbourMeasurementList_NB_r14_item = -1; /* NeighbourMeasurementElement_NB_r14 */
+static int hf_lpp_physCellIdNeighbour_r14 = -1; /* INTEGER_0_503 */
+static int hf_lpp_cellGlobalIdNeighbour_r14 = -1; /* ECGI */
+static int hf_lpp_earfcnNeighbour_r14 = -1; /* ARFCN_ValueEUTRA_r14 */
+static int hf_lpp_rstd_r14 = -1; /* INTEGER_0_12711 */
+static int hf_lpp_rstd_Quality_r14 = -1; /* OTDOA_MeasQuality */
static int hf_lpp_error_Resolution = -1; /* T_error_Resolution */
static int hf_lpp_error_Value = -1; /* T_error_Value */
static int hf_lpp_error_NumSamples = -1; /* T_error_NumSamples */
+static int hf_lpp_relativeTimeDifference_r14 = -1; /* INTEGER_M256_255 */
+static int hf_lpp_path_Quality_r14 = -1; /* OTDOA_MeasQuality */
static int hf_lpp_assistanceAvailability = -1; /* BOOLEAN */
+static int hf_lpp_multipathRSTD_r14 = -1; /* T_multipathRSTD_r14 */
+static int hf_lpp_maxNoOfRSTDmeas_r14 = -1; /* INTEGER_1_32 */
static int hf_lpp_otdoa_Mode = -1; /* T_otdoa_Mode */
static int hf_lpp_supportedBandListEUTRA = -1; /* SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA */
static int hf_lpp_supportedBandListEUTRA_item = -1; /* SupportedBandEUTRA */
@@ -328,6 +436,19 @@ static int hf_lpp_supportedBandListEUTRA_v9a0 = -1; /* SEQUENCE_SIZE_1_maxBands
static int hf_lpp_supportedBandListEUTRA_v9a0_item = -1; /* SupportedBandEUTRA_v9a0 */
static int hf_lpp_interFreqRSTDmeasurement_r10 = -1; /* T_interFreqRSTDmeasurement_r10 */
static int hf_lpp_additionalNeighbourCellInfoList_r10 = -1; /* T_additionalNeighbourCellInfoList_r10 */
+static int hf_lpp_prs_id_r14 = -1; /* T_prs_id_r14 */
+static int hf_lpp_tp_separation_via_muting_r14 = -1; /* T_tp_separation_via_muting_r14 */
+static int hf_lpp_additional_prs_config_r14 = -1; /* T_additional_prs_config_r14 */
+static int hf_lpp_prs_based_tbs_r14 = -1; /* T_prs_based_tbs_r14 */
+static int hf_lpp_additionalPathsReport_r14 = -1; /* T_additionalPathsReport_r14 */
+static int hf_lpp_densePrsConfig_r14 = -1; /* T_densePrsConfig_r14 */
+static int hf_lpp_maxSupportedPrsBandwidth_r14 = -1; /* T_maxSupportedPrsBandwidth_r14 */
+static int hf_lpp_prsOccGroup_r14 = -1; /* T_prsOccGroup_r14 */
+static int hf_lpp_prsFrequencyHopping_r14 = -1; /* T_prsFrequencyHopping_r14 */
+static int hf_lpp_maxSupportedPrsConfigs_r14 = -1; /* T_maxSupportedPrsConfigs_r14 */
+static int hf_lpp_periodicalReporting_r14 = -1; /* T_periodicalReporting_r14 */
+static int hf_lpp_multiPrbNprs_r14 = -1; /* T_multiPrbNprs_r14 */
+static int hf_lpp_idleStateForMeasurements_r14 = -1; /* T_idleStateForMeasurements_r14 */
static int hf_lpp_bandEUTRA = -1; /* INTEGER_1_maxFBI */
static int hf_lpp_bandEUTRA_v9a0 = -1; /* INTEGER_maxFBI_Plus1_maxFBI2 */
static int hf_lpp_locationServerErrorCauses = -1; /* OTDOA_LocationServerErrorCauses */
@@ -391,6 +512,10 @@ static int hf_lpp_gSM = -1; /* T_gSM */
static int hf_lpp_bcchCarrier = -1; /* INTEGER_0_1023 */
static int hf_lpp_bsic = -1; /* INTEGER_0_63 */
static int hf_lpp_cellGlobalIdGERAN = -1; /* CellGlobalIdGERAN */
+static int hf_lpp_nBIoT_r14 = -1; /* T_nBIoT_r14 */
+static int hf_lpp_nbPhysCellId_r14 = -1; /* INTEGER_0_503 */
+static int hf_lpp_nbCellGlobalId_r14 = -1; /* ECGI */
+static int hf_lpp_nbCarrierFreq_r14 = -1; /* CarrierFreq_NB_r14 */
static int hf_lpp_threeDlocation = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
static int hf_lpp_klobucharModel = -1; /* KlobucharModelParameter */
static int hf_lpp_neQuickModel = -1; /* NeQuickModelParameter */
@@ -845,6 +970,8 @@ static int hf_lpp_referenceFrame = -1; /* T_referenceFrame */
static int hf_lpp_referenceFN = -1; /* INTEGER_0_65535 */
static int hf_lpp_referenceFNMSB = -1; /* INTEGER_0_63 */
static int hf_lpp_deltaGNSS_TOD = -1; /* INTEGER_0_127 */
+static int hf_lpp_nbIoT_r14 = -1; /* T_nbIoT_r14 */
+static int hf_lpp_sfn_r14 = -1; /* BIT_STRING_SIZE_10 */
static int hf_lpp_GNSS_MeasurementList_item = -1; /* GNSS_MeasurementForOneGNSS */
static int hf_lpp_gnss_SgnMeasList = -1; /* GNSS_SgnMeasList */
static int hf_lpp_GNSS_SgnMeasList_item = -1; /* GNSS_SgnMeasElement */
@@ -867,6 +994,8 @@ static int hf_lpp_adrMeasReq = -1; /* BOOLEAN */
static int hf_lpp_multiFreqMeasReq = -1; /* BOOLEAN */
static int hf_lpp_gnss_SupportList = -1; /* GNSS_SupportList */
static int hf_lpp_assistanceDataSupportList = -1; /* AssistanceDataSupportList */
+static int hf_lpp_periodicalReportingNotSupported_r14 = -1; /* PositioningModes */
+static int hf_lpp_idleStateForMeasurements_r14_01 = -1; /* T_idleStateForMeasurements_r14_01 */
static int hf_lpp_GNSS_SupportList_item = -1; /* GNSS_SupportElement */
static int hf_lpp_sbas_IDs = -1; /* SBAS_IDs */
static int hf_lpp_agnss_Modes = -1; /* PositioningModes */
@@ -932,9 +1061,15 @@ static int hf_lpp_rsrp_Result = -1; /* INTEGER_0_97 */
static int hf_lpp_rsrq_Result = -1; /* INTEGER_0_34 */
static int hf_lpp_ue_RxTxTimeDiff = -1; /* INTEGER_0_4095 */
static int hf_lpp_arfcnEUTRA_v9a0 = -1; /* ARFCN_ValueEUTRA_v9a0 */
+static int hf_lpp_nrsrp_Result_r14 = -1; /* INTEGER_0_113 */
+static int hf_lpp_nrsrq_Result_r14 = -1; /* INTEGER_0_74 */
+static int hf_lpp_carrierFreqOffsetNB_r14 = -1; /* CarrierFreqOffsetNB_r14 */
static int hf_lpp_requestedMeasurements = -1; /* T_requestedMeasurements */
static int hf_lpp_ecid_MeasSupported = -1; /* T_ecid_MeasSupported */
static int hf_lpp_ueRxTxSupTDD_r13 = -1; /* T_ueRxTxSupTDD_r13 */
+static int hf_lpp_periodicalReporting_r14_01 = -1; /* T_periodicalReporting_r14_01 */
+static int hf_lpp_triggeredReporting_r14 = -1; /* T_triggeredReporting_r14 */
+static int hf_lpp_idleStateForMeasurements_r14_02 = -1; /* T_idleStateForMeasurements_r14_02 */
static int hf_lpp_locationServerErrorCauses_02 = -1; /* ECID_LocationServerErrorCauses */
static int hf_lpp_targetDeviceErrorCauses_02 = -1; /* ECID_TargetDeviceErrorCauses */
static int hf_lpp_cause_04 = -1; /* T_cause_04 */
@@ -942,6 +1077,8 @@ static int hf_lpp_cause_05 = -1; /* T_cause_05 */
static int hf_lpp_rsrpMeasurementNotPossible = -1; /* NULL */
static int hf_lpp_rsrqMeasurementNotPossible = -1; /* NULL */
static int hf_lpp_ueRxTxMeasurementNotPossible = -1; /* NULL */
+static int hf_lpp_nrsrpMeasurementNotPossible_r14 = -1; /* NULL */
+static int hf_lpp_nrsrqMeasurementNotPossible_r14 = -1; /* NULL */
static int hf_lpp_tbs_MeasurementInformation_r13 = -1; /* TBS_MeasurementInformation_r13 */
static int hf_lpp_tbs_Error_r13 = -1; /* TBS_Error_r13 */
static int hf_lpp_measurementReferenceTime_r13 = -1; /* UTCTime */
@@ -950,21 +1087,57 @@ static int hf_lpp_MBS_BeaconMeasList_r13_item = -1; /* MBS_BeaconMeasElement_r1
static int hf_lpp_transmitterID_r13 = -1; /* INTEGER_0_32767 */
static int hf_lpp_codePhase_r13 = -1; /* INTEGER_0_2097151 */
static int hf_lpp_codePhaseRMSError_r13 = -1; /* INTEGER_0_63 */
+static int hf_lpp_rssi_r14 = -1; /* INTEGER_M130_M30 */
static int hf_lpp_mbsSgnMeasListReq_r13 = -1; /* BOOLEAN */
+static int hf_lpp_mbsAssistanceAvailability_r14 = -1; /* BOOLEAN */
+static int hf_lpp_mbsRequestedMeasurements_r14 = -1; /* T_mbsRequestedMeasurements_r14 */
static int hf_lpp_tbs_Modes_r13 = -1; /* T_tbs_Modes_r13 */
+static int hf_lpp_mbs_AssistanceDataSupportList_r14 = -1; /* MBS_AssistanceDataSupportList_r14 */
+static int hf_lpp_periodicalReportingSupported_r14 = -1; /* PositioningModes */
+static int hf_lpp_mbs_ConfigSupport_r14 = -1; /* T_mbs_ConfigSupport_r14 */
+static int hf_lpp_mbs_IdleStateForMeasurements_r14 = -1; /* T_mbs_IdleStateForMeasurements_r14 */
+static int hf_lpp_mbs_AcquisitionAssistanceDataSupport_r14 = -1; /* BOOLEAN */
+static int hf_lpp_mbs_AlmanacAssistanceDataSupport_r14 = -1; /* BOOLEAN */
static int hf_lpp_locationServerErrorCauses_r13 = -1; /* TBS_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13 = -1; /* TBS_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13 = -1; /* T_cause_r13 */
static int hf_lpp_cause_r13_01 = -1; /* T_cause_r13_01 */
+static int hf_lpp_tbs_AssistanceDataList_r14 = -1; /* TBS_AssistanceDataList_r14 */
+static int hf_lpp_tbs_Error_r14 = -1; /* TBS_Error_r13 */
+static int hf_lpp_mbs_AssistanceDataList_r14 = -1; /* MBS_AssistanceDataList_r14 */
+static int hf_lpp_MBS_AssistanceDataList_r14_item = -1; /* MBS_AssistanceDataElement_r14 */
+static int hf_lpp_mbs_AlmanacAssistance_r14 = -1; /* MBS_AlmanacAssistance_r14 */
+static int hf_lpp_mbs_AcquisitionAssistance_r14 = -1; /* MBS_AcquisitionAssistance_r14 */
+static int hf_lpp_transmitterID_r14 = -1; /* INTEGER_0_32767 */
+static int hf_lpp_transmitterLatitude_r14 = -1; /* T_transmitterLatitude_r14 */
+static int hf_lpp_transmitterLongitude_r14 = -1; /* T_transmitterLongitude_r14 */
+static int hf_lpp_transmitterAltitude_r14 = -1; /* T_transmitterAltitude_r14 */
+static int hf_lpp_timeCorrection_r14 = -1; /* INTEGER_0_25 */
+static int hf_lpp_mbsConfiguration_r14 = -1; /* T_mbsConfiguration_r14 */
+static int hf_lpp_pnCodeIndex_r14 = -1; /* INTEGER_1_128 */
+static int hf_lpp_freq_r14 = -1; /* INTEGER_919750000_927250000 */
+static int hf_lpp_mbs_AlmanacAssistanceDataReq_r14 = -1; /* BOOLEAN */
+static int hf_lpp_mbs_AcquisitionAssistanceDataReq_r14 = -1; /* BOOLEAN */
static int hf_lpp_sensor_MeasurementInformation_r13 = -1; /* Sensor_MeasurementInformation_r13 */
static int hf_lpp_sensor_Error_r13 = -1; /* Sensor_Error_r13 */
static int hf_lpp_uncompensatedBarometricPressure_r13 = -1; /* INTEGER_30000_115000 */
+static int hf_lpp_uncertainty_r14 = -1; /* T_uncertainty_r14 */
+static int hf_lpp_range_r14 = -1; /* INTEGER_0_1000 */
+static int hf_lpp_confidence_r14 = -1; /* INTEGER_1_100 */
static int hf_lpp_uncompensatedBarometricPressureReq_r13 = -1; /* BOOLEAN */
+static int hf_lpp_assistanceAvailability_r14 = -1; /* BOOLEAN */
static int hf_lpp_sensor_Modes_r13 = -1; /* T_sensor_Modes_r13 */
+static int hf_lpp_sensor_AssistanceDataSupportList_r14 = -1; /* Sensor_AssistanceDataSupportList_r14 */
+static int hf_lpp_idleStateForMeasurements_r14_03 = -1; /* T_idleStateForMeasurements_r14_03 */
static int hf_lpp_locationServerErrorCauses_r13_01 = -1; /* Sensor_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13_01 = -1; /* Sensor_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13_02 = -1; /* T_cause_r13_02 */
static int hf_lpp_cause_r13_03 = -1; /* T_cause_r13_03 */
+static int hf_lpp_sensor_AssistanceDataList_r14 = -1; /* Sensor_AssistanceDataList_r14 */
+static int hf_lpp_sensor_Error_r14 = -1; /* Sensor_Error_r13 */
+static int hf_lpp_refPressure_r14 = -1; /* INTEGER_M20000_10000 */
+static int hf_lpp_refPosition_r14 = -1; /* EllipsoidPointWithAltitudeAndUncertaintyEllipsoid */
+static int hf_lpp_refTemperature_r14 = -1; /* INTEGER_M64_63 */
static int hf_lpp_wlan_MeasurementInformation_r13 = -1; /* WLAN_MeasurementInformation_r13 */
static int hf_lpp_wlan_Error_r13 = -1; /* WLAN_Error_r13 */
static int hf_lpp_wlan_MeasurementList_r13 = -1; /* WLAN_MeasurementList_r13 */
@@ -982,12 +1155,67 @@ static int hf_lpp_rttAccuracy_r13 = -1; /* INTEGER_0_255 */
static int hf_lpp_requestedMeasurements_r13 = -1; /* T_requestedMeasurements_r13 */
static int hf_lpp_wlan_Modes_r13 = -1; /* T_wlan_Modes_r13 */
static int hf_lpp_wlan_MeasSupported_r13 = -1; /* T_wlan_MeasSupported_r13 */
+static int hf_lpp_wlan_AP_AD_Supported_r14 = -1; /* T_wlan_AP_AD_Supported_r14 */
+static int hf_lpp_idleStateForMeasurements_r14_04 = -1; /* T_idleStateForMeasurements_r14_04 */
static int hf_lpp_locationServerErrorCauses_r13_02 = -1; /* WLAN_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13_02 = -1; /* WLAN_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13_04 = -1; /* T_cause_r13_04 */
+static int hf_lpp_apLocationDataUnavailable_r14 = -1; /* NULL */
static int hf_lpp_cause_r13_05 = -1; /* T_cause_r13_05 */
static int hf_lpp_wlan_AP_RSSI_MeasurementNotPossible_r13 = -1; /* NULL */
static int hf_lpp_wlan_AP_RTT_MeasurementNotPossible_r13 = -1; /* NULL */
+static int hf_lpp_wlan_DataSet_r14 = -1; /* SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14 */
+static int hf_lpp_wlan_DataSet_r14_item = -1; /* WLAN_DataSet_r14 */
+static int hf_lpp_wlan_Error_r14 = -1; /* WLAN_Error_r13 */
+static int hf_lpp_wlan_AP_List_r14 = -1; /* SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14 */
+static int hf_lpp_wlan_AP_List_r14_item = -1; /* WLAN_AP_Data_r14 */
+static int hf_lpp_supportedChannels_11a_r14 = -1; /* SupportedChannels_11a_r14 */
+static int hf_lpp_supportedChannels_11bg_r14 = -1; /* SupportedChannels_11bg_r14 */
+static int hf_lpp_ch34_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch36_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch38_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch40_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch42_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch44_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch46_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch48_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch52_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch56_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch60_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch64_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch149_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch153_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch157_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch161_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch1_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch2_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch3_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch4_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch5_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch6_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch7_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch8_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch9_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch10_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch11_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch12_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch13_r14 = -1; /* BOOLEAN */
+static int hf_lpp_ch14_r14 = -1; /* BOOLEAN */
+static int hf_lpp_wlan_AP_Identifier_r14 = -1; /* WLAN_AP_Identifier_r13 */
+static int hf_lpp_wlan_AP_Location_r14 = -1; /* WLAN_AP_Location_r14 */
+static int hf_lpp_locationDataLCI_r14 = -1; /* LocationDataLCI_r14 */
+static int hf_lpp_latitudeUncertainty_r14 = -1; /* BIT_STRING_SIZE_6 */
+static int hf_lpp_latitude_r14 = -1; /* BIT_STRING_SIZE_34 */
+static int hf_lpp_longitudeUncertainty_r14 = -1; /* BIT_STRING_SIZE_6 */
+static int hf_lpp_longitude_r14 = -1; /* BIT_STRING_SIZE_34 */
+static int hf_lpp_altitudeUncertainty_r14 = -1; /* BIT_STRING_SIZE_6 */
+static int hf_lpp_altitude_r14 = -1; /* BIT_STRING_SIZE_30 */
+static int hf_lpp_datum_r14 = -1; /* BIT_STRING_SIZE_8 */
+static int hf_lpp_requestedAD_r14 = -1; /* T_requestedAD_r14 */
+static int hf_lpp_visibleAPs_r14 = -1; /* SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13 */
+static int hf_lpp_visibleAPs_r14_item = -1; /* WLAN_AP_Identifier_r13 */
+static int hf_lpp_wlan_AP_StoredData_r14 = -1; /* SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13 */
+static int hf_lpp_wlan_AP_StoredData_r14_item = -1; /* WLAN_AP_Identifier_r13 */
static int hf_lpp_bt_MeasurementInformation_r13 = -1; /* BT_MeasurementInformation_r13 */
static int hf_lpp_bt_Error_r13 = -1; /* BT_Error_r13 */
static int hf_lpp_bt_MeasurementList_r13 = -1; /* BT_MeasurementList_r13 */
@@ -997,6 +1225,7 @@ static int hf_lpp_rssi_r13_01 = -1; /* INTEGER_M128_127 */
static int hf_lpp_requestedMeasurements_r13_01 = -1; /* T_requestedMeasurements_r13_01 */
static int hf_lpp_bt_Modes_r13 = -1; /* T_bt_Modes_r13 */
static int hf_lpp_bt_MeasSupported_r13 = -1; /* T_bt_MeasSupported_r13 */
+static int hf_lpp_idleStateForMeasurements_r14_05 = -1; /* T_idleStateForMeasurements_r14_05 */
static int hf_lpp_locationServerErrorCauses_r13_03 = -1; /* BT_LocationServerErrorCauses_r13 */
static int hf_lpp_targetDeviceErrorCauses_r13_03 = -1; /* BT_TargetDeviceErrorCauses_r13 */
static int hf_lpp_cause_r13_06 = -1; /* T_cause_r13_06 */
@@ -1006,6 +1235,7 @@ static int hf_lpp_bt_Beacon_rssiMeasurementNotPossible_r13 = -1; /* NULL */
static int hf_lpp_T_accessTypes_eutra = -1;
static int hf_lpp_T_accessTypes_utra = -1;
static int hf_lpp_T_accessTypes_gsm = -1;
+static int hf_lpp_T_accessTypes_nb_iot = -1;
static int hf_lpp_T_posModes_standalone = -1;
static int hf_lpp_T_posModes_ue_based = -1;
static int hf_lpp_T_posModes_ue_assisted = -1;
@@ -1014,7 +1244,10 @@ static int hf_lpp_LocationSource_r13_wlan = -1;
static int hf_lpp_LocationSource_r13_bt = -1;
static int hf_lpp_LocationSource_r13_tbs = -1;
static int hf_lpp_LocationSource_r13_sensor = -1;
+static int hf_lpp_T_adType_r14_prs = -1;
+static int hf_lpp_T_adType_r14_nprs = -1;
static int hf_lpp_T_otdoa_Mode_ue_assisted = -1;
+static int hf_lpp_T_otdoa_Mode_ue_assisted_NB_r14 = -1;
static int hf_lpp_T_ionoModel_klobuchar = -1;
static int hf_lpp_T_ionoModel_neQuick = -1;
static int hf_lpp_T_clockModel_model_1 = -1;
@@ -1054,19 +1287,35 @@ static int hf_lpp_T_sbas_IDs_gagan = -1;
static int hf_lpp_T_requestedMeasurements_rsrpReq = -1;
static int hf_lpp_T_requestedMeasurements_rsrqReq = -1;
static int hf_lpp_T_requestedMeasurements_ueRxTxReq = -1;
+static int hf_lpp_T_requestedMeasurements_nrsrpReq_r14 = -1;
+static int hf_lpp_T_requestedMeasurements_nrsrqReq_r14 = -1;
static int hf_lpp_T_ecid_MeasSupported_rsrpSup = -1;
static int hf_lpp_T_ecid_MeasSupported_rsrqSup = -1;
static int hf_lpp_T_ecid_MeasSupported_ueRxTxSup = -1;
+static int hf_lpp_T_ecid_MeasSupported_nrsrpSup_r14 = -1;
+static int hf_lpp_T_ecid_MeasSupported_nrsrqSup_r14 = -1;
+static int hf_lpp_T_mbsRequestedMeasurements_r14_rssi = -1;
static int hf_lpp_T_tbs_Modes_r13_standalone = -1;
static int hf_lpp_T_tbs_Modes_r13_ue_assisted = -1;
+static int hf_lpp_T_tbs_Modes_r13_ue_based = -1;
+static int hf_lpp_T_mbs_ConfigSupport_r14_tb1 = -1;
+static int hf_lpp_T_mbs_ConfigSupport_r14_tb2 = -1;
+static int hf_lpp_T_mbs_ConfigSupport_r14_tb3 = -1;
+static int hf_lpp_T_mbs_ConfigSupport_r14_tb4 = -1;
static int hf_lpp_T_sensor_Modes_r13_standalone = -1;
static int hf_lpp_T_sensor_Modes_r13_ue_assisted = -1;
+static int hf_lpp_T_sensor_Modes_r13_ue_based = -1;
static int hf_lpp_T_requestedMeasurements_r13_rssi = -1;
static int hf_lpp_T_requestedMeasurements_r13_rtt = -1;
static int hf_lpp_T_wlan_Modes_r13_standalone = -1;
static int hf_lpp_T_wlan_Modes_r13_ue_assisted = -1;
+static int hf_lpp_T_wlan_Modes_r13_ue_based = -1;
static int hf_lpp_T_wlan_MeasSupported_r13_rssi_r13 = -1;
static int hf_lpp_T_wlan_MeasSupported_r13_rtt_r13 = -1;
+static int hf_lpp_T_wlan_AP_AD_Supported_r14_ap_identifier = -1;
+static int hf_lpp_T_wlan_AP_AD_Supported_r14_ap_location = -1;
+static int hf_lpp_T_requestedAD_r14_ap_identifier = -1;
+static int hf_lpp_T_requestedAD_r14_ap_location = -1;
static int hf_lpp_T_requestedMeasurements_r13_01_rssi = -1;
static int hf_lpp_T_bt_Modes_r13_standalone = -1;
static int hf_lpp_T_bt_Modes_r13_ue_assisted = -1;
@@ -1145,6 +1394,7 @@ static gint ett_lpp_T_criticalExtensionsFuture_07 = -1;
static gint ett_lpp_Error_r9_IEs = -1;
static gint ett_lpp_AccessTypes = -1;
static gint ett_lpp_T_accessTypes = -1;
+static gint ett_lpp_CarrierFreq_NB_r14 = -1;
static gint ett_lpp_CellGlobalIdEUTRA_AndUTRA = -1;
static gint ett_lpp_T_plmn_Identity = -1;
static gint ett_lpp_T_mcc = -1;
@@ -1187,6 +1437,8 @@ static gint ett_lpp_QoS = -1;
static gint ett_lpp_HorizontalAccuracy = -1;
static gint ett_lpp_VerticalAccuracy = -1;
static gint ett_lpp_ResponseTime = -1;
+static gint ett_lpp_ResponseTimeNB_r14 = -1;
+static gint ett_lpp_MessageSizeLimitNB_r14 = -1;
static gint ett_lpp_CommonIEsProvideLocationInformation = -1;
static gint ett_lpp_LocationCoordinates = -1;
static gint ett_lpp_Velocity = -1;
@@ -1196,17 +1448,38 @@ static gint ett_lpp_CommonIEsAbort = -1;
static gint ett_lpp_CommonIEsError = -1;
static gint ett_lpp_OTDOA_ProvideAssistanceData = -1;
static gint ett_lpp_OTDOA_ReferenceCellInfo = -1;
+static gint ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info = -1;
static gint ett_lpp_PRS_Info = -1;
static gint ett_lpp_T_prs_MutingInfo_r9 = -1;
+static gint ett_lpp_T_prsHoppingInfo_r14 = -1;
+static gint ett_lpp_T_nb4_r14 = -1;
static gint ett_lpp_OTDOA_NeighbourCellInfoList = -1;
static gint ett_lpp_OTDOA_NeighbourFreqInfo = -1;
static gint ett_lpp_OTDOA_NeighbourCellInfoElement = -1;
+static gint ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14 = -1;
+static gint ett_lpp_Add_PRSconfigNeighbourElement_r14 = -1;
+static gint ett_lpp_OTDOA_ReferenceCellInfoNB_r14 = -1;
+static gint ett_lpp_PRS_Info_NB_r14 = -1;
+static gint ett_lpp_NPRS_Info_r14 = -1;
+static gint ett_lpp_T_partA_r14 = -1;
+static gint ett_lpp_T_nprsBitmap_r14 = -1;
+static gint ett_lpp_T_nprs_MutingInfoA_r14 = -1;
+static gint ett_lpp_T_partB_r14 = -1;
+static gint ett_lpp_T_nprs_MutingInfoB_r14 = -1;
+static gint ett_lpp_OTDOA_NeighbourCellInfoListNB_r14 = -1;
+static gint ett_lpp_OTDOA_NeighbourCellInfoNB_r14 = -1;
static gint ett_lpp_OTDOA_RequestAssistanceData = -1;
+static gint ett_lpp_T_adType_r14 = -1;
static gint ett_lpp_OTDOA_ProvideLocationInformation = -1;
static gint ett_lpp_OTDOA_SignalMeasurementInformation = -1;
static gint ett_lpp_NeighbourMeasurementList = -1;
static gint ett_lpp_NeighbourMeasurementElement = -1;
+static gint ett_lpp_AdditionalPathList_r14 = -1;
+static gint ett_lpp_OTDOA_SignalMeasurementInformation_NB_r14 = -1;
+static gint ett_lpp_NeighbourMeasurementList_NB_r14 = -1;
+static gint ett_lpp_NeighbourMeasurementElement_NB_r14 = -1;
static gint ett_lpp_OTDOA_MeasQuality = -1;
+static gint ett_lpp_AdditionalPath_r14 = -1;
static gint ett_lpp_OTDOA_RequestLocationInformation = -1;
static gint ett_lpp_OTDOA_ProvideCapabilities = -1;
static gint ett_lpp_T_otdoa_Mode = -1;
@@ -1236,6 +1509,7 @@ static gint ett_lpp_T_mode = -1;
static gint ett_lpp_T_fdd = -1;
static gint ett_lpp_T_tdd = -1;
static gint ett_lpp_T_gSM = -1;
+static gint ett_lpp_T_nBIoT_r14 = -1;
static gint ett_lpp_GNSS_ReferenceLocation = -1;
static gint ett_lpp_GNSS_IonosphericModel = -1;
static gint ett_lpp_KlobucharModelParameter = -1;
@@ -1348,6 +1622,7 @@ static gint ett_lpp_T_fdd_01 = -1;
static gint ett_lpp_T_tdd_01 = -1;
static gint ett_lpp_T_gSM_01 = -1;
static gint ett_lpp_T_referenceFrame = -1;
+static gint ett_lpp_T_nbIoT_r14 = -1;
static gint ett_lpp_GNSS_MeasurementList = -1;
static gint ett_lpp_GNSS_MeasurementForOneGNSS = -1;
static gint ett_lpp_GNSS_SgnMeasList = -1;
@@ -1415,21 +1690,36 @@ static gint ett_lpp_TBS_MeasurementInformation_r13 = -1;
static gint ett_lpp_MBS_BeaconMeasList_r13 = -1;
static gint ett_lpp_MBS_BeaconMeasElement_r13 = -1;
static gint ett_lpp_TBS_RequestLocationInformation_r13 = -1;
+static gint ett_lpp_T_mbsRequestedMeasurements_r14 = -1;
static gint ett_lpp_TBS_ProvideCapabilities_r13 = -1;
static gint ett_lpp_T_tbs_Modes_r13 = -1;
+static gint ett_lpp_T_mbs_ConfigSupport_r14 = -1;
+static gint ett_lpp_MBS_AssistanceDataSupportList_r14 = -1;
static gint ett_lpp_TBS_RequestCapabilities_r13 = -1;
static gint ett_lpp_TBS_Error_r13 = -1;
static gint ett_lpp_TBS_LocationServerErrorCauses_r13 = -1;
static gint ett_lpp_TBS_TargetDeviceErrorCauses_r13 = -1;
+static gint ett_lpp_TBS_ProvideAssistanceData_r14 = -1;
+static gint ett_lpp_TBS_AssistanceDataList_r14 = -1;
+static gint ett_lpp_MBS_AssistanceDataList_r14 = -1;
+static gint ett_lpp_MBS_AssistanceDataElement_r14 = -1;
+static gint ett_lpp_MBS_AlmanacAssistance_r14 = -1;
+static gint ett_lpp_MBS_AcquisitionAssistance_r14 = -1;
+static gint ett_lpp_TBS_RequestAssistanceData_r14 = -1;
static gint ett_lpp_Sensor_ProvideLocationInformation_r13 = -1;
static gint ett_lpp_Sensor_MeasurementInformation_r13 = -1;
+static gint ett_lpp_T_uncertainty_r14 = -1;
static gint ett_lpp_Sensor_RequestLocationInformation_r13 = -1;
static gint ett_lpp_Sensor_ProvideCapabilities_r13 = -1;
static gint ett_lpp_T_sensor_Modes_r13 = -1;
+static gint ett_lpp_Sensor_AssistanceDataSupportList_r14 = -1;
static gint ett_lpp_Sensor_RequestCapabilities_r13 = -1;
static gint ett_lpp_Sensor_Error_r13 = -1;
static gint ett_lpp_Sensor_LocationServerErrorCauses_r13 = -1;
static gint ett_lpp_Sensor_TargetDeviceErrorCauses_r13 = -1;
+static gint ett_lpp_Sensor_ProvideAssistanceData_r14 = -1;
+static gint ett_lpp_Sensor_AssistanceDataList_r14 = -1;
+static gint ett_lpp_Sensor_RequestAssistanceData_r14 = -1;
static gint ett_lpp_WLAN_ProvideLocationInformation_r13 = -1;
static gint ett_lpp_WLAN_MeasurementInformation_r13 = -1;
static gint ett_lpp_WLAN_MeasurementList_r13 = -1;
@@ -1441,10 +1731,24 @@ static gint ett_lpp_T_requestedMeasurements_r13 = -1;
static gint ett_lpp_WLAN_ProvideCapabilities_r13 = -1;
static gint ett_lpp_T_wlan_Modes_r13 = -1;
static gint ett_lpp_T_wlan_MeasSupported_r13 = -1;
+static gint ett_lpp_T_wlan_AP_AD_Supported_r14 = -1;
static gint ett_lpp_WLAN_RequestCapabilities_r13 = -1;
static gint ett_lpp_WLAN_Error_r13 = -1;
static gint ett_lpp_WLAN_LocationServerErrorCauses_r13 = -1;
static gint ett_lpp_WLAN_TargetDeviceErrorCauses_r13 = -1;
+static gint ett_lpp_WLAN_ProvideAssistanceData_r14 = -1;
+static gint ett_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14 = -1;
+static gint ett_lpp_WLAN_DataSet_r14 = -1;
+static gint ett_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14 = -1;
+static gint ett_lpp_SupportedChannels_11a_r14 = -1;
+static gint ett_lpp_SupportedChannels_11bg_r14 = -1;
+static gint ett_lpp_WLAN_AP_Data_r14 = -1;
+static gint ett_lpp_WLAN_AP_Location_r14 = -1;
+static gint ett_lpp_LocationDataLCI_r14 = -1;
+static gint ett_lpp_WLAN_RequestAssistanceData_r14 = -1;
+static gint ett_lpp_T_requestedAD_r14 = -1;
+static gint ett_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13 = -1;
+static gint ett_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13 = -1;
static gint ett_lpp_BT_ProvideLocationInformation_r13 = -1;
static gint ett_lpp_BT_MeasurementInformation_r13 = -1;
static gint ett_lpp_BT_MeasurementList_r13 = -1;
@@ -1470,12 +1774,22 @@ static gint ett_lpp_BT_TargetDeviceErrorCauses_r13 = -1;
#define maxEARFCN_Plus1 65536
#define maxEARFCN2 262143
#define maxEPDU 16
+#define maxAddPRSconfig_r14 2
+#define maxAvailNarrowBands_Minus1_r14 15
#define maxFreqLayers 3
+#define maxCarrier_r14 5
+#define maxCells_r14 72
+#define maxPaths_r14 2
#define maxBands 64
#define maxFBI 64
#define maxFBI_Plus1 65
#define maxFBI2 256
+#define maxMBS_r14 64
#define maxWLAN_AP_r13 64
+#define maxWLAN_DataSets_r14 8
+#define maxWLAN_AP_r14 128
+#define maxVisibleAPs_r14 32
+#define maxKnownAPs_r14 2048
#define maxBT_Beacon_r13 32
typedef enum _T_GNSS_ID_enum {
@@ -1540,6 +1854,12 @@ lpp_confidence_fmt(gchar *s, guint32 v)
}
static void
+lpp_measurementLimit_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%u octets (%u)", 100*v, v);
+}
+
+static void
lpp_altitude_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%um", v);
@@ -1651,6 +1971,14 @@ static const value_string lpp_error_NumSamples_vals[] = {
};
static void
+lpp_relativeTimeDifference_fmt(gchar *s, guint32 v)
+{
+ double rtd = (double)((gint32)v)*0.5;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f Ts (%d)", rtd, (gint32)v);
+}
+
+static void
lpp_referenceTimeUnc_fmt(gchar *s, guint32 v)
{
double referenceTimeUnc = 0.5*(pow(1.14, (double)v)-1);
@@ -2999,6 +3327,46 @@ lpp_codePhaseRMSError_fmt(gchar *s, guint32 v)
}
static void
+lpp_transmitterLatitude_fmt(gchar *s, guint32 v)
+{
+ double lat = ((double)v*4.0/pow(2, 20))-90.0;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", lat, v);
+}
+
+static void
+lpp_transmitterLongitude_fmt(gchar *s, guint32 v)
+{
+ double longitude = ((double)v*4.0/pow(2, 20))-180.0;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", longitude, v);
+}
+
+static void
+lpp_transmitterAltitude_fmt(gchar *s, guint32 v)
+{
+ double alt = ((double)v*0.29)-500.0;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%gm (%u)", alt, v);
+}
+
+static void
+lpp_refPressure_fmt(gchar *s, guint32 v)
+{
+ gint32 pressure = (gint32)v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%dPa (%d)", 101325+pressure, pressure);
+}
+
+static void
+lpp_refTemperature_fmt(gchar *s, guint32 v)
+{
+ gint32 temp = (gint32)v;
+
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%dK (%d)", 273+temp, temp);
+}
+
+static void
lpp_doppler_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", (gint32)v*0.04, (gint32)v);
@@ -3015,7 +3383,13 @@ lpp_adr_fmt(gchar *s, guint32 v)
static void
lpp_rsrp_Result_fmt(gchar *s, guint32 v)
{
- g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", v-140, v);
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)");
+ } else if (v < 97) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm < RSRP <= %ddBm (%u)", v-141, v-140, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)");
+ }
}
static void
@@ -3031,6 +3405,30 @@ lpp_rsrq_Result_fmt(gchar *s, guint32 v)
}
static void
+lpp_nrsrp_Result_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "NRSRP < -156dBm (0)");
+ } else if (v < 113) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm < NRSRP <= %ddBm (%u)", v-157, v-156, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= NRSRP (97)");
+ }
+}
+
+static void
+lpp_nrsrq_Result_fmt(gchar *s, guint32 v)
+{
+ if (v == 0) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "NRSRQ < -19.5dB (0)");
+ } else if (v < 46) {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB < NRSRQ <= %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v);
+ } else {
+ g_snprintf(s, ITEM_LABEL_LENGTH, "2.5dB <= NRSRQ (%u)", v);
+ }
+}
+
+static void
lpp_ue_RxTxTimeDiff_fmt(gchar *s, guint32 v)
{
if (v == 0) {
@@ -3483,7 +3881,7 @@ static const value_string lpp_T_gnss_id_vals[] = {
static int
dissect_lpp_T_gnss_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1572 "./asn1/lpp/lpp.cnf"
+#line 1605 "./asn1/lpp/lpp.cnf"
guint32 gnss_id;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, &gnss_id, TRUE, 1, NULL);
@@ -3513,7 +3911,7 @@ dissect_lpp_GNSS_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
static int
dissect_lpp_T_sbas_IDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1606 "./asn1/lpp/lpp.cnf"
+#line 1639 "./asn1/lpp/lpp.cnf"
tvbuff_t *sbas_IDs_tvb = NULL;
int len;
@@ -3561,7 +3959,7 @@ dissect_lpp_SBAS_IDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_lpp_T_posModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 247 "./asn1/lpp/lpp.cnf"
+#line 250 "./asn1/lpp/lpp.cnf"
tvbuff_t *posModes_tvb = NULL;
int len;
@@ -3650,6 +4048,9 @@ dissect_lpp_T_accessTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
if (len >= 3) {
proto_tree_add_item(subtree, hf_lpp_T_accessTypes_gsm, accessTypes_tvb, 0, 1, ENC_BIG_ENDIAN);
}
+ if (len >= 4) {
+ proto_tree_add_item(subtree, hf_lpp_T_accessTypes_nb_iot, accessTypes_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
}
@@ -3724,7 +4125,7 @@ dissect_lpp_GNSS_SupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_lpp_T_gnss_ids(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1577 "./asn1/lpp/lpp.cnf"
+#line 1610 "./asn1/lpp/lpp.cnf"
tvbuff_t *gnss_ids_tvb = NULL;
int len;
@@ -3806,7 +4207,7 @@ dissect_lpp_GNSS_ReferenceLocationSupport(tvbuff_t *tvb _U_, int offset _U_, asn
static int
dissect_lpp_T_ionoModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1439 "./asn1/lpp/lpp.cnf"
+#line 1472 "./asn1/lpp/lpp.cnf"
tvbuff_t *ionoModel_tvb = NULL;
int len;
@@ -3938,7 +4339,7 @@ dissect_lpp_GNSS_DifferentialCorrectionsSupport(tvbuff_t *tvb _U_, int offset _U
static int
dissect_lpp_T_clockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1456 "./asn1/lpp/lpp.cnf"
+#line 1489 "./asn1/lpp/lpp.cnf"
tvbuff_t *clockModel_tvb = NULL;
int len;
@@ -3978,7 +4379,7 @@ dissect_lpp_T_clockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_lpp_T_orbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1485 "./asn1/lpp/lpp.cnf"
+#line 1518 "./asn1/lpp/lpp.cnf"
tvbuff_t *orbitModel_tvb = NULL;
int len;
@@ -4104,7 +4505,7 @@ dissect_lpp_GNSS_AcquisitionAssistanceSupport(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_lpp_T_almanacModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1514 "./asn1/lpp/lpp.cnf"
+#line 1547 "./asn1/lpp/lpp.cnf"
tvbuff_t *almanacModel_tvb = NULL;
int len;
@@ -4161,7 +4562,7 @@ dissect_lpp_GNSS_AlmanacSupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_lpp_T_utc_Model(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1546 "./asn1/lpp/lpp.cnf"
+#line 1579 "./asn1/lpp/lpp.cnf"
tvbuff_t *utc_Model_tvb = NULL;
int len;
@@ -4354,11 +4755,41 @@ dissect_lpp_VelocityTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
+static const value_string lpp_T_idleStateForMeasurements_r14_01_vals[] = {
+ { 0, "required" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_idleStateForMeasurements_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t A_GNSS_ProvideCapabilities_eag_1_sequence[] = {
+ { &hf_lpp_periodicalReportingNotSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
+ { &hf_lpp_idleStateForMeasurements_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_01 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_A_GNSS_ProvideCapabilities_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, A_GNSS_ProvideCapabilities_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t A_GNSS_ProvideCapabilities_sequence[] = {
{ &hf_lpp_gnss_SupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_GNSS_SupportList },
{ &hf_lpp_assistanceDataSupportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AssistanceDataSupportList },
{ &hf_lpp_locationCoordinateTypes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes },
{ &hf_lpp_velocityTypes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VelocityTypes },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_A_GNSS_ProvideCapabilities_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -4374,7 +4805,7 @@ dissect_lpp_A_GNSS_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static int
dissect_lpp_T_otdoa_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 382 "./asn1/lpp/lpp.cnf"
+#line 412 "./asn1/lpp/lpp.cnf"
tvbuff_t *otdoa_Mode_tvb = NULL;
int len;
@@ -4388,6 +4819,9 @@ dissect_lpp_T_otdoa_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
if (len >= 1) {
proto_tree_add_item(subtree, hf_lpp_T_otdoa_Mode_ue_assisted, otdoa_Mode_tvb, 0, 1, ENC_BIG_ENDIAN);
}
+ if (len >= 2) {
+ proto_tree_add_item(subtree, hf_lpp_T_otdoa_Mode_ue_assisted_NB_r14, otdoa_Mode_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
}
@@ -4502,12 +4936,226 @@ dissect_lpp_T_additionalNeighbourCellInfoList_r10(tvbuff_t *tvb _U_, int offset
}
+static const value_string lpp_T_prs_id_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_prs_id_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_tp_separation_via_muting_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_tp_separation_via_muting_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_additional_prs_config_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_additional_prs_config_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_prs_based_tbs_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_prs_based_tbs_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_additionalPathsReport_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_additionalPathsReport_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_densePrsConfig_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_densePrsConfig_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_maxSupportedPrsBandwidth_r14_vals[] = {
+ { 0, "n6" },
+ { 1, "n15" },
+ { 2, "n25" },
+ { 3, "n50" },
+ { 4, "n75" },
+ { 5, "n100" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_maxSupportedPrsBandwidth_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_prsOccGroup_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_prsOccGroup_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_prsFrequencyHopping_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_prsFrequencyHopping_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_maxSupportedPrsConfigs_r14_vals[] = {
+ { 0, "c2" },
+ { 1, "c3" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_maxSupportedPrsConfigs_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_periodicalReporting_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_periodicalReporting_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_multiPrbNprs_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_multiPrbNprs_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_idleStateForMeasurements_r14_vals[] = {
+ { 0, "required" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_idleStateForMeasurements_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_ProvideCapabilities_sequence[] = {
{ &hf_lpp_otdoa_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_otdoa_Mode },
{ &hf_lpp_supportedBandListEUTRA, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA },
{ &hf_lpp_supportedBandListEUTRA_v9a0, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxBands_OF_SupportedBandEUTRA_v9a0 },
{ &hf_lpp_interFreqRSTDmeasurement_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_interFreqRSTDmeasurement_r10 },
{ &hf_lpp_additionalNeighbourCellInfoList_r10, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_additionalNeighbourCellInfoList_r10 },
+ { &hf_lpp_prs_id_r14 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prs_id_r14 },
+ { &hf_lpp_tp_separation_via_muting_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_tp_separation_via_muting_r14 },
+ { &hf_lpp_additional_prs_config_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_additional_prs_config_r14 },
+ { &hf_lpp_prs_based_tbs_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prs_based_tbs_r14 },
+ { &hf_lpp_additionalPathsReport_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_additionalPathsReport_r14 },
+ { &hf_lpp_densePrsConfig_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_densePrsConfig_r14 },
+ { &hf_lpp_maxSupportedPrsBandwidth_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_maxSupportedPrsBandwidth_r14 },
+ { &hf_lpp_prsOccGroup_r14 , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prsOccGroup_r14 },
+ { &hf_lpp_prsFrequencyHopping_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prsFrequencyHopping_r14 },
+ { &hf_lpp_maxSupportedPrsConfigs_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_maxSupportedPrsConfigs_r14 },
+ { &hf_lpp_periodicalReporting_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_periodicalReporting_r14 },
+ { &hf_lpp_multiPrbNprs_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_multiPrbNprs_r14 },
+ { &hf_lpp_idleStateForMeasurements_r14, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14 },
{ NULL, 0, 0, NULL }
};
@@ -4523,7 +5171,7 @@ dissect_lpp_OTDOA_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
dissect_lpp_T_ecid_MeasSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1658 "./asn1/lpp/lpp.cnf"
+#line 1703 "./asn1/lpp/lpp.cnf"
tvbuff_t *ecid_MeasSupported_tvb = NULL;
int len;
@@ -4543,6 +5191,12 @@ dissect_lpp_T_ecid_MeasSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
if (len >= 3) {
proto_tree_add_item(subtree, hf_lpp_T_ecid_MeasSupported_ueRxTxSup, ecid_MeasSupported_tvb, 0, 1, ENC_BIG_ENDIAN);
}
+ if (len >= 4) {
+ proto_tree_add_item(subtree, hf_lpp_T_ecid_MeasSupported_nrsrpSup_r14, ecid_MeasSupported_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 5) {
+ proto_tree_add_item(subtree, hf_lpp_T_ecid_MeasSupported_nrsrqSup_r14, ecid_MeasSupported_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
}
@@ -4579,9 +5233,70 @@ dissect_lpp_ECID_ProvideCapabilities_eag_1(tvbuff_t *tvb _U_, int offset _U_, as
}
+static const value_string lpp_T_periodicalReporting_r14_01_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_periodicalReporting_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_triggeredReporting_r14_vals[] = {
+ { 0, "supported" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_triggeredReporting_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_idleStateForMeasurements_r14_02_vals[] = {
+ { 0, "required" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_idleStateForMeasurements_r14_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t ECID_ProvideCapabilities_eag_2_sequence[] = {
+ { &hf_lpp_periodicalReporting_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_periodicalReporting_r14_01 },
+ { &hf_lpp_triggeredReporting_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_triggeredReporting_r14 },
+ { &hf_lpp_idleStateForMeasurements_r14_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_02 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_ECID_ProvideCapabilities_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ECID_ProvideCapabilities_eag_2_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t ECID_ProvideCapabilities_sequence[] = {
{ &hf_lpp_ecid_MeasSupported, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_ecid_MeasSupported },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_ProvideCapabilities_eag_1 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_ProvideCapabilities_eag_2 },
{ NULL, 0, 0, NULL }
};
@@ -4597,7 +5312,7 @@ dissect_lpp_ECID_ProvideCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_lpp_T_sensor_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1704 "./asn1/lpp/lpp.cnf"
+#line 1843 "./asn1/lpp/lpp.cnf"
tvbuff_t *sensor_Modes_tvb = NULL;
int len;
@@ -4614,6 +5329,9 @@ dissect_lpp_T_sensor_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
if (len >= 2) {
proto_tree_add_item(subtree, hf_lpp_T_sensor_Modes_r13_ue_assisted, sensor_Modes_tvb, 0, 1, ENC_BIG_ENDIAN);
}
+ if (len >= 3) {
+ proto_tree_add_item(subtree, hf_lpp_T_sensor_Modes_r13_ue_based, sensor_Modes_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
}
@@ -4622,8 +5340,52 @@ dissect_lpp_T_sensor_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
+static const per_sequence_t Sensor_AssistanceDataSupportList_r14_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_AssistanceDataSupportList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_AssistanceDataSupportList_r14, Sensor_AssistanceDataSupportList_r14_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_idleStateForMeasurements_r14_03_vals[] = {
+ { 0, "required" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_idleStateForMeasurements_r14_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Sensor_ProvideCapabilities_r13_eag_1_sequence[] = {
+ { &hf_lpp_sensor_AssistanceDataSupportList_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_AssistanceDataSupportList_r14 },
+ { &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
+ { &hf_lpp_idleStateForMeasurements_r14_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_03 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_ProvideCapabilities_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t Sensor_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_sensor_Modes_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_sensor_Modes_r13 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_ProvideCapabilities_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -4639,7 +5401,7 @@ dissect_lpp_Sensor_ProvideCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, as
static int
dissect_lpp_T_tbs_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1684 "./asn1/lpp/lpp.cnf"
+#line 1752 "./asn1/lpp/lpp.cnf"
tvbuff_t *tbs_Modes_tvb = NULL;
int len;
@@ -4656,6 +5418,58 @@ dissect_lpp_T_tbs_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
if (len >= 2) {
proto_tree_add_item(subtree, hf_lpp_T_tbs_Modes_r13_ue_assisted, tbs_Modes_tvb, 0, 1, ENC_BIG_ENDIAN);
}
+ if (len >= 3) {
+ proto_tree_add_item(subtree, hf_lpp_T_tbs_Modes_r13_ue_based, tbs_Modes_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t MBS_AssistanceDataSupportList_r14_sequence[] = {
+ { &hf_lpp_mbs_AcquisitionAssistanceDataSupport_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_mbs_AlmanacAssistanceDataSupport_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_MBS_AssistanceDataSupportList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_MBS_AssistanceDataSupportList_r14, MBS_AssistanceDataSupportList_r14_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_T_mbs_ConfigSupport_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1772 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *mbs_ConfigSupport_tvb = NULL;
+ int len;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 8, FALSE, &mbs_ConfigSupport_tvb, &len);
+
+ if(mbs_ConfigSupport_tvb){
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap);
+ if (len >= 1) {
+ proto_tree_add_item(subtree, hf_lpp_T_mbs_ConfigSupport_r14_tb1, mbs_ConfigSupport_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 2) {
+ proto_tree_add_item(subtree, hf_lpp_T_mbs_ConfigSupport_r14_tb2, mbs_ConfigSupport_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 3) {
+ proto_tree_add_item(subtree, hf_lpp_T_mbs_ConfigSupport_r14_tb3, mbs_ConfigSupport_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 4) {
+ proto_tree_add_item(subtree, hf_lpp_T_mbs_ConfigSupport_r14_tb4, mbs_ConfigSupport_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
}
@@ -4664,8 +5478,40 @@ dissect_lpp_T_tbs_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string lpp_T_mbs_IdleStateForMeasurements_r14_vals[] = {
+ { 0, "required" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_mbs_IdleStateForMeasurements_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TBS_ProvideCapabilities_r13_eag_1_sequence[] = {
+ { &hf_lpp_mbs_AssistanceDataSupportList_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_MBS_AssistanceDataSupportList_r14 },
+ { &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
+ { &hf_lpp_mbs_ConfigSupport_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mbs_ConfigSupport_r14 },
+ { &hf_lpp_mbs_IdleStateForMeasurements_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mbs_IdleStateForMeasurements_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TBS_ProvideCapabilities_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t TBS_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_tbs_Modes_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_tbs_Modes_r13 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TBS_ProvideCapabilities_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -4681,7 +5527,7 @@ dissect_lpp_TBS_ProvideCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
dissect_lpp_T_wlan_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1753 "./asn1/lpp/lpp.cnf"
+#line 1901 "./asn1/lpp/lpp.cnf"
tvbuff_t *wlan_Modes_tvb = NULL;
int len;
@@ -4698,6 +5544,9 @@ dissect_lpp_T_wlan_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
if (len >= 2) {
proto_tree_add_item(subtree, hf_lpp_T_wlan_Modes_r13_ue_assisted, wlan_Modes_tvb, 0, 1, ENC_BIG_ENDIAN);
}
+ if (len >= 3) {
+ proto_tree_add_item(subtree, hf_lpp_T_wlan_Modes_r13_ue_based, wlan_Modes_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
}
@@ -4709,7 +5558,7 @@ dissect_lpp_T_wlan_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_lpp_T_wlan_MeasSupported_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1770 "./asn1/lpp/lpp.cnf"
+#line 1921 "./asn1/lpp/lpp.cnf"
tvbuff_t *wlan_MeasSupported_tvb = NULL;
int len;
@@ -4734,9 +5583,68 @@ dissect_lpp_T_wlan_MeasSupported_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
+
+static int
+dissect_lpp_T_wlan_AP_AD_Supported_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1938 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *wlan_AP_AD_Supported_tvb = NULL;
+ int len;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 8, FALSE, &wlan_AP_AD_Supported_tvb, &len);
+
+ if(wlan_AP_AD_Supported_tvb){
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap);
+ if (len >= 1) {
+ proto_tree_add_item(subtree, hf_lpp_T_wlan_AP_AD_Supported_r14_ap_identifier, wlan_AP_AD_Supported_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 2) {
+ proto_tree_add_item(subtree, hf_lpp_T_wlan_AP_AD_Supported_r14_ap_location, wlan_AP_AD_Supported_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+static const value_string lpp_T_idleStateForMeasurements_r14_04_vals[] = {
+ { 0, "required" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_idleStateForMeasurements_r14_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_ProvideCapabilities_r13_eag_1_sequence[] = {
+ { &hf_lpp_wlan_AP_AD_Supported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_wlan_AP_AD_Supported_r14 },
+ { &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
+ { &hf_lpp_idleStateForMeasurements_r14_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_04 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, WLAN_ProvideCapabilities_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t WLAN_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_wlan_Modes_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_wlan_Modes_r13 },
{ &hf_lpp_wlan_MeasSupported_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_wlan_MeasSupported_r13 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_ProvideCapabilities_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -4752,7 +5660,7 @@ dissect_lpp_WLAN_ProvideCapabilities_r13(tvbuff_t *tvb _U_, int offset _U_, asn1
static int
dissect_lpp_T_bt_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1813 "./asn1/lpp/lpp.cnf"
+#line 1998 "./asn1/lpp/lpp.cnf"
tvbuff_t *bt_Modes_tvb = NULL;
int len;
@@ -4780,7 +5688,7 @@ dissect_lpp_T_bt_Modes_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_lpp_T_bt_MeasSupported_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1830 "./asn1/lpp/lpp.cnf"
+#line 2015 "./asn1/lpp/lpp.cnf"
tvbuff_t *bt_MeasSupported_tvb = NULL;
int len;
@@ -4801,9 +5709,39 @@ dissect_lpp_T_bt_MeasSupported_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string lpp_T_idleStateForMeasurements_r14_05_vals[] = {
+ { 0, "required" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_idleStateForMeasurements_r14_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t BT_ProvideCapabilities_r13_eag_1_sequence[] = {
+ { &hf_lpp_idleStateForMeasurements_r14_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_idleStateForMeasurements_r14_05 },
+ { &hf_lpp_periodicalReportingSupported_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_PositioningModes },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_BT_ProvideCapabilities_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BT_ProvideCapabilities_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t BT_ProvideCapabilities_r13_sequence[] = {
{ &hf_lpp_bt_Modes_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_bt_Modes_r13 },
{ &hf_lpp_bt_MeasSupported_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_bt_MeasSupported_r13 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_BT_ProvideCapabilities_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -5166,7 +6104,7 @@ dissect_lpp_T_gnss_WeekOrDay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4095U, NULL, FALSE);
-#line 1385 "./asn1/lpp/lpp.cnf"
+#line 1418 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, " (days for glonass, weeks otherwise)");
@@ -5180,7 +6118,7 @@ dissect_lpp_T_gnss_Toe(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
-#line 1388 "./asn1/lpp/lpp.cnf"
+#line 1421 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, " (units of 15 mns for glonass, hours otherwise)");
@@ -5194,7 +6132,7 @@ dissect_lpp_T_t_toeLimit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 15U, NULL, FALSE);
-#line 1391 "./asn1/lpp/lpp.cnf"
+#line 1424 "./asn1/lpp/lpp.cnf"
proto_item_append_text(actx->created_item, " (units of 30 mns for glonass, hours otherwise)");
@@ -5644,8 +6582,51 @@ dissect_lpp_INTEGER_0_503(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
+
+static int
+dissect_lpp_T_adType_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 349 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *adType_tvb = NULL;
+ int len;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 8, FALSE, &adType_tvb, &len);
+
+ if(adType_tvb){
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap);
+ if (len >= 1) {
+ proto_tree_add_item(subtree, hf_lpp_T_adType_r14_prs, adType_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 2) {
+ proto_tree_add_item(subtree, hf_lpp_T_adType_r14_nprs, adType_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ }
+
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_RequestAssistanceData_eag_1_sequence[] = {
+ { &hf_lpp_adType_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_adType_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_RequestAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_RequestAssistanceData_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_RequestAssistanceData_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_RequestAssistanceData_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -5658,11 +6639,169 @@ dissect_lpp_OTDOA_RequestAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
+static const per_sequence_t Sensor_RequestAssistanceData_r14_sequence[] = {
+ { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_RequestAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_RequestAssistanceData_r14, Sensor_RequestAssistanceData_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t TBS_RequestAssistanceData_r14_sequence[] = {
+ { &hf_lpp_mbs_AlmanacAssistanceDataReq_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_mbs_AcquisitionAssistanceDataReq_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_RequestAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_TBS_RequestAssistanceData_r14, TBS_RequestAssistanceData_r14_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_T_requestedAD_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1955 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *requestedAD_tvb = NULL;
+ int len;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 8, FALSE, &requestedAD_tvb, &len);
+
+ if(requestedAD_tvb){
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap);
+ if (len >= 1) {
+ proto_tree_add_item(subtree, hf_lpp_T_requestedAD_r14_ap_identifier, requestedAD_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 2) {
+ proto_tree_add_item(subtree, hf_lpp_T_requestedAD_r14_ap_location, requestedAD_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 6, 6, FALSE, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_T_ssid_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1878 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *ssid_tvb = NULL;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
+ 1, 32, FALSE, &ssid_tvb);
+
+ actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_AP_Identifier_r13_sequence[] = {
+ { &hf_lpp_bssid_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OCTET_STRING_SIZE_6 },
+ { &hf_lpp_ssid_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_ssid_r13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_AP_Identifier_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_AP_Identifier_r13, WLAN_AP_Identifier_r13_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of[1] = {
+ { &hf_lpp_visibleAPs_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Identifier_r13 },
+};
+
+static int
+dissect_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13, SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of,
+ 1, maxVisibleAPs_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of[1] = {
+ { &hf_lpp_wlan_AP_StoredData_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Identifier_r13 },
+};
+
+static int
+dissect_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13, SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13_sequence_of,
+ 1, maxKnownAPs_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_RequestAssistanceData_r14_sequence[] = {
+ { &hf_lpp_requestedAD_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedAD_r14 },
+ { &hf_lpp_visibleAPs_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13 },
+ { &hf_lpp_wlan_AP_StoredData_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_RequestAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_RequestAssistanceData_r14, WLAN_RequestAssistanceData_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RequestAssistanceData_r9_IEs_eag_1_sequence[] = {
+ { &hf_lpp_sensor_RequestAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_RequestAssistanceData_r14 },
+ { &hf_lpp_tbs_RequestAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_RequestAssistanceData_r14 },
+ { &hf_lpp_wlan_RequestAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_RequestAssistanceData_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_RequestAssistanceData_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RequestAssistanceData_r9_IEs_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t RequestAssistanceData_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsRequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsRequestAssistanceData },
{ &hf_lpp_a_gnss_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_RequestAssistanceData },
{ &hf_lpp_otdoa_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_RequestAssistanceData },
{ &hf_lpp_epdu_RequestAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_RequestAssistanceData_r9_IEs_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -5790,7 +6929,7 @@ dissect_lpp_INTEGER_0_86399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_lpp_T_notificationOfLeapSecond(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 402 "./asn1/lpp/lpp.cnf"
+#line 435 "./asn1/lpp/lpp.cnf"
tvbuff_t *notificationOfLeapSecond_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &notificationOfLeapSecond_tvb, NULL);
@@ -5798,7 +6937,7 @@ dissect_lpp_T_notificationOfLeapSecond(tvbuff_t *tvb _U_, int offset _U_, asn1_c
-#line 406 "./asn1/lpp/lpp.cnf"
+#line 439 "./asn1/lpp/lpp.cnf"
if (notificationOfLeapSecond_tvb) {
guint bitvalue = tvb_get_bits8(notificationOfLeapSecond_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, notificationOfLeapSecond_tvb, 0, 1, bitvalue);
@@ -6261,10 +7400,87 @@ dissect_lpp_T_gSM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto
}
+
+static int
+dissect_lpp_ARFCN_ValueEUTRA_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxEARFCN2, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string lpp_CarrierFreqOffsetNB_r14_vals[] = {
+ { 0, "v-10" },
+ { 1, "v-9" },
+ { 2, "v-8" },
+ { 3, "v-7" },
+ { 4, "v-6" },
+ { 5, "v-5" },
+ { 6, "v-4" },
+ { 7, "v-3" },
+ { 8, "v-2" },
+ { 9, "v-1" },
+ { 10, "v-0dot5" },
+ { 11, "v0" },
+ { 12, "v1" },
+ { 13, "v2" },
+ { 14, "v3" },
+ { 15, "v4" },
+ { 16, "v5" },
+ { 17, "v6" },
+ { 18, "v7" },
+ { 19, "v8" },
+ { 20, "v9" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_CarrierFreqOffsetNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 21, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CarrierFreq_NB_r14_sequence[] = {
+ { &hf_lpp_carrierFreq_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_ARFCN_ValueEUTRA_r14 },
+ { &hf_lpp_carrierFreqOffset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_CarrierFreq_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_CarrierFreq_NB_r14, CarrierFreq_NB_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nBIoT_r14_sequence[] = {
+ { &hf_lpp_nbPhysCellId_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
+ { &hf_lpp_nbCellGlobalId_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
+ { &hf_lpp_nbCarrierFreq_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_CarrierFreq_NB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_T_nBIoT_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_nBIoT_r14, T_nBIoT_r14_sequence);
+
+ return offset;
+}
+
+
static const value_string lpp_T_cellID_vals[] = {
{ 0, "eUTRA" },
{ 1, "uTRA" },
{ 2, "gSM" },
+ { 3, "nBIoT-r14" },
{ 0, NULL }
};
@@ -6272,6 +7488,7 @@ static const per_choice_t T_cellID_choice[] = {
{ 0, &hf_lpp_eUTRA , ASN1_EXTENSION_ROOT , dissect_lpp_T_eUTRA },
{ 1, &hf_lpp_uTRA , ASN1_EXTENSION_ROOT , dissect_lpp_T_uTRA },
{ 2, &hf_lpp_gSM , ASN1_EXTENSION_ROOT , dissect_lpp_T_gSM },
+ { 3, &hf_lpp_nBIoT_r14 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_T_nBIoT_r14 },
{ 0, NULL, 0, NULL }
};
@@ -6475,7 +7692,7 @@ dissect_lpp_GNSS_ReferenceLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_lpp_T_dataID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 421 "./asn1/lpp/lpp.cnf"
+#line 454 "./asn1/lpp/lpp.cnf"
tvbuff_t *dataID_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &dataID_tvb, NULL);
@@ -6483,7 +7700,7 @@ dissect_lpp_T_dataID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
-#line 425 "./asn1/lpp/lpp.cnf"
+#line 458 "./asn1/lpp/lpp.cnf"
if (dataID_tvb) {
guint bitvalue = tvb_get_bits8(dataID_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, dataID_tvb, 0, 1, bitvalue);
@@ -7301,7 +8518,7 @@ dissect_lpp_INTEGER_M4194304_4194303(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 758 "./asn1/lpp/lpp.cnf"
+#line 791 "./asn1/lpp/lpp.cnf"
gint64 cnavMo;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
@@ -7310,7 +8527,7 @@ dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
-#line 763 "./asn1/lpp/lpp.cnf"
+#line 796 "./asn1/lpp/lpp.cnf"
PROTO_ITEM_SET_HIDDEN(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavMo, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
@@ -7324,7 +8541,7 @@ dissect_lpp_T_cnavMo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 769 "./asn1/lpp/lpp.cnf"
+#line 802 "./asn1/lpp/lpp.cnf"
guint64 cnavE;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
@@ -7333,7 +8550,7 @@ dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
-#line 774 "./asn1/lpp/lpp.cnf"
+#line 807 "./asn1/lpp/lpp.cnf"
PROTO_ITEM_SET_HIDDEN(actx->created_item);
actx->created_item = proto_tree_add_uint64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavE, "%g (%"G_GINT64_MODIFIER"u)",
@@ -7347,7 +8564,7 @@ dissect_lpp_T_cnavE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
static int
dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 780 "./asn1/lpp/lpp.cnf"
+#line 813 "./asn1/lpp/lpp.cnf"
gint64 cnavOmega;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
@@ -7356,7 +8573,7 @@ dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
-#line 785 "./asn1/lpp/lpp.cnf"
+#line 818 "./asn1/lpp/lpp.cnf"
PROTO_ITEM_SET_HIDDEN(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavOmega, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
@@ -7370,7 +8587,7 @@ dissect_lpp_T_cnavOmega(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 791 "./asn1/lpp/lpp.cnf"
+#line 824 "./asn1/lpp/lpp.cnf"
gint64 cnavOMEGA0;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
@@ -7379,7 +8596,7 @@ dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
-#line 796 "./asn1/lpp/lpp.cnf"
+#line 829 "./asn1/lpp/lpp.cnf"
PROTO_ITEM_SET_HIDDEN(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavOMEGA0, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
@@ -7393,7 +8610,7 @@ dissect_lpp_T_cnavOMEGA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_lpp_T_cnavIo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 805 "./asn1/lpp/lpp.cnf"
+#line 838 "./asn1/lpp/lpp.cnf"
gint64 cnavIo;
int curr_offset = offset;
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
@@ -7402,7 +8619,7 @@ dissect_lpp_T_cnavIo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
-#line 810 "./asn1/lpp/lpp.cnf"
+#line 843 "./asn1/lpp/lpp.cnf"
PROTO_ITEM_SET_HIDDEN(actx->created_item);
actx->created_item = proto_tree_add_int64_format_value(tree, hf_index, tvb, curr_offset>>3, (offset+7-curr_offset)>>3,
cnavIo, "%g semi-circles (%"G_GINT64_MODIFIER"d)",
@@ -7448,7 +8665,7 @@ dissect_lpp_NavModelCNAV_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
dissect_lpp_T_gloP1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 840 "./asn1/lpp/lpp.cnf"
+#line 873 "./asn1/lpp/lpp.cnf"
tvbuff_t *gloP1_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &gloP1_tvb, NULL);
@@ -7456,7 +8673,7 @@ dissect_lpp_T_gloP1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
-#line 844 "./asn1/lpp/lpp.cnf"
+#line 877 "./asn1/lpp/lpp.cnf"
if (gloP1_tvb) {
guint bitvalue = tvb_get_bits8(gloP1_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, gloP1_tvb, 0, 1, bitvalue);
@@ -7611,7 +8828,7 @@ dissect_lpp_GNSS_OrbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_lpp_T_svHealthExt_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 527 "./asn1/lpp/lpp.cnf"
+#line 560 "./asn1/lpp/lpp.cnf"
tvbuff_t *svHealthExt_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
@@ -7620,7 +8837,7 @@ dissect_lpp_T_svHealthExt_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
-#line 532 "./asn1/lpp/lpp.cnf"
+#line 565 "./asn1/lpp/lpp.cnf"
if (svHealthExt_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lpp_svHealthExt_v1240);
proto_tree_add_bits_item(subtree, hf_lpp_svHealthExt_v1240_e5bhs, svHealthExt_tvb, 0, 2, ENC_BIG_ENDIAN);
@@ -7916,7 +9133,7 @@ dissect_lpp_GNSS_AcquisitionAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static int
dissect_lpp_T_toa(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 997 "./asn1/lpp/lpp.cnf"
+#line 1030 "./asn1/lpp/lpp.cnf"
guint32 toa, val;
int len, old_offset = offset;
T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data);
@@ -7926,7 +9143,7 @@ dissect_lpp_T_toa(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto
-#line 1003 "./asn1/lpp/lpp.cnf"
+#line 1036 "./asn1/lpp/lpp.cnf"
len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1;
val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa : 4096*toa;
actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa, tvb, old_offset, len,
@@ -7940,7 +9157,7 @@ dissect_lpp_T_toa(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto
static int
dissect_lpp_T_kepSV_StatusINAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1030 "./asn1/lpp/lpp.cnf"
+#line 1063 "./asn1/lpp/lpp.cnf"
tvbuff_t *statusINAV_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
@@ -7949,7 +9166,7 @@ dissect_lpp_T_kepSV_StatusINAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
-#line 1035 "./asn1/lpp/lpp.cnf"
+#line 1068 "./asn1/lpp/lpp.cnf"
if (statusINAV_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusINAV);
proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusINAV_e5bhs, statusINAV_tvb, 0, 2, ENC_BIG_ENDIAN);
@@ -7964,7 +9181,7 @@ dissect_lpp_T_kepSV_StatusINAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_lpp_T_kepSV_StatusFNAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1042 "./asn1/lpp/lpp.cnf"
+#line 1075 "./asn1/lpp/lpp.cnf"
tvbuff_t *statusFNAV_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
@@ -7973,7 +9190,7 @@ dissect_lpp_T_kepSV_StatusFNAV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
-#line 1047 "./asn1/lpp/lpp.cnf"
+#line 1080 "./asn1/lpp/lpp.cnf"
if (statusFNAV_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_kepSV_StatusFNAV);
proto_tree_add_bits_item(subtree, hf_lpp_kepSV_StatusFNAV_e5ahs, statusFNAV_tvb, 0, 2, ENC_BIG_ENDIAN);
@@ -8191,7 +9408,7 @@ dissect_lpp_AlmanacECEF_SBAS_AlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
dissect_lpp_T_bdsSvHealth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1209 "./asn1/lpp/lpp.cnf"
+#line 1242 "./asn1/lpp/lpp.cnf"
tvbuff_t *bdsSvHealth_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
@@ -8200,7 +9417,7 @@ dissect_lpp_T_bdsSvHealth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
-#line 1214 "./asn1/lpp/lpp.cnf"
+#line 1247 "./asn1/lpp/lpp.cnf"
if (bdsSvHealth_tvb) {
guint16 bits;
subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bdsSvHealth_r12);
@@ -8298,7 +9515,7 @@ dissect_lpp_GNSS_AlmanacList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_lpp_T_toa_ext_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1009 "./asn1/lpp/lpp.cnf"
+#line 1042 "./asn1/lpp/lpp.cnf"
guint32 toa_ext, val;
int len, old_offset = offset;
T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data);
@@ -8308,7 +9525,7 @@ dissect_lpp_T_toa_ext_v1240(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
-#line 1015 "./asn1/lpp/lpp.cnf"
+#line 1048 "./asn1/lpp/lpp.cnf"
len = (offset-old_offset) >> 3 ? (offset-old_offset) >> 3 : 1;
val = (gnss_id == T_GNSS_ID_GALILEO) ? 600*toa_ext : 4096*toa_ext;
actx->created_item = proto_tree_add_uint_format_value(tree, hf_lpp_toa_ext_v1240, tvb, old_offset, len,
@@ -8386,7 +9603,7 @@ dissect_lpp_UTC_ModelSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_lpp_T_utcDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1278 "./asn1/lpp/lpp.cnf"
+#line 1311 "./asn1/lpp/lpp.cnf"
tvbuff_t *utcDN_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
4, 4, FALSE, &utcDN_tvb, NULL);
@@ -8394,7 +9611,7 @@ dissect_lpp_T_utcDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
-#line 1282 "./asn1/lpp/lpp.cnf"
+#line 1315 "./asn1/lpp/lpp.cnf"
if (utcDN_tvb) {
guint bitvalue = tvb_get_bits8(utcDN_tvb, 0, 4);
actx->created_item = proto_tree_add_uint(tree, hf_index, utcDN_tvb, 0, 1, bitvalue);
@@ -8430,7 +9647,7 @@ dissect_lpp_UTC_ModelSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_lpp_T_kp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1306 "./asn1/lpp/lpp.cnf"
+#line 1339 "./asn1/lpp/lpp.cnf"
tvbuff_t *kp_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &kp_tvb, NULL);
@@ -8438,7 +9655,7 @@ dissect_lpp_T_kp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_
-#line 1310 "./asn1/lpp/lpp.cnf"
+#line 1343 "./asn1/lpp/lpp.cnf"
if (kp_tvb) {
guint bitvalue = tvb_get_bits8(kp_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, kp_tvb, 0, 1, bitvalue);
@@ -8982,6 +10199,7 @@ static const value_string lpp_T_numDL_Frames_vals[] = {
{ 1, "sf-2" },
{ 2, "sf-4" },
{ 3, "sf-6" },
+ { 4, "sf-add-v1420" },
{ 0, NULL }
};
@@ -8989,7 +10207,47 @@ static const value_string lpp_T_numDL_Frames_vals[] = {
static int
dissect_lpp_T_numDL_Frames(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, TRUE, 0, NULL);
+ 4, NULL, TRUE, 1, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 128, 128, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 256, 256, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 512, 512, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1024, 1024, FALSE, NULL, NULL);
return offset;
}
@@ -9000,6 +10258,12 @@ static const value_string lpp_T_prs_MutingInfo_r9_vals[] = {
{ 1, "po4-r9" },
{ 2, "po8-r9" },
{ 3, "po16-r9" },
+ { 4, "po32-v1420" },
+ { 5, "po64-v1420" },
+ { 6, "po128-v1420" },
+ { 7, "po256-v1420" },
+ { 8, "po512-v1420" },
+ { 9, "po1024-v1420" },
{ 0, NULL }
};
@@ -9008,6 +10272,12 @@ static const per_choice_t T_prs_MutingInfo_r9_choice[] = {
{ 1, &hf_lpp_po4_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
{ 2, &hf_lpp_po8_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
{ 3, &hf_lpp_po16_r9 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
+ { 4, &hf_lpp_po32_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_32 },
+ { 5, &hf_lpp_po64_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_64 },
+ { 6, &hf_lpp_po128_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_128 },
+ { 7, &hf_lpp_po256_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_256 },
+ { 8, &hf_lpp_po512_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_512 },
+ { 9, &hf_lpp_po1024_v1420 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_BIT_STRING_SIZE_1024 },
{ 0, NULL, 0, NULL }
};
@@ -9021,11 +10291,115 @@ dissect_lpp_T_prs_MutingInfo_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
+
+static int
+dissect_lpp_INTEGER_1_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 160U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_prsOccGroupLen_r14_vals[] = {
+ { 0, "g2" },
+ { 1, "g4" },
+ { 2, "g8" },
+ { 3, "g16" },
+ { 4, "g32" },
+ { 5, "g64" },
+ { 6, "g128" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_prsOccGroupLen_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 7, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_0_maxAvailNarrowBands_Minus1_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, maxAvailNarrowBands_Minus1_r14, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_1_maxAvailNarrowBands_Minus1_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, maxAvailNarrowBands_Minus1_r14, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_nb4_r14_sequence_of[1] = {
+ { &hf_lpp_nb4_r14_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_maxAvailNarrowBands_Minus1_r14 },
+};
+
+static int
+dissect_lpp_T_nb4_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_nb4_r14, T_nb4_r14_sequence_of,
+ 3, 3, FALSE);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_prsHoppingInfo_r14_vals[] = {
+ { 0, "nb2-r14" },
+ { 1, "nb4-r14" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_prsHoppingInfo_r14_choice[] = {
+ { 0, &hf_lpp_nb2_r14 , ASN1_NO_EXTENSIONS , dissect_lpp_INTEGER_0_maxAvailNarrowBands_Minus1_r14 },
+ { 1, &hf_lpp_nb4_r14 , ASN1_NO_EXTENSIONS , dissect_lpp_T_nb4_r14 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_lpp_T_prsHoppingInfo_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_prsHoppingInfo_r14, T_prsHoppingInfo_r14_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t PRS_Info_eag_1_sequence[] = {
+ { &hf_lpp_prsID_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_add_numDL_Frames_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_160 },
+ { &hf_lpp_prsOccGroupLen_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prsOccGroupLen_r14 },
+ { &hf_lpp_prsHoppingInfo_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prsHoppingInfo_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_PRS_Info_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PRS_Info_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t PRS_Info_sequence[] = {
{ &hf_lpp_prs_Bandwidth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_prs_Bandwidth },
{ &hf_lpp_prs_ConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_4095 },
{ &hf_lpp_numDL_Frames , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_numDL_Frames },
{ &hf_lpp_prs_MutingInfo_r9, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lpp_T_prs_MutingInfo_r9 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_PRS_Info_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9051,6 +10425,73 @@ dissect_lpp_OTDOA_ReferenceCellInfo_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn
}
+static const value_string lpp_T_cpLengthCRS_r14_vals[] = {
+ { 0, "normal" },
+ { 1, "extended" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cpLengthCRS_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_dlBandwidth_r14_vals[] = {
+ { 0, "n6" },
+ { 1, "n15" },
+ { 2, "n25" },
+ { 3, "n50" },
+ { 4, "n75" },
+ { 5, "n100" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_dlBandwidth_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info_sequence_of[1] = {
+ { &hf_lpp_addPRSconfigRef_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_PRS_Info },
+};
+
+static int
+dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info, SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info_sequence_of,
+ 1, maxAddPRSconfig_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_ReferenceCellInfo_eag_2_sequence[] = {
+ { &hf_lpp_tpId_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_cpLengthCRS_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_cpLengthCRS_r14 },
+ { &hf_lpp_sameMBSFNconfigRef_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
+ { &hf_lpp_dlBandwidth_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dlBandwidth_r14 },
+ { &hf_lpp_addPRSconfigRef_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_ReferenceCellInfo_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ReferenceCellInfo_eag_2_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_ReferenceCellInfo_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
@@ -9059,6 +10500,7 @@ static const per_sequence_t OTDOA_ReferenceCellInfo_sequence[] = {
{ &hf_lpp_cpLength , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cpLength },
{ &hf_lpp_prsInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo_eag_1 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ReferenceCellInfo_eag_2 },
{ NULL, 0, 0, NULL }
};
@@ -9136,6 +10578,103 @@ dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_1(tvbuff_t *tvb _U_, int offset _
}
+static const value_string lpp_T_prs_only_tp_r14_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_prs_only_tp_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_cpLengthCRS_r14_01_vals[] = {
+ { 0, "normal" },
+ { 1, "extended" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cpLengthCRS_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_dlBandwidth_r14_01_vals[] = {
+ { 0, "n6" },
+ { 1, "n15" },
+ { 2, "n25" },
+ { 3, "n50" },
+ { 4, "n75" },
+ { 5, "n100" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_dlBandwidth_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 6, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Add_PRSconfigNeighbourElement_r14_sequence[] = {
+ { &hf_lpp_add_prsInfo_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_Add_PRSconfigNeighbourElement_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Add_PRSconfigNeighbourElement_r14, Add_PRSconfigNeighbourElement_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14_sequence_of[1] = {
+ { &hf_lpp_addPRSconfigNeighbour_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_Add_PRSconfigNeighbourElement_r14 },
+};
+
+static int
+dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14, SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14_sequence_of,
+ 1, maxAddPRSconfig_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_NeighbourCellInfoElement_eag_2_sequence[] = {
+ { &hf_lpp_tpId_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_prs_only_tp_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_prs_only_tp_r14 },
+ { &hf_lpp_cpLengthCRS_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_cpLengthCRS_r14_01 },
+ { &hf_lpp_sameMBSFNconfigNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
+ { &hf_lpp_dlBandwidth_r14_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_dlBandwidth_r14_01 },
+ { &hf_lpp_addPRSconfigNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_NeighbourCellInfoElement_eag_2_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_NeighbourCellInfoElement_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
@@ -9148,6 +10687,7 @@ static const per_sequence_t OTDOA_NeighbourCellInfoElement_sequence[] = {
{ &hf_lpp_expectedRSTD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_16383 },
{ &hf_lpp_expectedRSTD_Uncertainty, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1023 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_1 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoElement_eag_2 },
{ NULL, 0, 0, NULL }
};
@@ -9274,10 +10814,408 @@ dissect_lpp_OTDOA_Error(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
+static const value_string lpp_T_eutra_NumCRS_Ports_r14_vals[] = {
+ { 0, "ports1-or-2" },
+ { 1, "ports4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_eutra_NumCRS_Ports_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_otdoa_SIB1_NB_repetitions_r14_vals[] = {
+ { 0, "r4" },
+ { 1, "r8" },
+ { 2, "r16" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_operationModeInfoNPRS_r14_vals[] = {
+ { 0, "inband" },
+ { 1, "standalone" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_operationModeInfoNPRS_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_0_174(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 174U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 10, 10, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 40, 40, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_nprsBitmap_r14_vals[] = {
+ { 0, "subframePattern10-r14" },
+ { 1, "subframePattern40-r14" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_nprsBitmap_r14_choice[] = {
+ { 0, &hf_lpp_subframePattern10_r14, ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_10 },
+ { 1, &hf_lpp_subframePattern40_r14, ASN1_NO_EXTENSIONS , dissect_lpp_BIT_STRING_SIZE_40 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_lpp_T_nprsBitmap_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_nprsBitmap_r14, T_nprsBitmap_r14_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_nprs_MutingInfoA_r14_vals[] = {
+ { 0, "po2-r14" },
+ { 1, "po4-r14" },
+ { 2, "po8-r14" },
+ { 3, "po16-r14" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_nprs_MutingInfoA_r14_choice[] = {
+ { 0, &hf_lpp_po2_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
+ { 1, &hf_lpp_po4_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
+ { 2, &hf_lpp_po8_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
+ { 3, &hf_lpp_po16_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_lpp_T_nprs_MutingInfoA_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_nprs_MutingInfoA_r14, T_nprs_MutingInfoA_r14_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_partA_r14_sequence[] = {
+ { &hf_lpp_nprsBitmap_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprsBitmap_r14 },
+ { &hf_lpp_nprs_MutingInfoA_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nprs_MutingInfoA_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_T_partA_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_partA_r14, T_partA_r14_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_nprs_Period_r14_vals[] = {
+ { 0, "ms160" },
+ { 1, "ms320" },
+ { 2, "ms640" },
+ { 3, "ms1280" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_nprs_Period_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_nprs_startSF_r14_vals[] = {
+ { 0, "zero" },
+ { 1, "one-eighth" },
+ { 2, "two-eighths" },
+ { 3, "three-eighths" },
+ { 4, "four-eighths" },
+ { 5, "five-eighths" },
+ { 6, "six-eighths" },
+ { 7, "seven-eighths" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_nprs_startSF_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_nprs_NumSF_r14_vals[] = {
+ { 0, "sf10" },
+ { 1, "sf20" },
+ { 2, "sf40" },
+ { 3, "sf80" },
+ { 4, "sf160" },
+ { 5, "sf320" },
+ { 6, "sf640" },
+ { 7, "sf1280" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_nprs_NumSF_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 8, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_nprs_MutingInfoB_r14_vals[] = {
+ { 0, "po2-r14" },
+ { 1, "po4-r14" },
+ { 2, "po8-r14" },
+ { 3, "po16-r14" },
+ { 0, NULL }
+};
+
+static const per_choice_t T_nprs_MutingInfoB_r14_choice[] = {
+ { 0, &hf_lpp_po2_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_2 },
+ { 1, &hf_lpp_po4_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_4 },
+ { 2, &hf_lpp_po8_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_8 },
+ { 3, &hf_lpp_po16_r14 , ASN1_EXTENSION_ROOT , dissect_lpp_BIT_STRING_SIZE_16 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_lpp_T_nprs_MutingInfoB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_nprs_MutingInfoB_r14, T_nprs_MutingInfoB_r14_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t T_partB_r14_sequence[] = {
+ { &hf_lpp_nprs_Period_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprs_Period_r14 },
+ { &hf_lpp_nprs_startSF_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprs_startSF_r14 },
+ { &hf_lpp_nprs_NumSF_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_nprs_NumSF_r14 },
+ { &hf_lpp_nprs_MutingInfoB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_nprs_MutingInfoB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_T_partB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_partB_r14, T_partB_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NPRS_Info_r14_sequence[] = {
+ { &hf_lpp_operationModeInfoNPRS_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_operationModeInfoNPRS_r14 },
+ { &hf_lpp_nprs_carrier_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreq_NB_r14 },
+ { &hf_lpp_nprsSequenceInfo_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_174 },
+ { &hf_lpp_nprsID_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_partA_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_partA_r14 },
+ { &hf_lpp_partB_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_partB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_NPRS_Info_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_NPRS_Info_r14, NPRS_Info_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PRS_Info_NB_r14_sequence_of[1] = {
+ { &hf_lpp_PRS_Info_NB_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NPRS_Info_r14 },
+};
+
+static int
+dissect_lpp_PRS_Info_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_PRS_Info_NB_r14, PRS_Info_NB_r14_sequence_of,
+ 1, maxCarrier_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_ReferenceCellInfoNB_r14_sequence[] = {
+ { &hf_lpp_physCellIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_503 },
+ { &hf_lpp_cellGlobalIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
+ { &hf_lpp_carrierFreqRef_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreq_NB_r14 },
+ { &hf_lpp_earfcn_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
+ { &hf_lpp_eutra_NumCRS_Ports_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_eutra_NumCRS_Ports_r14 },
+ { &hf_lpp_otdoa_SIB1_NB_repetitions_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14 },
+ { &hf_lpp_nprsInfo_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info_NB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_ReferenceCellInfoNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_OTDOA_ReferenceCellInfoNB_r14, OTDOA_ReferenceCellInfoNB_r14_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_eutra_NumCRS_Ports_r14_01_vals[] = {
+ { 0, "ports-1-or-2" },
+ { 1, "ports-4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_eutra_NumCRS_Ports_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_otdoa_SIB1_NB_repetitions_r14_01_vals[] = {
+ { 0, "r4" },
+ { 1, "r8" },
+ { 2, "r16" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_1_72(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 72U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_NeighbourCellInfoNB_r14_sequence[] = {
+ { &hf_lpp_physCellIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_503 },
+ { &hf_lpp_cellGlobalIdNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
+ { &hf_lpp_carrierFreq_r14_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreq_NB_r14 },
+ { &hf_lpp_earfcn_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
+ { &hf_lpp_eutra_NumCRS_Ports_r14_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_eutra_NumCRS_Ports_r14_01 },
+ { &hf_lpp_otdoa_SIB1_NB_repetitions_r14_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_otdoa_SIB1_NB_repetitions_r14_01 },
+ { &hf_lpp_nprsInfo_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_PRS_Info_NB_r14 },
+ { &hf_lpp_nprs_slotNumberOffset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_19 },
+ { &hf_lpp_nprs_SFN_Offset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_63 },
+ { &hf_lpp_nprs_SubframeOffset_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1279 },
+ { &hf_lpp_expectedRSTD_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_16383 },
+ { &hf_lpp_expectedRSTD_Uncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_1023 },
+ { &hf_lpp_prsNeighbourCellIndex_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_72 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_NeighbourCellInfoNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_OTDOA_NeighbourCellInfoNB_r14, OTDOA_NeighbourCellInfoNB_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_NeighbourCellInfoListNB_r14_sequence_of[1] = {
+ { &hf_lpp_OTDOA_NeighbourCellInfoListNB_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_NeighbourCellInfoNB_r14 },
+};
+
+static int
+dissect_lpp_OTDOA_NeighbourCellInfoListNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_OTDOA_NeighbourCellInfoListNB_r14, OTDOA_NeighbourCellInfoListNB_r14_sequence_of,
+ 1, maxCells_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_ProvideAssistanceData_eag_1_sequence[] = {
+ { &hf_lpp_otdoa_ReferenceCellInfoNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_OTDOA_ReferenceCellInfoNB_r14 },
+ { &hf_lpp_otdoa_NeighbourCellInfoNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_OTDOA_NeighbourCellInfoListNB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_ProvideAssistanceData_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ProvideAssistanceData_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_ProvideAssistanceData_sequence[] = {
{ &hf_lpp_otdoa_ReferenceCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ReferenceCellInfo },
{ &hf_lpp_otdoa_NeighbourCellInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_NeighbourCellInfoList },
{ &hf_lpp_otdoa_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_Error },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ProvideAssistanceData_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9290,11 +11228,727 @@ dissect_lpp_OTDOA_ProvideAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
+
+static int
+dissect_lpp_INTEGER_M20000_10000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -20000, 10000U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t Sensor_AssistanceDataList_r14_sequence[] = {
+ { &hf_lpp_refPressure_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M20000_10000 },
+ { &hf_lpp_refPosition_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid },
+ { &hf_lpp_refTemperature_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_M64_63 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_AssistanceDataList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_AssistanceDataList_r14, Sensor_AssistanceDataList_r14_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_cause_r13_02_vals[] = {
+ { 0, "undefined" },
+ { 1, "assistanceDataNotSupportedByServer-v1420" },
+ { 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cause_r13_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 2, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Sensor_LocationServerErrorCauses_r13_sequence[] = {
+ { &hf_lpp_cause_r13_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_02 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_LocationServerErrorCauses_r13, Sensor_LocationServerErrorCauses_r13_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_cause_r13_03_vals[] = {
+ { 0, "undefined" },
+ { 1, "assistanceDataMissing-v1420" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cause_r13_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 1, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Sensor_TargetDeviceErrorCauses_r13_sequence[] = {
+ { &hf_lpp_cause_r13_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_03 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_TargetDeviceErrorCauses_r13, Sensor_TargetDeviceErrorCauses_r13_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_Sensor_Error_r13_vals[] = {
+ { 0, "locationServerErrorCauses-r13" },
+ { 1, "targetDeviceErrorCauses-r13" },
+ { 0, NULL }
+};
+
+static const per_choice_t Sensor_Error_r13_choice[] = {
+ { 0, &hf_lpp_locationServerErrorCauses_r13_01, ASN1_EXTENSION_ROOT , dissect_lpp_Sensor_LocationServerErrorCauses_r13 },
+ { 1, &hf_lpp_targetDeviceErrorCauses_r13_01, ASN1_EXTENSION_ROOT , dissect_lpp_Sensor_TargetDeviceErrorCauses_r13 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_Error_r13, Sensor_Error_r13_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Sensor_ProvideAssistanceData_r14_sequence[] = {
+ { &hf_lpp_sensor_AssistanceDataList_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_AssistanceDataList_r14 },
+ { &hf_lpp_sensor_Error_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_Error_r13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_ProvideAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_ProvideAssistanceData_r14, Sensor_ProvideAssistanceData_r14_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_T_transmitterLatitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1804 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *transmitterLatitude_tvb = NULL;
+ guint32 val;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 26, 26, FALSE, &transmitterLatitude_tvb, NULL);
+
+ val = tvb_get_bits32(transmitterLatitude_tvb, 0, 26, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterLatitude_tvb, 0, 4, val);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_T_transmitterLongitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1815 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *transmitterLongitude_tvb = NULL;
+ guint32 val;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 27, 27, FALSE, &transmitterLongitude_tvb, NULL);
+
+ val = tvb_get_bits32(transmitterLongitude_tvb, 0, 27, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterLongitude_tvb, 0, 4, val);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_T_transmitterAltitude_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1826 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *transmitterAltitude_tvb = NULL;
+ guint32 val;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
+ 15, 15, FALSE, &transmitterAltitude_tvb, NULL);
+
+ val = tvb_get_bits16(transmitterAltitude_tvb, 0, 15, ENC_BIG_ENDIAN);
+ actx->created_item = proto_tree_add_uint(tree, hf_index, transmitterAltitude_tvb, 0, 2, val);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_0_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 25U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBS_AlmanacAssistance_r14_sequence[] = {
+ { &hf_lpp_transmitterID_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
+ { &hf_lpp_transmitterLatitude_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_transmitterLatitude_r14 },
+ { &hf_lpp_transmitterLongitude_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_transmitterLongitude_r14 },
+ { &hf_lpp_transmitterAltitude_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_transmitterAltitude_r14 },
+ { &hf_lpp_timeCorrection_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_25 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_MBS_AlmanacAssistance_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_MBS_AlmanacAssistance_r14, MBS_AlmanacAssistance_r14_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_mbsConfiguration_r14_vals[] = {
+ { 0, "tb1" },
+ { 1, "tb2" },
+ { 2, "tb3" },
+ { 3, "tb4" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_mbsConfiguration_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 128U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_919750000_927250000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 919750000U, 927250000U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBS_AcquisitionAssistance_r14_sequence[] = {
+ { &hf_lpp_transmitterID_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_32767 },
+ { &hf_lpp_mbsConfiguration_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_mbsConfiguration_r14 },
+ { &hf_lpp_pnCodeIndex_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_128 },
+ { &hf_lpp_freq_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_919750000_927250000 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_MBS_AcquisitionAssistance_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_MBS_AcquisitionAssistance_r14, MBS_AcquisitionAssistance_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBS_AssistanceDataElement_r14_sequence[] = {
+ { &hf_lpp_mbs_AlmanacAssistance_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MBS_AlmanacAssistance_r14 },
+ { &hf_lpp_mbs_AcquisitionAssistance_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MBS_AcquisitionAssistance_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_MBS_AssistanceDataElement_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_MBS_AssistanceDataElement_r14, MBS_AssistanceDataElement_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBS_AssistanceDataList_r14_sequence_of[1] = {
+ { &hf_lpp_MBS_AssistanceDataList_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_MBS_AssistanceDataElement_r14 },
+};
+
+static int
+dissect_lpp_MBS_AssistanceDataList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_MBS_AssistanceDataList_r14, MBS_AssistanceDataList_r14_sequence_of,
+ 1, maxMBS_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t TBS_AssistanceDataList_r14_sequence[] = {
+ { &hf_lpp_mbs_AssistanceDataList_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_MBS_AssistanceDataList_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_AssistanceDataList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_TBS_AssistanceDataList_r14, TBS_AssistanceDataList_r14_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_cause_r13_vals[] = {
+ { 0, "undefined" },
+ { 1, "assistanceDataNotSupportedByServer-v1420" },
+ { 2, "assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cause_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 2, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TBS_LocationServerErrorCauses_r13_sequence[] = {
+ { &hf_lpp_cause_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_TBS_LocationServerErrorCauses_r13, TBS_LocationServerErrorCauses_r13_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_cause_r13_01_vals[] = {
+ { 0, "undefined" },
+ { 1, "thereWereNotEnoughMBSBeaconsReceived" },
+ { 2, "assistanceDataMissing-v1420" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cause_r13_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 1, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TBS_TargetDeviceErrorCauses_r13_sequence[] = {
+ { &hf_lpp_cause_r13_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_01 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_TBS_TargetDeviceErrorCauses_r13, TBS_TargetDeviceErrorCauses_r13_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_TBS_Error_r13_vals[] = {
+ { 0, "locationServerErrorCauses-r13" },
+ { 1, "targetDeviceErrorCauses-r13" },
+ { 0, NULL }
+};
+
+static const per_choice_t TBS_Error_r13_choice[] = {
+ { 0, &hf_lpp_locationServerErrorCauses_r13, ASN1_EXTENSION_ROOT , dissect_lpp_TBS_LocationServerErrorCauses_r13 },
+ { 1, &hf_lpp_targetDeviceErrorCauses_r13, ASN1_EXTENSION_ROOT , dissect_lpp_TBS_TargetDeviceErrorCauses_r13 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_lpp_TBS_Error_r13, TBS_Error_r13_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TBS_ProvideAssistanceData_r14_sequence[] = {
+ { &hf_lpp_tbs_AssistanceDataList_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_AssistanceDataList_r14 },
+ { &hf_lpp_tbs_Error_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_Error_r13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_ProvideAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_TBS_ProvideAssistanceData_r14, TBS_ProvideAssistanceData_r14_sequence);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 6, 6, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 34, 34, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_BIT_STRING_SIZE_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 30, 30, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t LocationDataLCI_r14_sequence[] = {
+ { &hf_lpp_latitudeUncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_6 },
+ { &hf_lpp_latitude_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_34 },
+ { &hf_lpp_longitudeUncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_6 },
+ { &hf_lpp_longitude_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_34 },
+ { &hf_lpp_altitudeUncertainty_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_6 },
+ { &hf_lpp_altitude_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_30 },
+ { &hf_lpp_datum_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_8 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_LocationDataLCI_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_LocationDataLCI_r14, LocationDataLCI_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_AP_Location_r14_sequence[] = {
+ { &hf_lpp_locationDataLCI_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LocationDataLCI_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_AP_Location_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_AP_Location_r14, WLAN_AP_Location_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_AP_Data_r14_sequence[] = {
+ { &hf_lpp_wlan_AP_Identifier_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Identifier_r13 },
+ { &hf_lpp_wlan_AP_Location_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_AP_Location_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_AP_Data_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_AP_Data_r14, WLAN_AP_Data_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14_sequence_of[1] = {
+ { &hf_lpp_wlan_AP_List_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_AP_Data_r14 },
+};
+
+static int
+dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14, SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14_sequence_of,
+ 1, maxWLAN_AP_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t SupportedChannels_11a_r14_sequence[] = {
+ { &hf_lpp_ch34_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch36_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch38_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch40_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch42_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch44_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch46_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch48_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch52_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch56_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch60_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch64_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch149_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch153_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch157_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch161_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_SupportedChannels_11a_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SupportedChannels_11a_r14, SupportedChannels_11a_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SupportedChannels_11bg_r14_sequence[] = {
+ { &hf_lpp_ch1_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch2_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch3_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch4_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch5_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch6_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch7_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch8_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch9_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch10_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch11_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch12_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch13_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &hf_lpp_ch14_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_SupportedChannels_11bg_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SupportedChannels_11bg_r14, SupportedChannels_11bg_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_DataSet_r14_sequence[] = {
+ { &hf_lpp_wlan_AP_List_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14 },
+ { &hf_lpp_supportedChannels_11a_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SupportedChannels_11a_r14 },
+ { &hf_lpp_supportedChannels_11bg_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SupportedChannels_11bg_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_DataSet_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_DataSet_r14, WLAN_DataSet_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14_sequence_of[1] = {
+ { &hf_lpp_wlan_DataSet_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_DataSet_r14 },
+};
+
+static int
+dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14, SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14_sequence_of,
+ 1, maxWLAN_DataSets_r14, FALSE);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_cause_r13_04_vals[] = {
+ { 0, "undefined" },
+ { 1, "requestedADNotAvailable-v1420" },
+ { 2, "notAllrequestedADAvailable-v1420" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cause_r13_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 2, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_LocationServerErrorCauses_r13_eag_1_sequence[] = {
+ { &hf_lpp_apLocationDataUnavailable_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NULL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_LocationServerErrorCauses_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, WLAN_LocationServerErrorCauses_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_LocationServerErrorCauses_r13_sequence[] = {
+ { &hf_lpp_cause_r13_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_04 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_LocationServerErrorCauses_r13_eag_1 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_LocationServerErrorCauses_r13, WLAN_LocationServerErrorCauses_r13_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_T_cause_r13_05_vals[] = {
+ { 0, "undefined" },
+ { 1, "requestedMeasurementsNotAvailable" },
+ { 2, "notAllrequestedMeasurementsPossible" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_cause_r13_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_TargetDeviceErrorCauses_r13_sequence[] = {
+ { &hf_lpp_cause_r13_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_05 },
+ { &hf_lpp_wlan_AP_RSSI_MeasurementNotPossible_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
+ { &hf_lpp_wlan_AP_RTT_MeasurementNotPossible_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_TargetDeviceErrorCauses_r13, WLAN_TargetDeviceErrorCauses_r13_sequence);
+
+ return offset;
+}
+
+
+static const value_string lpp_WLAN_Error_r13_vals[] = {
+ { 0, "locationServerErrorCauses-r13" },
+ { 1, "targetDeviceErrorCauses-r13" },
+ { 0, NULL }
+};
+
+static const per_choice_t WLAN_Error_r13_choice[] = {
+ { 0, &hf_lpp_locationServerErrorCauses_r13_02, ASN1_EXTENSION_ROOT , dissect_lpp_WLAN_LocationServerErrorCauses_r13 },
+ { 1, &hf_lpp_targetDeviceErrorCauses_r13_02, ASN1_EXTENSION_ROOT , dissect_lpp_WLAN_TargetDeviceErrorCauses_r13 },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_Error_r13, WLAN_Error_r13_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t WLAN_ProvideAssistanceData_r14_sequence[] = {
+ { &hf_lpp_wlan_DataSet_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14 },
+ { &hf_lpp_wlan_Error_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_Error_r13 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_ProvideAssistanceData_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_WLAN_ProvideAssistanceData_r14, WLAN_ProvideAssistanceData_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ProvideAssistanceData_r9_IEs_eag_1_sequence[] = {
+ { &hf_lpp_sensor_ProvideAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_Sensor_ProvideAssistanceData_r14 },
+ { &hf_lpp_tbs_ProvideAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_TBS_ProvideAssistanceData_r14 },
+ { &hf_lpp_wlan_ProvideAssistanceData_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_WLAN_ProvideAssistanceData_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_ProvideAssistanceData_r9_IEs_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ProvideAssistanceData_r9_IEs_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t ProvideAssistanceData_r9_IEs_sequence[] = {
{ &hf_lpp_commonIEsProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CommonIEsProvideAssistanceData },
{ &hf_lpp_a_gnss_ProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_A_GNSS_ProvideAssistanceData },
{ &hf_lpp_otdoa_ProvideAssistanceData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_ProvideAssistanceData },
{ &hf_lpp_epdu_Provide_Assistance_Data, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_EPDU_Sequence },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ProvideAssistanceData_r9_IEs_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9407,7 +12061,7 @@ dissect_lpp_LocationInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_lpp_ReportingDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 279 "./asn1/lpp/lpp.cnf"
+#line 282 "./asn1/lpp/lpp.cnf"
guint32 duration;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -9477,7 +12131,7 @@ static const value_string lpp_T_reportingInterval_vals[] = {
static int
dissect_lpp_T_reportingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 267 "./asn1/lpp/lpp.cnf"
+#line 270 "./asn1/lpp/lpp.cnf"
guint32 idx;
const gchar *interval[10] = {"", ": 1s", ": 2s", ": 4s", ": 8s", ": 10s",
": 16s", ": 20s", ": 32s", ": 64s"};
@@ -9488,7 +12142,7 @@ dissect_lpp_T_reportingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
-#line 274 "./asn1/lpp/lpp.cnf"
+#line 277 "./asn1/lpp/lpp.cnf"
if (idx < 10) {
proto_item_append_text(actx->created_item, "%s", interval[idx]);
}
@@ -9559,16 +12213,6 @@ dissect_lpp_VerticalAccuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-
-static int
-dissect_lpp_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 128U, NULL, FALSE);
-
- return offset;
-}
-
-
static const per_sequence_t ResponseTime_eag_1_sequence[] = {
{ &hf_lpp_responseTimeEarlyFix_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_128 },
{ NULL, 0, 0, NULL }
@@ -9597,12 +12241,51 @@ dissect_lpp_ResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
+
+static int
+dissect_lpp_INTEGER_1_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 512U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t ResponseTimeNB_r14_sequence[] = {
+ { &hf_lpp_timeNB_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_512 },
+ { &hf_lpp_responseTimeEarlyFixNB_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_512 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_ResponseTimeNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_ResponseTimeNB_r14, ResponseTimeNB_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QoS_eag_1_sequence[] = {
+ { &hf_lpp_responseTimeNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_ResponseTimeNB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_QoS_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QoS_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t QoS_sequence[] = {
{ &hf_lpp_horizontalAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_HorizontalAccuracy },
{ &hf_lpp_verticalCoordinateRequest, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
{ &hf_lpp_verticalAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VerticalAccuracy },
{ &hf_lpp_responseTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ResponseTime },
{ &hf_lpp_velocityRequest , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_QoS_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9632,6 +12315,33 @@ dissect_lpp_Environment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
+static const per_sequence_t MessageSizeLimitNB_r14_sequence[] = {
+ { &hf_lpp_measurementLimit_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_512 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_MessageSizeLimitNB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_MessageSizeLimitNB_r14, MessageSizeLimitNB_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CommonIEsRequestLocationInformation_eag_1_sequence[] = {
+ { &hf_lpp_messageSizeLimitNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_MessageSizeLimitNB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_CommonIEsRequestLocationInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CommonIEsRequestLocationInformation_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t CommonIEsRequestLocationInformation_sequence[] = {
{ &hf_lpp_locationInformationType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_LocationInformationType },
{ &hf_lpp_triggeredReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TriggeredReportingCriteria },
@@ -9641,6 +12351,7 @@ static const per_sequence_t CommonIEsRequestLocationInformation_sequence[] = {
{ &hf_lpp_environment , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Environment },
{ &hf_lpp_locationCoordinateTypes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_LocationCoordinateTypes },
{ &hf_lpp_velocityTypes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_VelocityTypes },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_CommonIEsRequestLocationInformation_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9685,8 +12396,48 @@ dissect_lpp_A_GNSS_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_,
}
+static const value_string lpp_T_multipathRSTD_r14_vals[] = {
+ { 0, "requested" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_lpp_T_multipathRSTD_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 32U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_RequestLocationInformation_eag_1_sequence[] = {
+ { &hf_lpp_multipathRSTD_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_multipathRSTD_r14 },
+ { &hf_lpp_maxNoOfRSTDmeas_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_1_32 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_RequestLocationInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_RequestLocationInformation_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_RequestLocationInformation_sequence[] = {
{ &hf_lpp_assistanceAvailability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_RequestLocationInformation_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9702,7 +12453,7 @@ dissect_lpp_OTDOA_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_lpp_T_requestedMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1638 "./asn1/lpp/lpp.cnf"
+#line 1677 "./asn1/lpp/lpp.cnf"
tvbuff_t *requestedMeasurements_tvb = NULL;
int len;
@@ -9722,6 +12473,12 @@ dissect_lpp_T_requestedMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
if (len >= 3) {
proto_tree_add_item(subtree, hf_lpp_T_requestedMeasurements_ueRxTxReq, requestedMeasurements_tvb, 0, 1, ENC_BIG_ENDIAN);
}
+ if (len >= 4) {
+ proto_tree_add_item(subtree, hf_lpp_T_requestedMeasurements_nrsrpReq_r14, requestedMeasurements_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ if (len >= 5) {
+ proto_tree_add_item(subtree, hf_lpp_T_requestedMeasurements_nrsrqReq_r14, requestedMeasurements_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
}
@@ -9744,8 +12501,22 @@ dissect_lpp_ECID_RequestLocationInformation(tvbuff_t *tvb _U_, int offset _U_, a
}
+static const per_sequence_t Sensor_RequestLocationInformation_r13_eag_1_sequence[] = {
+ { &hf_lpp_assistanceAvailability_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_Sensor_RequestLocationInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_RequestLocationInformation_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t Sensor_RequestLocationInformation_r13_sequence[] = {
{ &hf_lpp_uncompensatedBarometricPressureReq_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_RequestLocationInformation_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9758,8 +12529,48 @@ dissect_lpp_Sensor_RequestLocationInformation_r13(tvbuff_t *tvb _U_, int offset
}
+
+static int
+dissect_lpp_T_mbsRequestedMeasurements_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1738 "./asn1/lpp/lpp.cnf"
+ tvbuff_t *mbsRequestedMeasurements_tvb = NULL;
+ int len;
+
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 1, 8, FALSE, &mbsRequestedMeasurements_tvb, &len);
+
+ if(mbsRequestedMeasurements_tvb){
+ proto_tree *subtree;
+
+ subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap);
+ if (len >= 1) {
+ proto_tree_add_item(subtree, hf_lpp_T_mbsRequestedMeasurements_r14_rssi, mbsRequestedMeasurements_tvb, 0, 1, ENC_BIG_ENDIAN);
+ }
+ }
+
+
+
+ return offset;
+}
+
+
+static const per_sequence_t TBS_RequestLocationInformation_r13_eag_1_sequence[] = {
+ { &hf_lpp_mbsAssistanceAvailability_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
+ { &hf_lpp_mbsRequestedMeasurements_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_mbsRequestedMeasurements_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_TBS_RequestLocationInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TBS_RequestLocationInformation_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t TBS_RequestLocationInformation_r13_sequence[] = {
{ &hf_lpp_mbsSgnMeasListReq_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BOOLEAN },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_TBS_RequestLocationInformation_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9775,7 +12586,7 @@ dissect_lpp_TBS_RequestLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_
static int
dissect_lpp_T_requestedMeasurements_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1736 "./asn1/lpp/lpp.cnf"
+#line 1884 "./asn1/lpp/lpp.cnf"
tvbuff_t *requestedMeasurements_tvb = NULL;
int len;
@@ -9800,8 +12611,22 @@ dissect_lpp_T_requestedMeasurements_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
+static const per_sequence_t WLAN_RequestLocationInformation_r13_eag_1_sequence[] = {
+ { &hf_lpp_assistanceAvailability_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BOOLEAN },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_WLAN_RequestLocationInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, WLAN_RequestLocationInformation_r13_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t WLAN_RequestLocationInformation_r13_sequence[] = {
{ &hf_lpp_requestedMeasurements_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_requestedMeasurements_r13 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_WLAN_RequestLocationInformation_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -9817,7 +12642,7 @@ dissect_lpp_WLAN_RequestLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U
static int
dissect_lpp_T_requestedMeasurements_r13_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1799 "./asn1/lpp/lpp.cnf"
+#line 1984 "./asn1/lpp/lpp.cnf"
tvbuff_t *requestedMeasurements_tvb = NULL;
int len;
@@ -10432,7 +13257,7 @@ dissect_lpp_CommonIEsProvideLocationInformation_eag_1(tvbuff_t *tvb _U_, int off
static int
dissect_lpp_LocationSource_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 308 "./asn1/lpp/lpp.cnf"
+#line 317 "./asn1/lpp/lpp.cnf"
tvbuff_t *locSource_tvb = NULL;
int len;
@@ -10528,16 +13353,6 @@ dissect_lpp_INTEGER_0_3999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
-
-static int
-dissect_lpp_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
- 10, 10, FALSE, NULL, NULL);
-
- return offset;
-}
-
-
static const per_sequence_t T_eUTRA_01_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
@@ -10653,10 +13468,28 @@ dissect_lpp_T_gSM_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
}
+static const per_sequence_t T_nbIoT_r14_sequence[] = {
+ { &hf_lpp_nbPhysCellId_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
+ { &hf_lpp_nbCellGlobalId_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
+ { &hf_lpp_sfn_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
+ { &hf_lpp_hyperSFN_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_T_nbIoT_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_T_nbIoT_r14, T_nbIoT_r14_sequence);
+
+ return offset;
+}
+
+
static const value_string lpp_T_networkTime_vals[] = {
{ 0, "eUTRA" },
{ 1, "uTRA" },
{ 2, "gSM" },
+ { 3, "nbIoT-r14" },
{ 0, NULL }
};
@@ -10664,6 +13497,7 @@ static const per_choice_t T_networkTime_choice[] = {
{ 0, &hf_lpp_eUTRA_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_eUTRA_01 },
{ 1, &hf_lpp_uTRA_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_uTRA_01 },
{ 2, &hf_lpp_gSM_01 , ASN1_EXTENSION_ROOT , dissect_lpp_T_gSM_01 },
+ { 3, &hf_lpp_nbIoT_r14 , ASN1_NOT_EXTENSION_ROOT, dissect_lpp_T_nbIoT_r14 },
{ 0, NULL, 0, NULL }
};
@@ -10867,7 +13701,7 @@ dissect_lpp_A_GNSS_ProvideLocationInformation(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_lpp_T_error_Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 343 "./asn1/lpp/lpp.cnf"
+#line 370 "./asn1/lpp/lpp.cnf"
tvbuff_t *error_Resolution_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &error_Resolution_tvb, NULL);
@@ -10875,7 +13709,7 @@ dissect_lpp_T_error_Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
-#line 347 "./asn1/lpp/lpp.cnf"
+#line 374 "./asn1/lpp/lpp.cnf"
if (error_Resolution_tvb) {
guint bitvalue = tvb_get_bits8(error_Resolution_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, error_Resolution_tvb, 0, 1, bitvalue);
@@ -10889,7 +13723,7 @@ dissect_lpp_T_error_Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_lpp_T_error_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 356 "./asn1/lpp/lpp.cnf"
+#line 383 "./asn1/lpp/lpp.cnf"
tvbuff_t *error_Value_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
5, 5, FALSE, &error_Value_tvb, NULL);
@@ -10897,7 +13731,7 @@ dissect_lpp_T_error_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
-#line 360 "./asn1/lpp/lpp.cnf"
+#line 387 "./asn1/lpp/lpp.cnf"
if (error_Value_tvb) {
guint bitvalue = tvb_get_bits8(error_Value_tvb, 0, 5);
actx->created_item = proto_tree_add_uint(tree, hf_index, error_Value_tvb, 0, 1, bitvalue);
@@ -10911,7 +13745,7 @@ dissect_lpp_T_error_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_lpp_T_error_NumSamples(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 369 "./asn1/lpp/lpp.cnf"
+#line 396 "./asn1/lpp/lpp.cnf"
tvbuff_t *error_NumSamples_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
3, 3, FALSE, &error_NumSamples_tvb, NULL);
@@ -10919,7 +13753,7 @@ dissect_lpp_T_error_NumSamples(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
-#line 373 "./asn1/lpp/lpp.cnf"
+#line 400 "./asn1/lpp/lpp.cnf"
if (error_NumSamples_tvb) {
guint bitvalue = tvb_get_bits8(error_NumSamples_tvb, 0, 3);
actx->created_item = proto_tree_add_uint(tree, hf_index, error_NumSamples_tvb, 0, 1, bitvalue);
@@ -10969,6 +13803,63 @@ dissect_lpp_NeighbourMeasurementElement_eag_1(tvbuff_t *tvb _U_, int offset _U_,
}
+
+static int
+dissect_lpp_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 5U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t AdditionalPath_r14_sequence[] = {
+ { &hf_lpp_relativeTimeDifference_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_M256_255 },
+ { &hf_lpp_path_Quality_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_MeasQuality },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_AdditionalPath_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_AdditionalPath_r14, AdditionalPath_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t AdditionalPathList_r14_sequence_of[1] = {
+ { &hf_lpp_AdditionalPathList_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_AdditionalPath_r14 },
+};
+
+static int
+dissect_lpp_AdditionalPathList_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_AdditionalPathList_r14, AdditionalPathList_r14_sequence_of,
+ 1, maxPaths_r14, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourMeasurementElement_eag_2_sequence[] = {
+ { &hf_lpp_tpIdNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_prsIdNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_delta_rstd_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5 },
+ { &hf_lpp_additionalPathsNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
+ { &hf_lpp_nprsIdNeighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_carrierFreqOffsetNB_Neighbour_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_NeighbourMeasurementElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, NeighbourMeasurementElement_eag_2_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t NeighbourMeasurementElement_sequence[] = {
{ &hf_lpp_physCellIdNeighbour, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalIdNeighbour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
@@ -10976,6 +13867,7 @@ static const per_sequence_t NeighbourMeasurementElement_sequence[] = {
{ &hf_lpp_rstd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12711 },
{ &hf_lpp_rstd_Quality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_MeasQuality },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_eag_1 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_eag_2 },
{ NULL, 0, 0, NULL }
};
@@ -11015,6 +13907,24 @@ dissect_lpp_OTDOA_SignalMeasurementInformation_eag_1(tvbuff_t *tvb _U_, int offs
}
+static const per_sequence_t OTDOA_SignalMeasurementInformation_eag_2_sequence[] = {
+ { &hf_lpp_tpIdRef_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_prsIdRef_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_additionalPathsRef_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
+ { &hf_lpp_nprsIdRef_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_carrierFreqOffsetNB_Ref_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
+ { &hf_lpp_hyperSFN_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_SignalMeasurementInformation_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_SignalMeasurementInformation_eag_2_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_SignalMeasurementInformation_sequence[] = {
{ &hf_lpp_systemFrameNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
{ &hf_lpp_physCellIdRef , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
@@ -11023,6 +13933,7 @@ static const per_sequence_t OTDOA_SignalMeasurementInformation_sequence[] = {
{ &hf_lpp_referenceQuality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_MeasQuality },
{ &hf_lpp_neighbourMeasurementList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementList },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_SignalMeasurementInformation_eag_1 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_SignalMeasurementInformation_eag_2 },
{ NULL, 0, 0, NULL }
};
@@ -11035,9 +13946,86 @@ dissect_lpp_OTDOA_SignalMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_
}
+static const per_sequence_t NeighbourMeasurementElement_NB_r14_sequence[] = {
+ { &hf_lpp_physCellIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
+ { &hf_lpp_cellGlobalIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
+ { &hf_lpp_earfcnNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
+ { &hf_lpp_rstd_r14 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_12711 },
+ { &hf_lpp_rstd_Quality_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_MeasQuality },
+ { &hf_lpp_tpIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_prsIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_delta_rstd_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_5 },
+ { &hf_lpp_additionalPathsNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
+ { &hf_lpp_nprsIdNeighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_carrierFreqOffsetNB_Neighbour_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_NeighbourMeasurementElement_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_NeighbourMeasurementElement_NB_r14, NeighbourMeasurementElement_NB_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NeighbourMeasurementList_NB_r14_sequence_of[1] = {
+ { &hf_lpp_NeighbourMeasurementList_NB_r14_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementElement_NB_r14 },
+};
+
+static int
+dissect_lpp_NeighbourMeasurementList_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_lpp_NeighbourMeasurementList_NB_r14, NeighbourMeasurementList_NB_r14_sequence_of,
+ 1, 24, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_SignalMeasurementInformation_NB_r14_sequence[] = {
+ { &hf_lpp_systemFrameNumber_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_BIT_STRING_SIZE_10 },
+ { &hf_lpp_physCellIdRef_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
+ { &hf_lpp_cellGlobalIdRef_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ECGI },
+ { &hf_lpp_earfcnRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_ARFCN_ValueEUTRA_r14 },
+ { &hf_lpp_referenceQuality_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_MeasQuality },
+ { &hf_lpp_neighbourMeasurementList_r14, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_NeighbourMeasurementList_NB_r14 },
+ { &hf_lpp_tpIdRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_prsIdRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_additionalPathsRef_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_AdditionalPathList_r14 },
+ { &hf_lpp_nprsIdRef_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
+ { &hf_lpp_carrierFreqOffsetNB_Ref_r14, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
+ { &hf_lpp_hyperSFN_r14 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_SignalMeasurementInformation_NB_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_OTDOA_SignalMeasurementInformation_NB_r14, OTDOA_SignalMeasurementInformation_NB_r14_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t OTDOA_ProvideLocationInformation_eag_1_sequence[] = {
+ { &hf_lpp_otdoaSignalMeasurementInformation_NB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_OTDOA_SignalMeasurementInformation_NB_r14 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_OTDOA_ProvideLocationInformation_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OTDOA_ProvideLocationInformation_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t OTDOA_ProvideLocationInformation_sequence[] = {
{ &hf_lpp_otdoaSignalMeasurementInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_SignalMeasurementInformation },
{ &hf_lpp_otdoa_Error , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_OTDOA_Error },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_OTDOA_ProvideLocationInformation_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -11083,6 +14071,42 @@ dissect_lpp_MeasuredResultsElement_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1
}
+
+static int
+dissect_lpp_INTEGER_0_113(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 113U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_lpp_INTEGER_0_74(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 74U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MeasuredResultsElement_eag_2_sequence[] = {
+ { &hf_lpp_nrsrp_Result_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_113 },
+ { &hf_lpp_nrsrq_Result_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_74 },
+ { &hf_lpp_carrierFreqOffsetNB_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_CarrierFreqOffsetNB_r14 },
+ { &hf_lpp_hyperSFN_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_BIT_STRING_SIZE_10 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_MeasuredResultsElement_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasuredResultsElement_eag_2_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t MeasuredResultsElement_sequence[] = {
{ &hf_lpp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_503 },
{ &hf_lpp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_CellGlobalIdEUTRA_AndUTRA },
@@ -11092,6 +14116,7 @@ static const per_sequence_t MeasuredResultsElement_sequence[] = {
{ &hf_lpp_rsrq_Result , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_34 },
{ &hf_lpp_ue_RxTxTimeDiff , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_0_4095 },
{ &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement_eag_1 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MeasuredResultsElement_eag_2 },
{ NULL, 0, 0, NULL }
};
@@ -11179,11 +14204,26 @@ dissect_lpp_T_cause_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
+static const per_sequence_t ECID_TargetDeviceErrorCauses_eag_1_sequence[] = {
+ { &hf_lpp_nrsrpMeasurementNotPossible_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NULL },
+ { &hf_lpp_nrsrqMeasurementNotPossible_r14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_NULL },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_lpp_ECID_TargetDeviceErrorCauses_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ECID_TargetDeviceErrorCauses_eag_1_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t ECID_TargetDeviceErrorCauses_sequence[] = {
{ &hf_lpp_cause_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_05 },
{ &hf_lpp_rsrpMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_rsrqMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
{ &hf_lpp_ueRxTxMeasurementNotPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_ECID_TargetDeviceErrorCauses_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -11243,111 +14283,103 @@ dissect_lpp_INTEGER_30000_115000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
-static const per_sequence_t Sensor_MeasurementInformation_r13_sequence[] = {
- { &hf_lpp_measurementReferenceTime_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime },
- { &hf_lpp_uncompensatedBarometricPressure_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_30000_115000 },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_lpp_Sensor_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_Sensor_MeasurementInformation_r13, Sensor_MeasurementInformation_r13_sequence);
+dissect_lpp_INTEGER_0_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1000U, NULL, FALSE);
return offset;
}
-static const value_string lpp_T_cause_r13_02_vals[] = {
- { 0, "undefined" },
- { 0, NULL }
-};
-
static int
-dissect_lpp_T_cause_r13_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, TRUE, 0, NULL);
+dissect_lpp_INTEGER_1_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 100U, NULL, FALSE);
return offset;
}
-static const per_sequence_t Sensor_LocationServerErrorCauses_r13_sequence[] = {
- { &hf_lpp_cause_r13_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_02 },
+static const per_sequence_t T_uncertainty_r14_sequence[] = {
+ { &hf_lpp_range_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_1000 },
+ { &hf_lpp_confidence_r14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_1_100 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_lpp_Sensor_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_lpp_T_uncertainty_r14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_Sensor_LocationServerErrorCauses_r13, Sensor_LocationServerErrorCauses_r13_sequence);
+ ett_lpp_T_uncertainty_r14, T_uncertainty_r14_sequence);
return offset;
}
-static const value_string lpp_T_cause_r13_03_vals[] = {
- { 0, "undefined" },
- { 0, NULL }
+static const per_sequence_t Sensor_MeasurementInformation_r13_eag_1_sequence[] = {
+ { &hf_lpp_uncertainty_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_T_uncertainty_r14 },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_lpp_T_cause_r13_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, TRUE, 0, NULL);
+dissect_lpp_Sensor_MeasurementInformation_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Sensor_MeasurementInformation_r13_eag_1_sequence);
return offset;
}
-static const per_sequence_t Sensor_TargetDeviceErrorCauses_r13_sequence[] = {
- { &hf_lpp_cause_r13_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_03 },
+static const per_sequence_t Sensor_MeasurementInformation_r13_sequence[] = {
+ { &hf_lpp_measurementReferenceTime_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_UTCTime },
+ { &hf_lpp_uncompensatedBarometricPressure_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_INTEGER_30000_115000 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_Sensor_MeasurementInformation_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_lpp_Sensor_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_lpp_Sensor_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_Sensor_TargetDeviceErrorCauses_r13, Sensor_TargetDeviceErrorCauses_r13_sequence);
+ ett_lpp_Sensor_MeasurementInformation_r13, Sensor_MeasurementInformation_r13_sequence);
return offset;
}
-static const value_string lpp_Sensor_Error_r13_vals[] = {
- { 0, "locationServerErrorCauses-r13" },
- { 1, "targetDeviceErrorCauses-r13" },
- { 0, NULL }
+static const per_sequence_t Sensor_ProvideLocationInformation_r13_sequence[] = {
+ { &hf_lpp_sensor_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_MeasurementInformation_r13 },
+ { &hf_lpp_sensor_Error_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_Error_r13 },
+ { NULL, 0, 0, NULL }
};
-static const per_choice_t Sensor_Error_r13_choice[] = {
- { 0, &hf_lpp_locationServerErrorCauses_r13_01, ASN1_EXTENSION_ROOT , dissect_lpp_Sensor_LocationServerErrorCauses_r13 },
- { 1, &hf_lpp_targetDeviceErrorCauses_r13_01, ASN1_EXTENSION_ROOT , dissect_lpp_Sensor_TargetDeviceErrorCauses_r13 },
- { 0, NULL, 0, NULL }
-};
+static int
+dissect_lpp_Sensor_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_lpp_Sensor_ProvideLocationInformation_r13, Sensor_ProvideLocationInformation_r13_sequence);
+
+ return offset;
+}
+
+
static int
-dissect_lpp_Sensor_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_lpp_Sensor_Error_r13, Sensor_Error_r13_choice,
- NULL);
+dissect_lpp_INTEGER_M130_M30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ -130, -30, NULL, FALSE);
return offset;
}
-static const per_sequence_t Sensor_ProvideLocationInformation_r13_sequence[] = {
- { &hf_lpp_sensor_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_MeasurementInformation_r13 },
- { &hf_lpp_sensor_Error_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_Sensor_Error_r13 },
+static const per_sequence_t MBS_BeaconMeasElement_r13_eag_1_sequence[] = {
+ { &hf_lpp_rssi_r14 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lpp_INTEGER_M130_M30 },
{ NULL, 0, 0, NULL }
};
static int
-dissect_lpp_Sensor_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_Sensor_ProvideLocationInformation_r13, Sensor_ProvideLocationInformation_r13_sequence);
+dissect_lpp_MBS_BeaconMeasElement_r13_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MBS_BeaconMeasElement_r13_eag_1_sequence);
return offset;
}
@@ -11357,6 +14389,7 @@ static const per_sequence_t MBS_BeaconMeasElement_r13_sequence[] = {
{ &hf_lpp_transmitterID_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_32767 },
{ &hf_lpp_codePhase_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_2097151 },
{ &hf_lpp_codePhaseRMSError_r13, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_INTEGER_0_63 },
+ { &dummy_hf_lpp_eag_field , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lpp_MBS_BeaconMeasElement_r13_eag_1 },
{ NULL, 0, 0, NULL }
};
@@ -11398,87 +14431,6 @@ dissect_lpp_TBS_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, as
}
-static const value_string lpp_T_cause_r13_vals[] = {
- { 0, "undefined" },
- { 0, NULL }
-};
-
-
-static int
-dissect_lpp_T_cause_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, TRUE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t TBS_LocationServerErrorCauses_r13_sequence[] = {
- { &hf_lpp_cause_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_lpp_TBS_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_TBS_LocationServerErrorCauses_r13, TBS_LocationServerErrorCauses_r13_sequence);
-
- return offset;
-}
-
-
-static const value_string lpp_T_cause_r13_01_vals[] = {
- { 0, "undefined" },
- { 1, "thereWereNotEnoughMBSBeaconsReceived" },
- { 0, NULL }
-};
-
-
-static int
-dissect_lpp_T_cause_r13_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 2, NULL, TRUE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t TBS_TargetDeviceErrorCauses_r13_sequence[] = {
- { &hf_lpp_cause_r13_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_01 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_lpp_TBS_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_TBS_TargetDeviceErrorCauses_r13, TBS_TargetDeviceErrorCauses_r13_sequence);
-
- return offset;
-}
-
-
-static const value_string lpp_TBS_Error_r13_vals[] = {
- { 0, "locationServerErrorCauses-r13" },
- { 1, "targetDeviceErrorCauses-r13" },
- { 0, NULL }
-};
-
-static const per_choice_t TBS_Error_r13_choice[] = {
- { 0, &hf_lpp_locationServerErrorCauses_r13, ASN1_EXTENSION_ROOT , dissect_lpp_TBS_LocationServerErrorCauses_r13 },
- { 1, &hf_lpp_targetDeviceErrorCauses_r13, ASN1_EXTENSION_ROOT , dissect_lpp_TBS_TargetDeviceErrorCauses_r13 },
- { 0, NULL, 0, NULL }
-};
-
-static int
-dissect_lpp_TBS_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_lpp_TBS_Error_r13, TBS_Error_r13_choice,
- NULL);
-
- return offset;
-}
-
-
static const per_sequence_t TBS_ProvideLocationInformation_r13_sequence[] = {
{ &hf_lpp_tbs_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_MeasurementInformation_r13 },
{ &hf_lpp_tbs_Error_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_TBS_Error_r13 },
@@ -11496,48 +14448,6 @@ dissect_lpp_TBS_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U_
static int
-dissect_lpp_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- 6, 6, FALSE, NULL);
-
- return offset;
-}
-
-
-
-static int
-dissect_lpp_T_ssid_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1730 "./asn1/lpp/lpp.cnf"
- tvbuff_t *ssid_tvb = NULL;
-
- offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
- 1, 32, FALSE, &ssid_tvb);
-
- actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
-
-
-
- return offset;
-}
-
-
-static const per_sequence_t WLAN_AP_Identifier_r13_sequence[] = {
- { &hf_lpp_bssid_r13 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_OCTET_STRING_SIZE_6 },
- { &hf_lpp_ssid_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_T_ssid_r13 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_lpp_WLAN_AP_Identifier_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_WLAN_AP_Identifier_r13, WLAN_AP_Identifier_r13_sequence);
-
- return offset;
-}
-
-
-
-static int
dissect_lpp_INTEGER_M127_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
@@ -11638,90 +14548,6 @@ dissect_lpp_WLAN_MeasurementInformation_r13(tvbuff_t *tvb _U_, int offset _U_, a
}
-static const value_string lpp_T_cause_r13_04_vals[] = {
- { 0, "undefined" },
- { 0, NULL }
-};
-
-
-static int
-dissect_lpp_T_cause_r13_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 1, NULL, TRUE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t WLAN_LocationServerErrorCauses_r13_sequence[] = {
- { &hf_lpp_cause_r13_04 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_04 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_lpp_WLAN_LocationServerErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_WLAN_LocationServerErrorCauses_r13, WLAN_LocationServerErrorCauses_r13_sequence);
-
- return offset;
-}
-
-
-static const value_string lpp_T_cause_r13_05_vals[] = {
- { 0, "undefined" },
- { 1, "requestedMeasurementsNotAvailable" },
- { 2, "notAllrequestedMeasurementsPossible" },
- { 0, NULL }
-};
-
-
-static int
-dissect_lpp_T_cause_r13_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, TRUE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t WLAN_TargetDeviceErrorCauses_r13_sequence[] = {
- { &hf_lpp_cause_r13_05 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lpp_T_cause_r13_05 },
- { &hf_lpp_wlan_AP_RSSI_MeasurementNotPossible_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
- { &hf_lpp_wlan_AP_RTT_MeasurementNotPossible_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_NULL },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_lpp_WLAN_TargetDeviceErrorCauses_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_lpp_WLAN_TargetDeviceErrorCauses_r13, WLAN_TargetDeviceErrorCauses_r13_sequence);
-
- return offset;
-}
-
-
-static const value_string lpp_WLAN_Error_r13_vals[] = {
- { 0, "locationServerErrorCauses-r13" },
- { 1, "targetDeviceErrorCauses-r13" },
- { 0, NULL }
-};
-
-static const per_choice_t WLAN_Error_r13_choice[] = {
- { 0, &hf_lpp_locationServerErrorCauses_r13_02, ASN1_EXTENSION_ROOT , dissect_lpp_WLAN_LocationServerErrorCauses_r13 },
- { 1, &hf_lpp_targetDeviceErrorCauses_r13_02, ASN1_EXTENSION_ROOT , dissect_lpp_WLAN_TargetDeviceErrorCauses_r13 },
- { 0, NULL, 0, NULL }
-};
-
-static int
-dissect_lpp_WLAN_Error_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_lpp_WLAN_Error_r13, WLAN_Error_r13_choice,
- NULL);
-
- return offset;
-}
-
-
static const per_sequence_t WLAN_ProvideLocationInformation_r13_sequence[] = {
{ &hf_lpp_wlan_MeasurementInformation_r13, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_MeasurementInformation_r13 },
{ &hf_lpp_wlan_Error_r13 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lpp_WLAN_Error_r13 },
@@ -11740,7 +14566,7 @@ dissect_lpp_WLAN_ProvideLocationInformation_r13(tvbuff_t *tvb _U_, int offset _U
static int
dissect_lpp_T_btAddr_r13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1790 "./asn1/lpp/lpp.cnf"
+#line 1975 "./asn1/lpp/lpp.cnf"
tvbuff_t *btAddr_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
@@ -12402,7 +15228,7 @@ int dissect_lpp_Polygon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre
/*--- End of included file: packet-lpp-fn.c ---*/
-#line 1641 "./asn1/lpp/packet-lpp-template.c"
+#line 1725 "./asn1/lpp/packet-lpp-template.c"
static int dissect_lpp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
proto_tree *subtree;
@@ -12704,6 +15530,18 @@ void proto_register_lpp(void) {
{ "epdu-RequestAssistanceData", "lpp.epdu_RequestAssistanceData",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
+ { &hf_lpp_sensor_RequestAssistanceData_r14,
+ { "sensor-RequestAssistanceData-r14", "lpp.sensor_RequestAssistanceData_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_tbs_RequestAssistanceData_r14,
+ { "tbs-RequestAssistanceData-r14", "lpp.tbs_RequestAssistanceData_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_wlan_RequestAssistanceData_r14,
+ { "wlan-RequestAssistanceData-r14", "lpp.wlan_RequestAssistanceData_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_criticalExtensions_03,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_03_vals), 0,
@@ -12736,6 +15574,18 @@ void proto_register_lpp(void) {
{ "epdu-Provide-Assistance-Data", "lpp.epdu_Provide_Assistance_Data",
FT_UINT32, BASE_DEC, NULL, 0,
"EPDU_Sequence", HFILL }},
+ { &hf_lpp_sensor_ProvideAssistanceData_r14,
+ { "sensor-ProvideAssistanceData-r14", "lpp.sensor_ProvideAssistanceData_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_tbs_ProvideAssistanceData_r14,
+ { "tbs-ProvideAssistanceData-r14", "lpp.tbs_ProvideAssistanceData_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_wlan_ProvideAssistanceData_r14,
+ { "wlan-ProvideAssistanceData-r14", "lpp.wlan_ProvideAssistanceData_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_criticalExtensions_04,
{ "criticalExtensions", "lpp.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lpp_T_criticalExtensions_04_vals), 0,
@@ -12884,6 +15734,14 @@ void proto_register_lpp(void) {
{ "accessTypes", "lpp.accessTypes",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_carrierFreq_r14,
+ { "carrierFreq-r14", "lpp.carrierFreq_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueEUTRA_r14", HFILL }},
+ { &hf_lpp_carrierFreqOffset_r14,
+ { "carrierFreqOffset-r14", "lpp.carrierFreqOffset_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_CarrierFreqOffsetNB_r14_vals), 0,
+ "CarrierFreqOffsetNB_r14", HFILL }},
{ &hf_lpp_plmn_Identity,
{ "plmn-Identity", "lpp.plmn_Identity_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13176,6 +16034,10 @@ void proto_register_lpp(void) {
{ "velocityTypes", "lpp.velocityTypes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_messageSizeLimitNB_r14,
+ { "messageSizeLimitNB-r14", "lpp.messageSizeLimitNB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_reportingAmount,
{ "reportingAmount", "lpp.reportingAmount",
FT_UINT32, BASE_DEC, VALS(lpp_T_reportingAmount_vals), 0,
@@ -13212,6 +16074,10 @@ void proto_register_lpp(void) {
{ "velocityRequest", "lpp.velocityRequest",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_lpp_responseTimeNB_r14,
+ { "responseTimeNB-r14", "lpp.responseTimeNB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_accuracy,
{ "accuracy", "lpp.accuracy",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_uncertainty_fmt), 0,
@@ -13224,6 +16090,18 @@ void proto_register_lpp(void) {
{ "responseTimeEarlyFix-r12", "lpp.responseTimeEarlyFix_r12",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_1_128", HFILL }},
+ { &hf_lpp_timeNB_r14,
+ { "timeNB-r14", "lpp.timeNB_r14",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
+ "INTEGER_1_512", HFILL }},
+ { &hf_lpp_responseTimeEarlyFixNB_r14,
+ { "responseTimeEarlyFixNB-r14", "lpp.responseTimeEarlyFixNB_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_512", HFILL }},
+ { &hf_lpp_measurementLimit_r14,
+ { "measurementLimit-r14", "lpp.measurementLimit_r14",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_measurementLimit_fmt), 0,
+ "INTEGER_1_512", HFILL }},
{ &hf_lpp_locationEstimate,
{ "locationEstimate", "lpp.locationEstimate",
FT_UINT32, BASE_DEC, VALS(lpp_LocationCoordinates_vals), 0,
@@ -13316,6 +16194,14 @@ void proto_register_lpp(void) {
{ "otdoa-Error", "lpp.otdoa_Error",
FT_UINT32, BASE_DEC, VALS(lpp_OTDOA_Error_vals), 0,
NULL, HFILL }},
+ { &hf_lpp_otdoa_ReferenceCellInfoNB_r14,
+ { "otdoa-ReferenceCellInfoNB-r14", "lpp.otdoa_ReferenceCellInfoNB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_otdoa_NeighbourCellInfoNB_r14,
+ { "otdoa-NeighbourCellInfoNB-r14", "lpp.otdoa_NeighbourCellInfoNB_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "OTDOA_NeighbourCellInfoListNB_r14", HFILL }},
{ &hf_lpp_physCellId,
{ "physCellId", "lpp.physCellId",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13344,6 +16230,30 @@ void proto_register_lpp(void) {
{ "earfcnRef-v9a0", "lpp.earfcnRef_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
+ { &hf_lpp_tpId_r14,
+ { "tpId-r14", "lpp.tpId_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_cpLengthCRS_r14,
+ { "cpLengthCRS-r14", "lpp.cpLengthCRS_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_cpLengthCRS_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_sameMBSFNconfigRef_r14,
+ { "sameMBSFNconfigRef-r14", "lpp.sameMBSFNconfigRef_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_dlBandwidth_r14,
+ { "dlBandwidth-r14", "lpp.dlBandwidth_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_dlBandwidth_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_addPRSconfigRef_r14,
+ { "addPRSconfigRef-r14", "lpp.addPRSconfigRef_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info", HFILL }},
+ { &hf_lpp_addPRSconfigRef_r14_item,
+ { "PRS-Info", "lpp.PRS_Info_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_prs_Bandwidth,
{ "prs-Bandwidth", "lpp.prs_Bandwidth",
FT_UINT32, BASE_DEC, VALS(lpp_T_prs_Bandwidth_vals), 0,
@@ -13376,6 +16286,58 @@ void proto_register_lpp(void) {
{ "po16-r9", "lpp.po16_r9",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
+ { &hf_lpp_po32_v1420,
+ { "po32-v1420", "lpp.po32_v1420",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_32", HFILL }},
+ { &hf_lpp_po64_v1420,
+ { "po64-v1420", "lpp.po64_v1420",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_64", HFILL }},
+ { &hf_lpp_po128_v1420,
+ { "po128-v1420", "lpp.po128_v1420",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_128", HFILL }},
+ { &hf_lpp_po256_v1420,
+ { "po256-v1420", "lpp.po256_v1420",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_256", HFILL }},
+ { &hf_lpp_po512_v1420,
+ { "po512-v1420", "lpp.po512_v1420",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_512", HFILL }},
+ { &hf_lpp_po1024_v1420,
+ { "po1024-v1420", "lpp.po1024_v1420",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_1024", HFILL }},
+ { &hf_lpp_prsID_r14,
+ { "prsID-r14", "lpp.prsID_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_add_numDL_Frames_r14,
+ { "add-numDL-Frames-r14", "lpp.add_numDL_Frames_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_160", HFILL }},
+ { &hf_lpp_prsOccGroupLen_r14,
+ { "prsOccGroupLen-r14", "lpp.prsOccGroupLen_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_prsOccGroupLen_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_prsHoppingInfo_r14,
+ { "prsHoppingInfo-r14", "lpp.prsHoppingInfo_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_prsHoppingInfo_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_nb2_r14,
+ { "nb2-r14", "lpp.nb2_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_maxAvailNarrowBands_Minus1_r14", HFILL }},
+ { &hf_lpp_nb4_r14,
+ { "nb4-r14", "lpp.nb4_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_nb4_r14_item,
+ { "nb4-r14 item", "lpp.nb4_r14_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_maxAvailNarrowBands_Minus1_r14", HFILL }},
{ &hf_lpp_OTDOA_NeighbourCellInfoList_item,
{ "OTDOA-NeighbourFreqInfo", "lpp.OTDOA_NeighbourFreqInfo",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13416,10 +16378,190 @@ void proto_register_lpp(void) {
{ "earfcn-v9a0", "lpp.earfcn_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
+ { &hf_lpp_prs_only_tp_r14,
+ { "prs-only-tp-r14", "lpp.prs_only_tp_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_prs_only_tp_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_cpLengthCRS_r14_01,
+ { "cpLengthCRS-r14", "lpp.cpLengthCRS_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_cpLengthCRS_r14_01_vals), 0,
+ "T_cpLengthCRS_r14_01", HFILL }},
+ { &hf_lpp_sameMBSFNconfigNeighbour_r14,
+ { "sameMBSFNconfigNeighbour-r14", "lpp.sameMBSFNconfigNeighbour_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_dlBandwidth_r14_01,
+ { "dlBandwidth-r14", "lpp.dlBandwidth_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_dlBandwidth_r14_01_vals), 0,
+ "T_dlBandwidth_r14_01", HFILL }},
+ { &hf_lpp_addPRSconfigNeighbour_r14,
+ { "addPRSconfigNeighbour-r14", "lpp.addPRSconfigNeighbour_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14", HFILL }},
+ { &hf_lpp_addPRSconfigNeighbour_r14_item,
+ { "Add-PRSconfigNeighbourElement-r14", "lpp.Add_PRSconfigNeighbourElement_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_add_prsInfo_r14,
+ { "add-prsInfo-r14", "lpp.add_prsInfo_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PRS_Info", HFILL }},
+ { &hf_lpp_physCellIdNB_r14,
+ { "physCellIdNB-r14", "lpp.physCellIdNB_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_503", HFILL }},
+ { &hf_lpp_cellGlobalIdNB_r14,
+ { "cellGlobalIdNB-r14", "lpp.cellGlobalIdNB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ECGI", HFILL }},
+ { &hf_lpp_carrierFreqRef_r14,
+ { "carrierFreqRef-r14", "lpp.carrierFreqRef_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CarrierFreq_NB_r14", HFILL }},
+ { &hf_lpp_earfcn_r14,
+ { "earfcn-r14", "lpp.earfcn_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueEUTRA_r14", HFILL }},
+ { &hf_lpp_eutra_NumCRS_Ports_r14,
+ { "eutra-NumCRS-Ports-r14", "lpp.eutra_NumCRS_Ports_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_eutra_NumCRS_Ports_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_otdoa_SIB1_NB_repetitions_r14,
+ { "otdoa-SIB1-NB-repetitions-r14", "lpp.otdoa_SIB1_NB_repetitions_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_otdoa_SIB1_NB_repetitions_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_nprsInfo_r14,
+ { "nprsInfo-r14", "lpp.nprsInfo_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PRS_Info_NB_r14", HFILL }},
+ { &hf_lpp_PRS_Info_NB_r14_item,
+ { "NPRS-Info-r14", "lpp.NPRS_Info_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_operationModeInfoNPRS_r14,
+ { "operationModeInfoNPRS-r14", "lpp.operationModeInfoNPRS_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_operationModeInfoNPRS_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_nprs_carrier_r14,
+ { "nprs-carrier-r14", "lpp.nprs_carrier_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CarrierFreq_NB_r14", HFILL }},
+ { &hf_lpp_nprsSequenceInfo_r14,
+ { "nprsSequenceInfo-r14", "lpp.nprsSequenceInfo_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_174", HFILL }},
+ { &hf_lpp_nprsID_r14,
+ { "nprsID-r14", "lpp.nprsID_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_partA_r14,
+ { "partA-r14", "lpp.partA_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_nprsBitmap_r14,
+ { "nprsBitmap-r14", "lpp.nprsBitmap_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_nprsBitmap_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_subframePattern10_r14,
+ { "subframePattern10-r14", "lpp.subframePattern10_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_lpp_subframePattern40_r14,
+ { "subframePattern40-r14", "lpp.subframePattern40_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_40", HFILL }},
+ { &hf_lpp_nprs_MutingInfoA_r14,
+ { "nprs-MutingInfoA-r14", "lpp.nprs_MutingInfoA_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_MutingInfoA_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_po2_r14,
+ { "po2-r14", "lpp.po2_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_2", HFILL }},
+ { &hf_lpp_po4_r14,
+ { "po4-r14", "lpp.po4_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_4", HFILL }},
+ { &hf_lpp_po8_r14,
+ { "po8-r14", "lpp.po8_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_lpp_po16_r14,
+ { "po16-r14", "lpp.po16_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_16", HFILL }},
+ { &hf_lpp_partB_r14,
+ { "partB-r14", "lpp.partB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_nprs_Period_r14,
+ { "nprs-Period-r14", "lpp.nprs_Period_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_Period_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_nprs_startSF_r14,
+ { "nprs-startSF-r14", "lpp.nprs_startSF_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_startSF_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_nprs_NumSF_r14,
+ { "nprs-NumSF-r14", "lpp.nprs_NumSF_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_NumSF_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_nprs_MutingInfoB_r14,
+ { "nprs-MutingInfoB-r14", "lpp.nprs_MutingInfoB_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_nprs_MutingInfoB_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_OTDOA_NeighbourCellInfoListNB_r14_item,
+ { "OTDOA-NeighbourCellInfoNB-r14", "lpp.OTDOA_NeighbourCellInfoNB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_carrierFreq_r14_01,
+ { "carrierFreq-r14", "lpp.carrierFreq_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CarrierFreq_NB_r14", HFILL }},
+ { &hf_lpp_eutra_NumCRS_Ports_r14_01,
+ { "eutra-NumCRS-Ports-r14", "lpp.eutra_NumCRS_Ports_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_eutra_NumCRS_Ports_r14_01_vals), 0,
+ "T_eutra_NumCRS_Ports_r14_01", HFILL }},
+ { &hf_lpp_otdoa_SIB1_NB_repetitions_r14_01,
+ { "otdoa-SIB1-NB-repetitions-r14", "lpp.otdoa_SIB1_NB_repetitions_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_otdoa_SIB1_NB_repetitions_r14_01_vals), 0,
+ "T_otdoa_SIB1_NB_repetitions_r14_01", HFILL }},
+ { &hf_lpp_nprs_slotNumberOffset_r14,
+ { "nprs-slotNumberOffset-r14", "lpp.nprs_slotNumberOffset_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_19", HFILL }},
+ { &hf_lpp_nprs_SFN_Offset_r14,
+ { "nprs-SFN-Offset-r14", "lpp.nprs_SFN_Offset_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_63", HFILL }},
+ { &hf_lpp_nprs_SubframeOffset_r14,
+ { "nprs-SubframeOffset-r14", "lpp.nprs_SubframeOffset_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1279", HFILL }},
+ { &hf_lpp_expectedRSTD_r14,
+ { "expectedRSTD-r14", "lpp.expectedRSTD_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_16383", HFILL }},
+ { &hf_lpp_expectedRSTD_Uncertainty_r14,
+ { "expectedRSTD-Uncertainty-r14", "lpp.expectedRSTD_Uncertainty_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_1023", HFILL }},
+ { &hf_lpp_prsNeighbourCellIndex_r14,
+ { "prsNeighbourCellIndex-r14", "lpp.prsNeighbourCellIndex_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_72", HFILL }},
+ { &hf_lpp_adType_r14,
+ { "adType-r14", "lpp.adType_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_otdoaSignalMeasurementInformation,
{ "otdoaSignalMeasurementInformation", "lpp.otdoaSignalMeasurementInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"OTDOA_SignalMeasurementInformation", HFILL }},
+ { &hf_lpp_otdoaSignalMeasurementInformation_NB_r14,
+ { "otdoaSignalMeasurementInformation-NB-r14", "lpp.otdoaSignalMeasurementInformation_NB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "OTDOA_SignalMeasurementInformation_NB_r14", HFILL }},
{ &hf_lpp_systemFrameNumber,
{ "systemFrameNumber", "lpp.systemFrameNumber",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -13440,6 +16582,30 @@ void proto_register_lpp(void) {
{ "neighbourMeasurementList", "lpp.neighbourMeasurementList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_tpIdRef_r14,
+ { "tpIdRef-r14", "lpp.tpIdRef_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_prsIdRef_r14,
+ { "prsIdRef-r14", "lpp.prsIdRef_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_additionalPathsRef_r14,
+ { "additionalPathsRef-r14", "lpp.additionalPathsRef_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "AdditionalPathList_r14", HFILL }},
+ { &hf_lpp_nprsIdRef_r14,
+ { "nprsIdRef-r14", "lpp.nprsIdRef_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_carrierFreqOffsetNB_Ref_r14,
+ { "carrierFreqOffsetNB-Ref-r14", "lpp.carrierFreqOffsetNB_Ref_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_CarrierFreqOffsetNB_r14_vals), 0,
+ "CarrierFreqOffsetNB_r14", HFILL }},
+ { &hf_lpp_hyperSFN_r14,
+ { "hyperSFN-r14", "lpp.hyperSFN_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_NeighbourMeasurementList_item,
{ "NeighbourMeasurementElement", "lpp.NeighbourMeasurementElement_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -13468,6 +16634,82 @@ void proto_register_lpp(void) {
{ "earfcnNeighbour-v9a0", "lpp.earfcnNeighbour_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
+ { &hf_lpp_tpIdNeighbour_r14,
+ { "tpIdNeighbour-r14", "lpp.tpIdNeighbour_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_prsIdNeighbour_r14,
+ { "prsIdNeighbour-r14", "lpp.prsIdNeighbour_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_delta_rstd_r14,
+ { "delta-rstd-r14", "lpp.delta_rstd_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_5", HFILL }},
+ { &hf_lpp_additionalPathsNeighbour_r14,
+ { "additionalPathsNeighbour-r14", "lpp.additionalPathsNeighbour_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "AdditionalPathList_r14", HFILL }},
+ { &hf_lpp_nprsIdNeighbour_r14,
+ { "nprsIdNeighbour-r14", "lpp.nprsIdNeighbour_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_4095", HFILL }},
+ { &hf_lpp_carrierFreqOffsetNB_Neighbour_r14,
+ { "carrierFreqOffsetNB-Neighbour-r14", "lpp.carrierFreqOffsetNB_Neighbour_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_CarrierFreqOffsetNB_r14_vals), 0,
+ "CarrierFreqOffsetNB_r14", HFILL }},
+ { &hf_lpp_AdditionalPathList_r14_item,
+ { "AdditionalPath-r14", "lpp.AdditionalPath_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_systemFrameNumber_r14,
+ { "systemFrameNumber-r14", "lpp.systemFrameNumber_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
+ { &hf_lpp_physCellIdRef_r14,
+ { "physCellIdRef-r14", "lpp.physCellIdRef_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_503", HFILL }},
+ { &hf_lpp_cellGlobalIdRef_r14,
+ { "cellGlobalIdRef-r14", "lpp.cellGlobalIdRef_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ECGI", HFILL }},
+ { &hf_lpp_earfcnRef_r14,
+ { "earfcnRef-r14", "lpp.earfcnRef_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueEUTRA_r14", HFILL }},
+ { &hf_lpp_referenceQuality_r14,
+ { "referenceQuality-r14", "lpp.referenceQuality_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "OTDOA_MeasQuality", HFILL }},
+ { &hf_lpp_neighbourMeasurementList_r14,
+ { "neighbourMeasurementList-r14", "lpp.neighbourMeasurementList_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NeighbourMeasurementList_NB_r14", HFILL }},
+ { &hf_lpp_NeighbourMeasurementList_NB_r14_item,
+ { "NeighbourMeasurementElement-NB-r14", "lpp.NeighbourMeasurementElement_NB_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_physCellIdNeighbour_r14,
+ { "physCellIdNeighbour-r14", "lpp.physCellIdNeighbour_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_503", HFILL }},
+ { &hf_lpp_cellGlobalIdNeighbour_r14,
+ { "cellGlobalIdNeighbour-r14", "lpp.cellGlobalIdNeighbour_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ECGI", HFILL }},
+ { &hf_lpp_earfcnNeighbour_r14,
+ { "earfcnNeighbour-r14", "lpp.earfcnNeighbour_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ARFCN_ValueEUTRA_r14", HFILL }},
+ { &hf_lpp_rstd_r14,
+ { "rstd-r14", "lpp.rstd_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_12711", HFILL }},
+ { &hf_lpp_rstd_Quality_r14,
+ { "rstd-Quality-r14", "lpp.rstd_Quality_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "OTDOA_MeasQuality", HFILL }},
{ &hf_lpp_error_Resolution,
{ "error-Resolution", "lpp.error_Resolution",
FT_UINT8, BASE_DEC, VALS(lpp_error_Resolution_vals), 0,
@@ -13480,10 +16722,26 @@ void proto_register_lpp(void) {
{ "error-NumSamples", "lpp.error_NumSamples",
FT_UINT8, BASE_DEC, VALS(lpp_error_NumSamples_vals), 0,
NULL, HFILL }},
+ { &hf_lpp_relativeTimeDifference_r14,
+ { "relativeTimeDifference-r14", "lpp.relativeTimeDifference_r14",
+ FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_relativeTimeDifference_fmt), 0,
+ "INTEGER_M256_255", HFILL }},
+ { &hf_lpp_path_Quality_r14,
+ { "path-Quality-r14", "lpp.path_Quality_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "OTDOA_MeasQuality", HFILL }},
{ &hf_lpp_assistanceAvailability,
{ "assistanceAvailability", "lpp.assistanceAvailability",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_lpp_multipathRSTD_r14,
+ { "multipathRSTD-r14", "lpp.multipathRSTD_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_multipathRSTD_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_maxNoOfRSTDmeas_r14,
+ { "maxNoOfRSTDmeas-r14", "lpp.maxNoOfRSTDmeas_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_32", HFILL }},
{ &hf_lpp_otdoa_Mode,
{ "otdoa-Mode", "lpp.otdoa_Mode",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -13512,6 +16770,58 @@ void proto_register_lpp(void) {
{ "additionalNeighbourCellInfoList-r10", "lpp.additionalNeighbourCellInfoList_r10",
FT_UINT32, BASE_DEC, VALS(lpp_T_additionalNeighbourCellInfoList_r10_vals), 0,
"T_additionalNeighbourCellInfoList_r10", HFILL }},
+ { &hf_lpp_prs_id_r14,
+ { "prs-id-r14", "lpp.prs_id_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_prs_id_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_tp_separation_via_muting_r14,
+ { "tp-separation-via-muting-r14", "lpp.tp_separation_via_muting_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_tp_separation_via_muting_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_additional_prs_config_r14,
+ { "additional-prs-config-r14", "lpp.additional_prs_config_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_additional_prs_config_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_prs_based_tbs_r14,
+ { "prs-based-tbs-r14", "lpp.prs_based_tbs_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_prs_based_tbs_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_additionalPathsReport_r14,
+ { "additionalPathsReport-r14", "lpp.additionalPathsReport_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_additionalPathsReport_r14_vals), 0,
+ "T_additionalPathsReport_r14", HFILL }},
+ { &hf_lpp_densePrsConfig_r14,
+ { "densePrsConfig-r14", "lpp.densePrsConfig_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_densePrsConfig_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_maxSupportedPrsBandwidth_r14,
+ { "maxSupportedPrsBandwidth-r14", "lpp.maxSupportedPrsBandwidth_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_maxSupportedPrsBandwidth_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_prsOccGroup_r14,
+ { "prsOccGroup-r14", "lpp.prsOccGroup_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_prsOccGroup_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_prsFrequencyHopping_r14,
+ { "prsFrequencyHopping-r14", "lpp.prsFrequencyHopping_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_prsFrequencyHopping_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_maxSupportedPrsConfigs_r14,
+ { "maxSupportedPrsConfigs-r14", "lpp.maxSupportedPrsConfigs_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_maxSupportedPrsConfigs_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_periodicalReporting_r14,
+ { "periodicalReporting-r14", "lpp.periodicalReporting_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_periodicalReporting_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_multiPrbNprs_r14,
+ { "multiPrbNprs-r14", "lpp.multiPrbNprs_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_multiPrbNprs_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_idleStateForMeasurements_r14,
+ { "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_vals), 0,
+ NULL, HFILL }},
{ &hf_lpp_bandEUTRA,
{ "bandEUTRA", "lpp.bandEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13764,6 +17074,22 @@ void proto_register_lpp(void) {
{ "cellGlobalIdGERAN", "lpp.cellGlobalIdGERAN_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_nBIoT_r14,
+ { "nBIoT-r14", "lpp.nBIoT_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nBIoT_r14", HFILL }},
+ { &hf_lpp_nbPhysCellId_r14,
+ { "nbPhysCellId-r14", "lpp.nbPhysCellId_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_503", HFILL }},
+ { &hf_lpp_nbCellGlobalId_r14,
+ { "nbCellGlobalId-r14", "lpp.nbCellGlobalId_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "ECGI", HFILL }},
+ { &hf_lpp_nbCarrierFreq_r14,
+ { "nbCarrierFreq-r14", "lpp.nbCarrierFreq_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "CarrierFreq_NB_r14", HFILL }},
{ &hf_lpp_threeDlocation,
{ "threeDlocation", "lpp.threeDlocation_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15580,6 +18906,14 @@ void proto_register_lpp(void) {
{ "deltaGNSS-TOD", "lpp.deltaGNSS_TOD",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
"INTEGER_0_127", HFILL }},
+ { &hf_lpp_nbIoT_r14,
+ { "nbIoT-r14", "lpp.nbIoT_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "T_nbIoT_r14", HFILL }},
+ { &hf_lpp_sfn_r14,
+ { "sfn-r14", "lpp.sfn_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_10", HFILL }},
{ &hf_lpp_GNSS_MeasurementList_item,
{ "GNSS-MeasurementForOneGNSS", "lpp.GNSS_MeasurementForOneGNSS_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15668,6 +19002,14 @@ void proto_register_lpp(void) {
{ "assistanceDataSupportList", "lpp.assistanceDataSupportList_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_periodicalReportingNotSupported_r14,
+ { "periodicalReportingNotSupported-r14", "lpp.periodicalReportingNotSupported_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PositioningModes", HFILL }},
+ { &hf_lpp_idleStateForMeasurements_r14_01,
+ { "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_01_vals), 0,
+ "T_idleStateForMeasurements_r14_01", HFILL }},
{ &hf_lpp_GNSS_SupportList_item,
{ "GNSS-SupportElement", "lpp.GNSS_SupportElement_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15928,6 +19270,18 @@ void proto_register_lpp(void) {
{ "arfcnEUTRA-v9a0", "lpp.arfcnEUTRA_v9a0",
FT_UINT32, BASE_DEC, NULL, 0,
"ARFCN_ValueEUTRA_v9a0", HFILL }},
+ { &hf_lpp_nrsrp_Result_r14,
+ { "nrsrp-Result-r14", "lpp.nrsrp_Result_r14",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_nrsrp_Result_fmt), 0,
+ "INTEGER_0_113", HFILL }},
+ { &hf_lpp_nrsrq_Result_r14,
+ { "nrsrq-Result-r14", "lpp.nrsrq_Result_r14",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_nrsrq_Result_fmt), 0,
+ "INTEGER_0_74", HFILL }},
+ { &hf_lpp_carrierFreqOffsetNB_r14,
+ { "carrierFreqOffsetNB-r14", "lpp.carrierFreqOffsetNB_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_CarrierFreqOffsetNB_r14_vals), 0,
+ NULL, HFILL }},
{ &hf_lpp_requestedMeasurements,
{ "requestedMeasurements", "lpp.requestedMeasurements",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -15940,6 +19294,18 @@ void proto_register_lpp(void) {
{ "ueRxTxSupTDD-r13", "lpp.ueRxTxSupTDD_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_ueRxTxSupTDD_r13_vals), 0,
NULL, HFILL }},
+ { &hf_lpp_periodicalReporting_r14_01,
+ { "periodicalReporting-r14", "lpp.periodicalReporting_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_periodicalReporting_r14_01_vals), 0,
+ "T_periodicalReporting_r14_01", HFILL }},
+ { &hf_lpp_triggeredReporting_r14,
+ { "triggeredReporting-r14", "lpp.triggeredReporting_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_triggeredReporting_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_idleStateForMeasurements_r14_02,
+ { "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_02_vals), 0,
+ "T_idleStateForMeasurements_r14_02", HFILL }},
{ &hf_lpp_locationServerErrorCauses_02,
{ "locationServerErrorCauses", "lpp.locationServerErrorCauses_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15968,6 +19334,14 @@ void proto_register_lpp(void) {
{ "ueRxTxMeasurementNotPossible", "lpp.ueRxTxMeasurementNotPossible_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_nrsrpMeasurementNotPossible_r14,
+ { "nrsrpMeasurementNotPossible-r14", "lpp.nrsrpMeasurementNotPossible_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_nrsrqMeasurementNotPossible_r14,
+ { "nrsrqMeasurementNotPossible-r14", "lpp.nrsrqMeasurementNotPossible_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_tbs_MeasurementInformation_r13,
{ "tbs-MeasurementInformation-r13", "lpp.tbs_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16000,14 +19374,50 @@ void proto_register_lpp(void) {
{ "codePhaseRMSError-r13", "lpp.codePhaseRMSError_r13",
FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_codePhaseRMSError_fmt), 0,
"INTEGER_0_63", HFILL }},
+ { &hf_lpp_rssi_r14,
+ { "rssi-r14", "lpp.rssi_r14",
+ FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0,
+ "INTEGER_M130_M30", HFILL }},
{ &hf_lpp_mbsSgnMeasListReq_r13,
{ "mbsSgnMeasListReq-r13", "lpp.mbsSgnMeasListReq_r13",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_lpp_mbsAssistanceAvailability_r14,
+ { "mbsAssistanceAvailability-r14", "lpp.mbsAssistanceAvailability_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_mbsRequestedMeasurements_r14,
+ { "mbsRequestedMeasurements-r14", "lpp.mbsRequestedMeasurements_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_tbs_Modes_r13,
{ "tbs-Modes-r13", "lpp.tbs_Modes_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_mbs_AssistanceDataSupportList_r14,
+ { "mbs-AssistanceDataSupportList-r14", "lpp.mbs_AssistanceDataSupportList_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_periodicalReportingSupported_r14,
+ { "periodicalReportingSupported-r14", "lpp.periodicalReportingSupported_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PositioningModes", HFILL }},
+ { &hf_lpp_mbs_ConfigSupport_r14,
+ { "mbs-ConfigSupport-r14", "lpp.mbs_ConfigSupport_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "T_mbs_ConfigSupport_r14", HFILL }},
+ { &hf_lpp_mbs_IdleStateForMeasurements_r14,
+ { "mbs-IdleStateForMeasurements-r14", "lpp.mbs_IdleStateForMeasurements_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_mbs_IdleStateForMeasurements_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_mbs_AcquisitionAssistanceDataSupport_r14,
+ { "mbs-AcquisitionAssistanceDataSupport-r14", "lpp.mbs_AcquisitionAssistanceDataSupport_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_mbs_AlmanacAssistanceDataSupport_r14,
+ { "mbs-AlmanacAssistanceDataSupport-r14", "lpp.mbs_AlmanacAssistanceDataSupport_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16024,6 +19434,70 @@ void proto_register_lpp(void) {
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_01_vals), 0,
"T_cause_r13_01", HFILL }},
+ { &hf_lpp_tbs_AssistanceDataList_r14,
+ { "tbs-AssistanceDataList-r14", "lpp.tbs_AssistanceDataList_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_tbs_Error_r14,
+ { "tbs-Error-r14", "lpp.tbs_Error_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_TBS_Error_r13_vals), 0,
+ "TBS_Error_r13", HFILL }},
+ { &hf_lpp_mbs_AssistanceDataList_r14,
+ { "mbs-AssistanceDataList-r14", "lpp.mbs_AssistanceDataList_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_MBS_AssistanceDataList_r14_item,
+ { "MBS-AssistanceDataElement-r14", "lpp.MBS_AssistanceDataElement_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_mbs_AlmanacAssistance_r14,
+ { "mbs-AlmanacAssistance-r14", "lpp.mbs_AlmanacAssistance_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_mbs_AcquisitionAssistance_r14,
+ { "mbs-AcquisitionAssistance-r14", "lpp.mbs_AcquisitionAssistance_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_transmitterID_r14,
+ { "transmitterID-r14", "lpp.transmitterID_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_0_32767", HFILL }},
+ { &hf_lpp_transmitterLatitude_r14,
+ { "transmitterLatitude-r14", "lpp.transmitterLatitude_r14",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_transmitterLatitude_fmt), 0,
+ NULL, HFILL }},
+ { &hf_lpp_transmitterLongitude_r14,
+ { "transmitterLongitude-r14", "lpp.transmitterLongitude_r14",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_transmitterLongitude_fmt), 0,
+ NULL, HFILL }},
+ { &hf_lpp_transmitterAltitude_r14,
+ { "transmitterAltitude-r14", "lpp.transmitterAltitude_r14",
+ FT_UINT16, BASE_CUSTOM, CF_FUNC(lpp_transmitterAltitude_fmt), 0,
+ NULL, HFILL }},
+ { &hf_lpp_timeCorrection_r14,
+ { "timeCorrection-r14", "lpp.timeCorrection_r14",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_nanoseconds, 0,
+ "INTEGER_0_25", HFILL }},
+ { &hf_lpp_mbsConfiguration_r14,
+ { "mbsConfiguration-r14", "lpp.mbsConfiguration_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_mbsConfiguration_r14_vals), 0,
+ NULL, HFILL }},
+ { &hf_lpp_pnCodeIndex_r14,
+ { "pnCodeIndex-r14", "lpp.pnCodeIndex_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "INTEGER_1_128", HFILL }},
+ { &hf_lpp_freq_r14,
+ { "freq-r14", "lpp.freq_r14",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_hz, 0,
+ "INTEGER_919750000_927250000", HFILL }},
+ { &hf_lpp_mbs_AlmanacAssistanceDataReq_r14,
+ { "mbs-AlmanacAssistanceDataReq-r14", "lpp.mbs_AlmanacAssistanceDataReq_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_mbs_AcquisitionAssistanceDataReq_r14,
+ { "mbs-AcquisitionAssistanceDataReq-r14", "lpp.mbs_AcquisitionAssistanceDataReq_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
{ &hf_lpp_sensor_MeasurementInformation_r13,
{ "sensor-MeasurementInformation-r13", "lpp.sensor_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16036,14 +19510,38 @@ void proto_register_lpp(void) {
{ "uncompensatedBarometricPressure-r13", "lpp.uncompensatedBarometricPressure_r13",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_pa, 0,
"INTEGER_30000_115000", HFILL }},
+ { &hf_lpp_uncertainty_r14,
+ { "uncertainty-r14", "lpp.uncertainty_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_range_r14,
+ { "range-r14", "lpp.range_r14",
+ FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_pa, 0,
+ "INTEGER_0_1000", HFILL }},
+ { &hf_lpp_confidence_r14,
+ { "confidence-r14", "lpp.confidence_r14",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(lpp_confidence_fmt), 0,
+ "INTEGER_1_100", HFILL }},
{ &hf_lpp_uncompensatedBarometricPressureReq_r13,
{ "uncompensatedBarometricPressureReq-r13", "lpp.uncompensatedBarometricPressureReq_r13",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
+ { &hf_lpp_assistanceAvailability_r14,
+ { "assistanceAvailability-r14", "lpp.assistanceAvailability_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
{ &hf_lpp_sensor_Modes_r13,
{ "sensor-Modes-r13", "lpp.sensor_Modes_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_sensor_AssistanceDataSupportList_r14,
+ { "sensor-AssistanceDataSupportList-r14", "lpp.sensor_AssistanceDataSupportList_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_idleStateForMeasurements_r14_03,
+ { "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_03_vals), 0,
+ "T_idleStateForMeasurements_r14_03", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13_01,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16060,6 +19558,26 @@ void proto_register_lpp(void) {
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_03_vals), 0,
"T_cause_r13_03", HFILL }},
+ { &hf_lpp_sensor_AssistanceDataList_r14,
+ { "sensor-AssistanceDataList-r14", "lpp.sensor_AssistanceDataList_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_sensor_Error_r14,
+ { "sensor-Error-r14", "lpp.sensor_Error_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_Sensor_Error_r13_vals), 0,
+ "Sensor_Error_r13", HFILL }},
+ { &hf_lpp_refPressure_r14,
+ { "refPressure-r14", "lpp.refPressure_r14",
+ FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_refPressure_fmt), 0,
+ "INTEGER_M20000_10000", HFILL }},
+ { &hf_lpp_refPosition_r14,
+ { "refPosition-r14", "lpp.refPosition_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "EllipsoidPointWithAltitudeAndUncertaintyEllipsoid", HFILL }},
+ { &hf_lpp_refTemperature_r14,
+ { "refTemperature-r14", "lpp.refTemperature_r14",
+ FT_INT32, BASE_CUSTOM, CF_FUNC(lpp_refTemperature_fmt), 0,
+ "INTEGER_M64_63", HFILL }},
{ &hf_lpp_wlan_MeasurementInformation_r13,
{ "wlan-MeasurementInformation-r13", "lpp.wlan_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16128,6 +19646,14 @@ void proto_register_lpp(void) {
{ "wlan-MeasSupported-r13", "lpp.wlan_MeasSupported_r13",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_wlan_AP_AD_Supported_r14,
+ { "wlan-AP-AD-Supported-r14", "lpp.wlan_AP_AD_Supported_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_idleStateForMeasurements_r14_04,
+ { "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_04_vals), 0,
+ "T_idleStateForMeasurements_r14_04", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13_02,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16140,6 +19666,10 @@ void proto_register_lpp(void) {
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_04_vals), 0,
"T_cause_r13_04", HFILL }},
+ { &hf_lpp_apLocationDataUnavailable_r14,
+ { "apLocationDataUnavailable-r14", "lpp.apLocationDataUnavailable_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_cause_r13_05,
{ "cause-r13", "lpp.cause_r13",
FT_UINT32, BASE_DEC, VALS(lpp_T_cause_r13_05_vals), 0,
@@ -16152,6 +19682,214 @@ void proto_register_lpp(void) {
{ "wlan-AP-RTT-MeasurementNotPossible-r13", "lpp.wlan_AP_RTT_MeasurementNotPossible_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_lpp_wlan_DataSet_r14,
+ { "wlan-DataSet-r14", "lpp.wlan_DataSet_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14", HFILL }},
+ { &hf_lpp_wlan_DataSet_r14_item,
+ { "WLAN-DataSet-r14", "lpp.WLAN_DataSet_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_wlan_Error_r14,
+ { "wlan-Error-r14", "lpp.wlan_Error_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_WLAN_Error_r13_vals), 0,
+ "WLAN_Error_r13", HFILL }},
+ { &hf_lpp_wlan_AP_List_r14,
+ { "wlan-AP-List-r14", "lpp.wlan_AP_List_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14", HFILL }},
+ { &hf_lpp_wlan_AP_List_r14_item,
+ { "WLAN-AP-Data-r14", "lpp.WLAN_AP_Data_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_supportedChannels_11a_r14,
+ { "supportedChannels-11a-r14", "lpp.supportedChannels_11a_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_supportedChannels_11bg_r14,
+ { "supportedChannels-11bg-r14", "lpp.supportedChannels_11bg_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_ch34_r14,
+ { "ch34-r14", "lpp.ch34_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch36_r14,
+ { "ch36-r14", "lpp.ch36_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch38_r14,
+ { "ch38-r14", "lpp.ch38_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch40_r14,
+ { "ch40-r14", "lpp.ch40_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch42_r14,
+ { "ch42-r14", "lpp.ch42_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch44_r14,
+ { "ch44-r14", "lpp.ch44_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch46_r14,
+ { "ch46-r14", "lpp.ch46_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch48_r14,
+ { "ch48-r14", "lpp.ch48_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch52_r14,
+ { "ch52-r14", "lpp.ch52_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch56_r14,
+ { "ch56-r14", "lpp.ch56_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch60_r14,
+ { "ch60-r14", "lpp.ch60_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch64_r14,
+ { "ch64-r14", "lpp.ch64_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch149_r14,
+ { "ch149-r14", "lpp.ch149_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch153_r14,
+ { "ch153-r14", "lpp.ch153_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch157_r14,
+ { "ch157-r14", "lpp.ch157_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch161_r14,
+ { "ch161-r14", "lpp.ch161_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch1_r14,
+ { "ch1-r14", "lpp.ch1_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch2_r14,
+ { "ch2-r14", "lpp.ch2_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch3_r14,
+ { "ch3-r14", "lpp.ch3_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch4_r14,
+ { "ch4-r14", "lpp.ch4_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch5_r14,
+ { "ch5-r14", "lpp.ch5_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch6_r14,
+ { "ch6-r14", "lpp.ch6_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch7_r14,
+ { "ch7-r14", "lpp.ch7_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch8_r14,
+ { "ch8-r14", "lpp.ch8_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch9_r14,
+ { "ch9-r14", "lpp.ch9_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch10_r14,
+ { "ch10-r14", "lpp.ch10_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch11_r14,
+ { "ch11-r14", "lpp.ch11_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch12_r14,
+ { "ch12-r14", "lpp.ch12_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch13_r14,
+ { "ch13-r14", "lpp.ch13_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_ch14_r14,
+ { "ch14-r14", "lpp.ch14_r14",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "BOOLEAN", HFILL }},
+ { &hf_lpp_wlan_AP_Identifier_r14,
+ { "wlan-AP-Identifier-r14", "lpp.wlan_AP_Identifier_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "WLAN_AP_Identifier_r13", HFILL }},
+ { &hf_lpp_wlan_AP_Location_r14,
+ { "wlan-AP-Location-r14", "lpp.wlan_AP_Location_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_locationDataLCI_r14,
+ { "locationDataLCI-r14", "lpp.locationDataLCI_r14_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_latitudeUncertainty_r14,
+ { "latitudeUncertainty-r14", "lpp.latitudeUncertainty_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_lpp_latitude_r14,
+ { "latitude-r14", "lpp.latitude_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_34", HFILL }},
+ { &hf_lpp_longitudeUncertainty_r14,
+ { "longitudeUncertainty-r14", "lpp.longitudeUncertainty_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_lpp_longitude_r14,
+ { "longitude-r14", "lpp.longitude_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_34", HFILL }},
+ { &hf_lpp_altitudeUncertainty_r14,
+ { "altitudeUncertainty-r14", "lpp.altitudeUncertainty_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_6", HFILL }},
+ { &hf_lpp_altitude_r14,
+ { "altitude-r14", "lpp.altitude_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_30", HFILL }},
+ { &hf_lpp_datum_r14,
+ { "datum-r14", "lpp.datum_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_8", HFILL }},
+ { &hf_lpp_requestedAD_r14,
+ { "requestedAD-r14", "lpp.requestedAD_r14",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_visibleAPs_r14,
+ { "visibleAPs-r14", "lpp.visibleAPs_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13", HFILL }},
+ { &hf_lpp_visibleAPs_r14_item,
+ { "WLAN-AP-Identifier-r13", "lpp.WLAN_AP_Identifier_r13_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_lpp_wlan_AP_StoredData_r14,
+ { "wlan-AP-StoredData-r14", "lpp.wlan_AP_StoredData_r14",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13", HFILL }},
+ { &hf_lpp_wlan_AP_StoredData_r14_item,
+ { "WLAN-AP-Identifier-r13", "lpp.WLAN_AP_Identifier_r13_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_lpp_bt_MeasurementInformation_r13,
{ "bt-MeasurementInformation-r13", "lpp.bt_MeasurementInformation_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16188,6 +19926,10 @@ void proto_register_lpp(void) {
{ "bt-MeasSupported-r13", "lpp.bt_MeasSupported_r13",
FT_BYTES, BASE_NONE, NULL, 0,
"T_bt_MeasSupported_r13", HFILL }},
+ { &hf_lpp_idleStateForMeasurements_r14_05,
+ { "idleStateForMeasurements-r14", "lpp.idleStateForMeasurements_r14",
+ FT_UINT32, BASE_DEC, VALS(lpp_T_idleStateForMeasurements_r14_05_vals), 0,
+ "T_idleStateForMeasurements_r14_05", HFILL }},
{ &hf_lpp_locationServerErrorCauses_r13_03,
{ "locationServerErrorCauses-r13", "lpp.locationServerErrorCauses_r13_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16220,6 +19962,10 @@ void proto_register_lpp(void) {
{ "gsm", "lpp.gsm",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
+ { &hf_lpp_T_accessTypes_nb_iot,
+ { "nb-iot", "lpp.nb-iot",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
{ &hf_lpp_T_posModes_standalone,
{ "standalone", "lpp.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16252,10 +19998,22 @@ void proto_register_lpp(void) {
{ "sensor", "lpp.sensor",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
+ { &hf_lpp_T_adType_r14_prs,
+ { "prs", "lpp.prs",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_lpp_T_adType_r14_nprs,
+ { "nprs", "lpp.nprs",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
{ &hf_lpp_T_otdoa_Mode_ue_assisted,
{ "ue-assisted", "lpp.ue-assisted",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
+ { &hf_lpp_T_otdoa_Mode_ue_assisted_NB_r14,
+ { "ue-assisted-NB-r14", "lpp.ue-assisted-NB-r14",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
{ &hf_lpp_T_ionoModel_klobuchar,
{ "klobuchar", "lpp.klobuchar",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16412,6 +20170,14 @@ void proto_register_lpp(void) {
{ "ueRxTxReq", "lpp.ueRxTxReq",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
+ { &hf_lpp_T_requestedMeasurements_nrsrpReq_r14,
+ { "nrsrpReq-r14", "lpp.nrsrpReq-r14",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_lpp_T_requestedMeasurements_nrsrqReq_r14,
+ { "nrsrqReq-r14", "lpp.nrsrqReq-r14",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
{ &hf_lpp_T_ecid_MeasSupported_rsrpSup,
{ "rsrpSup", "lpp.rsrpSup",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16424,6 +20190,18 @@ void proto_register_lpp(void) {
{ "ueRxTxSup", "lpp.ueRxTxSup",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
+ { &hf_lpp_T_ecid_MeasSupported_nrsrpSup_r14,
+ { "nrsrpSup-r14", "lpp.nrsrpSup-r14",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
+ { &hf_lpp_T_ecid_MeasSupported_nrsrqSup_r14,
+ { "nrsrqSup-r14", "lpp.nrsrqSup-r14",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ NULL, HFILL }},
+ { &hf_lpp_T_mbsRequestedMeasurements_r14_rssi,
+ { "rssi", "lpp.rssi",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
{ &hf_lpp_T_tbs_Modes_r13_standalone,
{ "standalone", "lpp.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16432,6 +20210,26 @@ void proto_register_lpp(void) {
{ "ue-assisted", "lpp.ue-assisted",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
+ { &hf_lpp_T_tbs_Modes_r13_ue_based,
+ { "ue-based", "lpp.ue-based",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_lpp_T_mbs_ConfigSupport_r14_tb1,
+ { "tb1", "lpp.tb1",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_lpp_T_mbs_ConfigSupport_r14_tb2,
+ { "tb2", "lpp.tb2",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_lpp_T_mbs_ConfigSupport_r14_tb3,
+ { "tb3", "lpp.tb3",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
+ { &hf_lpp_T_mbs_ConfigSupport_r14_tb4,
+ { "tb4", "lpp.tb4",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ NULL, HFILL }},
{ &hf_lpp_T_sensor_Modes_r13_standalone,
{ "standalone", "lpp.standalone",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16440,6 +20238,10 @@ void proto_register_lpp(void) {
{ "ue-assisted", "lpp.ue-assisted",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
+ { &hf_lpp_T_sensor_Modes_r13_ue_based,
+ { "ue-based", "lpp.ue-based",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r13_rssi,
{ "rssi", "lpp.rssi",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16456,6 +20258,10 @@ void proto_register_lpp(void) {
{ "ue-assisted", "lpp.ue-assisted",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
+ { &hf_lpp_T_wlan_Modes_r13_ue_based,
+ { "ue-based", "lpp.ue-based",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ NULL, HFILL }},
{ &hf_lpp_T_wlan_MeasSupported_r13_rssi_r13,
{ "rssi-r13", "lpp.rssi-r13",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16464,6 +20270,22 @@ void proto_register_lpp(void) {
{ "rtt-r13", "lpp.rtt-r13",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
+ { &hf_lpp_T_wlan_AP_AD_Supported_r14_ap_identifier,
+ { "ap-identifier", "lpp.ap-identifier",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_lpp_T_wlan_AP_AD_Supported_r14_ap_location,
+ { "ap-location", "lpp.ap-location",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
+ { &hf_lpp_T_requestedAD_r14_ap_identifier,
+ { "ap-identifier", "lpp.ap-identifier",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ NULL, HFILL }},
+ { &hf_lpp_T_requestedAD_r14_ap_location,
+ { "ap-location", "lpp.ap-location",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ NULL, HFILL }},
{ &hf_lpp_T_requestedMeasurements_r13_01_rssi,
{ "rssi", "lpp.rssi",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -16482,7 +20304,7 @@ void proto_register_lpp(void) {
NULL, HFILL }},
/*--- End of included file: packet-lpp-hfarr.c ---*/
-#line 1660 "./asn1/lpp/packet-lpp-template.c"
+#line 1744 "./asn1/lpp/packet-lpp-template.c"
{ &hf_lpp_svHealthExt_v1240_e5bhs,
{ "E5b Signal Health Status", "lpp.svHealthExt_v1240.e5bhs",
FT_UINT8, BASE_DEC, VALS(lpp_signal_health_status_vals), 0,
@@ -16578,6 +20400,7 @@ void proto_register_lpp(void) {
&ett_lpp_Error_r9_IEs,
&ett_lpp_AccessTypes,
&ett_lpp_T_accessTypes,
+ &ett_lpp_CarrierFreq_NB_r14,
&ett_lpp_CellGlobalIdEUTRA_AndUTRA,
&ett_lpp_T_plmn_Identity,
&ett_lpp_T_mcc,
@@ -16620,6 +20443,8 @@ void proto_register_lpp(void) {
&ett_lpp_HorizontalAccuracy,
&ett_lpp_VerticalAccuracy,
&ett_lpp_ResponseTime,
+ &ett_lpp_ResponseTimeNB_r14,
+ &ett_lpp_MessageSizeLimitNB_r14,
&ett_lpp_CommonIEsProvideLocationInformation,
&ett_lpp_LocationCoordinates,
&ett_lpp_Velocity,
@@ -16629,17 +20454,38 @@ void proto_register_lpp(void) {
&ett_lpp_CommonIEsError,
&ett_lpp_OTDOA_ProvideAssistanceData,
&ett_lpp_OTDOA_ReferenceCellInfo,
+ &ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_PRS_Info,
&ett_lpp_PRS_Info,
&ett_lpp_T_prs_MutingInfo_r9,
+ &ett_lpp_T_prsHoppingInfo_r14,
+ &ett_lpp_T_nb4_r14,
&ett_lpp_OTDOA_NeighbourCellInfoList,
&ett_lpp_OTDOA_NeighbourFreqInfo,
&ett_lpp_OTDOA_NeighbourCellInfoElement,
+ &ett_lpp_SEQUENCE_SIZE_1_maxAddPRSconfig_r14_OF_Add_PRSconfigNeighbourElement_r14,
+ &ett_lpp_Add_PRSconfigNeighbourElement_r14,
+ &ett_lpp_OTDOA_ReferenceCellInfoNB_r14,
+ &ett_lpp_PRS_Info_NB_r14,
+ &ett_lpp_NPRS_Info_r14,
+ &ett_lpp_T_partA_r14,
+ &ett_lpp_T_nprsBitmap_r14,
+ &ett_lpp_T_nprs_MutingInfoA_r14,
+ &ett_lpp_T_partB_r14,
+ &ett_lpp_T_nprs_MutingInfoB_r14,
+ &ett_lpp_OTDOA_NeighbourCellInfoListNB_r14,
+ &ett_lpp_OTDOA_NeighbourCellInfoNB_r14,
&ett_lpp_OTDOA_RequestAssistanceData,
+ &ett_lpp_T_adType_r14,
&ett_lpp_OTDOA_ProvideLocationInformation,
&ett_lpp_OTDOA_SignalMeasurementInformation,
&ett_lpp_NeighbourMeasurementList,
&ett_lpp_NeighbourMeasurementElement,
+ &ett_lpp_AdditionalPathList_r14,
+ &ett_lpp_OTDOA_SignalMeasurementInformation_NB_r14,
+ &ett_lpp_NeighbourMeasurementList_NB_r14,
+ &ett_lpp_NeighbourMeasurementElement_NB_r14,
&ett_lpp_OTDOA_MeasQuality,
+ &ett_lpp_AdditionalPath_r14,
&ett_lpp_OTDOA_RequestLocationInformation,
&ett_lpp_OTDOA_ProvideCapabilities,
&ett_lpp_T_otdoa_Mode,
@@ -16669,6 +20515,7 @@ void proto_register_lpp(void) {
&ett_lpp_T_fdd,
&ett_lpp_T_tdd,
&ett_lpp_T_gSM,
+ &ett_lpp_T_nBIoT_r14,
&ett_lpp_GNSS_ReferenceLocation,
&ett_lpp_GNSS_IonosphericModel,
&ett_lpp_KlobucharModelParameter,
@@ -16781,6 +20628,7 @@ void proto_register_lpp(void) {
&ett_lpp_T_tdd_01,
&ett_lpp_T_gSM_01,
&ett_lpp_T_referenceFrame,
+ &ett_lpp_T_nbIoT_r14,
&ett_lpp_GNSS_MeasurementList,
&ett_lpp_GNSS_MeasurementForOneGNSS,
&ett_lpp_GNSS_SgnMeasList,
@@ -16848,21 +20696,36 @@ void proto_register_lpp(void) {
&ett_lpp_MBS_BeaconMeasList_r13,
&ett_lpp_MBS_BeaconMeasElement_r13,
&ett_lpp_TBS_RequestLocationInformation_r13,
+ &ett_lpp_T_mbsRequestedMeasurements_r14,
&ett_lpp_TBS_ProvideCapabilities_r13,
&ett_lpp_T_tbs_Modes_r13,
+ &ett_lpp_T_mbs_ConfigSupport_r14,
+ &ett_lpp_MBS_AssistanceDataSupportList_r14,
&ett_lpp_TBS_RequestCapabilities_r13,
&ett_lpp_TBS_Error_r13,
&ett_lpp_TBS_LocationServerErrorCauses_r13,
&ett_lpp_TBS_TargetDeviceErrorCauses_r13,
+ &ett_lpp_TBS_ProvideAssistanceData_r14,
+ &ett_lpp_TBS_AssistanceDataList_r14,
+ &ett_lpp_MBS_AssistanceDataList_r14,
+ &ett_lpp_MBS_AssistanceDataElement_r14,
+ &ett_lpp_MBS_AlmanacAssistance_r14,
+ &ett_lpp_MBS_AcquisitionAssistance_r14,
+ &ett_lpp_TBS_RequestAssistanceData_r14,
&ett_lpp_Sensor_ProvideLocationInformation_r13,
&ett_lpp_Sensor_MeasurementInformation_r13,
+ &ett_lpp_T_uncertainty_r14,
&ett_lpp_Sensor_RequestLocationInformation_r13,
&ett_lpp_Sensor_ProvideCapabilities_r13,
&ett_lpp_T_sensor_Modes_r13,
+ &ett_lpp_Sensor_AssistanceDataSupportList_r14,
&ett_lpp_Sensor_RequestCapabilities_r13,
&ett_lpp_Sensor_Error_r13,
&ett_lpp_Sensor_LocationServerErrorCauses_r13,
&ett_lpp_Sensor_TargetDeviceErrorCauses_r13,
+ &ett_lpp_Sensor_ProvideAssistanceData_r14,
+ &ett_lpp_Sensor_AssistanceDataList_r14,
+ &ett_lpp_Sensor_RequestAssistanceData_r14,
&ett_lpp_WLAN_ProvideLocationInformation_r13,
&ett_lpp_WLAN_MeasurementInformation_r13,
&ett_lpp_WLAN_MeasurementList_r13,
@@ -16874,10 +20737,24 @@ void proto_register_lpp(void) {
&ett_lpp_WLAN_ProvideCapabilities_r13,
&ett_lpp_T_wlan_Modes_r13,
&ett_lpp_T_wlan_MeasSupported_r13,
+ &ett_lpp_T_wlan_AP_AD_Supported_r14,
&ett_lpp_WLAN_RequestCapabilities_r13,
&ett_lpp_WLAN_Error_r13,
&ett_lpp_WLAN_LocationServerErrorCauses_r13,
&ett_lpp_WLAN_TargetDeviceErrorCauses_r13,
+ &ett_lpp_WLAN_ProvideAssistanceData_r14,
+ &ett_lpp_SEQUENCE_SIZE_1_maxWLAN_DataSets_r14_OF_WLAN_DataSet_r14,
+ &ett_lpp_WLAN_DataSet_r14,
+ &ett_lpp_SEQUENCE_SIZE_1_maxWLAN_AP_r14_OF_WLAN_AP_Data_r14,
+ &ett_lpp_SupportedChannels_11a_r14,
+ &ett_lpp_SupportedChannels_11bg_r14,
+ &ett_lpp_WLAN_AP_Data_r14,
+ &ett_lpp_WLAN_AP_Location_r14,
+ &ett_lpp_LocationDataLCI_r14,
+ &ett_lpp_WLAN_RequestAssistanceData_r14,
+ &ett_lpp_T_requestedAD_r14,
+ &ett_lpp_SEQUENCE_SIZE_1_maxVisibleAPs_r14_OF_WLAN_AP_Identifier_r13,
+ &ett_lpp_SEQUENCE_SIZE_1_maxKnownAPs_r14_OF_WLAN_AP_Identifier_r13,
&ett_lpp_BT_ProvideLocationInformation_r13,
&ett_lpp_BT_MeasurementInformation_r13,
&ett_lpp_BT_MeasurementList_r13,
@@ -16893,7 +20770,7 @@ void proto_register_lpp(void) {
&ett_lpp_BT_TargetDeviceErrorCauses_r13,
/*--- End of included file: packet-lpp-ettarr.c ---*/
-#line 1707 "./asn1/lpp/packet-lpp-template.c"
+#line 1791 "./asn1/lpp/packet-lpp-template.c"
};