Coverage Report

Created: 2026-08-14 06:45

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-lppa.c
Line
Count
Source
1
/* Do not modify this file. Changes will be overwritten.                      */
2
/* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3
/* packet-lppa.c                                                              */
4
/* asn2wrs.py -q -L -p lppa -c ./lppa.cnf -s ./packet-lppa-template -D . -O ../.. LPPA-CommonDataTypes.asn LPPA-Constants.asn LPPA-Containers.asn LPPA-IEs.asn LPPA-PDU-Contents.asn LPPA-PDU-Descriptions.asn */
5
6
/* packet-lppa.c
7
 * Routines for 3GPP LTE Positioning Protocol A (LLPa) packet dissection
8
 * Copyright 2011-2024, Pascal Quantin <pascal@wireshark.org>
9
 *
10
 * Wireshark - Network traffic analyzer
11
 * By Gerald Combs <gerald@wireshark.org>
12
 * Copyright 1998 Gerald Combs
13
 *
14
 * SPDX-License-Identifier: GPL-2.0-or-later
15
 *
16
 * Ref 3GPP TS 36.455 version 18.1.0 (2024-06)
17
 * http://www.3gpp.org
18
 */
19
20
#include "config.h"
21
22
#include <epan/packet.h>
23
#include <epan/proto_data.h>
24
#include <epan/asn1.h>
25
#include <wsutil/array.h>
26
27
#include "packet-per.h"
28
#include "packet-lppa.h"
29
30
void proto_register_lppa(void);
31
void proto_reg_handoff_lppa(void);
32
33
/* Initialize the protocol and registered fields */
34
static int proto_lppa;
35
36
static int hf_lppa_Add_OTDOACells_PDU;            /* Add_OTDOACells */
37
static int hf_lppa_Assistance_Information_PDU;    /* Assistance_Information */
38
static int hf_lppa_AssistanceInformationFailureList_PDU;  /* AssistanceInformationFailureList */
39
static int hf_lppa_Broadcast_PDU;                 /* Broadcast */
40
static int hf_lppa_Cause_PDU;                     /* Cause */
41
static int hf_lppa_Cell_Portion_ID_PDU;           /* Cell_Portion_ID */
42
static int hf_lppa_CriticalityDiagnostics_PDU;    /* CriticalityDiagnostics */
43
static int hf_lppa_E_CID_MeasurementResult_PDU;   /* E_CID_MeasurementResult */
44
static int hf_lppa_InterRATMeasurementQuantities_PDU;  /* InterRATMeasurementQuantities */
45
static int hf_lppa_InterRATMeasurementQuantities_Item_PDU;  /* InterRATMeasurementQuantities_Item */
46
static int hf_lppa_InterRATMeasurementResult_PDU;  /* InterRATMeasurementResult */
47
static int hf_lppa_Measurement_ID_PDU;            /* Measurement_ID */
48
static int hf_lppa_MeasurementPeriodicity_PDU;    /* MeasurementPeriodicity */
49
static int hf_lppa_MeasurementQuantities_PDU;     /* MeasurementQuantities */
50
static int hf_lppa_MeasurementQuantities_Item_PDU;  /* MeasurementQuantities_Item */
51
static int hf_lppa_NR_CGI_PDU;                    /* NR_CGI */
52
static int hf_lppa_OTDOACells_PDU;                /* OTDOACells */
53
static int hf_lppa_ReportCharacteristics_PDU;     /* ReportCharacteristics */
54
static int hf_lppa_RequestedSRSTransmissionCharacteristics_PDU;  /* RequestedSRSTransmissionCharacteristics */
55
static int hf_lppa_ResultsPerSSB_Index_List_PDU;  /* ResultsPerSSB_Index_List */
56
static int hf_lppa_ULConfiguration_PDU;           /* ULConfiguration */
57
static int hf_lppa_WLANMeasurementQuantities_PDU;  /* WLANMeasurementQuantities */
58
static int hf_lppa_WLANMeasurementQuantities_Item_PDU;  /* WLANMeasurementQuantities_Item */
59
static int hf_lppa_WLANMeasurementResult_PDU;     /* WLANMeasurementResult */
60
static int hf_lppa_E_CIDMeasurementInitiationRequest_PDU;  /* E_CIDMeasurementInitiationRequest */
61
static int hf_lppa_E_CIDMeasurementInitiationResponse_PDU;  /* E_CIDMeasurementInitiationResponse */
62
static int hf_lppa_E_CIDMeasurementInitiationFailure_PDU;  /* E_CIDMeasurementInitiationFailure */
63
static int hf_lppa_E_CIDMeasurementFailureIndication_PDU;  /* E_CIDMeasurementFailureIndication */
64
static int hf_lppa_E_CIDMeasurementReport_PDU;    /* E_CIDMeasurementReport */
65
static int hf_lppa_E_CIDMeasurementTerminationCommand_PDU;  /* E_CIDMeasurementTerminationCommand */
66
static int hf_lppa_OTDOAInformationRequest_PDU;   /* OTDOAInformationRequest */
67
static int hf_lppa_OTDOA_Information_Type_PDU;    /* OTDOA_Information_Type */
68
static int hf_lppa_OTDOA_Information_Type_Item_PDU;  /* OTDOA_Information_Type_Item */
69
static int hf_lppa_OTDOAInformationResponse_PDU;  /* OTDOAInformationResponse */
70
static int hf_lppa_OTDOAInformationFailure_PDU;   /* OTDOAInformationFailure */
71
static int hf_lppa_UTDOAInformationRequest_PDU;   /* UTDOAInformationRequest */
72
static int hf_lppa_UTDOAInformationResponse_PDU;  /* UTDOAInformationResponse */
73
static int hf_lppa_UTDOAInformationFailure_PDU;   /* UTDOAInformationFailure */
74
static int hf_lppa_UTDOAInformationUpdate_PDU;    /* UTDOAInformationUpdate */
75
static int hf_lppa_AssistanceInformationControl_PDU;  /* AssistanceInformationControl */
76
static int hf_lppa_AssistanceInformationFeedback_PDU;  /* AssistanceInformationFeedback */
77
static int hf_lppa_ErrorIndication_PDU;           /* ErrorIndication */
78
static int hf_lppa_PrivateMessage_PDU;            /* PrivateMessage */
79
static int hf_lppa_LPPA_PDU_PDU;                  /* LPPA_PDU */
80
static int hf_lppa_local;                         /* INTEGER_0_maxPrivateIEs */
81
static int hf_lppa_global;                        /* OBJECT_IDENTIFIER */
82
static int hf_lppa_ProtocolIE_Container_item;     /* ProtocolIE_Field */
83
static int hf_lppa_id;                            /* ProtocolIE_ID */
84
static int hf_lppa_criticality;                   /* Criticality */
85
static int hf_lppa_ie_field_value;                /* T_ie_field_value */
86
static int hf_lppa_ProtocolExtensionContainer_item;  /* ProtocolExtensionField */
87
static int hf_lppa_ext_id;                        /* ProtocolIE_ID */
88
static int hf_lppa_extensionValue;                /* T_extensionValue */
89
static int hf_lppa_PrivateIE_Container_item;      /* PrivateIE_Field */
90
static int hf_lppa_id_01;                         /* PrivateIE_ID */
91
static int hf_lppa_value;                         /* T_value */
92
static int hf_lppa_Add_OTDOACells_item;           /* Add_OTDOACells_item */
93
static int hf_lppa_add_OTDOACellInfo;             /* Add_OTDOACell_Information */
94
static int hf_lppa_iE_Extensions;                 /* ProtocolExtensionContainer */
95
static int hf_lppa_Add_OTDOACell_Information_item;  /* OTDOACell_Information_Item */
96
static int hf_lppa_systemInformation;             /* SystemInformation */
97
static int hf_lppa_AssistanceInformationFailureList_item;  /* AssistanceInformationFailureList_item */
98
static int hf_lppa_posSIB_Type;                   /* PosSIB_Type */
99
static int hf_lppa_outcome;                       /* Outcome */
100
static int hf_lppa_encrypted;                     /* T_encrypted */
101
static int hf_lppa_gNSSID;                        /* T_gNSSID */
102
static int hf_lppa_sBASID;                        /* T_sBASID */
103
static int hf_lppa_ten;                           /* BIT_STRING_SIZE_10 */
104
static int hf_lppa_forty;                         /* BIT_STRING_SIZE_40 */
105
static int hf_lppa_ten_tdd;                       /* BIT_STRING_SIZE_8 */
106
static int hf_lppa_forty_tdd;                     /* BIT_STRING_SIZE_32 */
107
static int hf_lppa_radioNetwork;                  /* CauseRadioNetwork */
108
static int hf_lppa_protocol;                      /* CauseProtocol */
109
static int hf_lppa_misc;                          /* CauseMisc */
110
static int hf_lppa_procedureCode;                 /* ProcedureCode */
111
static int hf_lppa_triggeringMessage;             /* TriggeringMessage */
112
static int hf_lppa_procedureCriticality;          /* Criticality */
113
static int hf_lppa_lppatransactionID;             /* LPPATransactionID */
114
static int hf_lppa_iEsCriticalityDiagnostics;     /* CriticalityDiagnostics_IE_List */
115
static int hf_lppa_CriticalityDiagnostics_IE_List_item;  /* CriticalityDiagnostics_IE_List_item */
116
static int hf_lppa_iECriticality;                 /* Criticality */
117
static int hf_lppa_iE_ID;                         /* ProtocolIE_ID */
118
static int hf_lppa_typeOfError;                   /* TypeOfError */
119
static int hf_lppa_servingCell_ID;                /* ECGI */
120
static int hf_lppa_servingCellTAC;                /* TAC */
121
static int hf_lppa_e_UTRANAccessPointPosition;    /* E_UTRANAccessPointPosition */
122
static int hf_lppa_measuredResults;               /* MeasuredResults */
123
static int hf_lppa_pLMN_Identity;                 /* PLMN_Identity */
124
static int hf_lppa_eUTRANcellIdentifier;          /* EUTRANCellIdentifier */
125
static int hf_lppa_latitudeSign;                  /* T_latitudeSign */
126
static int hf_lppa_latitude;                      /* INTEGER_0_8388607 */
127
static int hf_lppa_longitude;                     /* INTEGER_M8388608_8388607 */
128
static int hf_lppa_directionOfAltitude;           /* T_directionOfAltitude */
129
static int hf_lppa_altitude;                      /* INTEGER_0_32767 */
130
static int hf_lppa_uncertaintySemi_major;         /* INTEGER_0_127 */
131
static int hf_lppa_uncertaintySemi_minor;         /* INTEGER_0_127 */
132
static int hf_lppa_orientationOfMajorAxis;        /* INTEGER_0_179 */
133
static int hf_lppa_uncertaintyAltitude;           /* INTEGER_0_127 */
134
static int hf_lppa_confidence;                    /* INTEGER_0_100 */
135
static int hf_lppa_InterRATMeasurementQuantities_item;  /* ProtocolIE_Single_Container */
136
static int hf_lppa_interRATMeasurementQuantitiesValue;  /* InterRATMeasurementQuantitiesValue */
137
static int hf_lppa_InterRATMeasurementResult_item;  /* InterRATMeasuredResultsValue */
138
static int hf_lppa_resultGERAN;                   /* ResultGERAN */
139
static int hf_lppa_resultUTRAN;                   /* ResultUTRAN */
140
static int hf_lppa_resultNR;                      /* ResultNR */
141
static int hf_lppa_MeasurementQuantities_item;    /* ProtocolIE_Single_Container */
142
static int hf_lppa_measurementQuantitiesValue;    /* MeasurementQuantitiesValue */
143
static int hf_lppa_MeasuredResults_item;          /* MeasuredResultsValue */
144
static int hf_lppa_valueAngleOfArrival;           /* INTEGER_0_719 */
145
static int hf_lppa_valueTimingAdvanceType1;       /* INTEGER_0_7690 */
146
static int hf_lppa_valueTimingAdvanceType2;       /* INTEGER_0_7690 */
147
static int hf_lppa_resultRSRP;                    /* ResultRSRP */
148
static int hf_lppa_resultRSRQ;                    /* ResultRSRQ */
149
static int hf_lppa_MBSFNsubframeConfiguration_item;  /* MBSFNsubframeConfigurationValue */
150
static int hf_lppa_radioframeAllocationPeriod;    /* T_radioframeAllocationPeriod */
151
static int hf_lppa_radioframeAllocationOffset;    /* INTEGER_0_7 */
152
static int hf_lppa_subframeAllocation;            /* Subframeallocation */
153
static int hf_lppa_nRCellIdentity;                /* NRCellIdentity */
154
static int hf_lppa_nPRSSubframePartA;             /* NPRSSubframePartA */
155
static int hf_lppa_nPRSSubframePartB;             /* NPRSSubframePartB */
156
static int hf_lppa_two;                           /* BIT_STRING_SIZE_2 */
157
static int hf_lppa_four;                          /* BIT_STRING_SIZE_4 */
158
static int hf_lppa_eight;                         /* BIT_STRING_SIZE_8 */
159
static int hf_lppa_sixteen;                       /* BIT_STRING_SIZE_16 */
160
static int hf_lppa_bitmapsforNPRS;                /* BitmapsforNPRS */
161
static int hf_lppa_nPRSMutingConfiguration;       /* NPRSMutingConfiguration */
162
static int hf_lppa_numberofNPRSOneOccasion;       /* T_numberofNPRSOneOccasion */
163
static int hf_lppa_periodicityofNPRS;             /* T_periodicityofNPRS */
164
static int hf_lppa_startingsubframeoffset;        /* T_startingsubframeoffset */
165
static int hf_lppa_sIB1_NB_Subframe_TDD;          /* T_sIB1_NB_Subframe_TDD */
166
static int hf_lppa_OTDOACells_item;               /* OTDOACells_item */
167
static int hf_lppa_oTDOACellInfo;                 /* OTDOACell_Information */
168
static int hf_lppa_OTDOACell_Information_item;    /* OTDOACell_Information_Item */
169
static int hf_lppa_pCI;                           /* PCI */
170
static int hf_lppa_cellId;                        /* ECGI */
171
static int hf_lppa_tAC;                           /* TAC */
172
static int hf_lppa_eARFCN;                        /* EARFCN */
173
static int hf_lppa_pRS_Bandwidth;                 /* PRS_Bandwidth */
174
static int hf_lppa_pRS_ConfigurationIndex;        /* PRS_Configuration_Index */
175
static int hf_lppa_cPLength;                      /* CPLength */
176
static int hf_lppa_numberOfDlFrames;              /* NumberOfDlFrames */
177
static int hf_lppa_numberOfAntennaPorts;          /* NumberOfAntennaPorts */
178
static int hf_lppa_sFNInitialisationTime;         /* SFNInitialisationTime */
179
static int hf_lppa_pRSMutingConfiguration;        /* PRSMutingConfiguration */
180
static int hf_lppa_prsid;                         /* PRS_ID */
181
static int hf_lppa_tpid;                          /* TP_ID */
182
static int hf_lppa_tpType;                        /* TP_Type */
183
static int hf_lppa_numberOfDlFrames_Extended;     /* NumberOfDlFrames_Extended */
184
static int hf_lppa_crsCPlength;                   /* CPLength */
185
static int hf_lppa_mBSFNsubframeConfiguration;    /* MBSFNsubframeConfiguration */
186
static int hf_lppa_nPRSConfiguration;             /* NPRSConfiguration */
187
static int hf_lppa_offsetNBChanneltoEARFCN;       /* OffsetNBChanneltoEARFCN */
188
static int hf_lppa_operationModeInfo;             /* OperationModeInfo */
189
static int hf_lppa_nPRS_ID;                       /* INTEGER_0_4095_ */
190
static int hf_lppa_dL_Bandwidth;                  /* DL_Bandwidth */
191
static int hf_lppa_pRSOccasionGroup;              /* PRSOccasionGroup */
192
static int hf_lppa_pRSFreqHoppingConfig;          /* PRSFrequencyHoppingConfiguration */
193
static int hf_lppa_repetitionNumberofSIB1_NB;     /* RepetitionNumberofSIB1_NB */
194
static int hf_lppa_nPRSSequenceInfo;              /* NPRSSequenceInfo */
195
static int hf_lppa_nPRSType2;                     /* NPRSConfiguration */
196
static int hf_lppa_tddConfiguration;              /* TDDConfiguration */
197
static int hf_lppa_PosSIBs_item;                  /* PosSIBs_item */
198
static int hf_lppa_posSIB_Segments;               /* PosSIB_Segments */
199
static int hf_lppa_assistanceInformationMetaData;  /* AssistanceInformationMetaData */
200
static int hf_lppa_broadcastPriority;             /* INTEGER_1_16_ */
201
static int hf_lppa_PosSIB_Segments_item;          /* PosSIB_Segments_item */
202
static int hf_lppa_assistanceDataSIBelement;      /* OCTET_STRING */
203
static int hf_lppa_thirty_two;                    /* BIT_STRING_SIZE_32 */
204
static int hf_lppa_sixty_four;                    /* BIT_STRING_SIZE_64 */
205
static int hf_lppa_one_hundred_and_twenty_eight;  /* BIT_STRING_SIZE_128 */
206
static int hf_lppa_two_hundred_and_fifty_six;     /* BIT_STRING_SIZE_256 */
207
static int hf_lppa_five_hundred_and_twelve;       /* BIT_STRING_SIZE_512 */
208
static int hf_lppa_one_thousand_and_twenty_four;  /* BIT_STRING_SIZE_1024 */
209
static int hf_lppa_noOfFreqHoppingBands;          /* NumberOfFrequencyHoppingBands */
210
static int hf_lppa_bandPositions;                 /* SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex */
211
static int hf_lppa_bandPositions_item;            /* NarrowBandIndex */
212
static int hf_lppa_numberOfTransmissions;         /* INTEGER_0_500_ */
213
static int hf_lppa_bandwidth;                     /* INTEGER_1_100_ */
214
static int hf_lppa_ResultRSRP_item;               /* ResultRSRP_Item */
215
static int hf_lppa_eCGI;                          /* ECGI */
216
static int hf_lppa_valueRSRP;                     /* ValueRSRP */
217
static int hf_lppa_ResultRSRQ_item;               /* ResultRSRQ_Item */
218
static int hf_lppa_valueRSRQ;                     /* ValueRSRQ */
219
static int hf_lppa_ResultGERAN_item;              /* ResultGERAN_Item */
220
static int hf_lppa_bCCH;                          /* BCCH */
221
static int hf_lppa_physCellIDGERAN;               /* PhysCellIDGERAN */
222
static int hf_lppa_rSSI;                          /* RSSI */
223
static int hf_lppa_ResultUTRAN_item;              /* ResultUTRAN_Item */
224
static int hf_lppa_uARFCN;                        /* UARFCN */
225
static int hf_lppa_physCellIDUTRAN;               /* T_physCellIDUTRAN */
226
static int hf_lppa_physCellIDUTRA_FDD;            /* PhysCellIDUTRA_FDD */
227
static int hf_lppa_physCellIDUTRA_TDD;            /* PhysCellIDUTRA_TDD */
228
static int hf_lppa_uTRA_RSCP;                     /* UTRA_RSCP */
229
static int hf_lppa_uTRA_EcN0;                     /* UTRA_EcN0 */
230
static int hf_lppa_ResultNR_item;                 /* ResultNR_Item */
231
static int hf_lppa_nRARFCN;                       /* NRARFCN */
232
static int hf_lppa_nRPCI;                         /* NRPCI */
233
static int hf_lppa_sS_NRRSRP;                     /* SS_NRRSRP */
234
static int hf_lppa_sS_NRRSRQ;                     /* SS_NRRSRQ */
235
static int hf_lppa_ResultsPerSSB_Index_List_item;  /* ResultsPerSSB_Index_Item */
236
static int hf_lppa_sSB_Index;                     /* SSB_Index */
237
static int hf_lppa_sS_NRRSRPBeamValue;            /* SS_NRRSRP */
238
static int hf_lppa_sS_NRRSRQBeamValue;            /* SS_NRRSRQ */
239
static int hf_lppa_SRSConfigurationForAllCells_item;  /* SRSConfigurationForOneCell */
240
static int hf_lppa_pci;                           /* PCI */
241
static int hf_lppa_ul_earfcn;                     /* EARFCN */
242
static int hf_lppa_ul_bandwidth;                  /* T_ul_bandwidth */
243
static int hf_lppa_ul_cyclicPrefixLength;         /* CPLength */
244
static int hf_lppa_srs_BandwidthConfig;           /* T_srs_BandwidthConfig */
245
static int hf_lppa_srs_Bandwidth;                 /* T_srs_Bandwidth */
246
static int hf_lppa_srs_AntennaPort;               /* T_srs_AntennaPort */
247
static int hf_lppa_srs_HoppingBandwidth;          /* T_srs_HoppingBandwidth */
248
static int hf_lppa_srs_cyclicShift;               /* T_srs_cyclicShift */
249
static int hf_lppa_srs_ConfigIndex;               /* INTEGER_0_1023 */
250
static int hf_lppa_maxUpPts;                      /* T_maxUpPts */
251
static int hf_lppa_transmissionComb;              /* INTEGER_0_1 */
252
static int hf_lppa_freqDomainPosition;            /* INTEGER_0_23 */
253
static int hf_lppa_groupHoppingEnabled;           /* BOOLEAN */
254
static int hf_lppa_deltaSS;                       /* INTEGER_0_29 */
255
static int hf_lppa_sfnInitialisationTime;         /* SFNInitialisationTime */
256
static int hf_lppa_oneFrame;                      /* BIT_STRING_SIZE_6 */
257
static int hf_lppa_fourFrames;                    /* BIT_STRING_SIZE_24 */
258
static int hf_lppa_SystemInformation_item;        /* SystemInformation_item */
259
static int hf_lppa_broadcastPeriodicity;          /* BroadcastPeriodicity */
260
static int hf_lppa_posSIBs;                       /* PosSIBs */
261
static int hf_lppa_subframeAssignment;            /* T_subframeAssignment */
262
static int hf_lppa_timingAdvanceType1;            /* INTEGER_0_7690 */
263
static int hf_lppa_timingAdvanceType2;            /* INTEGER_0_7690 */
264
static int hf_lppa_srsConfiguration;              /* SRSConfigurationForAllCells */
265
static int hf_lppa_WLANMeasurementQuantities_item;  /* ProtocolIE_Single_Container */
266
static int hf_lppa_wLANMeasurementQuantitiesValue;  /* WLANMeasurementQuantitiesValue */
267
static int hf_lppa_WLANMeasurementResult_item;    /* WLANMeasurementResult_Item */
268
static int hf_lppa_wLAN_RSSI;                     /* WLAN_RSSI */
269
static int hf_lppa_sSID;                          /* SSID */
270
static int hf_lppa_bSSID;                         /* BSSID */
271
static int hf_lppa_hESSID;                        /* HESSID */
272
static int hf_lppa_operatingClass;                /* WLANOperatingClass */
273
static int hf_lppa_countryCode;                   /* WLANCountryCode */
274
static int hf_lppa_wLANChannelList;               /* WLANChannelList */
275
static int hf_lppa_wLANBand;                      /* WLANBand */
276
static int hf_lppa_WLANChannelList_item;          /* WLANChannel */
277
static int hf_lppa_protocolIEs;                   /* ProtocolIE_Container */
278
static int hf_lppa_OTDOA_Information_Type_item;   /* ProtocolIE_Single_Container */
279
static int hf_lppa_oTDOA_Information_Type_Item;   /* OTDOA_Information_Item */
280
static int hf_lppa_privateIEs;                    /* PrivateIE_Container */
281
static int hf_lppa_initiatingMessage;             /* InitiatingMessage */
282
static int hf_lppa_successfulOutcome;             /* SuccessfulOutcome */
283
static int hf_lppa_unsuccessfulOutcome;           /* UnsuccessfulOutcome */
284
static int hf_lppa_initiatingMessagevalue;        /* InitiatingMessage_value */
285
static int hf_lppa_successfulOutcome_value;       /* SuccessfulOutcome_value */
286
static int hf_lppa_unsuccessfulOutcome_value;     /* UnsuccessfulOutcome_value */
287
288
/* Initialize the subtree pointers */
289
static int ett_lppa;
290
static int ett_lppa_PrivateIE_ID;
291
static int ett_lppa_ProtocolIE_Container;
292
static int ett_lppa_ProtocolIE_Field;
293
static int ett_lppa_ProtocolExtensionContainer;
294
static int ett_lppa_ProtocolExtensionField;
295
static int ett_lppa_PrivateIE_Container;
296
static int ett_lppa_PrivateIE_Field;
297
static int ett_lppa_Add_OTDOACells;
298
static int ett_lppa_Add_OTDOACells_item;
299
static int ett_lppa_Add_OTDOACell_Information;
300
static int ett_lppa_Assistance_Information;
301
static int ett_lppa_AssistanceInformationFailureList;
302
static int ett_lppa_AssistanceInformationFailureList_item;
303
static int ett_lppa_AssistanceInformationMetaData;
304
static int ett_lppa_BitmapsforNPRS;
305
static int ett_lppa_Cause;
306
static int ett_lppa_CriticalityDiagnostics;
307
static int ett_lppa_CriticalityDiagnostics_IE_List;
308
static int ett_lppa_CriticalityDiagnostics_IE_List_item;
309
static int ett_lppa_E_CID_MeasurementResult;
310
static int ett_lppa_ECGI;
311
static int ett_lppa_E_UTRANAccessPointPosition;
312
static int ett_lppa_InterRATMeasurementQuantities;
313
static int ett_lppa_InterRATMeasurementQuantities_Item;
314
static int ett_lppa_InterRATMeasurementResult;
315
static int ett_lppa_InterRATMeasuredResultsValue;
316
static int ett_lppa_MeasurementQuantities;
317
static int ett_lppa_MeasurementQuantities_Item;
318
static int ett_lppa_MeasuredResults;
319
static int ett_lppa_MeasuredResultsValue;
320
static int ett_lppa_MBSFNsubframeConfiguration;
321
static int ett_lppa_MBSFNsubframeConfigurationValue;
322
static int ett_lppa_NR_CGI;
323
static int ett_lppa_NPRSConfiguration;
324
static int ett_lppa_NPRSMutingConfiguration;
325
static int ett_lppa_NPRSSubframePartA;
326
static int ett_lppa_NPRSSubframePartB;
327
static int ett_lppa_OTDOACells;
328
static int ett_lppa_OTDOACells_item;
329
static int ett_lppa_OTDOACell_Information;
330
static int ett_lppa_OTDOACell_Information_Item;
331
static int ett_lppa_PosSIBs;
332
static int ett_lppa_PosSIBs_item;
333
static int ett_lppa_PosSIB_Segments;
334
static int ett_lppa_PosSIB_Segments_item;
335
static int ett_lppa_PRSMutingConfiguration;
336
static int ett_lppa_PRSFrequencyHoppingConfiguration;
337
static int ett_lppa_SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex;
338
static int ett_lppa_RequestedSRSTransmissionCharacteristics;
339
static int ett_lppa_ResultRSRP;
340
static int ett_lppa_ResultRSRP_Item;
341
static int ett_lppa_ResultRSRQ;
342
static int ett_lppa_ResultRSRQ_Item;
343
static int ett_lppa_ResultGERAN;
344
static int ett_lppa_ResultGERAN_Item;
345
static int ett_lppa_ResultUTRAN;
346
static int ett_lppa_ResultUTRAN_Item;
347
static int ett_lppa_T_physCellIDUTRAN;
348
static int ett_lppa_ResultNR;
349
static int ett_lppa_ResultNR_Item;
350
static int ett_lppa_ResultsPerSSB_Index_List;
351
static int ett_lppa_ResultsPerSSB_Index_Item;
352
static int ett_lppa_SRSConfigurationForAllCells;
353
static int ett_lppa_SRSConfigurationForOneCell;
354
static int ett_lppa_Subframeallocation;
355
static int ett_lppa_SystemInformation;
356
static int ett_lppa_SystemInformation_item;
357
static int ett_lppa_TDDConfiguration;
358
static int ett_lppa_ULConfiguration;
359
static int ett_lppa_WLANMeasurementQuantities;
360
static int ett_lppa_WLANMeasurementQuantities_Item;
361
static int ett_lppa_WLANMeasurementResult;
362
static int ett_lppa_WLANMeasurementResult_Item;
363
static int ett_lppa_WLANChannelList;
364
static int ett_lppa_E_CIDMeasurementInitiationRequest;
365
static int ett_lppa_E_CIDMeasurementInitiationResponse;
366
static int ett_lppa_E_CIDMeasurementInitiationFailure;
367
static int ett_lppa_E_CIDMeasurementFailureIndication;
368
static int ett_lppa_E_CIDMeasurementReport;
369
static int ett_lppa_E_CIDMeasurementTerminationCommand;
370
static int ett_lppa_OTDOAInformationRequest;
371
static int ett_lppa_OTDOA_Information_Type;
372
static int ett_lppa_OTDOA_Information_Type_Item;
373
static int ett_lppa_OTDOAInformationResponse;
374
static int ett_lppa_OTDOAInformationFailure;
375
static int ett_lppa_UTDOAInformationRequest;
376
static int ett_lppa_UTDOAInformationResponse;
377
static int ett_lppa_UTDOAInformationFailure;
378
static int ett_lppa_UTDOAInformationUpdate;
379
static int ett_lppa_AssistanceInformationControl;
380
static int ett_lppa_AssistanceInformationFeedback;
381
static int ett_lppa_ErrorIndication;
382
static int ett_lppa_PrivateMessage;
383
static int ett_lppa_LPPA_PDU;
384
static int ett_lppa_InitiatingMessage;
385
static int ett_lppa_SuccessfulOutcome;
386
static int ett_lppa_UnsuccessfulOutcome;
387
388
enum {
389
    INITIATING_MESSAGE,
390
    SUCCESSFUL_OUTCOME,
391
    UNSUCCESSFUL_OUTCOME
392
};
393
394
/* Dissector tables */
395
static dissector_table_t lppa_ies_dissector_table;
396
static dissector_table_t lppa_extension_dissector_table;
397
static dissector_table_t lppa_proc_imsg_dissector_table;
398
static dissector_table_t lppa_proc_sout_dissector_table;
399
static dissector_table_t lppa_proc_uout_dissector_table;
400
401
/* Include constants */
402
0
#define maxPrivateIEs                  65535
403
0
#define maxProtocolExtensions          65535
404
8
#define maxProtocolIEs                 65535
405
0
#define maxNrOfErrors                  256
406
0
#define maxCellineNB                   256
407
0
#define maxNoMeas                      63
408
0
#define maxCellReport                  9
409
0
#define maxnoOTDOAtypes                63
410
0
#define maxServCell                    5
411
0
#define maxGERANMeas                   8
412
0
#define maxUTRANMeas                   8
413
0
#define maxCellineNB_ext               3840
414
0
#define maxMBSFN_Allocations           8
415
0
#define maxWLANchannels                16
416
0
#define maxnoFreqHoppingBandsMinusOne  7
417
0
#define maxNrOfPosSImessage            32
418
0
#define maxnoAssistInfoFailureListItems 32
419
0
#define maxNrOfSegments                64
420
0
#define maxNrOfPosSIBs                 32
421
0
#define maxNRmeas                      32
422
0
#define maxResultsPerSSBIndex          64
423
424
typedef enum _ProcedureCode_enum {
425
  id_errorIndication =   0,
426
  id_privateMessage =   1,
427
  id_e_CIDMeasurementInitiation =   2,
428
  id_e_CIDMeasurementFailureIndication =   3,
429
  id_e_CIDMeasurementReport =   4,
430
  id_e_CIDMeasurementTermination =   5,
431
  id_oTDOAInformationExchange =   6,
432
  id_uTDOAInformationExchange =   7,
433
  id_uTDOAInformationUpdate =   8,
434
  id_assistanceInformationControl =   9,
435
  id_assistanceInformationFeedback =  10
436
} ProcedureCode_enum;
437
438
typedef enum _ProtocolIE_ID_enum {
439
  id_Cause     =   0,
440
  id_CriticalityDiagnostics =   1,
441
  id_E_SMLC_UE_Measurement_ID =   2,
442
  id_ReportCharacteristics =   3,
443
  id_MeasurementPeriodicity =   4,
444
  id_MeasurementQuantities =   5,
445
  id_eNB_UE_Measurement_ID =   6,
446
  id_E_CID_MeasurementResult =   7,
447
  id_OTDOACells =   8,
448
  id_OTDOA_Information_Type_Group =   9,
449
  id_OTDOA_Information_Type_Item =  10,
450
  id_MeasurementQuantities_Item =  11,
451
  id_RequestedSRSTransmissionCharacteristics =  12,
452
  id_ULConfiguration =  13,
453
  id_Cell_Portion_ID =  14,
454
  id_InterRATMeasurementQuantities =  15,
455
  id_InterRATMeasurementQuantities_Item =  16,
456
  id_InterRATMeasurementResult =  17,
457
  id_AddOTDOACells =  18,
458
  id_WLANMeasurementQuantities =  19,
459
  id_WLANMeasurementQuantities_Item =  20,
460
  id_WLANMeasurementResult =  21,
461
  id_Assistance_Information =  22,
462
  id_Broadcast =  23,
463
  id_AssistanceInformationFailureList =  24,
464
  id_ResultsPerSSB_Index_List =  25,
465
  id_ResultsPerSSB_Index_Item =  26,
466
  id_NR_CGI    =  27
467
} ProtocolIE_ID_enum;
468
469
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
470
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
471
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
472
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
473
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
474
475
struct lppa_private_data {
476
    uint32_t procedure_code;
477
    uint32_t protocol_ie_id;
478
    uint32_t protocol_extension_id;
479
    uint32_t message_type;
480
};
481
482
static struct lppa_private_data*
483
lppa_get_private_data(packet_info* pinfo)
484
46
{
485
46
    struct lppa_private_data* lppa_data = (struct lppa_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_lppa, 0);
486
46
    if (!lppa_data) {
487
13
        lppa_data = wmem_new0(pinfo->pool, struct lppa_private_data);
488
13
        p_add_proto_data(pinfo->pool, pinfo, proto_lppa, 0, lppa_data);
489
13
    }
490
46
    return lppa_data;
491
46
}
492
493
/*--- Cyclic dependencies ---*/
494
495
/* ProtocolIE-Field/value -> ProtocolIE-Field/value */
496
static unsigned dissect_lppa_T_ie_field_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
497
498
/* ProtocolExtensionField/extensionValue -> ProtocolExtensionField/extensionValue */
499
static unsigned dissect_lppa_T_extensionValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
500
501
/* PrivateIE-Field/value -> PrivateIE-Field/value */
502
static unsigned dissect_lppa_T_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
503
504
/* InitiatingMessage/value -> InitiatingMessage/value */
505
static unsigned dissect_lppa_InitiatingMessage_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
506
507
/* SuccessfulOutcome/value -> SuccessfulOutcome/value */
508
static unsigned dissect_lppa_SuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
509
510
/* UnsuccessfulOutcome/value -> UnsuccessfulOutcome/value */
511
static unsigned dissect_lppa_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
512
513
514
515
static const value_string lppa_Criticality_vals[] = {
516
  {   0, "reject" },
517
  {   1, "ignore" },
518
  {   2, "notify" },
519
  { 0, NULL }
520
};
521
522
523
static unsigned
524
19
dissect_lppa_Criticality(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
525
19
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
526
19
                                     3, NULL, false, 0, NULL);
527
528
19
  return offset;
529
19
}
530
531
532
533
static unsigned
534
13
dissect_lppa_LPPATransactionID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
535
13
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
536
13
                                                            0U, 32767U, NULL, false);
537
538
13
  return offset;
539
13
}
540
541
542
543
static unsigned
544
0
dissect_lppa_INTEGER_0_maxPrivateIEs(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
545
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
546
0
                                                            0U, maxPrivateIEs, NULL, false);
547
548
0
  return offset;
549
0
}
550
551
552
553
static unsigned
554
0
dissect_lppa_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
555
0
  offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
556
557
0
  return offset;
558
0
}
559
560
561
static const value_string lppa_PrivateIE_ID_vals[] = {
562
  {   0, "local" },
563
  {   1, "global" },
564
  { 0, NULL }
565
};
566
567
static const per_choice_t PrivateIE_ID_choice[] = {
568
  {   0, &hf_lppa_local          , ASN1_NO_EXTENSIONS     , dissect_lppa_INTEGER_0_maxPrivateIEs },
569
  {   1, &hf_lppa_global         , ASN1_NO_EXTENSIONS     , dissect_lppa_OBJECT_IDENTIFIER },
570
  { 0, NULL, 0, NULL }
571
};
572
573
static unsigned
574
0
dissect_lppa_PrivateIE_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
575
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
576
0
                                 ett_lppa_PrivateIE_ID, PrivateIE_ID_choice,
577
0
                                 NULL);
578
579
0
  return offset;
580
0
}
581
582
583
static const value_string lppa_ProcedureCode_vals[] = {
584
  { id_errorIndication, "id-errorIndication" },
585
  { id_privateMessage, "id-privateMessage" },
586
  { id_e_CIDMeasurementInitiation, "id-e-CIDMeasurementInitiation" },
587
  { id_e_CIDMeasurementFailureIndication, "id-e-CIDMeasurementFailureIndication" },
588
  { id_e_CIDMeasurementReport, "id-e-CIDMeasurementReport" },
589
  { id_e_CIDMeasurementTermination, "id-e-CIDMeasurementTermination" },
590
  { id_oTDOAInformationExchange, "id-oTDOAInformationExchange" },
591
  { id_uTDOAInformationExchange, "id-uTDOAInformationExchange" },
592
  { id_uTDOAInformationUpdate, "id-uTDOAInformationUpdate" },
593
  { id_assistanceInformationControl, "id-assistanceInformationControl" },
594
  { id_assistanceInformationFeedback, "id-assistanceInformationFeedback" },
595
  { 0, NULL }
596
};
597
598
599
static unsigned
600
13
dissect_lppa_ProcedureCode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
601
13
  struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
602
603
13
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
604
13
                                                            0U, 255U, &lppa_data->procedure_code, false);
605
606
607
13
  col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
608
13
                 val_to_str_const(lppa_data->procedure_code, lppa_ProcedureCode_vals,
609
13
                                  "unknown message"));
610
611
13
  return offset;
612
13
}
613
614
615
static const value_string lppa_ProtocolIE_ID_vals[] = {
616
  { id_Cause, "id-Cause" },
617
  { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
618
  { id_E_SMLC_UE_Measurement_ID, "id-E-SMLC-UE-Measurement-ID" },
619
  { id_ReportCharacteristics, "id-ReportCharacteristics" },
620
  { id_MeasurementPeriodicity, "id-MeasurementPeriodicity" },
621
  { id_MeasurementQuantities, "id-MeasurementQuantities" },
622
  { id_eNB_UE_Measurement_ID, "id-eNB-UE-Measurement-ID" },
623
  { id_E_CID_MeasurementResult, "id-E-CID-MeasurementResult" },
624
  { id_OTDOACells, "id-OTDOACells" },
625
  { id_OTDOA_Information_Type_Group, "id-OTDOA-Information-Type-Group" },
626
  { id_OTDOA_Information_Type_Item, "id-OTDOA-Information-Type-Item" },
627
  { id_MeasurementQuantities_Item, "id-MeasurementQuantities-Item" },
628
  { id_RequestedSRSTransmissionCharacteristics, "id-RequestedSRSTransmissionCharacteristics" },
629
  { id_ULConfiguration, "id-ULConfiguration" },
630
  { id_Cell_Portion_ID, "id-Cell-Portion-ID" },
631
  { id_InterRATMeasurementQuantities, "id-InterRATMeasurementQuantities" },
632
  { id_InterRATMeasurementQuantities_Item, "id-InterRATMeasurementQuantities-Item" },
633
  { id_InterRATMeasurementResult, "id-InterRATMeasurementResult" },
634
  { id_AddOTDOACells, "id-AddOTDOACells" },
635
  { id_WLANMeasurementQuantities, "id-WLANMeasurementQuantities" },
636
  { id_WLANMeasurementQuantities_Item, "id-WLANMeasurementQuantities-Item" },
637
  { id_WLANMeasurementResult, "id-WLANMeasurementResult" },
638
  { id_Assistance_Information, "id-Assistance-Information" },
639
  { id_Broadcast, "id-Broadcast" },
640
  { id_AssistanceInformationFailureList, "id-AssistanceInformationFailureList" },
641
  { id_ResultsPerSSB_Index_List, "id-ResultsPerSSB-Index-List" },
642
  { id_ResultsPerSSB_Index_Item, "id-ResultsPerSSB-Index-Item" },
643
  { id_NR_CGI, "id-NR-CGI" },
644
  { 0, NULL }
645
};
646
647
648
static unsigned
649
6
dissect_lppa_ProtocolIE_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
650
6
  struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
651
6
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
652
6
                                                            0U, maxProtocolIEs, &lppa_data->protocol_ie_id, false);
653
654
655
656
6
  if (tree) {
657
6
    proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
658
6
                           val_to_str(actx->pinfo->pool, lppa_data->protocol_ie_id, VALS(lppa_ProtocolIE_ID_vals), "unknown (%d)"));
659
6
  }
660
6
  return offset;
661
6
}
662
663
664
static const value_string lppa_TriggeringMessage_vals[] = {
665
  {   0, "initiating-message" },
666
  {   1, "successful-outcome" },
667
  {   2, "unsuccessful-outcome" },
668
  { 0, NULL }
669
};
670
671
672
static unsigned
673
0
dissect_lppa_TriggeringMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
674
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
675
0
                                     3, NULL, false, 0, NULL);
676
677
0
  return offset;
678
0
}
679
680
681
682
static unsigned
683
5
dissect_lppa_T_ie_field_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
684
  // ProtocolIE-Field/value -> ProtocolIE-Field/value
685
5
  increment_dissection_depth_by_n(actx->pinfo, 1);
686
5
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
687
688
5
  decrement_dissection_depth_by_n(actx->pinfo, 1);
689
5
  return offset;
690
5
}
691
692
693
static const per_sequence_t ProtocolIE_Field_sequence[] = {
694
  { &hf_lppa_id             , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_ID },
695
  { &hf_lppa_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Criticality },
696
  { &hf_lppa_ie_field_value , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_T_ie_field_value },
697
  { NULL, 0, 0, NULL }
698
};
699
700
static unsigned
701
7
dissect_lppa_ProtocolIE_Field(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
702
7
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
703
7
                                   ett_lppa_ProtocolIE_Field, ProtocolIE_Field_sequence);
704
705
7
  return offset;
706
7
}
707
708
709
static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
710
  { &hf_lppa_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Field },
711
};
712
713
static unsigned
714
2
dissect_lppa_ProtocolIE_Container(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
715
2
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
716
2
                                                  ett_lppa_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
717
2
                                                  0, maxProtocolIEs, false);
718
719
2
  return offset;
720
2
}
721
722
723
724
static unsigned
725
0
dissect_lppa_ProtocolIE_Single_Container(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
726
0
  offset = dissect_lppa_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
727
728
0
  return offset;
729
0
}
730
731
732
733
static unsigned
734
0
dissect_lppa_T_extensionValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
735
  // ProtocolExtensionField/extensionValue -> ProtocolExtensionField/extensionValue
736
0
  increment_dissection_depth_by_n(actx->pinfo, 1);
737
0
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);
738
739
0
  decrement_dissection_depth_by_n(actx->pinfo, 1);
740
0
  return offset;
741
0
}
742
743
744
static const per_sequence_t ProtocolExtensionField_sequence[] = {
745
  { &hf_lppa_ext_id         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_ID },
746
  { &hf_lppa_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Criticality },
747
  { &hf_lppa_extensionValue , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_T_extensionValue },
748
  { NULL, 0, 0, NULL }
749
};
750
751
static unsigned
752
0
dissect_lppa_ProtocolExtensionField(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
753
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
754
0
                                   ett_lppa_ProtocolExtensionField, ProtocolExtensionField_sequence);
755
756
0
  return offset;
757
0
}
758
759
760
static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
761
  { &hf_lppa_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolExtensionField },
762
};
763
764
static unsigned
765
0
dissect_lppa_ProtocolExtensionContainer(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
766
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
767
0
                                                  ett_lppa_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
768
0
                                                  1, maxProtocolExtensions, false);
769
770
0
  return offset;
771
0
}
772
773
774
775
static unsigned
776
0
dissect_lppa_T_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
777
  // PrivateIE-Field/value -> PrivateIE-Field/value
778
0
  increment_dissection_depth_by_n(actx->pinfo, 1);
779
0
  offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
780
781
0
  decrement_dissection_depth_by_n(actx->pinfo, 1);
782
0
  return offset;
783
0
}
784
785
786
static const per_sequence_t PrivateIE_Field_sequence[] = {
787
  { &hf_lppa_id_01          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_PrivateIE_ID },
788
  { &hf_lppa_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Criticality },
789
  { &hf_lppa_value          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_T_value },
790
  { NULL, 0, 0, NULL }
791
};
792
793
static unsigned
794
0
dissect_lppa_PrivateIE_Field(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
795
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
796
0
                                   ett_lppa_PrivateIE_Field, PrivateIE_Field_sequence);
797
798
0
  return offset;
799
0
}
800
801
802
static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
803
  { &hf_lppa_PrivateIE_Container_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_PrivateIE_Field },
804
};
805
806
static unsigned
807
0
dissect_lppa_PrivateIE_Container(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
808
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
809
0
                                                  ett_lppa_PrivateIE_Container, PrivateIE_Container_sequence_of,
810
0
                                                  1, maxPrivateIEs, false);
811
812
0
  return offset;
813
0
}
814
815
816
817
static unsigned
818
0
dissect_lppa_PCI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
819
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
820
0
                                                            0U, 503U, NULL, true);
821
822
0
  return offset;
823
0
}
824
825
826
827
static unsigned
828
0
dissect_lppa_PLMN_Identity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
829
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
830
0
                                       3, 3, false, NULL);
831
832
0
  return offset;
833
0
}
834
835
836
837
static unsigned
838
0
dissect_lppa_EUTRANCellIdentifier(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
839
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
840
0
                                     28, 28, false, NULL, 0, NULL, NULL);
841
842
0
  return offset;
843
0
}
844
845
846
static const per_sequence_t ECGI_sequence[] = {
847
  { &hf_lppa_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PLMN_Identity },
848
  { &hf_lppa_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_EUTRANCellIdentifier },
849
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
850
  { NULL, 0, 0, NULL }
851
};
852
853
static unsigned
854
0
dissect_lppa_ECGI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
855
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
856
0
                                   ett_lppa_ECGI, ECGI_sequence);
857
858
0
  return offset;
859
0
}
860
861
862
863
static unsigned
864
0
dissect_lppa_TAC(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
865
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
866
0
                                       2, 2, false, NULL);
867
868
0
  return offset;
869
0
}
870
871
872
873
static unsigned
874
0
dissect_lppa_EARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
875
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
876
0
                                                            0U, 65535U, NULL, true);
877
878
0
  return offset;
879
0
}
880
881
882
static const value_string lppa_PRS_Bandwidth_vals[] = {
883
  {   0, "bw6" },
884
  {   1, "bw15" },
885
  {   2, "bw25" },
886
  {   3, "bw50" },
887
  {   4, "bw75" },
888
  {   5, "bw100" },
889
  { 0, NULL }
890
};
891
892
893
static unsigned
894
0
dissect_lppa_PRS_Bandwidth(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
895
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
896
0
                                     6, NULL, true, 0, NULL);
897
898
0
  return offset;
899
0
}
900
901
902
903
static unsigned
904
0
dissect_lppa_PRS_Configuration_Index(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
905
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
906
0
                                                            0U, 4095U, NULL, true);
907
908
0
  return offset;
909
0
}
910
911
912
static const value_string lppa_CPLength_vals[] = {
913
  {   0, "normal" },
914
  {   1, "extended" },
915
  { 0, NULL }
916
};
917
918
919
static unsigned
920
0
dissect_lppa_CPLength(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
921
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
922
0
                                     2, NULL, true, 0, NULL);
923
924
0
  return offset;
925
0
}
926
927
928
static const value_string lppa_NumberOfDlFrames_vals[] = {
929
  {   0, "sf1" },
930
  {   1, "sf2" },
931
  {   2, "sf4" },
932
  {   3, "sf6" },
933
  { 0, NULL }
934
};
935
936
937
static unsigned
938
0
dissect_lppa_NumberOfDlFrames(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
939
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
940
0
                                     4, NULL, true, 0, NULL);
941
942
0
  return offset;
943
0
}
944
945
946
static const value_string lppa_NumberOfAntennaPorts_vals[] = {
947
  {   0, "n1-or-n2" },
948
  {   1, "n4" },
949
  { 0, NULL }
950
};
951
952
953
static unsigned
954
0
dissect_lppa_NumberOfAntennaPorts(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
955
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
956
0
                                     2, NULL, true, 0, NULL);
957
958
0
  return offset;
959
0
}
960
961
962
963
static unsigned
964
0
dissect_lppa_SFNInitialisationTime(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
965
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
966
0
                                     64, 64, false, NULL, 0, NULL, NULL);
967
968
0
  return offset;
969
0
}
970
971
972
static const value_string lppa_T_latitudeSign_vals[] = {
973
  {   0, "north" },
974
  {   1, "south" },
975
  { 0, NULL }
976
};
977
978
979
static unsigned
980
0
dissect_lppa_T_latitudeSign(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
981
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
982
0
                                     2, NULL, false, 0, NULL);
983
984
0
  return offset;
985
0
}
986
987
988
989
static unsigned
990
0
dissect_lppa_INTEGER_0_8388607(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
991
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
992
0
                                                            0U, 8388607U, NULL, false);
993
994
0
  return offset;
995
0
}
996
997
998
999
static unsigned
1000
0
dissect_lppa_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1001
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1002
0
                                                            -8388608, 8388607U, NULL, false);
1003
1004
0
  return offset;
1005
0
}
1006
1007
1008
static const value_string lppa_T_directionOfAltitude_vals[] = {
1009
  {   0, "height" },
1010
  {   1, "depth" },
1011
  { 0, NULL }
1012
};
1013
1014
1015
static unsigned
1016
0
dissect_lppa_T_directionOfAltitude(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1017
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1018
0
                                     2, NULL, false, 0, NULL);
1019
1020
0
  return offset;
1021
0
}
1022
1023
1024
1025
static unsigned
1026
0
dissect_lppa_INTEGER_0_32767(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1027
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1028
0
                                                            0U, 32767U, NULL, false);
1029
1030
0
  return offset;
1031
0
}
1032
1033
1034
1035
static unsigned
1036
0
dissect_lppa_INTEGER_0_127(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1037
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1038
0
                                                            0U, 127U, NULL, false);
1039
1040
0
  return offset;
1041
0
}
1042
1043
1044
1045
static unsigned
1046
0
dissect_lppa_INTEGER_0_179(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1047
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1048
0
                                                            0U, 179U, NULL, false);
1049
1050
0
  return offset;
1051
0
}
1052
1053
1054
1055
static unsigned
1056
0
dissect_lppa_INTEGER_0_100(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1057
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1058
0
                                                            0U, 100U, NULL, false);
1059
1060
0
  return offset;
1061
0
}
1062
1063
1064
static const per_sequence_t E_UTRANAccessPointPosition_sequence[] = {
1065
  { &hf_lppa_latitudeSign   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_latitudeSign },
1066
  { &hf_lppa_latitude       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_8388607 },
1067
  { &hf_lppa_longitude      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_M8388608_8388607 },
1068
  { &hf_lppa_directionOfAltitude, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_directionOfAltitude },
1069
  { &hf_lppa_altitude       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_32767 },
1070
  { &hf_lppa_uncertaintySemi_major, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_127 },
1071
  { &hf_lppa_uncertaintySemi_minor, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_127 },
1072
  { &hf_lppa_orientationOfMajorAxis, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_179 },
1073
  { &hf_lppa_uncertaintyAltitude, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_127 },
1074
  { &hf_lppa_confidence     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_100 },
1075
  { NULL, 0, 0, NULL }
1076
};
1077
1078
static unsigned
1079
0
dissect_lppa_E_UTRANAccessPointPosition(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1080
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1081
0
                                   ett_lppa_E_UTRANAccessPointPosition, E_UTRANAccessPointPosition_sequence);
1082
1083
0
  return offset;
1084
0
}
1085
1086
1087
1088
static unsigned
1089
0
dissect_lppa_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1090
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1091
0
                                     2, 2, false, NULL, 0, NULL, NULL);
1092
1093
0
  return offset;
1094
0
}
1095
1096
1097
1098
static unsigned
1099
0
dissect_lppa_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1100
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1101
0
                                     4, 4, false, NULL, 0, NULL, NULL);
1102
1103
0
  return offset;
1104
0
}
1105
1106
1107
1108
static unsigned
1109
0
dissect_lppa_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1110
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1111
0
                                     8, 8, false, NULL, 0, NULL, NULL);
1112
1113
0
  return offset;
1114
0
}
1115
1116
1117
1118
static unsigned
1119
0
dissect_lppa_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1120
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1121
0
                                     16, 16, false, NULL, 0, NULL, NULL);
1122
1123
0
  return offset;
1124
0
}
1125
1126
1127
1128
static unsigned
1129
0
dissect_lppa_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1130
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1131
0
                                     32, 32, false, NULL, 0, NULL, NULL);
1132
1133
0
  return offset;
1134
0
}
1135
1136
1137
1138
static unsigned
1139
0
dissect_lppa_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1140
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1141
0
                                     64, 64, false, NULL, 0, NULL, NULL);
1142
1143
0
  return offset;
1144
0
}
1145
1146
1147
1148
static unsigned
1149
0
dissect_lppa_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1150
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1151
0
                                     128, 128, false, NULL, 0, NULL, NULL);
1152
1153
0
  return offset;
1154
0
}
1155
1156
1157
1158
static unsigned
1159
0
dissect_lppa_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1160
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1161
0
                                     256, 256, false, NULL, 0, NULL, NULL);
1162
1163
0
  return offset;
1164
0
}
1165
1166
1167
1168
static unsigned
1169
0
dissect_lppa_BIT_STRING_SIZE_512(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1170
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1171
0
                                     512, 512, false, NULL, 0, NULL, NULL);
1172
1173
0
  return offset;
1174
0
}
1175
1176
1177
1178
static unsigned
1179
0
dissect_lppa_BIT_STRING_SIZE_1024(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1180
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1181
0
                                     1024, 1024, false, NULL, 0, NULL, NULL);
1182
1183
0
  return offset;
1184
0
}
1185
1186
1187
static const value_string lppa_PRSMutingConfiguration_vals[] = {
1188
  {   0, "two" },
1189
  {   1, "four" },
1190
  {   2, "eight" },
1191
  {   3, "sixteen" },
1192
  {   4, "thirty-two" },
1193
  {   5, "sixty-four" },
1194
  {   6, "one-hundred-and-twenty-eight" },
1195
  {   7, "two-hundred-and-fifty-six" },
1196
  {   8, "five-hundred-and-twelve" },
1197
  {   9, "one-thousand-and-twenty-four" },
1198
  { 0, NULL }
1199
};
1200
1201
static const per_choice_t PRSMutingConfiguration_choice[] = {
1202
  {   0, &hf_lppa_two            , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_2 },
1203
  {   1, &hf_lppa_four           , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_4 },
1204
  {   2, &hf_lppa_eight          , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_8 },
1205
  {   3, &hf_lppa_sixteen        , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_16 },
1206
  {   4, &hf_lppa_thirty_two     , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_32 },
1207
  {   5, &hf_lppa_sixty_four     , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_64 },
1208
  {   6, &hf_lppa_one_hundred_and_twenty_eight, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_128 },
1209
  {   7, &hf_lppa_two_hundred_and_fifty_six, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_256 },
1210
  {   8, &hf_lppa_five_hundred_and_twelve, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_512 },
1211
  {   9, &hf_lppa_one_thousand_and_twenty_four, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_1024 },
1212
  { 0, NULL, 0, NULL }
1213
};
1214
1215
static unsigned
1216
0
dissect_lppa_PRSMutingConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1217
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1218
0
                                 ett_lppa_PRSMutingConfiguration, PRSMutingConfiguration_choice,
1219
0
                                 NULL);
1220
1221
0
  return offset;
1222
0
}
1223
1224
1225
1226
static unsigned
1227
0
dissect_lppa_PRS_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1228
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1229
0
                                                            0U, 4095U, NULL, true);
1230
1231
0
  return offset;
1232
0
}
1233
1234
1235
1236
static unsigned
1237
0
dissect_lppa_TP_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1238
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1239
0
                                                            0U, 4095U, NULL, true);
1240
1241
0
  return offset;
1242
0
}
1243
1244
1245
static const value_string lppa_TP_Type_vals[] = {
1246
  {   0, "prs-only-tp" },
1247
  { 0, NULL }
1248
};
1249
1250
1251
static unsigned
1252
0
dissect_lppa_TP_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1253
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1254
0
                                     1, NULL, true, 0, NULL);
1255
1256
0
  return offset;
1257
0
}
1258
1259
1260
1261
static unsigned
1262
0
dissect_lppa_NumberOfDlFrames_Extended(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1263
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1264
0
                                                            1U, 160U, NULL, true);
1265
1266
0
  return offset;
1267
0
}
1268
1269
1270
static const value_string lppa_T_radioframeAllocationPeriod_vals[] = {
1271
  {   0, "n1" },
1272
  {   1, "n2" },
1273
  {   2, "n4" },
1274
  {   3, "n8" },
1275
  {   4, "n16" },
1276
  {   5, "n32" },
1277
  { 0, NULL }
1278
};
1279
1280
1281
static unsigned
1282
0
dissect_lppa_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1283
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1284
0
                                     6, NULL, false, 0, NULL);
1285
1286
0
  return offset;
1287
0
}
1288
1289
1290
1291
static unsigned
1292
0
dissect_lppa_INTEGER_0_7(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1293
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1294
0
                                                            0U, 7U, NULL, false);
1295
1296
0
  return offset;
1297
0
}
1298
1299
1300
1301
static unsigned
1302
0
dissect_lppa_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1303
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1304
0
                                     6, 6, false, NULL, 0, NULL, NULL);
1305
1306
0
  return offset;
1307
0
}
1308
1309
1310
1311
static unsigned
1312
0
dissect_lppa_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1313
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1314
0
                                     24, 24, false, NULL, 0, NULL, NULL);
1315
1316
0
  return offset;
1317
0
}
1318
1319
1320
static const value_string lppa_Subframeallocation_vals[] = {
1321
  {   0, "oneFrame" },
1322
  {   1, "fourFrames" },
1323
  { 0, NULL }
1324
};
1325
1326
static const per_choice_t Subframeallocation_choice[] = {
1327
  {   0, &hf_lppa_oneFrame       , ASN1_NO_EXTENSIONS     , dissect_lppa_BIT_STRING_SIZE_6 },
1328
  {   1, &hf_lppa_fourFrames     , ASN1_NO_EXTENSIONS     , dissect_lppa_BIT_STRING_SIZE_24 },
1329
  { 0, NULL, 0, NULL }
1330
};
1331
1332
static unsigned
1333
0
dissect_lppa_Subframeallocation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1334
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1335
0
                                 ett_lppa_Subframeallocation, Subframeallocation_choice,
1336
0
                                 NULL);
1337
1338
0
  return offset;
1339
0
}
1340
1341
1342
static const per_sequence_t MBSFNsubframeConfigurationValue_sequence[] = {
1343
  { &hf_lppa_radioframeAllocationPeriod, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_T_radioframeAllocationPeriod },
1344
  { &hf_lppa_radioframeAllocationOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_7 },
1345
  { &hf_lppa_subframeAllocation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Subframeallocation },
1346
  { NULL, 0, 0, NULL }
1347
};
1348
1349
static unsigned
1350
0
dissect_lppa_MBSFNsubframeConfigurationValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1351
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1352
0
                                   ett_lppa_MBSFNsubframeConfigurationValue, MBSFNsubframeConfigurationValue_sequence);
1353
1354
0
  return offset;
1355
0
}
1356
1357
1358
static const per_sequence_t MBSFNsubframeConfiguration_sequence_of[1] = {
1359
  { &hf_lppa_MBSFNsubframeConfiguration_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_MBSFNsubframeConfigurationValue },
1360
};
1361
1362
static unsigned
1363
0
dissect_lppa_MBSFNsubframeConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1364
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1365
0
                                                  ett_lppa_MBSFNsubframeConfiguration, MBSFNsubframeConfiguration_sequence_of,
1366
0
                                                  1, maxMBSFN_Allocations, false);
1367
1368
0
  return offset;
1369
0
}
1370
1371
1372
1373
static unsigned
1374
0
dissect_lppa_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1375
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1376
0
                                     10, 10, false, NULL, 0, NULL, NULL);
1377
1378
0
  return offset;
1379
0
}
1380
1381
1382
1383
static unsigned
1384
0
dissect_lppa_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1385
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1386
0
                                     40, 40, false, NULL, 0, NULL, NULL);
1387
1388
0
  return offset;
1389
0
}
1390
1391
1392
static const value_string lppa_BitmapsforNPRS_vals[] = {
1393
  {   0, "ten" },
1394
  {   1, "forty" },
1395
  {   2, "ten-tdd" },
1396
  {   3, "forty-tdd" },
1397
  { 0, NULL }
1398
};
1399
1400
static const per_choice_t BitmapsforNPRS_choice[] = {
1401
  {   0, &hf_lppa_ten            , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_10 },
1402
  {   1, &hf_lppa_forty          , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_40 },
1403
  {   2, &hf_lppa_ten_tdd        , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_8 },
1404
  {   3, &hf_lppa_forty_tdd      , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_BIT_STRING_SIZE_32 },
1405
  { 0, NULL, 0, NULL }
1406
};
1407
1408
static unsigned
1409
0
dissect_lppa_BitmapsforNPRS(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1410
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1411
0
                                 ett_lppa_BitmapsforNPRS, BitmapsforNPRS_choice,
1412
0
                                 NULL);
1413
1414
0
  return offset;
1415
0
}
1416
1417
1418
static const value_string lppa_NPRSMutingConfiguration_vals[] = {
1419
  {   0, "two" },
1420
  {   1, "four" },
1421
  {   2, "eight" },
1422
  {   3, "sixteen" },
1423
  { 0, NULL }
1424
};
1425
1426
static const per_choice_t NPRSMutingConfiguration_choice[] = {
1427
  {   0, &hf_lppa_two            , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_2 },
1428
  {   1, &hf_lppa_four           , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_4 },
1429
  {   2, &hf_lppa_eight          , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_8 },
1430
  {   3, &hf_lppa_sixteen        , ASN1_EXTENSION_ROOT    , dissect_lppa_BIT_STRING_SIZE_16 },
1431
  { 0, NULL, 0, NULL }
1432
};
1433
1434
static unsigned
1435
0
dissect_lppa_NPRSMutingConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1436
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1437
0
                                 ett_lppa_NPRSMutingConfiguration, NPRSMutingConfiguration_choice,
1438
0
                                 NULL);
1439
1440
0
  return offset;
1441
0
}
1442
1443
1444
static const per_sequence_t NPRSSubframePartA_sequence[] = {
1445
  { &hf_lppa_bitmapsforNPRS , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_BitmapsforNPRS },
1446
  { &hf_lppa_nPRSMutingConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_NPRSMutingConfiguration },
1447
  { NULL, 0, 0, NULL }
1448
};
1449
1450
static unsigned
1451
0
dissect_lppa_NPRSSubframePartA(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1452
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1453
0
                                   ett_lppa_NPRSSubframePartA, NPRSSubframePartA_sequence);
1454
1455
0
  return offset;
1456
0
}
1457
1458
1459
static const value_string lppa_T_numberofNPRSOneOccasion_vals[] = {
1460
  {   0, "sf10" },
1461
  {   1, "sf20" },
1462
  {   2, "sf40" },
1463
  {   3, "sf80" },
1464
  {   4, "sf160" },
1465
  {   5, "sf320" },
1466
  {   6, "sf640" },
1467
  {   7, "sf1280" },
1468
  {   8, "sf2560" },
1469
  { 0, NULL }
1470
};
1471
1472
1473
static unsigned
1474
0
dissect_lppa_T_numberofNPRSOneOccasion(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1475
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1476
0
                                     8, NULL, true, 1, NULL);
1477
1478
0
  return offset;
1479
0
}
1480
1481
1482
static const value_string lppa_T_periodicityofNPRS_vals[] = {
1483
  {   0, "sf160" },
1484
  {   1, "sf320" },
1485
  {   2, "sf640" },
1486
  {   3, "sf1280" },
1487
  {   4, "sf2560" },
1488
  { 0, NULL }
1489
};
1490
1491
1492
static unsigned
1493
0
dissect_lppa_T_periodicityofNPRS(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1494
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1495
0
                                     4, NULL, true, 1, NULL);
1496
1497
0
  return offset;
1498
0
}
1499
1500
1501
static const value_string lppa_T_startingsubframeoffset_vals[] = {
1502
  {   0, "zero" },
1503
  {   1, "one-Eighth" },
1504
  {   2, "two-Eighths" },
1505
  {   3, "three-Eighths" },
1506
  {   4, "four-Eighths" },
1507
  {   5, "five-Eighths" },
1508
  {   6, "six-Eighths" },
1509
  {   7, "seven-Eighths" },
1510
  { 0, NULL }
1511
};
1512
1513
1514
static unsigned
1515
0
dissect_lppa_T_startingsubframeoffset(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1516
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1517
0
                                     8, NULL, true, 0, NULL);
1518
1519
0
  return offset;
1520
0
}
1521
1522
1523
static const value_string lppa_T_sIB1_NB_Subframe_TDD_vals[] = {
1524
  {   0, "sf0" },
1525
  {   1, "sf4" },
1526
  {   2, "sf0and5" },
1527
  { 0, NULL }
1528
};
1529
1530
1531
static unsigned
1532
0
dissect_lppa_T_sIB1_NB_Subframe_TDD(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1533
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1534
0
                                     3, NULL, true, 0, NULL);
1535
1536
0
  return offset;
1537
0
}
1538
1539
1540
static const per_sequence_t NPRSSubframePartB_sequence[] = {
1541
  { &hf_lppa_numberofNPRSOneOccasion, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_numberofNPRSOneOccasion },
1542
  { &hf_lppa_periodicityofNPRS, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_periodicityofNPRS },
1543
  { &hf_lppa_startingsubframeoffset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_startingsubframeoffset },
1544
  { &hf_lppa_nPRSMutingConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_NPRSMutingConfiguration },
1545
  { &hf_lppa_sIB1_NB_Subframe_TDD, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_lppa_T_sIB1_NB_Subframe_TDD },
1546
  { NULL, 0, 0, NULL }
1547
};
1548
1549
static unsigned
1550
0
dissect_lppa_NPRSSubframePartB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1551
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1552
0
                                   ett_lppa_NPRSSubframePartB, NPRSSubframePartB_sequence);
1553
1554
0
  return offset;
1555
0
}
1556
1557
1558
static const per_sequence_t NPRSConfiguration_sequence[] = {
1559
  { &hf_lppa_nPRSSubframePartA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_NPRSSubframePartA },
1560
  { &hf_lppa_nPRSSubframePartB, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_NPRSSubframePartB },
1561
  { NULL, 0, 0, NULL }
1562
};
1563
1564
static unsigned
1565
0
dissect_lppa_NPRSConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1566
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1567
0
                                   ett_lppa_NPRSConfiguration, NPRSConfiguration_sequence);
1568
1569
0
  return offset;
1570
0
}
1571
1572
1573
static const value_string lppa_OffsetNBChanneltoEARFCN_vals[] = {
1574
  {   0, "minusTen" },
1575
  {   1, "minusNine" },
1576
  {   2, "minusEight" },
1577
  {   3, "minusSeven" },
1578
  {   4, "minusSix" },
1579
  {   5, "minusFive" },
1580
  {   6, "minusFour" },
1581
  {   7, "minusThree" },
1582
  {   8, "minusTwo" },
1583
  {   9, "minusOne" },
1584
  {  10, "minusZeroDotFive" },
1585
  {  11, "zero" },
1586
  {  12, "one" },
1587
  {  13, "two" },
1588
  {  14, "three" },
1589
  {  15, "four" },
1590
  {  16, "five" },
1591
  {  17, "six" },
1592
  {  18, "seven" },
1593
  {  19, "eight" },
1594
  {  20, "nine" },
1595
  { 0, NULL }
1596
};
1597
1598
1599
static unsigned
1600
0
dissect_lppa_OffsetNBChanneltoEARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1601
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1602
0
                                     21, NULL, true, 0, NULL);
1603
1604
0
  return offset;
1605
0
}
1606
1607
1608
static const value_string lppa_OperationModeInfo_vals[] = {
1609
  {   0, "inband" },
1610
  {   1, "guardband" },
1611
  {   2, "standalone" },
1612
  { 0, NULL }
1613
};
1614
1615
1616
static unsigned
1617
0
dissect_lppa_OperationModeInfo(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1618
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1619
0
                                     3, NULL, true, 0, NULL);
1620
1621
0
  return offset;
1622
0
}
1623
1624
1625
1626
static unsigned
1627
0
dissect_lppa_INTEGER_0_4095_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1628
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1629
0
                                                            0U, 4095U, NULL, true);
1630
1631
0
  return offset;
1632
0
}
1633
1634
1635
static const value_string lppa_DL_Bandwidth_vals[] = {
1636
  {   0, "bw6" },
1637
  {   1, "bw15" },
1638
  {   2, "bw25" },
1639
  {   3, "bw50" },
1640
  {   4, "bw75" },
1641
  {   5, "bw100" },
1642
  { 0, NULL }
1643
};
1644
1645
1646
static unsigned
1647
0
dissect_lppa_DL_Bandwidth(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1648
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1649
0
                                     6, NULL, true, 0, NULL);
1650
1651
0
  return offset;
1652
0
}
1653
1654
1655
static const value_string lppa_PRSOccasionGroup_vals[] = {
1656
  {   0, "og2" },
1657
  {   1, "og4" },
1658
  {   2, "og8" },
1659
  {   3, "og16" },
1660
  {   4, "og32" },
1661
  {   5, "og64" },
1662
  {   6, "og128" },
1663
  { 0, NULL }
1664
};
1665
1666
1667
static unsigned
1668
0
dissect_lppa_PRSOccasionGroup(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1669
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1670
0
                                     7, NULL, true, 0, NULL);
1671
1672
0
  return offset;
1673
0
}
1674
1675
1676
static const value_string lppa_NumberOfFrequencyHoppingBands_vals[] = {
1677
  {   0, "twobands" },
1678
  {   1, "fourbands" },
1679
  { 0, NULL }
1680
};
1681
1682
1683
static unsigned
1684
0
dissect_lppa_NumberOfFrequencyHoppingBands(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1685
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1686
0
                                     2, NULL, true, 0, NULL);
1687
1688
0
  return offset;
1689
0
}
1690
1691
1692
1693
static unsigned
1694
0
dissect_lppa_NarrowBandIndex(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1695
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1696
0
                                                            0U, 15U, NULL, true);
1697
1698
0
  return offset;
1699
0
}
1700
1701
1702
static const per_sequence_t SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex_sequence_of[1] = {
1703
  { &hf_lppa_bandPositions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_NarrowBandIndex },
1704
};
1705
1706
static unsigned
1707
0
dissect_lppa_SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1708
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1709
0
                                                  ett_lppa_SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex, SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex_sequence_of,
1710
0
                                                  1, maxnoFreqHoppingBandsMinusOne, false);
1711
1712
0
  return offset;
1713
0
}
1714
1715
1716
static const per_sequence_t PRSFrequencyHoppingConfiguration_sequence[] = {
1717
  { &hf_lppa_noOfFreqHoppingBands, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_NumberOfFrequencyHoppingBands },
1718
  { &hf_lppa_bandPositions  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex },
1719
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
1720
  { NULL, 0, 0, NULL }
1721
};
1722
1723
static unsigned
1724
0
dissect_lppa_PRSFrequencyHoppingConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1725
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1726
0
                                   ett_lppa_PRSFrequencyHoppingConfiguration, PRSFrequencyHoppingConfiguration_sequence);
1727
1728
0
  return offset;
1729
0
}
1730
1731
1732
static const value_string lppa_RepetitionNumberofSIB1_NB_vals[] = {
1733
  {   0, "r4" },
1734
  {   1, "r8" },
1735
  {   2, "r16" },
1736
  { 0, NULL }
1737
};
1738
1739
1740
static unsigned
1741
0
dissect_lppa_RepetitionNumberofSIB1_NB(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1742
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1743
0
                                     3, NULL, true, 0, NULL);
1744
1745
0
  return offset;
1746
0
}
1747
1748
1749
1750
static unsigned
1751
0
dissect_lppa_NPRSSequenceInfo(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1752
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1753
0
                                                            0U, 174U, NULL, true);
1754
1755
0
  return offset;
1756
0
}
1757
1758
1759
static const value_string lppa_T_subframeAssignment_vals[] = {
1760
  {   0, "sa0" },
1761
  {   1, "sa1" },
1762
  {   2, "sa2" },
1763
  {   3, "sa3" },
1764
  {   4, "sa4" },
1765
  {   5, "sa5" },
1766
  {   6, "sa6" },
1767
  { 0, NULL }
1768
};
1769
1770
1771
static unsigned
1772
0
dissect_lppa_T_subframeAssignment(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1773
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1774
0
                                     7, NULL, true, 0, NULL);
1775
1776
0
  return offset;
1777
0
}
1778
1779
1780
static const per_sequence_t TDDConfiguration_sequence[] = {
1781
  { &hf_lppa_subframeAssignment, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_subframeAssignment },
1782
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
1783
  { NULL, 0, 0, NULL }
1784
};
1785
1786
static unsigned
1787
0
dissect_lppa_TDDConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1788
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1789
0
                                   ett_lppa_TDDConfiguration, TDDConfiguration_sequence);
1790
1791
0
  return offset;
1792
0
}
1793
1794
1795
static const value_string lppa_OTDOACell_Information_Item_vals[] = {
1796
  {   0, "pCI" },
1797
  {   1, "cellId" },
1798
  {   2, "tAC" },
1799
  {   3, "eARFCN" },
1800
  {   4, "pRS-Bandwidth" },
1801
  {   5, "pRS-ConfigurationIndex" },
1802
  {   6, "cPLength" },
1803
  {   7, "numberOfDlFrames" },
1804
  {   8, "numberOfAntennaPorts" },
1805
  {   9, "sFNInitialisationTime" },
1806
  {  10, "e-UTRANAccessPointPosition" },
1807
  {  11, "pRSMutingConfiguration" },
1808
  {  12, "prsid" },
1809
  {  13, "tpid" },
1810
  {  14, "tpType" },
1811
  {  15, "numberOfDlFrames-Extended" },
1812
  {  16, "crsCPlength" },
1813
  {  17, "mBSFNsubframeConfiguration" },
1814
  {  18, "nPRSConfiguration" },
1815
  {  19, "offsetNBChanneltoEARFCN" },
1816
  {  20, "operationModeInfo" },
1817
  {  21, "nPRS-ID" },
1818
  {  22, "dL-Bandwidth" },
1819
  {  23, "pRSOccasionGroup" },
1820
  {  24, "pRSFreqHoppingConfig" },
1821
  {  25, "repetitionNumberofSIB1-NB" },
1822
  {  26, "nPRSSequenceInfo" },
1823
  {  27, "nPRSType2" },
1824
  {  28, "tddConfiguration" },
1825
  { 0, NULL }
1826
};
1827
1828
static const per_choice_t OTDOACell_Information_Item_choice[] = {
1829
  {   0, &hf_lppa_pCI            , ASN1_EXTENSION_ROOT    , dissect_lppa_PCI },
1830
  {   1, &hf_lppa_cellId         , ASN1_EXTENSION_ROOT    , dissect_lppa_ECGI },
1831
  {   2, &hf_lppa_tAC            , ASN1_EXTENSION_ROOT    , dissect_lppa_TAC },
1832
  {   3, &hf_lppa_eARFCN         , ASN1_EXTENSION_ROOT    , dissect_lppa_EARFCN },
1833
  {   4, &hf_lppa_pRS_Bandwidth  , ASN1_EXTENSION_ROOT    , dissect_lppa_PRS_Bandwidth },
1834
  {   5, &hf_lppa_pRS_ConfigurationIndex, ASN1_EXTENSION_ROOT    , dissect_lppa_PRS_Configuration_Index },
1835
  {   6, &hf_lppa_cPLength       , ASN1_EXTENSION_ROOT    , dissect_lppa_CPLength },
1836
  {   7, &hf_lppa_numberOfDlFrames, ASN1_EXTENSION_ROOT    , dissect_lppa_NumberOfDlFrames },
1837
  {   8, &hf_lppa_numberOfAntennaPorts, ASN1_EXTENSION_ROOT    , dissect_lppa_NumberOfAntennaPorts },
1838
  {   9, &hf_lppa_sFNInitialisationTime, ASN1_EXTENSION_ROOT    , dissect_lppa_SFNInitialisationTime },
1839
  {  10, &hf_lppa_e_UTRANAccessPointPosition, ASN1_EXTENSION_ROOT    , dissect_lppa_E_UTRANAccessPointPosition },
1840
  {  11, &hf_lppa_pRSMutingConfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_PRSMutingConfiguration },
1841
  {  12, &hf_lppa_prsid          , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_PRS_ID },
1842
  {  13, &hf_lppa_tpid           , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_TP_ID },
1843
  {  14, &hf_lppa_tpType         , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_TP_Type },
1844
  {  15, &hf_lppa_numberOfDlFrames_Extended, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_NumberOfDlFrames_Extended },
1845
  {  16, &hf_lppa_crsCPlength    , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_CPLength },
1846
  {  17, &hf_lppa_mBSFNsubframeConfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_MBSFNsubframeConfiguration },
1847
  {  18, &hf_lppa_nPRSConfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_NPRSConfiguration },
1848
  {  19, &hf_lppa_offsetNBChanneltoEARFCN, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_OffsetNBChanneltoEARFCN },
1849
  {  20, &hf_lppa_operationModeInfo, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_OperationModeInfo },
1850
  {  21, &hf_lppa_nPRS_ID        , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_INTEGER_0_4095_ },
1851
  {  22, &hf_lppa_dL_Bandwidth   , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_DL_Bandwidth },
1852
  {  23, &hf_lppa_pRSOccasionGroup, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_PRSOccasionGroup },
1853
  {  24, &hf_lppa_pRSFreqHoppingConfig, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_PRSFrequencyHoppingConfiguration },
1854
  {  25, &hf_lppa_repetitionNumberofSIB1_NB, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_RepetitionNumberofSIB1_NB },
1855
  {  26, &hf_lppa_nPRSSequenceInfo, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_NPRSSequenceInfo },
1856
  {  27, &hf_lppa_nPRSType2      , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_NPRSConfiguration },
1857
  {  28, &hf_lppa_tddConfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_lppa_TDDConfiguration },
1858
  { 0, NULL, 0, NULL }
1859
};
1860
1861
static unsigned
1862
0
dissect_lppa_OTDOACell_Information_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1863
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1864
0
                                 ett_lppa_OTDOACell_Information_Item, OTDOACell_Information_Item_choice,
1865
0
                                 NULL);
1866
1867
0
  return offset;
1868
0
}
1869
1870
1871
static const per_sequence_t Add_OTDOACell_Information_sequence_of[1] = {
1872
  { &hf_lppa_Add_OTDOACell_Information_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_OTDOACell_Information_Item },
1873
};
1874
1875
static unsigned
1876
0
dissect_lppa_Add_OTDOACell_Information(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1877
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1878
0
                                                  ett_lppa_Add_OTDOACell_Information, Add_OTDOACell_Information_sequence_of,
1879
0
                                                  1, maxnoOTDOAtypes, false);
1880
1881
0
  return offset;
1882
0
}
1883
1884
1885
static const per_sequence_t Add_OTDOACells_item_sequence[] = {
1886
  { &hf_lppa_add_OTDOACellInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_Add_OTDOACell_Information },
1887
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
1888
  { NULL, 0, 0, NULL }
1889
};
1890
1891
static unsigned
1892
0
dissect_lppa_Add_OTDOACells_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1893
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1894
0
                                   ett_lppa_Add_OTDOACells_item, Add_OTDOACells_item_sequence);
1895
1896
0
  return offset;
1897
0
}
1898
1899
1900
static const per_sequence_t Add_OTDOACells_sequence_of[1] = {
1901
  { &hf_lppa_Add_OTDOACells_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Add_OTDOACells_item },
1902
};
1903
1904
static unsigned
1905
0
dissect_lppa_Add_OTDOACells(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1906
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1907
0
                                                  ett_lppa_Add_OTDOACells, Add_OTDOACells_sequence_of,
1908
0
                                                  1, maxCellineNB_ext, false);
1909
1910
0
  return offset;
1911
0
}
1912
1913
1914
static const value_string lppa_BroadcastPeriodicity_vals[] = {
1915
  {   0, "ms80" },
1916
  {   1, "ms160" },
1917
  {   2, "ms320" },
1918
  {   3, "ms640" },
1919
  {   4, "ms1280" },
1920
  {   5, "ms2560" },
1921
  {   6, "ms5120" },
1922
  { 0, NULL }
1923
};
1924
1925
1926
static unsigned
1927
0
dissect_lppa_BroadcastPeriodicity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1928
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1929
0
                                     7, NULL, true, 0, NULL);
1930
1931
0
  return offset;
1932
0
}
1933
1934
1935
static const value_string lppa_PosSIB_Type_vals[] = {
1936
  {   0, "posSibType1-1" },
1937
  {   1, "posSibType1-2" },
1938
  {   2, "posSibType1-3" },
1939
  {   3, "posSibType1-4" },
1940
  {   4, "posSibType1-5" },
1941
  {   5, "posSibType1-6" },
1942
  {   6, "posSibType1-7" },
1943
  {   7, "posSibType2-1" },
1944
  {   8, "posSibType2-2" },
1945
  {   9, "posSibType2-3" },
1946
  {  10, "posSibType2-4" },
1947
  {  11, "posSibType2-5" },
1948
  {  12, "posSibType2-6" },
1949
  {  13, "posSibType2-7" },
1950
  {  14, "posSibType2-8" },
1951
  {  15, "posSibType2-9" },
1952
  {  16, "posSibType2-10" },
1953
  {  17, "posSibType2-11" },
1954
  {  18, "posSibType2-12" },
1955
  {  19, "posSibType2-13" },
1956
  {  20, "posSibType2-14" },
1957
  {  21, "posSibType2-15" },
1958
  {  22, "posSibType2-16" },
1959
  {  23, "posSibType2-17" },
1960
  {  24, "posSibType2-18" },
1961
  {  25, "posSibType2-19" },
1962
  {  26, "posSibType3-1" },
1963
  {  27, "posSibType4-1" },
1964
  {  28, "posSibType5-1" },
1965
  {  29, "posSibType2-24" },
1966
  {  30, "posSibType2-25" },
1967
  { 0, NULL }
1968
};
1969
1970
1971
static unsigned
1972
0
dissect_lppa_PosSIB_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1973
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1974
0
                                     27, NULL, true, 4, NULL);
1975
1976
0
  return offset;
1977
0
}
1978
1979
1980
1981
static unsigned
1982
0
dissect_lppa_OCTET_STRING(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1983
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1984
0
                                       NO_BOUND, NO_BOUND, false, NULL);
1985
1986
0
  return offset;
1987
0
}
1988
1989
1990
static const per_sequence_t PosSIB_Segments_item_sequence[] = {
1991
  { &hf_lppa_assistanceDataSIBelement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_OCTET_STRING },
1992
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
1993
  { NULL, 0, 0, NULL }
1994
};
1995
1996
static unsigned
1997
0
dissect_lppa_PosSIB_Segments_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1998
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1999
0
                                   ett_lppa_PosSIB_Segments_item, PosSIB_Segments_item_sequence);
2000
2001
0
  return offset;
2002
0
}
2003
2004
2005
static const per_sequence_t PosSIB_Segments_sequence_of[1] = {
2006
  { &hf_lppa_PosSIB_Segments_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_PosSIB_Segments_item },
2007
};
2008
2009
static unsigned
2010
0
dissect_lppa_PosSIB_Segments(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2011
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2012
0
                                                  ett_lppa_PosSIB_Segments, PosSIB_Segments_sequence_of,
2013
0
                                                  1, maxNrOfSegments, false);
2014
2015
0
  return offset;
2016
0
}
2017
2018
2019
static const value_string lppa_T_encrypted_vals[] = {
2020
  {   0, "true" },
2021
  { 0, NULL }
2022
};
2023
2024
2025
static unsigned
2026
0
dissect_lppa_T_encrypted(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2027
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2028
0
                                     1, NULL, true, 0, NULL);
2029
2030
0
  return offset;
2031
0
}
2032
2033
2034
static const value_string lppa_T_gNSSID_vals[] = {
2035
  {   0, "gps" },
2036
  {   1, "sbas" },
2037
  {   2, "gzss" },
2038
  {   3, "galileo" },
2039
  {   4, "glonass" },
2040
  {   5, "bds" },
2041
  {   6, "navic" },
2042
  { 0, NULL }
2043
};
2044
2045
2046
static unsigned
2047
0
dissect_lppa_T_gNSSID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2048
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2049
0
                                     6, NULL, true, 1, NULL);
2050
2051
0
  return offset;
2052
0
}
2053
2054
2055
static const value_string lppa_T_sBASID_vals[] = {
2056
  {   0, "waas" },
2057
  {   1, "egnos" },
2058
  {   2, "msas" },
2059
  {   3, "gagan" },
2060
  { 0, NULL }
2061
};
2062
2063
2064
static unsigned
2065
0
dissect_lppa_T_sBASID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2066
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2067
0
                                     4, NULL, true, 0, NULL);
2068
2069
0
  return offset;
2070
0
}
2071
2072
2073
static const per_sequence_t AssistanceInformationMetaData_sequence[] = {
2074
  { &hf_lppa_encrypted      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_T_encrypted },
2075
  { &hf_lppa_gNSSID         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_T_gNSSID },
2076
  { &hf_lppa_sBASID         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_T_sBASID },
2077
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2078
  { NULL, 0, 0, NULL }
2079
};
2080
2081
static unsigned
2082
0
dissect_lppa_AssistanceInformationMetaData(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2083
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2084
0
                                   ett_lppa_AssistanceInformationMetaData, AssistanceInformationMetaData_sequence);
2085
2086
0
  return offset;
2087
0
}
2088
2089
2090
2091
static unsigned
2092
0
dissect_lppa_INTEGER_1_16_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2093
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2094
0
                                                            1U, 16U, NULL, true);
2095
2096
0
  return offset;
2097
0
}
2098
2099
2100
static const per_sequence_t PosSIBs_item_sequence[] = {
2101
  { &hf_lppa_posSIB_Type    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PosSIB_Type },
2102
  { &hf_lppa_posSIB_Segments, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PosSIB_Segments },
2103
  { &hf_lppa_assistanceInformationMetaData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_AssistanceInformationMetaData },
2104
  { &hf_lppa_broadcastPriority, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_INTEGER_1_16_ },
2105
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2106
  { NULL, 0, 0, NULL }
2107
};
2108
2109
static unsigned
2110
0
dissect_lppa_PosSIBs_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2111
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2112
0
                                   ett_lppa_PosSIBs_item, PosSIBs_item_sequence);
2113
2114
0
  return offset;
2115
0
}
2116
2117
2118
static const per_sequence_t PosSIBs_sequence_of[1] = {
2119
  { &hf_lppa_PosSIBs_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_PosSIBs_item },
2120
};
2121
2122
static unsigned
2123
0
dissect_lppa_PosSIBs(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2124
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2125
0
                                                  ett_lppa_PosSIBs, PosSIBs_sequence_of,
2126
0
                                                  1, maxNrOfPosSIBs, false);
2127
2128
0
  return offset;
2129
0
}
2130
2131
2132
static const per_sequence_t SystemInformation_item_sequence[] = {
2133
  { &hf_lppa_broadcastPeriodicity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_BroadcastPeriodicity },
2134
  { &hf_lppa_posSIBs        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PosSIBs },
2135
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2136
  { NULL, 0, 0, NULL }
2137
};
2138
2139
static unsigned
2140
0
dissect_lppa_SystemInformation_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2141
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2142
0
                                   ett_lppa_SystemInformation_item, SystemInformation_item_sequence);
2143
2144
0
  return offset;
2145
0
}
2146
2147
2148
static const per_sequence_t SystemInformation_sequence_of[1] = {
2149
  { &hf_lppa_SystemInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_SystemInformation_item },
2150
};
2151
2152
static unsigned
2153
0
dissect_lppa_SystemInformation(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2154
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2155
0
                                                  ett_lppa_SystemInformation, SystemInformation_sequence_of,
2156
0
                                                  1, maxNrOfPosSImessage, false);
2157
2158
0
  return offset;
2159
0
}
2160
2161
2162
static const per_sequence_t Assistance_Information_sequence[] = {
2163
  { &hf_lppa_systemInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_SystemInformation },
2164
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2165
  { NULL, 0, 0, NULL }
2166
};
2167
2168
static unsigned
2169
0
dissect_lppa_Assistance_Information(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2170
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2171
0
                                   ett_lppa_Assistance_Information, Assistance_Information_sequence);
2172
2173
0
  return offset;
2174
0
}
2175
2176
2177
static const value_string lppa_Outcome_vals[] = {
2178
  {   0, "failed" },
2179
  { 0, NULL }
2180
};
2181
2182
2183
static unsigned
2184
0
dissect_lppa_Outcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2185
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2186
0
                                     1, NULL, true, 0, NULL);
2187
2188
0
  return offset;
2189
0
}
2190
2191
2192
static const per_sequence_t AssistanceInformationFailureList_item_sequence[] = {
2193
  { &hf_lppa_posSIB_Type    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PosSIB_Type },
2194
  { &hf_lppa_outcome        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_Outcome },
2195
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2196
  { NULL, 0, 0, NULL }
2197
};
2198
2199
static unsigned
2200
0
dissect_lppa_AssistanceInformationFailureList_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2201
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2202
0
                                   ett_lppa_AssistanceInformationFailureList_item, AssistanceInformationFailureList_item_sequence);
2203
2204
0
  return offset;
2205
0
}
2206
2207
2208
static const per_sequence_t AssistanceInformationFailureList_sequence_of[1] = {
2209
  { &hf_lppa_AssistanceInformationFailureList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_AssistanceInformationFailureList_item },
2210
};
2211
2212
static unsigned
2213
0
dissect_lppa_AssistanceInformationFailureList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2214
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2215
0
                                                  ett_lppa_AssistanceInformationFailureList, AssistanceInformationFailureList_sequence_of,
2216
0
                                                  1, maxnoAssistInfoFailureListItems, false);
2217
2218
0
  return offset;
2219
0
}
2220
2221
2222
2223
static unsigned
2224
0
dissect_lppa_BCCH(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2225
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2226
0
                                                            0U, 1023U, NULL, true);
2227
2228
0
  return offset;
2229
0
}
2230
2231
2232
static const value_string lppa_Broadcast_vals[] = {
2233
  {   0, "start" },
2234
  {   1, "stop" },
2235
  { 0, NULL }
2236
};
2237
2238
2239
static unsigned
2240
0
dissect_lppa_Broadcast(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2241
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2242
0
                                     2, NULL, true, 0, NULL);
2243
2244
0
  return offset;
2245
0
}
2246
2247
2248
2249
static unsigned
2250
0
dissect_lppa_BSSID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2251
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2252
0
                                       6, 6, false, NULL);
2253
2254
0
  return offset;
2255
0
}
2256
2257
2258
static const value_string lppa_CauseRadioNetwork_vals[] = {
2259
  {   0, "unspecified" },
2260
  {   1, "requested-item-not-supported" },
2261
  {   2, "requested-item-temporarily-not-available" },
2262
  { 0, NULL }
2263
};
2264
2265
2266
static unsigned
2267
0
dissect_lppa_CauseRadioNetwork(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2268
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2269
0
                                     3, NULL, true, 0, NULL);
2270
2271
0
  return offset;
2272
0
}
2273
2274
2275
static const value_string lppa_CauseProtocol_vals[] = {
2276
  {   0, "transfer-syntax-error" },
2277
  {   1, "abstract-syntax-error-reject" },
2278
  {   2, "abstract-syntax-error-ignore-and-notify" },
2279
  {   3, "message-not-compatible-with-receiver-state" },
2280
  {   4, "semantic-error" },
2281
  {   5, "unspecified" },
2282
  {   6, "abstract-syntax-error-falsely-constructed-message" },
2283
  { 0, NULL }
2284
};
2285
2286
2287
static unsigned
2288
1
dissect_lppa_CauseProtocol(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2289
1
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2290
1
                                     7, NULL, true, 0, NULL);
2291
2292
1
  return offset;
2293
1
}
2294
2295
2296
static const value_string lppa_CauseMisc_vals[] = {
2297
  {   0, "unspecified" },
2298
  { 0, NULL }
2299
};
2300
2301
2302
static unsigned
2303
0
dissect_lppa_CauseMisc(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2304
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2305
0
                                     1, NULL, true, 0, NULL);
2306
2307
0
  return offset;
2308
0
}
2309
2310
2311
static const value_string lppa_Cause_vals[] = {
2312
  {   0, "radioNetwork" },
2313
  {   1, "protocol" },
2314
  {   2, "misc" },
2315
  { 0, NULL }
2316
};
2317
2318
static const per_choice_t Cause_choice[] = {
2319
  {   0, &hf_lppa_radioNetwork   , ASN1_EXTENSION_ROOT    , dissect_lppa_CauseRadioNetwork },
2320
  {   1, &hf_lppa_protocol       , ASN1_EXTENSION_ROOT    , dissect_lppa_CauseProtocol },
2321
  {   2, &hf_lppa_misc           , ASN1_EXTENSION_ROOT    , dissect_lppa_CauseMisc },
2322
  { 0, NULL, 0, NULL }
2323
};
2324
2325
static unsigned
2326
1
dissect_lppa_Cause(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2327
1
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2328
1
                                 ett_lppa_Cause, Cause_choice,
2329
1
                                 NULL);
2330
2331
1
  return offset;
2332
1
}
2333
2334
2335
2336
static unsigned
2337
0
dissect_lppa_Cell_Portion_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2338
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2339
0
                                                            0U, 255U, NULL, true);
2340
2341
0
  return offset;
2342
0
}
2343
2344
2345
static const value_string lppa_TypeOfError_vals[] = {
2346
  {   0, "not-understood" },
2347
  {   1, "missing" },
2348
  { 0, NULL }
2349
};
2350
2351
2352
static unsigned
2353
0
dissect_lppa_TypeOfError(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2354
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2355
0
                                     2, NULL, true, 0, NULL);
2356
2357
0
  return offset;
2358
0
}
2359
2360
2361
static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
2362
  { &hf_lppa_iECriticality  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_Criticality },
2363
  { &hf_lppa_iE_ID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_ID },
2364
  { &hf_lppa_typeOfError    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_TypeOfError },
2365
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2366
  { NULL, 0, 0, NULL }
2367
};
2368
2369
static unsigned
2370
0
dissect_lppa_CriticalityDiagnostics_IE_List_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2371
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2372
0
                                   ett_lppa_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
2373
2374
0
  return offset;
2375
0
}
2376
2377
2378
static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
2379
  { &hf_lppa_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_CriticalityDiagnostics_IE_List_item },
2380
};
2381
2382
static unsigned
2383
0
dissect_lppa_CriticalityDiagnostics_IE_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2384
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2385
0
                                                  ett_lppa_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
2386
0
                                                  1, maxNrOfErrors, false);
2387
2388
0
  return offset;
2389
0
}
2390
2391
2392
static const per_sequence_t CriticalityDiagnostics_sequence[] = {
2393
  { &hf_lppa_procedureCode  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProcedureCode },
2394
  { &hf_lppa_triggeringMessage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_TriggeringMessage },
2395
  { &hf_lppa_procedureCriticality, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_Criticality },
2396
  { &hf_lppa_lppatransactionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_LPPATransactionID },
2397
  { &hf_lppa_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_CriticalityDiagnostics_IE_List },
2398
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2399
  { NULL, 0, 0, NULL }
2400
};
2401
2402
static unsigned
2403
0
dissect_lppa_CriticalityDiagnostics(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2404
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2405
0
                                   ett_lppa_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
2406
2407
0
  return offset;
2408
0
}
2409
2410
2411
2412
static unsigned
2413
0
dissect_lppa_INTEGER_0_719(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2414
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2415
0
                                                            0U, 719U, NULL, false);
2416
2417
0
  return offset;
2418
0
}
2419
2420
2421
2422
static unsigned
2423
0
dissect_lppa_INTEGER_0_7690(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2424
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2425
0
                                                            0U, 7690U, NULL, false);
2426
2427
0
  return offset;
2428
0
}
2429
2430
2431
2432
static unsigned
2433
0
dissect_lppa_ValueRSRP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2434
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2435
0
                                                            0U, 97U, NULL, true);
2436
2437
0
  return offset;
2438
0
}
2439
2440
2441
static const per_sequence_t ResultRSRP_Item_sequence[] = {
2442
  { &hf_lppa_pCI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PCI },
2443
  { &hf_lppa_eARFCN         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_EARFCN },
2444
  { &hf_lppa_eCGI           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ECGI },
2445
  { &hf_lppa_valueRSRP      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ValueRSRP },
2446
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2447
  { NULL, 0, 0, NULL }
2448
};
2449
2450
static unsigned
2451
0
dissect_lppa_ResultRSRP_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2452
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2453
0
                                   ett_lppa_ResultRSRP_Item, ResultRSRP_Item_sequence);
2454
2455
0
  return offset;
2456
0
}
2457
2458
2459
static const per_sequence_t ResultRSRP_sequence_of[1] = {
2460
  { &hf_lppa_ResultRSRP_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ResultRSRP_Item },
2461
};
2462
2463
static unsigned
2464
0
dissect_lppa_ResultRSRP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2465
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2466
0
                                                  ett_lppa_ResultRSRP, ResultRSRP_sequence_of,
2467
0
                                                  1, maxCellReport, false);
2468
2469
0
  return offset;
2470
0
}
2471
2472
2473
2474
static unsigned
2475
0
dissect_lppa_ValueRSRQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2476
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2477
0
                                                            0U, 34U, NULL, true);
2478
2479
0
  return offset;
2480
0
}
2481
2482
2483
static const per_sequence_t ResultRSRQ_Item_sequence[] = {
2484
  { &hf_lppa_pCI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PCI },
2485
  { &hf_lppa_eARFCN         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_EARFCN },
2486
  { &hf_lppa_eCGI           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ECGI },
2487
  { &hf_lppa_valueRSRQ      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ValueRSRQ },
2488
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2489
  { NULL, 0, 0, NULL }
2490
};
2491
2492
static unsigned
2493
0
dissect_lppa_ResultRSRQ_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2494
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2495
0
                                   ett_lppa_ResultRSRQ_Item, ResultRSRQ_Item_sequence);
2496
2497
0
  return offset;
2498
0
}
2499
2500
2501
static const per_sequence_t ResultRSRQ_sequence_of[1] = {
2502
  { &hf_lppa_ResultRSRQ_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ResultRSRQ_Item },
2503
};
2504
2505
static unsigned
2506
0
dissect_lppa_ResultRSRQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2507
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2508
0
                                                  ett_lppa_ResultRSRQ, ResultRSRQ_sequence_of,
2509
0
                                                  1, maxCellReport, false);
2510
2511
0
  return offset;
2512
0
}
2513
2514
2515
static const value_string lppa_MeasuredResultsValue_vals[] = {
2516
  {   0, "valueAngleOfArrival" },
2517
  {   1, "valueTimingAdvanceType1" },
2518
  {   2, "valueTimingAdvanceType2" },
2519
  {   3, "resultRSRP" },
2520
  {   4, "resultRSRQ" },
2521
  { 0, NULL }
2522
};
2523
2524
static const per_choice_t MeasuredResultsValue_choice[] = {
2525
  {   0, &hf_lppa_valueAngleOfArrival, ASN1_EXTENSION_ROOT    , dissect_lppa_INTEGER_0_719 },
2526
  {   1, &hf_lppa_valueTimingAdvanceType1, ASN1_EXTENSION_ROOT    , dissect_lppa_INTEGER_0_7690 },
2527
  {   2, &hf_lppa_valueTimingAdvanceType2, ASN1_EXTENSION_ROOT    , dissect_lppa_INTEGER_0_7690 },
2528
  {   3, &hf_lppa_resultRSRP     , ASN1_EXTENSION_ROOT    , dissect_lppa_ResultRSRP },
2529
  {   4, &hf_lppa_resultRSRQ     , ASN1_EXTENSION_ROOT    , dissect_lppa_ResultRSRQ },
2530
  { 0, NULL, 0, NULL }
2531
};
2532
2533
static unsigned
2534
0
dissect_lppa_MeasuredResultsValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2535
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2536
0
                                 ett_lppa_MeasuredResultsValue, MeasuredResultsValue_choice,
2537
0
                                 NULL);
2538
2539
0
  return offset;
2540
0
}
2541
2542
2543
static const per_sequence_t MeasuredResults_sequence_of[1] = {
2544
  { &hf_lppa_MeasuredResults_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_MeasuredResultsValue },
2545
};
2546
2547
static unsigned
2548
0
dissect_lppa_MeasuredResults(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2549
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2550
0
                                                  ett_lppa_MeasuredResults, MeasuredResults_sequence_of,
2551
0
                                                  1, maxNoMeas, false);
2552
2553
0
  return offset;
2554
0
}
2555
2556
2557
static const per_sequence_t E_CID_MeasurementResult_sequence[] = {
2558
  { &hf_lppa_servingCell_ID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ECGI },
2559
  { &hf_lppa_servingCellTAC , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_TAC },
2560
  { &hf_lppa_e_UTRANAccessPointPosition, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_E_UTRANAccessPointPosition },
2561
  { &hf_lppa_measuredResults, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_MeasuredResults },
2562
  { NULL, 0, 0, NULL }
2563
};
2564
2565
static unsigned
2566
0
dissect_lppa_E_CID_MeasurementResult(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2567
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2568
0
                                   ett_lppa_E_CID_MeasurementResult, E_CID_MeasurementResult_sequence);
2569
2570
0
  return offset;
2571
0
}
2572
2573
2574
2575
static unsigned
2576
0
dissect_lppa_HESSID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2577
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2578
0
                                       6, 6, false, NULL);
2579
2580
0
  return offset;
2581
0
}
2582
2583
2584
static const per_sequence_t InterRATMeasurementQuantities_sequence_of[1] = {
2585
  { &hf_lppa_InterRATMeasurementQuantities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Single_Container },
2586
};
2587
2588
static unsigned
2589
0
dissect_lppa_InterRATMeasurementQuantities(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2590
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2591
0
                                                  ett_lppa_InterRATMeasurementQuantities, InterRATMeasurementQuantities_sequence_of,
2592
0
                                                  0, maxNoMeas, false);
2593
2594
0
  return offset;
2595
0
}
2596
2597
2598
static const value_string lppa_InterRATMeasurementQuantitiesValue_vals[] = {
2599
  {   0, "geran" },
2600
  {   1, "utran" },
2601
  {   2, "nr" },
2602
  { 0, NULL }
2603
};
2604
2605
2606
static unsigned
2607
0
dissect_lppa_InterRATMeasurementQuantitiesValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2608
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2609
0
                                     2, NULL, true, 1, NULL);
2610
2611
0
  return offset;
2612
0
}
2613
2614
2615
static const per_sequence_t InterRATMeasurementQuantities_Item_sequence[] = {
2616
  { &hf_lppa_interRATMeasurementQuantitiesValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_InterRATMeasurementQuantitiesValue },
2617
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2618
  { NULL, 0, 0, NULL }
2619
};
2620
2621
static unsigned
2622
0
dissect_lppa_InterRATMeasurementQuantities_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2623
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2624
0
                                   ett_lppa_InterRATMeasurementQuantities_Item, InterRATMeasurementQuantities_Item_sequence);
2625
2626
0
  return offset;
2627
0
}
2628
2629
2630
2631
static unsigned
2632
0
dissect_lppa_PhysCellIDGERAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2633
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2634
0
                                                            0U, 63U, NULL, true);
2635
2636
0
  return offset;
2637
0
}
2638
2639
2640
2641
static unsigned
2642
0
dissect_lppa_RSSI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2643
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2644
0
                                                            0U, 63U, NULL, true);
2645
2646
0
  return offset;
2647
0
}
2648
2649
2650
static const per_sequence_t ResultGERAN_Item_sequence[] = {
2651
  { &hf_lppa_bCCH           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_BCCH },
2652
  { &hf_lppa_physCellIDGERAN, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PhysCellIDGERAN },
2653
  { &hf_lppa_rSSI           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_RSSI },
2654
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2655
  { NULL, 0, 0, NULL }
2656
};
2657
2658
static unsigned
2659
0
dissect_lppa_ResultGERAN_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2660
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2661
0
                                   ett_lppa_ResultGERAN_Item, ResultGERAN_Item_sequence);
2662
2663
0
  return offset;
2664
0
}
2665
2666
2667
static const per_sequence_t ResultGERAN_sequence_of[1] = {
2668
  { &hf_lppa_ResultGERAN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ResultGERAN_Item },
2669
};
2670
2671
static unsigned
2672
0
dissect_lppa_ResultGERAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2673
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2674
0
                                                  ett_lppa_ResultGERAN, ResultGERAN_sequence_of,
2675
0
                                                  1, maxGERANMeas, false);
2676
2677
0
  return offset;
2678
0
}
2679
2680
2681
2682
static unsigned
2683
0
dissect_lppa_UARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2684
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2685
0
                                                            0U, 16383U, NULL, true);
2686
2687
0
  return offset;
2688
0
}
2689
2690
2691
2692
static unsigned
2693
0
dissect_lppa_PhysCellIDUTRA_FDD(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2694
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2695
0
                                                            0U, 511U, NULL, true);
2696
2697
0
  return offset;
2698
0
}
2699
2700
2701
2702
static unsigned
2703
0
dissect_lppa_PhysCellIDUTRA_TDD(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2704
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2705
0
                                                            0U, 127U, NULL, true);
2706
2707
0
  return offset;
2708
0
}
2709
2710
2711
static const value_string lppa_T_physCellIDUTRAN_vals[] = {
2712
  {   0, "physCellIDUTRA-FDD" },
2713
  {   1, "physCellIDUTRA-TDD" },
2714
  { 0, NULL }
2715
};
2716
2717
static const per_choice_t T_physCellIDUTRAN_choice[] = {
2718
  {   0, &hf_lppa_physCellIDUTRA_FDD, ASN1_NO_EXTENSIONS     , dissect_lppa_PhysCellIDUTRA_FDD },
2719
  {   1, &hf_lppa_physCellIDUTRA_TDD, ASN1_NO_EXTENSIONS     , dissect_lppa_PhysCellIDUTRA_TDD },
2720
  { 0, NULL, 0, NULL }
2721
};
2722
2723
static unsigned
2724
0
dissect_lppa_T_physCellIDUTRAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2725
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2726
0
                                 ett_lppa_T_physCellIDUTRAN, T_physCellIDUTRAN_choice,
2727
0
                                 NULL);
2728
2729
0
  return offset;
2730
0
}
2731
2732
2733
2734
static unsigned
2735
0
dissect_lppa_UTRA_RSCP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2736
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2737
0
                                                            -5, 91U, NULL, true);
2738
2739
0
  return offset;
2740
0
}
2741
2742
2743
2744
static unsigned
2745
0
dissect_lppa_UTRA_EcN0(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2746
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2747
0
                                                            0U, 49U, NULL, true);
2748
2749
0
  return offset;
2750
0
}
2751
2752
2753
static const per_sequence_t ResultUTRAN_Item_sequence[] = {
2754
  { &hf_lppa_uARFCN         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_UARFCN },
2755
  { &hf_lppa_physCellIDUTRAN, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_physCellIDUTRAN },
2756
  { &hf_lppa_uTRA_RSCP      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_UTRA_RSCP },
2757
  { &hf_lppa_uTRA_EcN0      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_UTRA_EcN0 },
2758
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2759
  { NULL, 0, 0, NULL }
2760
};
2761
2762
static unsigned
2763
0
dissect_lppa_ResultUTRAN_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2764
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2765
0
                                   ett_lppa_ResultUTRAN_Item, ResultUTRAN_Item_sequence);
2766
2767
0
  return offset;
2768
0
}
2769
2770
2771
static const per_sequence_t ResultUTRAN_sequence_of[1] = {
2772
  { &hf_lppa_ResultUTRAN_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ResultUTRAN_Item },
2773
};
2774
2775
static unsigned
2776
0
dissect_lppa_ResultUTRAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2777
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2778
0
                                                  ett_lppa_ResultUTRAN, ResultUTRAN_sequence_of,
2779
0
                                                  1, maxUTRANMeas, false);
2780
2781
0
  return offset;
2782
0
}
2783
2784
2785
2786
static unsigned
2787
0
dissect_lppa_NRARFCN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2788
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2789
0
                                                            0U, 3279165U, NULL, false);
2790
2791
0
  return offset;
2792
0
}
2793
2794
2795
2796
static unsigned
2797
0
dissect_lppa_NRPCI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2798
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2799
0
                                                            0U, 1007U, NULL, false);
2800
2801
0
  return offset;
2802
0
}
2803
2804
2805
2806
static unsigned
2807
0
dissect_lppa_SS_NRRSRP(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2808
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2809
0
                                                            0U, 127U, NULL, false);
2810
2811
0
  return offset;
2812
0
}
2813
2814
2815
2816
static unsigned
2817
0
dissect_lppa_SS_NRRSRQ(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2818
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2819
0
                                                            0U, 127U, NULL, false);
2820
2821
0
  return offset;
2822
0
}
2823
2824
2825
static const per_sequence_t ResultNR_Item_sequence[] = {
2826
  { &hf_lppa_nRARFCN        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_NRARFCN },
2827
  { &hf_lppa_nRPCI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_NRPCI },
2828
  { &hf_lppa_sS_NRRSRP      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_SS_NRRSRP },
2829
  { &hf_lppa_sS_NRRSRQ      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_SS_NRRSRQ },
2830
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2831
  { NULL, 0, 0, NULL }
2832
};
2833
2834
static unsigned
2835
0
dissect_lppa_ResultNR_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2836
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2837
0
                                   ett_lppa_ResultNR_Item, ResultNR_Item_sequence);
2838
2839
0
  return offset;
2840
0
}
2841
2842
2843
static const per_sequence_t ResultNR_sequence_of[1] = {
2844
  { &hf_lppa_ResultNR_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ResultNR_Item },
2845
};
2846
2847
static unsigned
2848
0
dissect_lppa_ResultNR(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2849
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2850
0
                                                  ett_lppa_ResultNR, ResultNR_sequence_of,
2851
0
                                                  1, maxNRmeas, false);
2852
2853
0
  return offset;
2854
0
}
2855
2856
2857
static const value_string lppa_InterRATMeasuredResultsValue_vals[] = {
2858
  {   0, "resultGERAN" },
2859
  {   1, "resultUTRAN" },
2860
  {   2, "resultNR" },
2861
  { 0, NULL }
2862
};
2863
2864
static const per_choice_t InterRATMeasuredResultsValue_choice[] = {
2865
  {   0, &hf_lppa_resultGERAN    , ASN1_EXTENSION_ROOT    , dissect_lppa_ResultGERAN },
2866
  {   1, &hf_lppa_resultUTRAN    , ASN1_EXTENSION_ROOT    , dissect_lppa_ResultUTRAN },
2867
  {   2, &hf_lppa_resultNR       , ASN1_NOT_EXTENSION_ROOT, dissect_lppa_ResultNR },
2868
  { 0, NULL, 0, NULL }
2869
};
2870
2871
static unsigned
2872
0
dissect_lppa_InterRATMeasuredResultsValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2873
0
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2874
0
                                 ett_lppa_InterRATMeasuredResultsValue, InterRATMeasuredResultsValue_choice,
2875
0
                                 NULL);
2876
2877
0
  return offset;
2878
0
}
2879
2880
2881
static const per_sequence_t InterRATMeasurementResult_sequence_of[1] = {
2882
  { &hf_lppa_InterRATMeasurementResult_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_InterRATMeasuredResultsValue },
2883
};
2884
2885
static unsigned
2886
0
dissect_lppa_InterRATMeasurementResult(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2887
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2888
0
                                                  ett_lppa_InterRATMeasurementResult, InterRATMeasurementResult_sequence_of,
2889
0
                                                  1, maxNoMeas, false);
2890
2891
0
  return offset;
2892
0
}
2893
2894
2895
2896
static unsigned
2897
0
dissect_lppa_Measurement_ID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2898
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2899
0
                                                            1U, 15U, NULL, true);
2900
2901
0
  return offset;
2902
0
}
2903
2904
2905
static const value_string lppa_MeasurementPeriodicity_vals[] = {
2906
  {   0, "ms120" },
2907
  {   1, "ms240" },
2908
  {   2, "ms480" },
2909
  {   3, "ms640" },
2910
  {   4, "ms1024" },
2911
  {   5, "ms2048" },
2912
  {   6, "ms5120" },
2913
  {   7, "ms10240" },
2914
  {   8, "min1" },
2915
  {   9, "min6" },
2916
  {  10, "min12" },
2917
  {  11, "min30" },
2918
  {  12, "min60" },
2919
  { 0, NULL }
2920
};
2921
2922
2923
static unsigned
2924
0
dissect_lppa_MeasurementPeriodicity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2925
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2926
0
                                     13, NULL, true, 0, NULL);
2927
2928
0
  return offset;
2929
0
}
2930
2931
2932
static const per_sequence_t MeasurementQuantities_sequence_of[1] = {
2933
  { &hf_lppa_MeasurementQuantities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Single_Container },
2934
};
2935
2936
static unsigned
2937
0
dissect_lppa_MeasurementQuantities(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2938
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2939
0
                                                  ett_lppa_MeasurementQuantities, MeasurementQuantities_sequence_of,
2940
0
                                                  1, maxNoMeas, false);
2941
2942
0
  return offset;
2943
0
}
2944
2945
2946
static const value_string lppa_MeasurementQuantitiesValue_vals[] = {
2947
  {   0, "cell-ID" },
2948
  {   1, "angleOfArrival" },
2949
  {   2, "timingAdvanceType1" },
2950
  {   3, "timingAdvanceType2" },
2951
  {   4, "rSRP" },
2952
  {   5, "rSRQ" },
2953
  { 0, NULL }
2954
};
2955
2956
2957
static unsigned
2958
0
dissect_lppa_MeasurementQuantitiesValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2959
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2960
0
                                     6, NULL, true, 0, NULL);
2961
2962
0
  return offset;
2963
0
}
2964
2965
2966
static const per_sequence_t MeasurementQuantities_Item_sequence[] = {
2967
  { &hf_lppa_measurementQuantitiesValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_MeasurementQuantitiesValue },
2968
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2969
  { NULL, 0, 0, NULL }
2970
};
2971
2972
static unsigned
2973
0
dissect_lppa_MeasurementQuantities_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2974
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2975
0
                                   ett_lppa_MeasurementQuantities_Item, MeasurementQuantities_Item_sequence);
2976
2977
0
  return offset;
2978
0
}
2979
2980
2981
2982
static unsigned
2983
0
dissect_lppa_NRCellIdentity(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2984
0
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2985
0
                                     36, 36, false, NULL, 0, NULL, NULL);
2986
2987
0
  return offset;
2988
0
}
2989
2990
2991
static const per_sequence_t NR_CGI_sequence[] = {
2992
  { &hf_lppa_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PLMN_Identity },
2993
  { &hf_lppa_nRCellIdentity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_NRCellIdentity },
2994
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
2995
  { NULL, 0, 0, NULL }
2996
};
2997
2998
static unsigned
2999
0
dissect_lppa_NR_CGI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3000
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3001
0
                                   ett_lppa_NR_CGI, NR_CGI_sequence);
3002
3003
0
  return offset;
3004
0
}
3005
3006
3007
static const per_sequence_t OTDOACell_Information_sequence_of[1] = {
3008
  { &hf_lppa_OTDOACell_Information_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_OTDOACell_Information_Item },
3009
};
3010
3011
static unsigned
3012
0
dissect_lppa_OTDOACell_Information(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3013
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3014
0
                                                  ett_lppa_OTDOACell_Information, OTDOACell_Information_sequence_of,
3015
0
                                                  1, maxnoOTDOAtypes, false);
3016
3017
0
  return offset;
3018
0
}
3019
3020
3021
static const per_sequence_t OTDOACells_item_sequence[] = {
3022
  { &hf_lppa_oTDOACellInfo  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_OTDOACell_Information },
3023
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
3024
  { NULL, 0, 0, NULL }
3025
};
3026
3027
static unsigned
3028
0
dissect_lppa_OTDOACells_item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3029
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3030
0
                                   ett_lppa_OTDOACells_item, OTDOACells_item_sequence);
3031
3032
0
  return offset;
3033
0
}
3034
3035
3036
static const per_sequence_t OTDOACells_sequence_of[1] = {
3037
  { &hf_lppa_OTDOACells_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_OTDOACells_item },
3038
};
3039
3040
static unsigned
3041
0
dissect_lppa_OTDOACells(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3042
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3043
0
                                                  ett_lppa_OTDOACells, OTDOACells_sequence_of,
3044
0
                                                  1, maxCellineNB, false);
3045
3046
0
  return offset;
3047
0
}
3048
3049
3050
static const value_string lppa_OTDOA_Information_Item_vals[] = {
3051
  {   0, "pci" },
3052
  {   1, "cellid" },
3053
  {   2, "tac" },
3054
  {   3, "earfcn" },
3055
  {   4, "prsBandwidth" },
3056
  {   5, "prsConfigIndex" },
3057
  {   6, "cpLength" },
3058
  {   7, "noDlFrames" },
3059
  {   8, "noAntennaPorts" },
3060
  {   9, "sFNInitTime" },
3061
  {  10, "e-UTRANAccessPointPosition" },
3062
  {  11, "prsmutingconfiguration" },
3063
  {  12, "prsid" },
3064
  {  13, "tpid" },
3065
  {  14, "tpType" },
3066
  {  15, "crsCPlength" },
3067
  {  16, "mBSFNsubframeConfiguration" },
3068
  {  17, "nPRSConfiguration" },
3069
  {  18, "offsetNBChannelNumbertoEARFCN" },
3070
  {  19, "operationModeInfo" },
3071
  {  20, "nPRS-ID" },
3072
  {  21, "dlBandwidth" },
3073
  {  22, "multipleprsConfigurationsperCell" },
3074
  {  23, "prsOccasionGroup" },
3075
  {  24, "prsFrequencyHoppingConfiguration" },
3076
  {  25, "repetitionNumberofSIB1-NB" },
3077
  {  26, "nPRSSequenceInfo" },
3078
  {  27, "nPRSType2" },
3079
  {  28, "tddConfig" },
3080
  { 0, NULL }
3081
};
3082
3083
3084
static unsigned
3085
0
dissect_lppa_OTDOA_Information_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3086
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3087
0
                                     10, NULL, true, 19, NULL);
3088
3089
0
  return offset;
3090
0
}
3091
3092
3093
static const value_string lppa_ReportCharacteristics_vals[] = {
3094
  {   0, "onDemand" },
3095
  {   1, "periodic" },
3096
  { 0, NULL }
3097
};
3098
3099
3100
static unsigned
3101
0
dissect_lppa_ReportCharacteristics(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3102
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3103
0
                                     2, NULL, true, 0, NULL);
3104
3105
0
  return offset;
3106
0
}
3107
3108
3109
3110
static unsigned
3111
0
dissect_lppa_INTEGER_0_500_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3112
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3113
0
                                                            0U, 500U, NULL, true);
3114
3115
0
  return offset;
3116
0
}
3117
3118
3119
3120
static unsigned
3121
0
dissect_lppa_INTEGER_1_100_(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3122
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3123
0
                                                            1U, 100U, NULL, true);
3124
3125
0
  return offset;
3126
0
}
3127
3128
3129
static const per_sequence_t RequestedSRSTransmissionCharacteristics_sequence[] = {
3130
  { &hf_lppa_numberOfTransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_500_ },
3131
  { &hf_lppa_bandwidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_1_100_ },
3132
  { NULL, 0, 0, NULL }
3133
};
3134
3135
static unsigned
3136
0
dissect_lppa_RequestedSRSTransmissionCharacteristics(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3137
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3138
0
                                   ett_lppa_RequestedSRSTransmissionCharacteristics, RequestedSRSTransmissionCharacteristics_sequence);
3139
3140
0
  return offset;
3141
0
}
3142
3143
3144
3145
static unsigned
3146
0
dissect_lppa_SSB_Index(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3147
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3148
0
                                                            0U, 63U, NULL, false);
3149
3150
0
  return offset;
3151
0
}
3152
3153
3154
static const per_sequence_t ResultsPerSSB_Index_Item_sequence[] = {
3155
  { &hf_lppa_sSB_Index      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_SSB_Index },
3156
  { &hf_lppa_sS_NRRSRPBeamValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_SS_NRRSRP },
3157
  { &hf_lppa_sS_NRRSRQBeamValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_SS_NRRSRQ },
3158
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
3159
  { NULL, 0, 0, NULL }
3160
};
3161
3162
static unsigned
3163
0
dissect_lppa_ResultsPerSSB_Index_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3164
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3165
0
                                   ett_lppa_ResultsPerSSB_Index_Item, ResultsPerSSB_Index_Item_sequence);
3166
3167
0
  return offset;
3168
0
}
3169
3170
3171
static const per_sequence_t ResultsPerSSB_Index_List_sequence_of[1] = {
3172
  { &hf_lppa_ResultsPerSSB_Index_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ResultsPerSSB_Index_Item },
3173
};
3174
3175
static unsigned
3176
0
dissect_lppa_ResultsPerSSB_Index_List(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3177
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3178
0
                                                  ett_lppa_ResultsPerSSB_Index_List, ResultsPerSSB_Index_List_sequence_of,
3179
0
                                                  1, maxResultsPerSSBIndex, false);
3180
3181
0
  return offset;
3182
0
}
3183
3184
3185
static const value_string lppa_T_ul_bandwidth_vals[] = {
3186
  {   0, "n6" },
3187
  {   1, "n15" },
3188
  {   2, "n25" },
3189
  {   3, "n50" },
3190
  {   4, "n75" },
3191
  {   5, "n100" },
3192
  { 0, NULL }
3193
};
3194
3195
3196
static unsigned
3197
0
dissect_lppa_T_ul_bandwidth(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3198
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3199
0
                                     6, NULL, false, 0, NULL);
3200
3201
0
  return offset;
3202
0
}
3203
3204
3205
static const value_string lppa_T_srs_BandwidthConfig_vals[] = {
3206
  {   0, "bw0" },
3207
  {   1, "bw1" },
3208
  {   2, "bw2" },
3209
  {   3, "bw3" },
3210
  {   4, "bw4" },
3211
  {   5, "bw5" },
3212
  {   6, "bw6" },
3213
  {   7, "bw7" },
3214
  { 0, NULL }
3215
};
3216
3217
3218
static unsigned
3219
0
dissect_lppa_T_srs_BandwidthConfig(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3220
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3221
0
                                     8, NULL, false, 0, NULL);
3222
3223
0
  return offset;
3224
0
}
3225
3226
3227
static const value_string lppa_T_srs_Bandwidth_vals[] = {
3228
  {   0, "bw0" },
3229
  {   1, "bw1" },
3230
  {   2, "bw2" },
3231
  {   3, "bw3" },
3232
  { 0, NULL }
3233
};
3234
3235
3236
static unsigned
3237
0
dissect_lppa_T_srs_Bandwidth(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3238
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3239
0
                                     4, NULL, false, 0, NULL);
3240
3241
0
  return offset;
3242
0
}
3243
3244
3245
static const value_string lppa_T_srs_AntennaPort_vals[] = {
3246
  {   0, "an1" },
3247
  {   1, "an2" },
3248
  {   2, "an4" },
3249
  { 0, NULL }
3250
};
3251
3252
3253
static unsigned
3254
0
dissect_lppa_T_srs_AntennaPort(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3255
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3256
0
                                     3, NULL, true, 0, NULL);
3257
3258
0
  return offset;
3259
0
}
3260
3261
3262
static const value_string lppa_T_srs_HoppingBandwidth_vals[] = {
3263
  {   0, "hbw0" },
3264
  {   1, "hbw1" },
3265
  {   2, "hbw2" },
3266
  {   3, "hbw3" },
3267
  { 0, NULL }
3268
};
3269
3270
3271
static unsigned
3272
0
dissect_lppa_T_srs_HoppingBandwidth(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3273
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3274
0
                                     4, NULL, false, 0, NULL);
3275
3276
0
  return offset;
3277
0
}
3278
3279
3280
static const value_string lppa_T_srs_cyclicShift_vals[] = {
3281
  {   0, "cs0" },
3282
  {   1, "cs1" },
3283
  {   2, "cs2" },
3284
  {   3, "cs3" },
3285
  {   4, "cs4" },
3286
  {   5, "cs5" },
3287
  {   6, "cs6" },
3288
  {   7, "cs7" },
3289
  { 0, NULL }
3290
};
3291
3292
3293
static unsigned
3294
0
dissect_lppa_T_srs_cyclicShift(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3295
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3296
0
                                     8, NULL, false, 0, NULL);
3297
3298
0
  return offset;
3299
0
}
3300
3301
3302
3303
static unsigned
3304
0
dissect_lppa_INTEGER_0_1023(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3305
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3306
0
                                                            0U, 1023U, NULL, false);
3307
3308
0
  return offset;
3309
0
}
3310
3311
3312
static const value_string lppa_T_maxUpPts_vals[] = {
3313
  {   0, "true" },
3314
  { 0, NULL }
3315
};
3316
3317
3318
static unsigned
3319
0
dissect_lppa_T_maxUpPts(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3320
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3321
0
                                     1, NULL, false, 0, NULL);
3322
3323
0
  return offset;
3324
0
}
3325
3326
3327
3328
static unsigned
3329
0
dissect_lppa_INTEGER_0_1(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3330
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3331
0
                                                            0U, 1U, NULL, false);
3332
3333
0
  return offset;
3334
0
}
3335
3336
3337
3338
static unsigned
3339
0
dissect_lppa_INTEGER_0_23(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3340
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3341
0
                                                            0U, 23U, NULL, false);
3342
3343
0
  return offset;
3344
0
}
3345
3346
3347
3348
static unsigned
3349
0
dissect_lppa_BOOLEAN(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3350
0
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
3351
3352
0
  return offset;
3353
0
}
3354
3355
3356
3357
static unsigned
3358
0
dissect_lppa_INTEGER_0_29(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3359
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3360
0
                                                            0U, 29U, NULL, false);
3361
3362
0
  return offset;
3363
0
}
3364
3365
3366
static const per_sequence_t SRSConfigurationForOneCell_sequence[] = {
3367
  { &hf_lppa_pci            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PCI },
3368
  { &hf_lppa_ul_earfcn      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_EARFCN },
3369
  { &hf_lppa_ul_bandwidth   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_ul_bandwidth },
3370
  { &hf_lppa_ul_cyclicPrefixLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_CPLength },
3371
  { &hf_lppa_srs_BandwidthConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_BandwidthConfig },
3372
  { &hf_lppa_srs_Bandwidth  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_Bandwidth },
3373
  { &hf_lppa_srs_AntennaPort, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_AntennaPort },
3374
  { &hf_lppa_srs_HoppingBandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_HoppingBandwidth },
3375
  { &hf_lppa_srs_cyclicShift, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_T_srs_cyclicShift },
3376
  { &hf_lppa_srs_ConfigIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_1023 },
3377
  { &hf_lppa_maxUpPts       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_T_maxUpPts },
3378
  { &hf_lppa_transmissionComb, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_1 },
3379
  { &hf_lppa_freqDomainPosition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_23 },
3380
  { &hf_lppa_groupHoppingEnabled, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_BOOLEAN },
3381
  { &hf_lppa_deltaSS        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_INTEGER_0_29 },
3382
  { &hf_lppa_sfnInitialisationTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_SFNInitialisationTime },
3383
  { NULL, 0, 0, NULL }
3384
};
3385
3386
static unsigned
3387
0
dissect_lppa_SRSConfigurationForOneCell(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3388
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3389
0
                                   ett_lppa_SRSConfigurationForOneCell, SRSConfigurationForOneCell_sequence);
3390
3391
0
  return offset;
3392
0
}
3393
3394
3395
static const per_sequence_t SRSConfigurationForAllCells_sequence_of[1] = {
3396
  { &hf_lppa_SRSConfigurationForAllCells_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_SRSConfigurationForOneCell },
3397
};
3398
3399
static unsigned
3400
0
dissect_lppa_SRSConfigurationForAllCells(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3401
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3402
0
                                                  ett_lppa_SRSConfigurationForAllCells, SRSConfigurationForAllCells_sequence_of,
3403
0
                                                  1, maxServCell, false);
3404
3405
0
  return offset;
3406
0
}
3407
3408
3409
3410
static unsigned
3411
0
dissect_lppa_SSID(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3412
0
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3413
0
                                       1, 32, false, NULL);
3414
3415
0
  return offset;
3416
0
}
3417
3418
3419
static const per_sequence_t ULConfiguration_sequence[] = {
3420
  { &hf_lppa_pci            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PCI },
3421
  { &hf_lppa_ul_earfcn      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_EARFCN },
3422
  { &hf_lppa_timingAdvanceType1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_INTEGER_0_7690 },
3423
  { &hf_lppa_timingAdvanceType2, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_INTEGER_0_7690 },
3424
  { &hf_lppa_numberOfTransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_INTEGER_0_500_ },
3425
  { &hf_lppa_srsConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_SRSConfigurationForAllCells },
3426
  { NULL, 0, 0, NULL }
3427
};
3428
3429
static unsigned
3430
0
dissect_lppa_ULConfiguration(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3431
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3432
0
                                   ett_lppa_ULConfiguration, ULConfiguration_sequence);
3433
3434
0
  return offset;
3435
0
}
3436
3437
3438
static const per_sequence_t WLANMeasurementQuantities_sequence_of[1] = {
3439
  { &hf_lppa_WLANMeasurementQuantities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Single_Container },
3440
};
3441
3442
static unsigned
3443
0
dissect_lppa_WLANMeasurementQuantities(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3444
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3445
0
                                                  ett_lppa_WLANMeasurementQuantities, WLANMeasurementQuantities_sequence_of,
3446
0
                                                  0, maxNoMeas, false);
3447
3448
0
  return offset;
3449
0
}
3450
3451
3452
static const value_string lppa_WLANMeasurementQuantitiesValue_vals[] = {
3453
  {   0, "wlan" },
3454
  { 0, NULL }
3455
};
3456
3457
3458
static unsigned
3459
0
dissect_lppa_WLANMeasurementQuantitiesValue(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3460
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3461
0
                                     1, NULL, true, 0, NULL);
3462
3463
0
  return offset;
3464
0
}
3465
3466
3467
static const per_sequence_t WLANMeasurementQuantities_Item_sequence[] = {
3468
  { &hf_lppa_wLANMeasurementQuantitiesValue, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_WLANMeasurementQuantitiesValue },
3469
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
3470
  { NULL, 0, 0, NULL }
3471
};
3472
3473
static unsigned
3474
0
dissect_lppa_WLANMeasurementQuantities_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3475
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3476
0
                                   ett_lppa_WLANMeasurementQuantities_Item, WLANMeasurementQuantities_Item_sequence);
3477
3478
0
  return offset;
3479
0
}
3480
3481
3482
3483
static unsigned
3484
0
dissect_lppa_WLAN_RSSI(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3485
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3486
0
                                                            0U, 141U, NULL, true);
3487
3488
0
  return offset;
3489
0
}
3490
3491
3492
3493
static unsigned
3494
0
dissect_lppa_WLANOperatingClass(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3495
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3496
0
                                                            0U, 255U, NULL, false);
3497
3498
0
  return offset;
3499
0
}
3500
3501
3502
static const value_string lppa_WLANCountryCode_vals[] = {
3503
  {   0, "unitedStates" },
3504
  {   1, "europe" },
3505
  {   2, "japan" },
3506
  {   3, "global" },
3507
  { 0, NULL }
3508
};
3509
3510
3511
static unsigned
3512
0
dissect_lppa_WLANCountryCode(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3513
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3514
0
                                     4, NULL, true, 0, NULL);
3515
3516
0
  return offset;
3517
0
}
3518
3519
3520
3521
static unsigned
3522
0
dissect_lppa_WLANChannel(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3523
0
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3524
0
                                                            0U, 255U, NULL, false);
3525
3526
0
  return offset;
3527
0
}
3528
3529
3530
static const per_sequence_t WLANChannelList_sequence_of[1] = {
3531
  { &hf_lppa_WLANChannelList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_WLANChannel },
3532
};
3533
3534
static unsigned
3535
0
dissect_lppa_WLANChannelList(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3536
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3537
0
                                                  ett_lppa_WLANChannelList, WLANChannelList_sequence_of,
3538
0
                                                  1, maxWLANchannels, false);
3539
3540
0
  return offset;
3541
0
}
3542
3543
3544
static const value_string lppa_WLANBand_vals[] = {
3545
  {   0, "band2dot4" },
3546
  {   1, "band5" },
3547
  { 0, NULL }
3548
};
3549
3550
3551
static unsigned
3552
0
dissect_lppa_WLANBand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3553
0
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3554
0
                                     2, NULL, true, 0, NULL);
3555
3556
0
  return offset;
3557
0
}
3558
3559
3560
static const per_sequence_t WLANMeasurementResult_Item_sequence[] = {
3561
  { &hf_lppa_wLAN_RSSI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_WLAN_RSSI },
3562
  { &hf_lppa_sSID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_SSID },
3563
  { &hf_lppa_bSSID          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_BSSID },
3564
  { &hf_lppa_hESSID         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_HESSID },
3565
  { &hf_lppa_operatingClass , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_WLANOperatingClass },
3566
  { &hf_lppa_countryCode    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_WLANCountryCode },
3567
  { &hf_lppa_wLANChannelList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_WLANChannelList },
3568
  { &hf_lppa_wLANBand       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_WLANBand },
3569
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
3570
  { NULL, 0, 0, NULL }
3571
};
3572
3573
static unsigned
3574
0
dissect_lppa_WLANMeasurementResult_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3575
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3576
0
                                   ett_lppa_WLANMeasurementResult_Item, WLANMeasurementResult_Item_sequence);
3577
3578
0
  return offset;
3579
0
}
3580
3581
3582
static const per_sequence_t WLANMeasurementResult_sequence_of[1] = {
3583
  { &hf_lppa_WLANMeasurementResult_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_WLANMeasurementResult_Item },
3584
};
3585
3586
static unsigned
3587
0
dissect_lppa_WLANMeasurementResult(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3588
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3589
0
                                                  ett_lppa_WLANMeasurementResult, WLANMeasurementResult_sequence_of,
3590
0
                                                  1, maxNoMeas, false);
3591
3592
0
  return offset;
3593
0
}
3594
3595
3596
static const per_sequence_t E_CIDMeasurementInitiationRequest_sequence[] = {
3597
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3598
  { NULL, 0, 0, NULL }
3599
};
3600
3601
static unsigned
3602
0
dissect_lppa_E_CIDMeasurementInitiationRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3603
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3604
0
                                   ett_lppa_E_CIDMeasurementInitiationRequest, E_CIDMeasurementInitiationRequest_sequence);
3605
3606
0
  return offset;
3607
0
}
3608
3609
3610
static const per_sequence_t E_CIDMeasurementInitiationResponse_sequence[] = {
3611
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3612
  { NULL, 0, 0, NULL }
3613
};
3614
3615
static unsigned
3616
1
dissect_lppa_E_CIDMeasurementInitiationResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3617
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3618
1
                                   ett_lppa_E_CIDMeasurementInitiationResponse, E_CIDMeasurementInitiationResponse_sequence);
3619
3620
1
  return offset;
3621
1
}
3622
3623
3624
static const per_sequence_t E_CIDMeasurementInitiationFailure_sequence[] = {
3625
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3626
  { NULL, 0, 0, NULL }
3627
};
3628
3629
static unsigned
3630
0
dissect_lppa_E_CIDMeasurementInitiationFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3631
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3632
0
                                   ett_lppa_E_CIDMeasurementInitiationFailure, E_CIDMeasurementInitiationFailure_sequence);
3633
3634
0
  return offset;
3635
0
}
3636
3637
3638
static const per_sequence_t E_CIDMeasurementFailureIndication_sequence[] = {
3639
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3640
  { NULL, 0, 0, NULL }
3641
};
3642
3643
static unsigned
3644
1
dissect_lppa_E_CIDMeasurementFailureIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3645
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3646
1
                                   ett_lppa_E_CIDMeasurementFailureIndication, E_CIDMeasurementFailureIndication_sequence);
3647
3648
1
  return offset;
3649
1
}
3650
3651
3652
static const per_sequence_t E_CIDMeasurementReport_sequence[] = {
3653
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3654
  { NULL, 0, 0, NULL }
3655
};
3656
3657
static unsigned
3658
0
dissect_lppa_E_CIDMeasurementReport(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3659
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3660
0
                                   ett_lppa_E_CIDMeasurementReport, E_CIDMeasurementReport_sequence);
3661
3662
0
  return offset;
3663
0
}
3664
3665
3666
static const per_sequence_t E_CIDMeasurementTerminationCommand_sequence[] = {
3667
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3668
  { NULL, 0, 0, NULL }
3669
};
3670
3671
static unsigned
3672
2
dissect_lppa_E_CIDMeasurementTerminationCommand(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3673
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3674
2
                                   ett_lppa_E_CIDMeasurementTerminationCommand, E_CIDMeasurementTerminationCommand_sequence);
3675
3676
2
  return offset;
3677
2
}
3678
3679
3680
static const per_sequence_t OTDOAInformationRequest_sequence[] = {
3681
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3682
  { NULL, 0, 0, NULL }
3683
};
3684
3685
static unsigned
3686
1
dissect_lppa_OTDOAInformationRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3687
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3688
1
                                   ett_lppa_OTDOAInformationRequest, OTDOAInformationRequest_sequence);
3689
3690
1
  return offset;
3691
1
}
3692
3693
3694
static const per_sequence_t OTDOA_Information_Type_sequence_of[1] = {
3695
  { &hf_lppa_OTDOA_Information_Type_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Single_Container },
3696
};
3697
3698
static unsigned
3699
0
dissect_lppa_OTDOA_Information_Type(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3700
0
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3701
0
                                                  ett_lppa_OTDOA_Information_Type, OTDOA_Information_Type_sequence_of,
3702
0
                                                  1, maxnoOTDOAtypes, false);
3703
3704
0
  return offset;
3705
0
}
3706
3707
3708
static const per_sequence_t OTDOA_Information_Type_Item_sequence[] = {
3709
  { &hf_lppa_oTDOA_Information_Type_Item, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_OTDOA_Information_Item },
3710
  { &hf_lppa_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_lppa_ProtocolExtensionContainer },
3711
  { NULL, 0, 0, NULL }
3712
};
3713
3714
static unsigned
3715
0
dissect_lppa_OTDOA_Information_Type_Item(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3716
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3717
0
                                   ett_lppa_OTDOA_Information_Type_Item, OTDOA_Information_Type_Item_sequence);
3718
3719
0
  return offset;
3720
0
}
3721
3722
3723
static const per_sequence_t OTDOAInformationResponse_sequence[] = {
3724
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3725
  { NULL, 0, 0, NULL }
3726
};
3727
3728
static unsigned
3729
1
dissect_lppa_OTDOAInformationResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3730
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3731
1
                                   ett_lppa_OTDOAInformationResponse, OTDOAInformationResponse_sequence);
3732
3733
1
  return offset;
3734
1
}
3735
3736
3737
static const per_sequence_t OTDOAInformationFailure_sequence[] = {
3738
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3739
  { NULL, 0, 0, NULL }
3740
};
3741
3742
static unsigned
3743
1
dissect_lppa_OTDOAInformationFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3744
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3745
1
                                   ett_lppa_OTDOAInformationFailure, OTDOAInformationFailure_sequence);
3746
3747
1
  return offset;
3748
1
}
3749
3750
3751
static const per_sequence_t UTDOAInformationRequest_sequence[] = {
3752
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3753
  { NULL, 0, 0, NULL }
3754
};
3755
3756
static unsigned
3757
1
dissect_lppa_UTDOAInformationRequest(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3758
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3759
1
                                   ett_lppa_UTDOAInformationRequest, UTDOAInformationRequest_sequence);
3760
3761
1
  return offset;
3762
1
}
3763
3764
3765
static const per_sequence_t UTDOAInformationResponse_sequence[] = {
3766
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3767
  { NULL, 0, 0, NULL }
3768
};
3769
3770
static unsigned
3771
1
dissect_lppa_UTDOAInformationResponse(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3772
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3773
1
                                   ett_lppa_UTDOAInformationResponse, UTDOAInformationResponse_sequence);
3774
3775
1
  return offset;
3776
1
}
3777
3778
3779
static const per_sequence_t UTDOAInformationFailure_sequence[] = {
3780
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3781
  { NULL, 0, 0, NULL }
3782
};
3783
3784
static unsigned
3785
0
dissect_lppa_UTDOAInformationFailure(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3786
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3787
0
                                   ett_lppa_UTDOAInformationFailure, UTDOAInformationFailure_sequence);
3788
3789
0
  return offset;
3790
0
}
3791
3792
3793
static const per_sequence_t UTDOAInformationUpdate_sequence[] = {
3794
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3795
  { NULL, 0, 0, NULL }
3796
};
3797
3798
static unsigned
3799
0
dissect_lppa_UTDOAInformationUpdate(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3800
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3801
0
                                   ett_lppa_UTDOAInformationUpdate, UTDOAInformationUpdate_sequence);
3802
3803
0
  return offset;
3804
0
}
3805
3806
3807
static const per_sequence_t AssistanceInformationControl_sequence[] = {
3808
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3809
  { NULL, 0, 0, NULL }
3810
};
3811
3812
static unsigned
3813
0
dissect_lppa_AssistanceInformationControl(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3814
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3815
0
                                   ett_lppa_AssistanceInformationControl, AssistanceInformationControl_sequence);
3816
3817
0
  return offset;
3818
0
}
3819
3820
3821
static const per_sequence_t AssistanceInformationFeedback_sequence[] = {
3822
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3823
  { NULL, 0, 0, NULL }
3824
};
3825
3826
static unsigned
3827
1
dissect_lppa_AssistanceInformationFeedback(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3828
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3829
1
                                   ett_lppa_AssistanceInformationFeedback, AssistanceInformationFeedback_sequence);
3830
3831
1
  return offset;
3832
1
}
3833
3834
3835
static const per_sequence_t ErrorIndication_sequence[] = {
3836
  { &hf_lppa_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_ProtocolIE_Container },
3837
  { NULL, 0, 0, NULL }
3838
};
3839
3840
static unsigned
3841
1
dissect_lppa_ErrorIndication(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3842
1
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3843
1
                                   ett_lppa_ErrorIndication, ErrorIndication_sequence);
3844
3845
1
  return offset;
3846
1
}
3847
3848
3849
static const per_sequence_t PrivateMessage_sequence[] = {
3850
  { &hf_lppa_privateIEs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_lppa_PrivateIE_Container },
3851
  { NULL, 0, 0, NULL }
3852
};
3853
3854
static unsigned
3855
0
dissect_lppa_PrivateMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3856
0
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3857
0
                                   ett_lppa_PrivateMessage, PrivateMessage_sequence);
3858
3859
0
  return offset;
3860
0
}
3861
3862
3863
3864
static unsigned
3865
7
dissect_lppa_InitiatingMessage_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3866
  // InitiatingMessage/value -> InitiatingMessage/value
3867
7
  increment_dissection_depth_by_n(actx->pinfo, 1);
3868
7
  struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
3869
7
  lppa_data->message_type = INITIATING_MESSAGE;
3870
7
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
3871
3872
7
  decrement_dissection_depth_by_n(actx->pinfo, 1);
3873
7
  return offset;
3874
7
}
3875
3876
3877
static const per_sequence_t InitiatingMessage_sequence[] = {
3878
  { &hf_lppa_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProcedureCode },
3879
  { &hf_lppa_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Criticality },
3880
  { &hf_lppa_lppatransactionID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_LPPATransactionID },
3881
  { &hf_lppa_initiatingMessagevalue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_InitiatingMessage_value },
3882
  { NULL, 0, 0, NULL }
3883
};
3884
3885
static unsigned
3886
7
dissect_lppa_InitiatingMessage(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3887
7
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3888
7
                                   ett_lppa_InitiatingMessage, InitiatingMessage_sequence);
3889
3890
7
  return offset;
3891
7
}
3892
3893
3894
3895
static unsigned
3896
4
dissect_lppa_SuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3897
  // SuccessfulOutcome/value -> SuccessfulOutcome/value
3898
4
  increment_dissection_depth_by_n(actx->pinfo, 1);
3899
4
  struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
3900
4
  lppa_data->message_type = SUCCESSFUL_OUTCOME;
3901
4
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
3902
3903
4
  decrement_dissection_depth_by_n(actx->pinfo, 1);
3904
4
  return offset;
3905
4
}
3906
3907
3908
static const per_sequence_t SuccessfulOutcome_sequence[] = {
3909
  { &hf_lppa_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProcedureCode },
3910
  { &hf_lppa_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Criticality },
3911
  { &hf_lppa_lppatransactionID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_LPPATransactionID },
3912
  { &hf_lppa_successfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_SuccessfulOutcome_value },
3913
  { NULL, 0, 0, NULL }
3914
};
3915
3916
static unsigned
3917
4
dissect_lppa_SuccessfulOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3918
4
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3919
4
                                   ett_lppa_SuccessfulOutcome, SuccessfulOutcome_sequence);
3920
3921
4
  return offset;
3922
4
}
3923
3924
3925
3926
static unsigned
3927
2
dissect_lppa_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3928
  // UnsuccessfulOutcome/value -> UnsuccessfulOutcome/value
3929
2
  increment_dissection_depth_by_n(actx->pinfo, 1);
3930
2
  struct lppa_private_data *lppa_data = lppa_get_private_data(actx->pinfo);
3931
2
  lppa_data->message_type = UNSUCCESSFUL_OUTCOME;
3932
3933
2
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
3934
3935
2
  decrement_dissection_depth_by_n(actx->pinfo, 1);
3936
2
  return offset;
3937
2
}
3938
3939
3940
static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
3941
  { &hf_lppa_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_ProcedureCode },
3942
  { &hf_lppa_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_Criticality },
3943
  { &hf_lppa_lppatransactionID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_LPPATransactionID },
3944
  { &hf_lppa_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_lppa_UnsuccessfulOutcome_value },
3945
  { NULL, 0, 0, NULL }
3946
};
3947
3948
static unsigned
3949
2
dissect_lppa_UnsuccessfulOutcome(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3950
2
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3951
2
                                   ett_lppa_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
3952
3953
2
  return offset;
3954
2
}
3955
3956
3957
static const value_string lppa_LPPA_PDU_vals[] = {
3958
  {   0, "initiatingMessage" },
3959
  {   1, "successfulOutcome" },
3960
  {   2, "unsuccessfulOutcome" },
3961
  { 0, NULL }
3962
};
3963
3964
static const per_choice_t LPPA_PDU_choice[] = {
3965
  {   0, &hf_lppa_initiatingMessage, ASN1_EXTENSION_ROOT    , dissect_lppa_InitiatingMessage },
3966
  {   1, &hf_lppa_successfulOutcome, ASN1_EXTENSION_ROOT    , dissect_lppa_SuccessfulOutcome },
3967
  {   2, &hf_lppa_unsuccessfulOutcome, ASN1_EXTENSION_ROOT    , dissect_lppa_UnsuccessfulOutcome },
3968
  { 0, NULL, 0, NULL }
3969
};
3970
3971
static unsigned
3972
13
dissect_lppa_LPPA_PDU(tvbuff_t *tvb _U_, uint32_t offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3973
3974
13
  proto_tree_add_item(tree, proto_lppa, tvb, 0, -1, ENC_NA);
3975
3976
13
  col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "LPPa");
3977
13
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3978
13
                                 ett_lppa_LPPA_PDU, LPPA_PDU_choice,
3979
13
                                 NULL);
3980
3981
13
  return offset;
3982
13
}
3983
3984
/*--- PDUs ---*/
3985
3986
0
static int dissect_Add_OTDOACells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3987
0
  unsigned offset = 0;
3988
0
  asn1_ctx_t asn1_ctx;
3989
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3990
0
  offset = dissect_lppa_Add_OTDOACells(tvb, offset, &asn1_ctx, tree, hf_lppa_Add_OTDOACells_PDU);
3991
0
  offset += 7; offset >>= 3;
3992
0
  return offset;
3993
0
}
3994
0
static int dissect_Assistance_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3995
0
  unsigned offset = 0;
3996
0
  asn1_ctx_t asn1_ctx;
3997
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
3998
0
  offset = dissect_lppa_Assistance_Information(tvb, offset, &asn1_ctx, tree, hf_lppa_Assistance_Information_PDU);
3999
0
  offset += 7; offset >>= 3;
4000
0
  return offset;
4001
0
}
4002
0
static int dissect_AssistanceInformationFailureList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4003
0
  unsigned offset = 0;
4004
0
  asn1_ctx_t asn1_ctx;
4005
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4006
0
  offset = dissect_lppa_AssistanceInformationFailureList(tvb, offset, &asn1_ctx, tree, hf_lppa_AssistanceInformationFailureList_PDU);
4007
0
  offset += 7; offset >>= 3;
4008
0
  return offset;
4009
0
}
4010
0
static int dissect_Broadcast_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4011
0
  unsigned offset = 0;
4012
0
  asn1_ctx_t asn1_ctx;
4013
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4014
0
  offset = dissect_lppa_Broadcast(tvb, offset, &asn1_ctx, tree, hf_lppa_Broadcast_PDU);
4015
0
  offset += 7; offset >>= 3;
4016
0
  return offset;
4017
0
}
4018
1
static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4019
1
  unsigned offset = 0;
4020
1
  asn1_ctx_t asn1_ctx;
4021
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4022
1
  offset = dissect_lppa_Cause(tvb, offset, &asn1_ctx, tree, hf_lppa_Cause_PDU);
4023
1
  offset += 7; offset >>= 3;
4024
1
  return offset;
4025
1
}
4026
0
static int dissect_Cell_Portion_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4027
0
  unsigned offset = 0;
4028
0
  asn1_ctx_t asn1_ctx;
4029
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4030
0
  offset = dissect_lppa_Cell_Portion_ID(tvb, offset, &asn1_ctx, tree, hf_lppa_Cell_Portion_ID_PDU);
4031
0
  offset += 7; offset >>= 3;
4032
0
  return offset;
4033
0
}
4034
0
static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4035
0
  unsigned offset = 0;
4036
0
  asn1_ctx_t asn1_ctx;
4037
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4038
0
  offset = dissect_lppa_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_lppa_CriticalityDiagnostics_PDU);
4039
0
  offset += 7; offset >>= 3;
4040
0
  return offset;
4041
0
}
4042
0
static int dissect_E_CID_MeasurementResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4043
0
  unsigned offset = 0;
4044
0
  asn1_ctx_t asn1_ctx;
4045
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4046
0
  offset = dissect_lppa_E_CID_MeasurementResult(tvb, offset, &asn1_ctx, tree, hf_lppa_E_CID_MeasurementResult_PDU);
4047
0
  offset += 7; offset >>= 3;
4048
0
  return offset;
4049
0
}
4050
0
static int dissect_InterRATMeasurementQuantities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4051
0
  unsigned offset = 0;
4052
0
  asn1_ctx_t asn1_ctx;
4053
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4054
0
  offset = dissect_lppa_InterRATMeasurementQuantities(tvb, offset, &asn1_ctx, tree, hf_lppa_InterRATMeasurementQuantities_PDU);
4055
0
  offset += 7; offset >>= 3;
4056
0
  return offset;
4057
0
}
4058
0
static int dissect_InterRATMeasurementQuantities_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4059
0
  unsigned offset = 0;
4060
0
  asn1_ctx_t asn1_ctx;
4061
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4062
0
  offset = dissect_lppa_InterRATMeasurementQuantities_Item(tvb, offset, &asn1_ctx, tree, hf_lppa_InterRATMeasurementQuantities_Item_PDU);
4063
0
  offset += 7; offset >>= 3;
4064
0
  return offset;
4065
0
}
4066
0
static int dissect_InterRATMeasurementResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4067
0
  unsigned offset = 0;
4068
0
  asn1_ctx_t asn1_ctx;
4069
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4070
0
  offset = dissect_lppa_InterRATMeasurementResult(tvb, offset, &asn1_ctx, tree, hf_lppa_InterRATMeasurementResult_PDU);
4071
0
  offset += 7; offset >>= 3;
4072
0
  return offset;
4073
0
}
4074
0
static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4075
0
  unsigned offset = 0;
4076
0
  asn1_ctx_t asn1_ctx;
4077
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4078
0
  offset = dissect_lppa_Measurement_ID(tvb, offset, &asn1_ctx, tree, hf_lppa_Measurement_ID_PDU);
4079
0
  offset += 7; offset >>= 3;
4080
0
  return offset;
4081
0
}
4082
0
static int dissect_MeasurementPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4083
0
  unsigned offset = 0;
4084
0
  asn1_ctx_t asn1_ctx;
4085
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4086
0
  offset = dissect_lppa_MeasurementPeriodicity(tvb, offset, &asn1_ctx, tree, hf_lppa_MeasurementPeriodicity_PDU);
4087
0
  offset += 7; offset >>= 3;
4088
0
  return offset;
4089
0
}
4090
0
static int dissect_MeasurementQuantities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4091
0
  unsigned offset = 0;
4092
0
  asn1_ctx_t asn1_ctx;
4093
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4094
0
  offset = dissect_lppa_MeasurementQuantities(tvb, offset, &asn1_ctx, tree, hf_lppa_MeasurementQuantities_PDU);
4095
0
  offset += 7; offset >>= 3;
4096
0
  return offset;
4097
0
}
4098
0
static int dissect_MeasurementQuantities_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4099
0
  unsigned offset = 0;
4100
0
  asn1_ctx_t asn1_ctx;
4101
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4102
0
  offset = dissect_lppa_MeasurementQuantities_Item(tvb, offset, &asn1_ctx, tree, hf_lppa_MeasurementQuantities_Item_PDU);
4103
0
  offset += 7; offset >>= 3;
4104
0
  return offset;
4105
0
}
4106
0
static int dissect_NR_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4107
0
  unsigned offset = 0;
4108
0
  asn1_ctx_t asn1_ctx;
4109
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4110
0
  offset = dissect_lppa_NR_CGI(tvb, offset, &asn1_ctx, tree, hf_lppa_NR_CGI_PDU);
4111
0
  offset += 7; offset >>= 3;
4112
0
  return offset;
4113
0
}
4114
0
static int dissect_OTDOACells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4115
0
  unsigned offset = 0;
4116
0
  asn1_ctx_t asn1_ctx;
4117
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4118
0
  offset = dissect_lppa_OTDOACells(tvb, offset, &asn1_ctx, tree, hf_lppa_OTDOACells_PDU);
4119
0
  offset += 7; offset >>= 3;
4120
0
  return offset;
4121
0
}
4122
0
static int dissect_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4123
0
  unsigned offset = 0;
4124
0
  asn1_ctx_t asn1_ctx;
4125
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4126
0
  offset = dissect_lppa_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_lppa_ReportCharacteristics_PDU);
4127
0
  offset += 7; offset >>= 3;
4128
0
  return offset;
4129
0
}
4130
0
static int dissect_RequestedSRSTransmissionCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4131
0
  unsigned offset = 0;
4132
0
  asn1_ctx_t asn1_ctx;
4133
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4134
0
  offset = dissect_lppa_RequestedSRSTransmissionCharacteristics(tvb, offset, &asn1_ctx, tree, hf_lppa_RequestedSRSTransmissionCharacteristics_PDU);
4135
0
  offset += 7; offset >>= 3;
4136
0
  return offset;
4137
0
}
4138
0
static int dissect_ResultsPerSSB_Index_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4139
0
  unsigned offset = 0;
4140
0
  asn1_ctx_t asn1_ctx;
4141
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4142
0
  offset = dissect_lppa_ResultsPerSSB_Index_List(tvb, offset, &asn1_ctx, tree, hf_lppa_ResultsPerSSB_Index_List_PDU);
4143
0
  offset += 7; offset >>= 3;
4144
0
  return offset;
4145
0
}
4146
0
static int dissect_ULConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4147
0
  unsigned offset = 0;
4148
0
  asn1_ctx_t asn1_ctx;
4149
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4150
0
  offset = dissect_lppa_ULConfiguration(tvb, offset, &asn1_ctx, tree, hf_lppa_ULConfiguration_PDU);
4151
0
  offset += 7; offset >>= 3;
4152
0
  return offset;
4153
0
}
4154
0
static int dissect_WLANMeasurementQuantities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4155
0
  unsigned offset = 0;
4156
0
  asn1_ctx_t asn1_ctx;
4157
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4158
0
  offset = dissect_lppa_WLANMeasurementQuantities(tvb, offset, &asn1_ctx, tree, hf_lppa_WLANMeasurementQuantities_PDU);
4159
0
  offset += 7; offset >>= 3;
4160
0
  return offset;
4161
0
}
4162
0
static int dissect_WLANMeasurementQuantities_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4163
0
  unsigned offset = 0;
4164
0
  asn1_ctx_t asn1_ctx;
4165
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4166
0
  offset = dissect_lppa_WLANMeasurementQuantities_Item(tvb, offset, &asn1_ctx, tree, hf_lppa_WLANMeasurementQuantities_Item_PDU);
4167
0
  offset += 7; offset >>= 3;
4168
0
  return offset;
4169
0
}
4170
0
static int dissect_WLANMeasurementResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4171
0
  unsigned offset = 0;
4172
0
  asn1_ctx_t asn1_ctx;
4173
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4174
0
  offset = dissect_lppa_WLANMeasurementResult(tvb, offset, &asn1_ctx, tree, hf_lppa_WLANMeasurementResult_PDU);
4175
0
  offset += 7; offset >>= 3;
4176
0
  return offset;
4177
0
}
4178
0
static int dissect_E_CIDMeasurementInitiationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4179
0
  unsigned offset = 0;
4180
0
  asn1_ctx_t asn1_ctx;
4181
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4182
0
  offset = dissect_lppa_E_CIDMeasurementInitiationRequest(tvb, offset, &asn1_ctx, tree, hf_lppa_E_CIDMeasurementInitiationRequest_PDU);
4183
0
  offset += 7; offset >>= 3;
4184
0
  return offset;
4185
0
}
4186
1
static int dissect_E_CIDMeasurementInitiationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4187
1
  unsigned offset = 0;
4188
1
  asn1_ctx_t asn1_ctx;
4189
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4190
1
  offset = dissect_lppa_E_CIDMeasurementInitiationResponse(tvb, offset, &asn1_ctx, tree, hf_lppa_E_CIDMeasurementInitiationResponse_PDU);
4191
1
  offset += 7; offset >>= 3;
4192
1
  return offset;
4193
1
}
4194
0
static int dissect_E_CIDMeasurementInitiationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4195
0
  unsigned offset = 0;
4196
0
  asn1_ctx_t asn1_ctx;
4197
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4198
0
  offset = dissect_lppa_E_CIDMeasurementInitiationFailure(tvb, offset, &asn1_ctx, tree, hf_lppa_E_CIDMeasurementInitiationFailure_PDU);
4199
0
  offset += 7; offset >>= 3;
4200
0
  return offset;
4201
0
}
4202
1
static int dissect_E_CIDMeasurementFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4203
1
  unsigned offset = 0;
4204
1
  asn1_ctx_t asn1_ctx;
4205
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4206
1
  offset = dissect_lppa_E_CIDMeasurementFailureIndication(tvb, offset, &asn1_ctx, tree, hf_lppa_E_CIDMeasurementFailureIndication_PDU);
4207
1
  offset += 7; offset >>= 3;
4208
1
  return offset;
4209
1
}
4210
0
static int dissect_E_CIDMeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4211
0
  unsigned offset = 0;
4212
0
  asn1_ctx_t asn1_ctx;
4213
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4214
0
  offset = dissect_lppa_E_CIDMeasurementReport(tvb, offset, &asn1_ctx, tree, hf_lppa_E_CIDMeasurementReport_PDU);
4215
0
  offset += 7; offset >>= 3;
4216
0
  return offset;
4217
0
}
4218
2
static int dissect_E_CIDMeasurementTerminationCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4219
2
  unsigned offset = 0;
4220
2
  asn1_ctx_t asn1_ctx;
4221
2
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4222
2
  offset = dissect_lppa_E_CIDMeasurementTerminationCommand(tvb, offset, &asn1_ctx, tree, hf_lppa_E_CIDMeasurementTerminationCommand_PDU);
4223
2
  offset += 7; offset >>= 3;
4224
2
  return offset;
4225
2
}
4226
1
static int dissect_OTDOAInformationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4227
1
  unsigned offset = 0;
4228
1
  asn1_ctx_t asn1_ctx;
4229
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4230
1
  offset = dissect_lppa_OTDOAInformationRequest(tvb, offset, &asn1_ctx, tree, hf_lppa_OTDOAInformationRequest_PDU);
4231
1
  offset += 7; offset >>= 3;
4232
1
  return offset;
4233
1
}
4234
0
static int dissect_OTDOA_Information_Type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4235
0
  unsigned offset = 0;
4236
0
  asn1_ctx_t asn1_ctx;
4237
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4238
0
  offset = dissect_lppa_OTDOA_Information_Type(tvb, offset, &asn1_ctx, tree, hf_lppa_OTDOA_Information_Type_PDU);
4239
0
  offset += 7; offset >>= 3;
4240
0
  return offset;
4241
0
}
4242
0
static int dissect_OTDOA_Information_Type_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4243
0
  unsigned offset = 0;
4244
0
  asn1_ctx_t asn1_ctx;
4245
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4246
0
  offset = dissect_lppa_OTDOA_Information_Type_Item(tvb, offset, &asn1_ctx, tree, hf_lppa_OTDOA_Information_Type_Item_PDU);
4247
0
  offset += 7; offset >>= 3;
4248
0
  return offset;
4249
0
}
4250
1
static int dissect_OTDOAInformationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4251
1
  unsigned offset = 0;
4252
1
  asn1_ctx_t asn1_ctx;
4253
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4254
1
  offset = dissect_lppa_OTDOAInformationResponse(tvb, offset, &asn1_ctx, tree, hf_lppa_OTDOAInformationResponse_PDU);
4255
1
  offset += 7; offset >>= 3;
4256
1
  return offset;
4257
1
}
4258
1
static int dissect_OTDOAInformationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4259
1
  unsigned offset = 0;
4260
1
  asn1_ctx_t asn1_ctx;
4261
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4262
1
  offset = dissect_lppa_OTDOAInformationFailure(tvb, offset, &asn1_ctx, tree, hf_lppa_OTDOAInformationFailure_PDU);
4263
1
  offset += 7; offset >>= 3;
4264
1
  return offset;
4265
1
}
4266
1
static int dissect_UTDOAInformationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4267
1
  unsigned offset = 0;
4268
1
  asn1_ctx_t asn1_ctx;
4269
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4270
1
  offset = dissect_lppa_UTDOAInformationRequest(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationRequest_PDU);
4271
1
  offset += 7; offset >>= 3;
4272
1
  return offset;
4273
1
}
4274
1
static int dissect_UTDOAInformationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4275
1
  unsigned offset = 0;
4276
1
  asn1_ctx_t asn1_ctx;
4277
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4278
1
  offset = dissect_lppa_UTDOAInformationResponse(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationResponse_PDU);
4279
1
  offset += 7; offset >>= 3;
4280
1
  return offset;
4281
1
}
4282
0
static int dissect_UTDOAInformationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4283
0
  unsigned offset = 0;
4284
0
  asn1_ctx_t asn1_ctx;
4285
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4286
0
  offset = dissect_lppa_UTDOAInformationFailure(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationFailure_PDU);
4287
0
  offset += 7; offset >>= 3;
4288
0
  return offset;
4289
0
}
4290
0
static int dissect_UTDOAInformationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4291
0
  unsigned offset = 0;
4292
0
  asn1_ctx_t asn1_ctx;
4293
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4294
0
  offset = dissect_lppa_UTDOAInformationUpdate(tvb, offset, &asn1_ctx, tree, hf_lppa_UTDOAInformationUpdate_PDU);
4295
0
  offset += 7; offset >>= 3;
4296
0
  return offset;
4297
0
}
4298
0
static int dissect_AssistanceInformationControl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4299
0
  unsigned offset = 0;
4300
0
  asn1_ctx_t asn1_ctx;
4301
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4302
0
  offset = dissect_lppa_AssistanceInformationControl(tvb, offset, &asn1_ctx, tree, hf_lppa_AssistanceInformationControl_PDU);
4303
0
  offset += 7; offset >>= 3;
4304
0
  return offset;
4305
0
}
4306
1
static int dissect_AssistanceInformationFeedback_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4307
1
  unsigned offset = 0;
4308
1
  asn1_ctx_t asn1_ctx;
4309
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4310
1
  offset = dissect_lppa_AssistanceInformationFeedback(tvb, offset, &asn1_ctx, tree, hf_lppa_AssistanceInformationFeedback_PDU);
4311
1
  offset += 7; offset >>= 3;
4312
1
  return offset;
4313
1
}
4314
1
static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4315
1
  unsigned offset = 0;
4316
1
  asn1_ctx_t asn1_ctx;
4317
1
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4318
1
  offset = dissect_lppa_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_lppa_ErrorIndication_PDU);
4319
1
  offset += 7; offset >>= 3;
4320
1
  return offset;
4321
1
}
4322
0
static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4323
0
  unsigned offset = 0;
4324
0
  asn1_ctx_t asn1_ctx;
4325
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4326
0
  offset = dissect_lppa_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_lppa_PrivateMessage_PDU);
4327
0
  offset += 7; offset >>= 3;
4328
0
  return offset;
4329
0
}
4330
13
static int dissect_LPPA_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4331
13
  unsigned offset = 0;
4332
13
  asn1_ctx_t asn1_ctx;
4333
13
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
4334
13
  offset = dissect_lppa_LPPA_PDU(tvb, offset, &asn1_ctx, tree, hf_lppa_LPPA_PDU_PDU);
4335
13
  offset += 7; offset >>= 3;
4336
13
  return offset;
4337
13
}
4338
4339
4340
4341
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4342
2
{
4343
4344
2
    lppa_ctx_t lppa_ctx;
4345
2
    struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
4346
4347
2
    lppa_ctx.message_type = lppa_data->message_type;
4348
2
    lppa_ctx.ProcedureCode = lppa_data->procedure_code;
4349
2
    lppa_ctx.ProtocolIE_ID = lppa_data->protocol_ie_id;
4350
2
    lppa_ctx.ProtocolExtensionID = lppa_data->protocol_extension_id;
4351
4352
2
  return (dissector_try_uint_with_data(lppa_ies_dissector_table, lppa_ctx.ProtocolIE_ID, tvb, pinfo, tree, false, &lppa_ctx)) ? tvb_captured_length(tvb) : 0;
4353
2
}
4354
4355
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4356
0
{
4357
0
    lppa_ctx_t lppa_ctx;
4358
0
    struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
4359
4360
0
    lppa_ctx.message_type = lppa_data->message_type;
4361
0
    lppa_ctx.ProcedureCode = lppa_data->procedure_code;
4362
0
    lppa_ctx.ProtocolIE_ID = lppa_data->protocol_ie_id;
4363
0
    lppa_ctx.ProtocolExtensionID = lppa_data->protocol_extension_id;
4364
4365
0
  return (dissector_try_uint_with_data(lppa_extension_dissector_table, lppa_ctx.ProtocolExtensionID, tvb, pinfo, tree, false, &lppa_ctx)) ? tvb_captured_length(tvb) : 0;
4366
0
}
4367
4368
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
4369
7
{
4370
7
    struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
4371
7
    return (dissector_try_uint_with_data(lppa_proc_imsg_dissector_table, lppa_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
4372
7
}
4373
4374
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
4375
4
{
4376
4
    struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
4377
4
    return (dissector_try_uint_with_data(lppa_proc_sout_dissector_table, lppa_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
4378
4
}
4379
4380
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
4381
1
{
4382
1
    struct lppa_private_data* lppa_data = lppa_get_private_data(pinfo);
4383
4384
1
    return (dissector_try_uint_with_data(lppa_proc_uout_dissector_table, lppa_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
4385
1
}
4386
4387
/*--- proto_register_lppa -------------------------------------------*/
4388
16
void proto_register_lppa(void) {
4389
4390
    /* List of fields */
4391
16
    static hf_register_info hf[] = {
4392
4393
16
    { &hf_lppa_Add_OTDOACells_PDU,
4394
16
      { "Add-OTDOACells", "lppa.Add_OTDOACells",
4395
16
        FT_UINT32, BASE_DEC, NULL, 0,
4396
16
        NULL, HFILL }},
4397
16
    { &hf_lppa_Assistance_Information_PDU,
4398
16
      { "Assistance-Information", "lppa.Assistance_Information_element",
4399
16
        FT_NONE, BASE_NONE, NULL, 0,
4400
16
        NULL, HFILL }},
4401
16
    { &hf_lppa_AssistanceInformationFailureList_PDU,
4402
16
      { "AssistanceInformationFailureList", "lppa.AssistanceInformationFailureList",
4403
16
        FT_UINT32, BASE_DEC, NULL, 0,
4404
16
        NULL, HFILL }},
4405
16
    { &hf_lppa_Broadcast_PDU,
4406
16
      { "Broadcast", "lppa.Broadcast",
4407
16
        FT_UINT32, BASE_DEC, VALS(lppa_Broadcast_vals), 0,
4408
16
        NULL, HFILL }},
4409
16
    { &hf_lppa_Cause_PDU,
4410
16
      { "Cause", "lppa.Cause",
4411
16
        FT_UINT32, BASE_DEC, VALS(lppa_Cause_vals), 0,
4412
16
        NULL, HFILL }},
4413
16
    { &hf_lppa_Cell_Portion_ID_PDU,
4414
16
      { "Cell-Portion-ID", "lppa.Cell_Portion_ID",
4415
16
        FT_UINT32, BASE_DEC, NULL, 0,
4416
16
        NULL, HFILL }},
4417
16
    { &hf_lppa_CriticalityDiagnostics_PDU,
4418
16
      { "CriticalityDiagnostics", "lppa.CriticalityDiagnostics_element",
4419
16
        FT_NONE, BASE_NONE, NULL, 0,
4420
16
        NULL, HFILL }},
4421
16
    { &hf_lppa_E_CID_MeasurementResult_PDU,
4422
16
      { "E-CID-MeasurementResult", "lppa.E_CID_MeasurementResult_element",
4423
16
        FT_NONE, BASE_NONE, NULL, 0,
4424
16
        NULL, HFILL }},
4425
16
    { &hf_lppa_InterRATMeasurementQuantities_PDU,
4426
16
      { "InterRATMeasurementQuantities", "lppa.InterRATMeasurementQuantities",
4427
16
        FT_UINT32, BASE_DEC, NULL, 0,
4428
16
        NULL, HFILL }},
4429
16
    { &hf_lppa_InterRATMeasurementQuantities_Item_PDU,
4430
16
      { "InterRATMeasurementQuantities-Item", "lppa.InterRATMeasurementQuantities_Item_element",
4431
16
        FT_NONE, BASE_NONE, NULL, 0,
4432
16
        NULL, HFILL }},
4433
16
    { &hf_lppa_InterRATMeasurementResult_PDU,
4434
16
      { "InterRATMeasurementResult", "lppa.InterRATMeasurementResult",
4435
16
        FT_UINT32, BASE_DEC, NULL, 0,
4436
16
        NULL, HFILL }},
4437
16
    { &hf_lppa_Measurement_ID_PDU,
4438
16
      { "Measurement-ID", "lppa.Measurement_ID",
4439
16
        FT_UINT32, BASE_DEC, NULL, 0,
4440
16
        NULL, HFILL }},
4441
16
    { &hf_lppa_MeasurementPeriodicity_PDU,
4442
16
      { "MeasurementPeriodicity", "lppa.MeasurementPeriodicity",
4443
16
        FT_UINT32, BASE_DEC, VALS(lppa_MeasurementPeriodicity_vals), 0,
4444
16
        NULL, HFILL }},
4445
16
    { &hf_lppa_MeasurementQuantities_PDU,
4446
16
      { "MeasurementQuantities", "lppa.MeasurementQuantities",
4447
16
        FT_UINT32, BASE_DEC, NULL, 0,
4448
16
        NULL, HFILL }},
4449
16
    { &hf_lppa_MeasurementQuantities_Item_PDU,
4450
16
      { "MeasurementQuantities-Item", "lppa.MeasurementQuantities_Item_element",
4451
16
        FT_NONE, BASE_NONE, NULL, 0,
4452
16
        NULL, HFILL }},
4453
16
    { &hf_lppa_NR_CGI_PDU,
4454
16
      { "NR-CGI", "lppa.NR_CGI_element",
4455
16
        FT_NONE, BASE_NONE, NULL, 0,
4456
16
        NULL, HFILL }},
4457
16
    { &hf_lppa_OTDOACells_PDU,
4458
16
      { "OTDOACells", "lppa.OTDOACells",
4459
16
        FT_UINT32, BASE_DEC, NULL, 0,
4460
16
        NULL, HFILL }},
4461
16
    { &hf_lppa_ReportCharacteristics_PDU,
4462
16
      { "ReportCharacteristics", "lppa.ReportCharacteristics",
4463
16
        FT_UINT32, BASE_DEC, VALS(lppa_ReportCharacteristics_vals), 0,
4464
16
        NULL, HFILL }},
4465
16
    { &hf_lppa_RequestedSRSTransmissionCharacteristics_PDU,
4466
16
      { "RequestedSRSTransmissionCharacteristics", "lppa.RequestedSRSTransmissionCharacteristics_element",
4467
16
        FT_NONE, BASE_NONE, NULL, 0,
4468
16
        NULL, HFILL }},
4469
16
    { &hf_lppa_ResultsPerSSB_Index_List_PDU,
4470
16
      { "ResultsPerSSB-Index-List", "lppa.ResultsPerSSB_Index_List",
4471
16
        FT_UINT32, BASE_DEC, NULL, 0,
4472
16
        NULL, HFILL }},
4473
16
    { &hf_lppa_ULConfiguration_PDU,
4474
16
      { "ULConfiguration", "lppa.ULConfiguration_element",
4475
16
        FT_NONE, BASE_NONE, NULL, 0,
4476
16
        NULL, HFILL }},
4477
16
    { &hf_lppa_WLANMeasurementQuantities_PDU,
4478
16
      { "WLANMeasurementQuantities", "lppa.WLANMeasurementQuantities",
4479
16
        FT_UINT32, BASE_DEC, NULL, 0,
4480
16
        NULL, HFILL }},
4481
16
    { &hf_lppa_WLANMeasurementQuantities_Item_PDU,
4482
16
      { "WLANMeasurementQuantities-Item", "lppa.WLANMeasurementQuantities_Item_element",
4483
16
        FT_NONE, BASE_NONE, NULL, 0,
4484
16
        NULL, HFILL }},
4485
16
    { &hf_lppa_WLANMeasurementResult_PDU,
4486
16
      { "WLANMeasurementResult", "lppa.WLANMeasurementResult",
4487
16
        FT_UINT32, BASE_DEC, NULL, 0,
4488
16
        NULL, HFILL }},
4489
16
    { &hf_lppa_E_CIDMeasurementInitiationRequest_PDU,
4490
16
      { "E-CIDMeasurementInitiationRequest", "lppa.E_CIDMeasurementInitiationRequest_element",
4491
16
        FT_NONE, BASE_NONE, NULL, 0,
4492
16
        NULL, HFILL }},
4493
16
    { &hf_lppa_E_CIDMeasurementInitiationResponse_PDU,
4494
16
      { "E-CIDMeasurementInitiationResponse", "lppa.E_CIDMeasurementInitiationResponse_element",
4495
16
        FT_NONE, BASE_NONE, NULL, 0,
4496
16
        NULL, HFILL }},
4497
16
    { &hf_lppa_E_CIDMeasurementInitiationFailure_PDU,
4498
16
      { "E-CIDMeasurementInitiationFailure", "lppa.E_CIDMeasurementInitiationFailure_element",
4499
16
        FT_NONE, BASE_NONE, NULL, 0,
4500
16
        NULL, HFILL }},
4501
16
    { &hf_lppa_E_CIDMeasurementFailureIndication_PDU,
4502
16
      { "E-CIDMeasurementFailureIndication", "lppa.E_CIDMeasurementFailureIndication_element",
4503
16
        FT_NONE, BASE_NONE, NULL, 0,
4504
16
        NULL, HFILL }},
4505
16
    { &hf_lppa_E_CIDMeasurementReport_PDU,
4506
16
      { "E-CIDMeasurementReport", "lppa.E_CIDMeasurementReport_element",
4507
16
        FT_NONE, BASE_NONE, NULL, 0,
4508
16
        NULL, HFILL }},
4509
16
    { &hf_lppa_E_CIDMeasurementTerminationCommand_PDU,
4510
16
      { "E-CIDMeasurementTerminationCommand", "lppa.E_CIDMeasurementTerminationCommand_element",
4511
16
        FT_NONE, BASE_NONE, NULL, 0,
4512
16
        NULL, HFILL }},
4513
16
    { &hf_lppa_OTDOAInformationRequest_PDU,
4514
16
      { "OTDOAInformationRequest", "lppa.OTDOAInformationRequest_element",
4515
16
        FT_NONE, BASE_NONE, NULL, 0,
4516
16
        NULL, HFILL }},
4517
16
    { &hf_lppa_OTDOA_Information_Type_PDU,
4518
16
      { "OTDOA-Information-Type", "lppa.OTDOA_Information_Type",
4519
16
        FT_UINT32, BASE_DEC, NULL, 0,
4520
16
        NULL, HFILL }},
4521
16
    { &hf_lppa_OTDOA_Information_Type_Item_PDU,
4522
16
      { "OTDOA-Information-Type-Item", "lppa.OTDOA_Information_Type_Item_element",
4523
16
        FT_NONE, BASE_NONE, NULL, 0,
4524
16
        NULL, HFILL }},
4525
16
    { &hf_lppa_OTDOAInformationResponse_PDU,
4526
16
      { "OTDOAInformationResponse", "lppa.OTDOAInformationResponse_element",
4527
16
        FT_NONE, BASE_NONE, NULL, 0,
4528
16
        NULL, HFILL }},
4529
16
    { &hf_lppa_OTDOAInformationFailure_PDU,
4530
16
      { "OTDOAInformationFailure", "lppa.OTDOAInformationFailure_element",
4531
16
        FT_NONE, BASE_NONE, NULL, 0,
4532
16
        NULL, HFILL }},
4533
16
    { &hf_lppa_UTDOAInformationRequest_PDU,
4534
16
      { "UTDOAInformationRequest", "lppa.UTDOAInformationRequest_element",
4535
16
        FT_NONE, BASE_NONE, NULL, 0,
4536
16
        NULL, HFILL }},
4537
16
    { &hf_lppa_UTDOAInformationResponse_PDU,
4538
16
      { "UTDOAInformationResponse", "lppa.UTDOAInformationResponse_element",
4539
16
        FT_NONE, BASE_NONE, NULL, 0,
4540
16
        NULL, HFILL }},
4541
16
    { &hf_lppa_UTDOAInformationFailure_PDU,
4542
16
      { "UTDOAInformationFailure", "lppa.UTDOAInformationFailure_element",
4543
16
        FT_NONE, BASE_NONE, NULL, 0,
4544
16
        NULL, HFILL }},
4545
16
    { &hf_lppa_UTDOAInformationUpdate_PDU,
4546
16
      { "UTDOAInformationUpdate", "lppa.UTDOAInformationUpdate_element",
4547
16
        FT_NONE, BASE_NONE, NULL, 0,
4548
16
        NULL, HFILL }},
4549
16
    { &hf_lppa_AssistanceInformationControl_PDU,
4550
16
      { "AssistanceInformationControl", "lppa.AssistanceInformationControl_element",
4551
16
        FT_NONE, BASE_NONE, NULL, 0,
4552
16
        NULL, HFILL }},
4553
16
    { &hf_lppa_AssistanceInformationFeedback_PDU,
4554
16
      { "AssistanceInformationFeedback", "lppa.AssistanceInformationFeedback_element",
4555
16
        FT_NONE, BASE_NONE, NULL, 0,
4556
16
        NULL, HFILL }},
4557
16
    { &hf_lppa_ErrorIndication_PDU,
4558
16
      { "ErrorIndication", "lppa.ErrorIndication_element",
4559
16
        FT_NONE, BASE_NONE, NULL, 0,
4560
16
        NULL, HFILL }},
4561
16
    { &hf_lppa_PrivateMessage_PDU,
4562
16
      { "PrivateMessage", "lppa.PrivateMessage_element",
4563
16
        FT_NONE, BASE_NONE, NULL, 0,
4564
16
        NULL, HFILL }},
4565
16
    { &hf_lppa_LPPA_PDU_PDU,
4566
16
      { "LPPA-PDU", "lppa.LPPA_PDU",
4567
16
        FT_UINT32, BASE_DEC, VALS(lppa_LPPA_PDU_vals), 0,
4568
16
        NULL, HFILL }},
4569
16
    { &hf_lppa_local,
4570
16
      { "local", "lppa.local",
4571
16
        FT_UINT32, BASE_DEC, NULL, 0,
4572
16
        "INTEGER_0_maxPrivateIEs", HFILL }},
4573
16
    { &hf_lppa_global,
4574
16
      { "global", "lppa.global",
4575
16
        FT_OID, BASE_NONE, NULL, 0,
4576
16
        "OBJECT_IDENTIFIER", HFILL }},
4577
16
    { &hf_lppa_ProtocolIE_Container_item,
4578
16
      { "ProtocolIE-Field", "lppa.ProtocolIE_Field_element",
4579
16
        FT_NONE, BASE_NONE, NULL, 0,
4580
16
        NULL, HFILL }},
4581
16
    { &hf_lppa_id,
4582
16
      { "id", "lppa.id",
4583
16
        FT_UINT32, BASE_DEC, VALS(lppa_ProtocolIE_ID_vals), 0,
4584
16
        "ProtocolIE_ID", HFILL }},
4585
16
    { &hf_lppa_criticality,
4586
16
      { "criticality", "lppa.criticality",
4587
16
        FT_UINT32, BASE_DEC, VALS(lppa_Criticality_vals), 0,
4588
16
        NULL, HFILL }},
4589
16
    { &hf_lppa_ie_field_value,
4590
16
      { "value", "lppa.ie_field_value_element",
4591
16
        FT_NONE, BASE_NONE, NULL, 0,
4592
16
        "T_ie_field_value", HFILL }},
4593
16
    { &hf_lppa_ProtocolExtensionContainer_item,
4594
16
      { "ProtocolExtensionField", "lppa.ProtocolExtensionField_element",
4595
16
        FT_NONE, BASE_NONE, NULL, 0,
4596
16
        NULL, HFILL }},
4597
16
    { &hf_lppa_ext_id,
4598
16
      { "id", "lppa.ext_id",
4599
16
        FT_UINT32, BASE_DEC, VALS(lppa_ProtocolIE_ID_vals), 0,
4600
16
        "ProtocolIE_ID", HFILL }},
4601
16
    { &hf_lppa_extensionValue,
4602
16
      { "extensionValue", "lppa.extensionValue_element",
4603
16
        FT_NONE, BASE_NONE, NULL, 0,
4604
16
        NULL, HFILL }},
4605
16
    { &hf_lppa_PrivateIE_Container_item,
4606
16
      { "PrivateIE-Field", "lppa.PrivateIE_Field_element",
4607
16
        FT_NONE, BASE_NONE, NULL, 0,
4608
16
        NULL, HFILL }},
4609
16
    { &hf_lppa_id_01,
4610
16
      { "id", "lppa.id",
4611
16
        FT_UINT32, BASE_DEC, VALS(lppa_PrivateIE_ID_vals), 0,
4612
16
        "PrivateIE_ID", HFILL }},
4613
16
    { &hf_lppa_value,
4614
16
      { "value", "lppa.value_element",
4615
16
        FT_NONE, BASE_NONE, NULL, 0,
4616
16
        NULL, HFILL }},
4617
16
    { &hf_lppa_Add_OTDOACells_item,
4618
16
      { "Add-OTDOACells item", "lppa.Add_OTDOACells_item_element",
4619
16
        FT_NONE, BASE_NONE, NULL, 0,
4620
16
        NULL, HFILL }},
4621
16
    { &hf_lppa_add_OTDOACellInfo,
4622
16
      { "add-OTDOACellInfo", "lppa.add_OTDOACellInfo",
4623
16
        FT_UINT32, BASE_DEC, NULL, 0,
4624
16
        "Add_OTDOACell_Information", HFILL }},
4625
16
    { &hf_lppa_iE_Extensions,
4626
16
      { "iE-Extensions", "lppa.iE_Extensions",
4627
16
        FT_UINT32, BASE_DEC, NULL, 0,
4628
16
        "ProtocolExtensionContainer", HFILL }},
4629
16
    { &hf_lppa_Add_OTDOACell_Information_item,
4630
16
      { "OTDOACell-Information-Item", "lppa.OTDOACell_Information_Item",
4631
16
        FT_UINT32, BASE_DEC, VALS(lppa_OTDOACell_Information_Item_vals), 0,
4632
16
        NULL, HFILL }},
4633
16
    { &hf_lppa_systemInformation,
4634
16
      { "systemInformation", "lppa.systemInformation",
4635
16
        FT_UINT32, BASE_DEC, NULL, 0,
4636
16
        NULL, HFILL }},
4637
16
    { &hf_lppa_AssistanceInformationFailureList_item,
4638
16
      { "AssistanceInformationFailureList item", "lppa.AssistanceInformationFailureList_item_element",
4639
16
        FT_NONE, BASE_NONE, NULL, 0,
4640
16
        NULL, HFILL }},
4641
16
    { &hf_lppa_posSIB_Type,
4642
16
      { "posSIB-Type", "lppa.posSIB_Type",
4643
16
        FT_UINT32, BASE_DEC, VALS(lppa_PosSIB_Type_vals), 0,
4644
16
        NULL, HFILL }},
4645
16
    { &hf_lppa_outcome,
4646
16
      { "outcome", "lppa.outcome",
4647
16
        FT_UINT32, BASE_DEC, VALS(lppa_Outcome_vals), 0,
4648
16
        NULL, HFILL }},
4649
16
    { &hf_lppa_encrypted,
4650
16
      { "encrypted", "lppa.encrypted",
4651
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_encrypted_vals), 0,
4652
16
        NULL, HFILL }},
4653
16
    { &hf_lppa_gNSSID,
4654
16
      { "gNSSID", "lppa.gNSSID",
4655
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_gNSSID_vals), 0,
4656
16
        NULL, HFILL }},
4657
16
    { &hf_lppa_sBASID,
4658
16
      { "sBASID", "lppa.sBASID",
4659
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_sBASID_vals), 0,
4660
16
        NULL, HFILL }},
4661
16
    { &hf_lppa_ten,
4662
16
      { "ten", "lppa.ten",
4663
16
        FT_BYTES, BASE_NONE, NULL, 0,
4664
16
        "BIT_STRING_SIZE_10", HFILL }},
4665
16
    { &hf_lppa_forty,
4666
16
      { "forty", "lppa.forty",
4667
16
        FT_BYTES, BASE_NONE, NULL, 0,
4668
16
        "BIT_STRING_SIZE_40", HFILL }},
4669
16
    { &hf_lppa_ten_tdd,
4670
16
      { "ten-tdd", "lppa.ten_tdd",
4671
16
        FT_BYTES, BASE_NONE, NULL, 0,
4672
16
        "BIT_STRING_SIZE_8", HFILL }},
4673
16
    { &hf_lppa_forty_tdd,
4674
16
      { "forty-tdd", "lppa.forty_tdd",
4675
16
        FT_BYTES, BASE_NONE, NULL, 0,
4676
16
        "BIT_STRING_SIZE_32", HFILL }},
4677
16
    { &hf_lppa_radioNetwork,
4678
16
      { "radioNetwork", "lppa.radioNetwork",
4679
16
        FT_UINT32, BASE_DEC, VALS(lppa_CauseRadioNetwork_vals), 0,
4680
16
        "CauseRadioNetwork", HFILL }},
4681
16
    { &hf_lppa_protocol,
4682
16
      { "protocol", "lppa.protocol",
4683
16
        FT_UINT32, BASE_DEC, VALS(lppa_CauseProtocol_vals), 0,
4684
16
        "CauseProtocol", HFILL }},
4685
16
    { &hf_lppa_misc,
4686
16
      { "misc", "lppa.misc",
4687
16
        FT_UINT32, BASE_DEC, VALS(lppa_CauseMisc_vals), 0,
4688
16
        "CauseMisc", HFILL }},
4689
16
    { &hf_lppa_procedureCode,
4690
16
      { "procedureCode", "lppa.procedureCode",
4691
16
        FT_UINT32, BASE_DEC, VALS(lppa_ProcedureCode_vals), 0,
4692
16
        NULL, HFILL }},
4693
16
    { &hf_lppa_triggeringMessage,
4694
16
      { "triggeringMessage", "lppa.triggeringMessage",
4695
16
        FT_UINT32, BASE_DEC, VALS(lppa_TriggeringMessage_vals), 0,
4696
16
        NULL, HFILL }},
4697
16
    { &hf_lppa_procedureCriticality,
4698
16
      { "procedureCriticality", "lppa.procedureCriticality",
4699
16
        FT_UINT32, BASE_DEC, VALS(lppa_Criticality_vals), 0,
4700
16
        "Criticality", HFILL }},
4701
16
    { &hf_lppa_lppatransactionID,
4702
16
      { "lppatransactionID", "lppa.lppatransactionID",
4703
16
        FT_UINT32, BASE_DEC, NULL, 0,
4704
16
        NULL, HFILL }},
4705
16
    { &hf_lppa_iEsCriticalityDiagnostics,
4706
16
      { "iEsCriticalityDiagnostics", "lppa.iEsCriticalityDiagnostics",
4707
16
        FT_UINT32, BASE_DEC, NULL, 0,
4708
16
        "CriticalityDiagnostics_IE_List", HFILL }},
4709
16
    { &hf_lppa_CriticalityDiagnostics_IE_List_item,
4710
16
      { "CriticalityDiagnostics-IE-List item", "lppa.CriticalityDiagnostics_IE_List_item_element",
4711
16
        FT_NONE, BASE_NONE, NULL, 0,
4712
16
        NULL, HFILL }},
4713
16
    { &hf_lppa_iECriticality,
4714
16
      { "iECriticality", "lppa.iECriticality",
4715
16
        FT_UINT32, BASE_DEC, VALS(lppa_Criticality_vals), 0,
4716
16
        "Criticality", HFILL }},
4717
16
    { &hf_lppa_iE_ID,
4718
16
      { "iE-ID", "lppa.iE_ID",
4719
16
        FT_UINT32, BASE_DEC, VALS(lppa_ProtocolIE_ID_vals), 0,
4720
16
        "ProtocolIE_ID", HFILL }},
4721
16
    { &hf_lppa_typeOfError,
4722
16
      { "typeOfError", "lppa.typeOfError",
4723
16
        FT_UINT32, BASE_DEC, VALS(lppa_TypeOfError_vals), 0,
4724
16
        NULL, HFILL }},
4725
16
    { &hf_lppa_servingCell_ID,
4726
16
      { "servingCell-ID", "lppa.servingCell_ID_element",
4727
16
        FT_NONE, BASE_NONE, NULL, 0,
4728
16
        "ECGI", HFILL }},
4729
16
    { &hf_lppa_servingCellTAC,
4730
16
      { "servingCellTAC", "lppa.servingCellTAC",
4731
16
        FT_BYTES, BASE_NONE, NULL, 0,
4732
16
        "TAC", HFILL }},
4733
16
    { &hf_lppa_e_UTRANAccessPointPosition,
4734
16
      { "e-UTRANAccessPointPosition", "lppa.e_UTRANAccessPointPosition_element",
4735
16
        FT_NONE, BASE_NONE, NULL, 0,
4736
16
        NULL, HFILL }},
4737
16
    { &hf_lppa_measuredResults,
4738
16
      { "measuredResults", "lppa.measuredResults",
4739
16
        FT_UINT32, BASE_DEC, NULL, 0,
4740
16
        NULL, HFILL }},
4741
16
    { &hf_lppa_pLMN_Identity,
4742
16
      { "pLMN-Identity", "lppa.pLMN_Identity",
4743
16
        FT_BYTES, BASE_NONE, NULL, 0,
4744
16
        NULL, HFILL }},
4745
16
    { &hf_lppa_eUTRANcellIdentifier,
4746
16
      { "eUTRANcellIdentifier", "lppa.eUTRANcellIdentifier",
4747
16
        FT_BYTES, BASE_NONE, NULL, 0,
4748
16
        NULL, HFILL }},
4749
16
    { &hf_lppa_latitudeSign,
4750
16
      { "latitudeSign", "lppa.latitudeSign",
4751
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_latitudeSign_vals), 0,
4752
16
        NULL, HFILL }},
4753
16
    { &hf_lppa_latitude,
4754
16
      { "latitude", "lppa.latitude",
4755
16
        FT_UINT32, BASE_DEC, NULL, 0,
4756
16
        "INTEGER_0_8388607", HFILL }},
4757
16
    { &hf_lppa_longitude,
4758
16
      { "longitude", "lppa.longitude",
4759
16
        FT_INT32, BASE_DEC, NULL, 0,
4760
16
        "INTEGER_M8388608_8388607", HFILL }},
4761
16
    { &hf_lppa_directionOfAltitude,
4762
16
      { "directionOfAltitude", "lppa.directionOfAltitude",
4763
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_directionOfAltitude_vals), 0,
4764
16
        NULL, HFILL }},
4765
16
    { &hf_lppa_altitude,
4766
16
      { "altitude", "lppa.altitude",
4767
16
        FT_UINT32, BASE_DEC, NULL, 0,
4768
16
        "INTEGER_0_32767", HFILL }},
4769
16
    { &hf_lppa_uncertaintySemi_major,
4770
16
      { "uncertaintySemi-major", "lppa.uncertaintySemi_major",
4771
16
        FT_UINT32, BASE_DEC, NULL, 0,
4772
16
        "INTEGER_0_127", HFILL }},
4773
16
    { &hf_lppa_uncertaintySemi_minor,
4774
16
      { "uncertaintySemi-minor", "lppa.uncertaintySemi_minor",
4775
16
        FT_UINT32, BASE_DEC, NULL, 0,
4776
16
        "INTEGER_0_127", HFILL }},
4777
16
    { &hf_lppa_orientationOfMajorAxis,
4778
16
      { "orientationOfMajorAxis", "lppa.orientationOfMajorAxis",
4779
16
        FT_UINT32, BASE_DEC, NULL, 0,
4780
16
        "INTEGER_0_179", HFILL }},
4781
16
    { &hf_lppa_uncertaintyAltitude,
4782
16
      { "uncertaintyAltitude", "lppa.uncertaintyAltitude",
4783
16
        FT_UINT32, BASE_DEC, NULL, 0,
4784
16
        "INTEGER_0_127", HFILL }},
4785
16
    { &hf_lppa_confidence,
4786
16
      { "confidence", "lppa.confidence",
4787
16
        FT_UINT32, BASE_DEC, NULL, 0,
4788
16
        "INTEGER_0_100", HFILL }},
4789
16
    { &hf_lppa_InterRATMeasurementQuantities_item,
4790
16
      { "ProtocolIE-Single-Container", "lppa.ProtocolIE_Single_Container_element",
4791
16
        FT_NONE, BASE_NONE, NULL, 0,
4792
16
        NULL, HFILL }},
4793
16
    { &hf_lppa_interRATMeasurementQuantitiesValue,
4794
16
      { "interRATMeasurementQuantitiesValue", "lppa.interRATMeasurementQuantitiesValue",
4795
16
        FT_UINT32, BASE_DEC, VALS(lppa_InterRATMeasurementQuantitiesValue_vals), 0,
4796
16
        NULL, HFILL }},
4797
16
    { &hf_lppa_InterRATMeasurementResult_item,
4798
16
      { "InterRATMeasuredResultsValue", "lppa.InterRATMeasuredResultsValue",
4799
16
        FT_UINT32, BASE_DEC, VALS(lppa_InterRATMeasuredResultsValue_vals), 0,
4800
16
        NULL, HFILL }},
4801
16
    { &hf_lppa_resultGERAN,
4802
16
      { "resultGERAN", "lppa.resultGERAN",
4803
16
        FT_UINT32, BASE_DEC, NULL, 0,
4804
16
        NULL, HFILL }},
4805
16
    { &hf_lppa_resultUTRAN,
4806
16
      { "resultUTRAN", "lppa.resultUTRAN",
4807
16
        FT_UINT32, BASE_DEC, NULL, 0,
4808
16
        NULL, HFILL }},
4809
16
    { &hf_lppa_resultNR,
4810
16
      { "resultNR", "lppa.resultNR",
4811
16
        FT_UINT32, BASE_DEC, NULL, 0,
4812
16
        NULL, HFILL }},
4813
16
    { &hf_lppa_MeasurementQuantities_item,
4814
16
      { "ProtocolIE-Single-Container", "lppa.ProtocolIE_Single_Container_element",
4815
16
        FT_NONE, BASE_NONE, NULL, 0,
4816
16
        NULL, HFILL }},
4817
16
    { &hf_lppa_measurementQuantitiesValue,
4818
16
      { "measurementQuantitiesValue", "lppa.measurementQuantitiesValue",
4819
16
        FT_UINT32, BASE_DEC, VALS(lppa_MeasurementQuantitiesValue_vals), 0,
4820
16
        NULL, HFILL }},
4821
16
    { &hf_lppa_MeasuredResults_item,
4822
16
      { "MeasuredResultsValue", "lppa.MeasuredResultsValue",
4823
16
        FT_UINT32, BASE_DEC, VALS(lppa_MeasuredResultsValue_vals), 0,
4824
16
        NULL, HFILL }},
4825
16
    { &hf_lppa_valueAngleOfArrival,
4826
16
      { "valueAngleOfArrival", "lppa.valueAngleOfArrival",
4827
16
        FT_UINT32, BASE_DEC, NULL, 0,
4828
16
        "INTEGER_0_719", HFILL }},
4829
16
    { &hf_lppa_valueTimingAdvanceType1,
4830
16
      { "valueTimingAdvanceType1", "lppa.valueTimingAdvanceType1",
4831
16
        FT_UINT32, BASE_DEC, NULL, 0,
4832
16
        "INTEGER_0_7690", HFILL }},
4833
16
    { &hf_lppa_valueTimingAdvanceType2,
4834
16
      { "valueTimingAdvanceType2", "lppa.valueTimingAdvanceType2",
4835
16
        FT_UINT32, BASE_DEC, NULL, 0,
4836
16
        "INTEGER_0_7690", HFILL }},
4837
16
    { &hf_lppa_resultRSRP,
4838
16
      { "resultRSRP", "lppa.resultRSRP",
4839
16
        FT_UINT32, BASE_DEC, NULL, 0,
4840
16
        NULL, HFILL }},
4841
16
    { &hf_lppa_resultRSRQ,
4842
16
      { "resultRSRQ", "lppa.resultRSRQ",
4843
16
        FT_UINT32, BASE_DEC, NULL, 0,
4844
16
        NULL, HFILL }},
4845
16
    { &hf_lppa_MBSFNsubframeConfiguration_item,
4846
16
      { "MBSFNsubframeConfigurationValue", "lppa.MBSFNsubframeConfigurationValue_element",
4847
16
        FT_NONE, BASE_NONE, NULL, 0,
4848
16
        NULL, HFILL }},
4849
16
    { &hf_lppa_radioframeAllocationPeriod,
4850
16
      { "radioframeAllocationPeriod", "lppa.radioframeAllocationPeriod",
4851
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_radioframeAllocationPeriod_vals), 0,
4852
16
        NULL, HFILL }},
4853
16
    { &hf_lppa_radioframeAllocationOffset,
4854
16
      { "radioframeAllocationOffset", "lppa.radioframeAllocationOffset",
4855
16
        FT_UINT32, BASE_DEC, NULL, 0,
4856
16
        "INTEGER_0_7", HFILL }},
4857
16
    { &hf_lppa_subframeAllocation,
4858
16
      { "subframeAllocation", "lppa.subframeAllocation",
4859
16
        FT_UINT32, BASE_DEC, VALS(lppa_Subframeallocation_vals), 0,
4860
16
        NULL, HFILL }},
4861
16
    { &hf_lppa_nRCellIdentity,
4862
16
      { "nRCellIdentity", "lppa.nRCellIdentity",
4863
16
        FT_BYTES, BASE_NONE, NULL, 0,
4864
16
        NULL, HFILL }},
4865
16
    { &hf_lppa_nPRSSubframePartA,
4866
16
      { "nPRSSubframePartA", "lppa.nPRSSubframePartA_element",
4867
16
        FT_NONE, BASE_NONE, NULL, 0,
4868
16
        NULL, HFILL }},
4869
16
    { &hf_lppa_nPRSSubframePartB,
4870
16
      { "nPRSSubframePartB", "lppa.nPRSSubframePartB_element",
4871
16
        FT_NONE, BASE_NONE, NULL, 0,
4872
16
        NULL, HFILL }},
4873
16
    { &hf_lppa_two,
4874
16
      { "two", "lppa.two",
4875
16
        FT_BYTES, BASE_NONE, NULL, 0,
4876
16
        "BIT_STRING_SIZE_2", HFILL }},
4877
16
    { &hf_lppa_four,
4878
16
      { "four", "lppa.four",
4879
16
        FT_BYTES, BASE_NONE, NULL, 0,
4880
16
        "BIT_STRING_SIZE_4", HFILL }},
4881
16
    { &hf_lppa_eight,
4882
16
      { "eight", "lppa.eight",
4883
16
        FT_BYTES, BASE_NONE, NULL, 0,
4884
16
        "BIT_STRING_SIZE_8", HFILL }},
4885
16
    { &hf_lppa_sixteen,
4886
16
      { "sixteen", "lppa.sixteen",
4887
16
        FT_BYTES, BASE_NONE, NULL, 0,
4888
16
        "BIT_STRING_SIZE_16", HFILL }},
4889
16
    { &hf_lppa_bitmapsforNPRS,
4890
16
      { "bitmapsforNPRS", "lppa.bitmapsforNPRS",
4891
16
        FT_UINT32, BASE_DEC, VALS(lppa_BitmapsforNPRS_vals), 0,
4892
16
        NULL, HFILL }},
4893
16
    { &hf_lppa_nPRSMutingConfiguration,
4894
16
      { "nPRSMutingConfiguration", "lppa.nPRSMutingConfiguration",
4895
16
        FT_UINT32, BASE_DEC, VALS(lppa_NPRSMutingConfiguration_vals), 0,
4896
16
        NULL, HFILL }},
4897
16
    { &hf_lppa_numberofNPRSOneOccasion,
4898
16
      { "numberofNPRSOneOccasion", "lppa.numberofNPRSOneOccasion",
4899
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_numberofNPRSOneOccasion_vals), 0,
4900
16
        NULL, HFILL }},
4901
16
    { &hf_lppa_periodicityofNPRS,
4902
16
      { "periodicityofNPRS", "lppa.periodicityofNPRS",
4903
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_periodicityofNPRS_vals), 0,
4904
16
        NULL, HFILL }},
4905
16
    { &hf_lppa_startingsubframeoffset,
4906
16
      { "startingsubframeoffset", "lppa.startingsubframeoffset",
4907
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_startingsubframeoffset_vals), 0,
4908
16
        NULL, HFILL }},
4909
16
    { &hf_lppa_sIB1_NB_Subframe_TDD,
4910
16
      { "sIB1-NB-Subframe-TDD", "lppa.sIB1_NB_Subframe_TDD",
4911
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_sIB1_NB_Subframe_TDD_vals), 0,
4912
16
        NULL, HFILL }},
4913
16
    { &hf_lppa_OTDOACells_item,
4914
16
      { "OTDOACells item", "lppa.OTDOACells_item_element",
4915
16
        FT_NONE, BASE_NONE, NULL, 0,
4916
16
        NULL, HFILL }},
4917
16
    { &hf_lppa_oTDOACellInfo,
4918
16
      { "oTDOACellInfo", "lppa.oTDOACellInfo",
4919
16
        FT_UINT32, BASE_DEC, NULL, 0,
4920
16
        "OTDOACell_Information", HFILL }},
4921
16
    { &hf_lppa_OTDOACell_Information_item,
4922
16
      { "OTDOACell-Information-Item", "lppa.OTDOACell_Information_Item",
4923
16
        FT_UINT32, BASE_DEC, VALS(lppa_OTDOACell_Information_Item_vals), 0,
4924
16
        NULL, HFILL }},
4925
16
    { &hf_lppa_pCI,
4926
16
      { "pCI", "lppa.pCI",
4927
16
        FT_UINT32, BASE_DEC, NULL, 0,
4928
16
        NULL, HFILL }},
4929
16
    { &hf_lppa_cellId,
4930
16
      { "cellId", "lppa.cellId_element",
4931
16
        FT_NONE, BASE_NONE, NULL, 0,
4932
16
        "ECGI", HFILL }},
4933
16
    { &hf_lppa_tAC,
4934
16
      { "tAC", "lppa.tAC",
4935
16
        FT_BYTES, BASE_NONE, NULL, 0,
4936
16
        NULL, HFILL }},
4937
16
    { &hf_lppa_eARFCN,
4938
16
      { "eARFCN", "lppa.eARFCN",
4939
16
        FT_UINT32, BASE_DEC, NULL, 0,
4940
16
        NULL, HFILL }},
4941
16
    { &hf_lppa_pRS_Bandwidth,
4942
16
      { "pRS-Bandwidth", "lppa.pRS_Bandwidth",
4943
16
        FT_UINT32, BASE_DEC, VALS(lppa_PRS_Bandwidth_vals), 0,
4944
16
        NULL, HFILL }},
4945
16
    { &hf_lppa_pRS_ConfigurationIndex,
4946
16
      { "pRS-ConfigurationIndex", "lppa.pRS_ConfigurationIndex",
4947
16
        FT_UINT32, BASE_DEC, NULL, 0,
4948
16
        "PRS_Configuration_Index", HFILL }},
4949
16
    { &hf_lppa_cPLength,
4950
16
      { "cPLength", "lppa.cPLength",
4951
16
        FT_UINT32, BASE_DEC, VALS(lppa_CPLength_vals), 0,
4952
16
        NULL, HFILL }},
4953
16
    { &hf_lppa_numberOfDlFrames,
4954
16
      { "numberOfDlFrames", "lppa.numberOfDlFrames",
4955
16
        FT_UINT32, BASE_DEC, VALS(lppa_NumberOfDlFrames_vals), 0,
4956
16
        NULL, HFILL }},
4957
16
    { &hf_lppa_numberOfAntennaPorts,
4958
16
      { "numberOfAntennaPorts", "lppa.numberOfAntennaPorts",
4959
16
        FT_UINT32, BASE_DEC, VALS(lppa_NumberOfAntennaPorts_vals), 0,
4960
16
        NULL, HFILL }},
4961
16
    { &hf_lppa_sFNInitialisationTime,
4962
16
      { "sFNInitialisationTime", "lppa.sFNInitialisationTime",
4963
16
        FT_BYTES, BASE_NONE, NULL, 0,
4964
16
        NULL, HFILL }},
4965
16
    { &hf_lppa_pRSMutingConfiguration,
4966
16
      { "pRSMutingConfiguration", "lppa.pRSMutingConfiguration",
4967
16
        FT_UINT32, BASE_DEC, VALS(lppa_PRSMutingConfiguration_vals), 0,
4968
16
        NULL, HFILL }},
4969
16
    { &hf_lppa_prsid,
4970
16
      { "prsid", "lppa.prsid",
4971
16
        FT_UINT32, BASE_DEC, NULL, 0,
4972
16
        "PRS_ID", HFILL }},
4973
16
    { &hf_lppa_tpid,
4974
16
      { "tpid", "lppa.tpid",
4975
16
        FT_UINT32, BASE_DEC, NULL, 0,
4976
16
        "TP_ID", HFILL }},
4977
16
    { &hf_lppa_tpType,
4978
16
      { "tpType", "lppa.tpType",
4979
16
        FT_UINT32, BASE_DEC, VALS(lppa_TP_Type_vals), 0,
4980
16
        "TP_Type", HFILL }},
4981
16
    { &hf_lppa_numberOfDlFrames_Extended,
4982
16
      { "numberOfDlFrames-Extended", "lppa.numberOfDlFrames_Extended",
4983
16
        FT_UINT32, BASE_DEC, NULL, 0,
4984
16
        NULL, HFILL }},
4985
16
    { &hf_lppa_crsCPlength,
4986
16
      { "crsCPlength", "lppa.crsCPlength",
4987
16
        FT_UINT32, BASE_DEC, VALS(lppa_CPLength_vals), 0,
4988
16
        "CPLength", HFILL }},
4989
16
    { &hf_lppa_mBSFNsubframeConfiguration,
4990
16
      { "mBSFNsubframeConfiguration", "lppa.mBSFNsubframeConfiguration",
4991
16
        FT_UINT32, BASE_DEC, NULL, 0,
4992
16
        NULL, HFILL }},
4993
16
    { &hf_lppa_nPRSConfiguration,
4994
16
      { "nPRSConfiguration", "lppa.nPRSConfiguration_element",
4995
16
        FT_NONE, BASE_NONE, NULL, 0,
4996
16
        NULL, HFILL }},
4997
16
    { &hf_lppa_offsetNBChanneltoEARFCN,
4998
16
      { "offsetNBChanneltoEARFCN", "lppa.offsetNBChanneltoEARFCN",
4999
16
        FT_UINT32, BASE_DEC, VALS(lppa_OffsetNBChanneltoEARFCN_vals), 0,
5000
16
        NULL, HFILL }},
5001
16
    { &hf_lppa_operationModeInfo,
5002
16
      { "operationModeInfo", "lppa.operationModeInfo",
5003
16
        FT_UINT32, BASE_DEC, VALS(lppa_OperationModeInfo_vals), 0,
5004
16
        NULL, HFILL }},
5005
16
    { &hf_lppa_nPRS_ID,
5006
16
      { "nPRS-ID", "lppa.nPRS_ID",
5007
16
        FT_UINT32, BASE_DEC, NULL, 0,
5008
16
        "INTEGER_0_4095_", HFILL }},
5009
16
    { &hf_lppa_dL_Bandwidth,
5010
16
      { "dL-Bandwidth", "lppa.dL_Bandwidth",
5011
16
        FT_UINT32, BASE_DEC, VALS(lppa_DL_Bandwidth_vals), 0,
5012
16
        NULL, HFILL }},
5013
16
    { &hf_lppa_pRSOccasionGroup,
5014
16
      { "pRSOccasionGroup", "lppa.pRSOccasionGroup",
5015
16
        FT_UINT32, BASE_DEC, VALS(lppa_PRSOccasionGroup_vals), 0,
5016
16
        NULL, HFILL }},
5017
16
    { &hf_lppa_pRSFreqHoppingConfig,
5018
16
      { "pRSFreqHoppingConfig", "lppa.pRSFreqHoppingConfig_element",
5019
16
        FT_NONE, BASE_NONE, NULL, 0,
5020
16
        "PRSFrequencyHoppingConfiguration", HFILL }},
5021
16
    { &hf_lppa_repetitionNumberofSIB1_NB,
5022
16
      { "repetitionNumberofSIB1-NB", "lppa.repetitionNumberofSIB1_NB",
5023
16
        FT_UINT32, BASE_DEC, VALS(lppa_RepetitionNumberofSIB1_NB_vals), 0,
5024
16
        NULL, HFILL }},
5025
16
    { &hf_lppa_nPRSSequenceInfo,
5026
16
      { "nPRSSequenceInfo", "lppa.nPRSSequenceInfo",
5027
16
        FT_UINT32, BASE_DEC, NULL, 0,
5028
16
        NULL, HFILL }},
5029
16
    { &hf_lppa_nPRSType2,
5030
16
      { "nPRSType2", "lppa.nPRSType2_element",
5031
16
        FT_NONE, BASE_NONE, NULL, 0,
5032
16
        "NPRSConfiguration", HFILL }},
5033
16
    { &hf_lppa_tddConfiguration,
5034
16
      { "tddConfiguration", "lppa.tddConfiguration_element",
5035
16
        FT_NONE, BASE_NONE, NULL, 0,
5036
16
        NULL, HFILL }},
5037
16
    { &hf_lppa_PosSIBs_item,
5038
16
      { "PosSIBs item", "lppa.PosSIBs_item_element",
5039
16
        FT_NONE, BASE_NONE, NULL, 0,
5040
16
        NULL, HFILL }},
5041
16
    { &hf_lppa_posSIB_Segments,
5042
16
      { "posSIB-Segments", "lppa.posSIB_Segments",
5043
16
        FT_UINT32, BASE_DEC, NULL, 0,
5044
16
        NULL, HFILL }},
5045
16
    { &hf_lppa_assistanceInformationMetaData,
5046
16
      { "assistanceInformationMetaData", "lppa.assistanceInformationMetaData_element",
5047
16
        FT_NONE, BASE_NONE, NULL, 0,
5048
16
        NULL, HFILL }},
5049
16
    { &hf_lppa_broadcastPriority,
5050
16
      { "broadcastPriority", "lppa.broadcastPriority",
5051
16
        FT_UINT32, BASE_DEC, NULL, 0,
5052
16
        "INTEGER_1_16_", HFILL }},
5053
16
    { &hf_lppa_PosSIB_Segments_item,
5054
16
      { "PosSIB-Segments item", "lppa.PosSIB_Segments_item_element",
5055
16
        FT_NONE, BASE_NONE, NULL, 0,
5056
16
        NULL, HFILL }},
5057
16
    { &hf_lppa_assistanceDataSIBelement,
5058
16
      { "assistanceDataSIBelement", "lppa.assistanceDataSIBelement",
5059
16
        FT_BYTES, BASE_NONE, NULL, 0,
5060
16
        "OCTET_STRING", HFILL }},
5061
16
    { &hf_lppa_thirty_two,
5062
16
      { "thirty-two", "lppa.thirty_two",
5063
16
        FT_BYTES, BASE_NONE, NULL, 0,
5064
16
        "BIT_STRING_SIZE_32", HFILL }},
5065
16
    { &hf_lppa_sixty_four,
5066
16
      { "sixty-four", "lppa.sixty_four",
5067
16
        FT_BYTES, BASE_NONE, NULL, 0,
5068
16
        "BIT_STRING_SIZE_64", HFILL }},
5069
16
    { &hf_lppa_one_hundred_and_twenty_eight,
5070
16
      { "one-hundred-and-twenty-eight", "lppa.one_hundred_and_twenty_eight",
5071
16
        FT_BYTES, BASE_NONE, NULL, 0,
5072
16
        "BIT_STRING_SIZE_128", HFILL }},
5073
16
    { &hf_lppa_two_hundred_and_fifty_six,
5074
16
      { "two-hundred-and-fifty-six", "lppa.two_hundred_and_fifty_six",
5075
16
        FT_BYTES, BASE_NONE, NULL, 0,
5076
16
        "BIT_STRING_SIZE_256", HFILL }},
5077
16
    { &hf_lppa_five_hundred_and_twelve,
5078
16
      { "five-hundred-and-twelve", "lppa.five_hundred_and_twelve",
5079
16
        FT_BYTES, BASE_NONE, NULL, 0,
5080
16
        "BIT_STRING_SIZE_512", HFILL }},
5081
16
    { &hf_lppa_one_thousand_and_twenty_four,
5082
16
      { "one-thousand-and-twenty-four", "lppa.one_thousand_and_twenty_four",
5083
16
        FT_BYTES, BASE_NONE, NULL, 0,
5084
16
        "BIT_STRING_SIZE_1024", HFILL }},
5085
16
    { &hf_lppa_noOfFreqHoppingBands,
5086
16
      { "noOfFreqHoppingBands", "lppa.noOfFreqHoppingBands",
5087
16
        FT_UINT32, BASE_DEC, VALS(lppa_NumberOfFrequencyHoppingBands_vals), 0,
5088
16
        "NumberOfFrequencyHoppingBands", HFILL }},
5089
16
    { &hf_lppa_bandPositions,
5090
16
      { "bandPositions", "lppa.bandPositions",
5091
16
        FT_UINT32, BASE_DEC, NULL, 0,
5092
16
        "SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex", HFILL }},
5093
16
    { &hf_lppa_bandPositions_item,
5094
16
      { "NarrowBandIndex", "lppa.NarrowBandIndex",
5095
16
        FT_UINT32, BASE_DEC, NULL, 0,
5096
16
        NULL, HFILL }},
5097
16
    { &hf_lppa_numberOfTransmissions,
5098
16
      { "numberOfTransmissions", "lppa.numberOfTransmissions",
5099
16
        FT_UINT32, BASE_DEC, NULL, 0,
5100
16
        "INTEGER_0_500_", HFILL }},
5101
16
    { &hf_lppa_bandwidth,
5102
16
      { "bandwidth", "lppa.bandwidth",
5103
16
        FT_UINT32, BASE_DEC, NULL, 0,
5104
16
        "INTEGER_1_100_", HFILL }},
5105
16
    { &hf_lppa_ResultRSRP_item,
5106
16
      { "ResultRSRP-Item", "lppa.ResultRSRP_Item_element",
5107
16
        FT_NONE, BASE_NONE, NULL, 0,
5108
16
        NULL, HFILL }},
5109
16
    { &hf_lppa_eCGI,
5110
16
      { "eCGI", "lppa.eCGI_element",
5111
16
        FT_NONE, BASE_NONE, NULL, 0,
5112
16
        NULL, HFILL }},
5113
16
    { &hf_lppa_valueRSRP,
5114
16
      { "valueRSRP", "lppa.valueRSRP",
5115
16
        FT_UINT32, BASE_DEC, NULL, 0,
5116
16
        NULL, HFILL }},
5117
16
    { &hf_lppa_ResultRSRQ_item,
5118
16
      { "ResultRSRQ-Item", "lppa.ResultRSRQ_Item_element",
5119
16
        FT_NONE, BASE_NONE, NULL, 0,
5120
16
        NULL, HFILL }},
5121
16
    { &hf_lppa_valueRSRQ,
5122
16
      { "valueRSRQ", "lppa.valueRSRQ",
5123
16
        FT_UINT32, BASE_DEC, NULL, 0,
5124
16
        NULL, HFILL }},
5125
16
    { &hf_lppa_ResultGERAN_item,
5126
16
      { "ResultGERAN-Item", "lppa.ResultGERAN_Item_element",
5127
16
        FT_NONE, BASE_NONE, NULL, 0,
5128
16
        NULL, HFILL }},
5129
16
    { &hf_lppa_bCCH,
5130
16
      { "bCCH", "lppa.bCCH",
5131
16
        FT_UINT32, BASE_DEC, NULL, 0,
5132
16
        NULL, HFILL }},
5133
16
    { &hf_lppa_physCellIDGERAN,
5134
16
      { "physCellIDGERAN", "lppa.physCellIDGERAN",
5135
16
        FT_UINT32, BASE_DEC, NULL, 0,
5136
16
        NULL, HFILL }},
5137
16
    { &hf_lppa_rSSI,
5138
16
      { "rSSI", "lppa.rSSI",
5139
16
        FT_UINT32, BASE_DEC, NULL, 0,
5140
16
        NULL, HFILL }},
5141
16
    { &hf_lppa_ResultUTRAN_item,
5142
16
      { "ResultUTRAN-Item", "lppa.ResultUTRAN_Item_element",
5143
16
        FT_NONE, BASE_NONE, NULL, 0,
5144
16
        NULL, HFILL }},
5145
16
    { &hf_lppa_uARFCN,
5146
16
      { "uARFCN", "lppa.uARFCN",
5147
16
        FT_UINT32, BASE_DEC, NULL, 0,
5148
16
        NULL, HFILL }},
5149
16
    { &hf_lppa_physCellIDUTRAN,
5150
16
      { "physCellIDUTRAN", "lppa.physCellIDUTRAN",
5151
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_physCellIDUTRAN_vals), 0,
5152
16
        NULL, HFILL }},
5153
16
    { &hf_lppa_physCellIDUTRA_FDD,
5154
16
      { "physCellIDUTRA-FDD", "lppa.physCellIDUTRA_FDD",
5155
16
        FT_UINT32, BASE_DEC, NULL, 0,
5156
16
        NULL, HFILL }},
5157
16
    { &hf_lppa_physCellIDUTRA_TDD,
5158
16
      { "physCellIDUTRA-TDD", "lppa.physCellIDUTRA_TDD",
5159
16
        FT_UINT32, BASE_DEC, NULL, 0,
5160
16
        NULL, HFILL }},
5161
16
    { &hf_lppa_uTRA_RSCP,
5162
16
      { "uTRA-RSCP", "lppa.uTRA_RSCP",
5163
16
        FT_INT32, BASE_DEC, NULL, 0,
5164
16
        NULL, HFILL }},
5165
16
    { &hf_lppa_uTRA_EcN0,
5166
16
      { "uTRA-EcN0", "lppa.uTRA_EcN0",
5167
16
        FT_UINT32, BASE_DEC, NULL, 0,
5168
16
        NULL, HFILL }},
5169
16
    { &hf_lppa_ResultNR_item,
5170
16
      { "ResultNR-Item", "lppa.ResultNR_Item_element",
5171
16
        FT_NONE, BASE_NONE, NULL, 0,
5172
16
        NULL, HFILL }},
5173
16
    { &hf_lppa_nRARFCN,
5174
16
      { "nRARFCN", "lppa.nRARFCN",
5175
16
        FT_UINT32, BASE_DEC, NULL, 0,
5176
16
        NULL, HFILL }},
5177
16
    { &hf_lppa_nRPCI,
5178
16
      { "nRPCI", "lppa.nRPCI",
5179
16
        FT_UINT32, BASE_DEC, NULL, 0,
5180
16
        NULL, HFILL }},
5181
16
    { &hf_lppa_sS_NRRSRP,
5182
16
      { "sS-NRRSRP", "lppa.sS_NRRSRP",
5183
16
        FT_UINT32, BASE_DEC, NULL, 0,
5184
16
        NULL, HFILL }},
5185
16
    { &hf_lppa_sS_NRRSRQ,
5186
16
      { "sS-NRRSRQ", "lppa.sS_NRRSRQ",
5187
16
        FT_UINT32, BASE_DEC, NULL, 0,
5188
16
        NULL, HFILL }},
5189
16
    { &hf_lppa_ResultsPerSSB_Index_List_item,
5190
16
      { "ResultsPerSSB-Index-Item", "lppa.ResultsPerSSB_Index_Item_element",
5191
16
        FT_NONE, BASE_NONE, NULL, 0,
5192
16
        NULL, HFILL }},
5193
16
    { &hf_lppa_sSB_Index,
5194
16
      { "sSB-Index", "lppa.sSB_Index",
5195
16
        FT_UINT32, BASE_DEC, NULL, 0,
5196
16
        NULL, HFILL }},
5197
16
    { &hf_lppa_sS_NRRSRPBeamValue,
5198
16
      { "sS-NRRSRPBeamValue", "lppa.sS_NRRSRPBeamValue",
5199
16
        FT_UINT32, BASE_DEC, NULL, 0,
5200
16
        "SS_NRRSRP", HFILL }},
5201
16
    { &hf_lppa_sS_NRRSRQBeamValue,
5202
16
      { "sS-NRRSRQBeamValue", "lppa.sS_NRRSRQBeamValue",
5203
16
        FT_UINT32, BASE_DEC, NULL, 0,
5204
16
        "SS_NRRSRQ", HFILL }},
5205
16
    { &hf_lppa_SRSConfigurationForAllCells_item,
5206
16
      { "SRSConfigurationForOneCell", "lppa.SRSConfigurationForOneCell_element",
5207
16
        FT_NONE, BASE_NONE, NULL, 0,
5208
16
        NULL, HFILL }},
5209
16
    { &hf_lppa_pci,
5210
16
      { "pci", "lppa.pci",
5211
16
        FT_UINT32, BASE_DEC, NULL, 0,
5212
16
        NULL, HFILL }},
5213
16
    { &hf_lppa_ul_earfcn,
5214
16
      { "ul-earfcn", "lppa.ul_earfcn",
5215
16
        FT_UINT32, BASE_DEC, NULL, 0,
5216
16
        "EARFCN", HFILL }},
5217
16
    { &hf_lppa_ul_bandwidth,
5218
16
      { "ul-bandwidth", "lppa.ul_bandwidth",
5219
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_ul_bandwidth_vals), 0,
5220
16
        NULL, HFILL }},
5221
16
    { &hf_lppa_ul_cyclicPrefixLength,
5222
16
      { "ul-cyclicPrefixLength", "lppa.ul_cyclicPrefixLength",
5223
16
        FT_UINT32, BASE_DEC, VALS(lppa_CPLength_vals), 0,
5224
16
        "CPLength", HFILL }},
5225
16
    { &hf_lppa_srs_BandwidthConfig,
5226
16
      { "srs-BandwidthConfig", "lppa.srs_BandwidthConfig",
5227
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_srs_BandwidthConfig_vals), 0,
5228
16
        NULL, HFILL }},
5229
16
    { &hf_lppa_srs_Bandwidth,
5230
16
      { "srs-Bandwidth", "lppa.srs_Bandwidth",
5231
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_srs_Bandwidth_vals), 0,
5232
16
        NULL, HFILL }},
5233
16
    { &hf_lppa_srs_AntennaPort,
5234
16
      { "srs-AntennaPort", "lppa.srs_AntennaPort",
5235
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_srs_AntennaPort_vals), 0,
5236
16
        NULL, HFILL }},
5237
16
    { &hf_lppa_srs_HoppingBandwidth,
5238
16
      { "srs-HoppingBandwidth", "lppa.srs_HoppingBandwidth",
5239
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_srs_HoppingBandwidth_vals), 0,
5240
16
        NULL, HFILL }},
5241
16
    { &hf_lppa_srs_cyclicShift,
5242
16
      { "srs-cyclicShift", "lppa.srs_cyclicShift",
5243
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_srs_cyclicShift_vals), 0,
5244
16
        NULL, HFILL }},
5245
16
    { &hf_lppa_srs_ConfigIndex,
5246
16
      { "srs-ConfigIndex", "lppa.srs_ConfigIndex",
5247
16
        FT_UINT32, BASE_DEC, NULL, 0,
5248
16
        "INTEGER_0_1023", HFILL }},
5249
16
    { &hf_lppa_maxUpPts,
5250
16
      { "maxUpPts", "lppa.maxUpPts",
5251
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_maxUpPts_vals), 0,
5252
16
        NULL, HFILL }},
5253
16
    { &hf_lppa_transmissionComb,
5254
16
      { "transmissionComb", "lppa.transmissionComb",
5255
16
        FT_UINT32, BASE_DEC, NULL, 0,
5256
16
        "INTEGER_0_1", HFILL }},
5257
16
    { &hf_lppa_freqDomainPosition,
5258
16
      { "freqDomainPosition", "lppa.freqDomainPosition",
5259
16
        FT_UINT32, BASE_DEC, NULL, 0,
5260
16
        "INTEGER_0_23", HFILL }},
5261
16
    { &hf_lppa_groupHoppingEnabled,
5262
16
      { "groupHoppingEnabled", "lppa.groupHoppingEnabled",
5263
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5264
16
        "BOOLEAN", HFILL }},
5265
16
    { &hf_lppa_deltaSS,
5266
16
      { "deltaSS", "lppa.deltaSS",
5267
16
        FT_UINT32, BASE_DEC, NULL, 0,
5268
16
        "INTEGER_0_29", HFILL }},
5269
16
    { &hf_lppa_sfnInitialisationTime,
5270
16
      { "sfnInitialisationTime", "lppa.sfnInitialisationTime",
5271
16
        FT_BYTES, BASE_NONE, NULL, 0,
5272
16
        NULL, HFILL }},
5273
16
    { &hf_lppa_oneFrame,
5274
16
      { "oneFrame", "lppa.oneFrame",
5275
16
        FT_BYTES, BASE_NONE, NULL, 0,
5276
16
        "BIT_STRING_SIZE_6", HFILL }},
5277
16
    { &hf_lppa_fourFrames,
5278
16
      { "fourFrames", "lppa.fourFrames",
5279
16
        FT_BYTES, BASE_NONE, NULL, 0,
5280
16
        "BIT_STRING_SIZE_24", HFILL }},
5281
16
    { &hf_lppa_SystemInformation_item,
5282
16
      { "SystemInformation item", "lppa.SystemInformation_item_element",
5283
16
        FT_NONE, BASE_NONE, NULL, 0,
5284
16
        NULL, HFILL }},
5285
16
    { &hf_lppa_broadcastPeriodicity,
5286
16
      { "broadcastPeriodicity", "lppa.broadcastPeriodicity",
5287
16
        FT_UINT32, BASE_DEC, VALS(lppa_BroadcastPeriodicity_vals), 0,
5288
16
        NULL, HFILL }},
5289
16
    { &hf_lppa_posSIBs,
5290
16
      { "posSIBs", "lppa.posSIBs",
5291
16
        FT_UINT32, BASE_DEC, NULL, 0,
5292
16
        NULL, HFILL }},
5293
16
    { &hf_lppa_subframeAssignment,
5294
16
      { "subframeAssignment", "lppa.subframeAssignment",
5295
16
        FT_UINT32, BASE_DEC, VALS(lppa_T_subframeAssignment_vals), 0,
5296
16
        NULL, HFILL }},
5297
16
    { &hf_lppa_timingAdvanceType1,
5298
16
      { "timingAdvanceType1", "lppa.timingAdvanceType1",
5299
16
        FT_UINT32, BASE_DEC, NULL, 0,
5300
16
        "INTEGER_0_7690", HFILL }},
5301
16
    { &hf_lppa_timingAdvanceType2,
5302
16
      { "timingAdvanceType2", "lppa.timingAdvanceType2",
5303
16
        FT_UINT32, BASE_DEC, NULL, 0,
5304
16
        "INTEGER_0_7690", HFILL }},
5305
16
    { &hf_lppa_srsConfiguration,
5306
16
      { "srsConfiguration", "lppa.srsConfiguration",
5307
16
        FT_UINT32, BASE_DEC, NULL, 0,
5308
16
        "SRSConfigurationForAllCells", HFILL }},
5309
16
    { &hf_lppa_WLANMeasurementQuantities_item,
5310
16
      { "ProtocolIE-Single-Container", "lppa.ProtocolIE_Single_Container_element",
5311
16
        FT_NONE, BASE_NONE, NULL, 0,
5312
16
        NULL, HFILL }},
5313
16
    { &hf_lppa_wLANMeasurementQuantitiesValue,
5314
16
      { "wLANMeasurementQuantitiesValue", "lppa.wLANMeasurementQuantitiesValue",
5315
16
        FT_UINT32, BASE_DEC, VALS(lppa_WLANMeasurementQuantitiesValue_vals), 0,
5316
16
        NULL, HFILL }},
5317
16
    { &hf_lppa_WLANMeasurementResult_item,
5318
16
      { "WLANMeasurementResult-Item", "lppa.WLANMeasurementResult_Item_element",
5319
16
        FT_NONE, BASE_NONE, NULL, 0,
5320
16
        NULL, HFILL }},
5321
16
    { &hf_lppa_wLAN_RSSI,
5322
16
      { "wLAN-RSSI", "lppa.wLAN_RSSI",
5323
16
        FT_UINT32, BASE_DEC, NULL, 0,
5324
16
        NULL, HFILL }},
5325
16
    { &hf_lppa_sSID,
5326
16
      { "sSID", "lppa.sSID",
5327
16
        FT_BYTES, BASE_NONE, NULL, 0,
5328
16
        NULL, HFILL }},
5329
16
    { &hf_lppa_bSSID,
5330
16
      { "bSSID", "lppa.bSSID",
5331
16
        FT_ETHER, BASE_NONE, NULL, 0,
5332
16
        NULL, HFILL }},
5333
16
    { &hf_lppa_hESSID,
5334
16
      { "hESSID", "lppa.hESSID",
5335
16
        FT_ETHER, BASE_NONE, NULL, 0,
5336
16
        NULL, HFILL }},
5337
16
    { &hf_lppa_operatingClass,
5338
16
      { "operatingClass", "lppa.operatingClass",
5339
16
        FT_UINT32, BASE_DEC, NULL, 0,
5340
16
        "WLANOperatingClass", HFILL }},
5341
16
    { &hf_lppa_countryCode,
5342
16
      { "countryCode", "lppa.countryCode",
5343
16
        FT_UINT32, BASE_DEC, VALS(lppa_WLANCountryCode_vals), 0,
5344
16
        "WLANCountryCode", HFILL }},
5345
16
    { &hf_lppa_wLANChannelList,
5346
16
      { "wLANChannelList", "lppa.wLANChannelList",
5347
16
        FT_UINT32, BASE_DEC, NULL, 0,
5348
16
        NULL, HFILL }},
5349
16
    { &hf_lppa_wLANBand,
5350
16
      { "wLANBand", "lppa.wLANBand",
5351
16
        FT_UINT32, BASE_DEC, VALS(lppa_WLANBand_vals), 0,
5352
16
        NULL, HFILL }},
5353
16
    { &hf_lppa_WLANChannelList_item,
5354
16
      { "WLANChannel", "lppa.WLANChannel",
5355
16
        FT_UINT32, BASE_DEC, NULL, 0,
5356
16
        NULL, HFILL }},
5357
16
    { &hf_lppa_protocolIEs,
5358
16
      { "protocolIEs", "lppa.protocolIEs",
5359
16
        FT_UINT32, BASE_DEC, NULL, 0,
5360
16
        "ProtocolIE_Container", HFILL }},
5361
16
    { &hf_lppa_OTDOA_Information_Type_item,
5362
16
      { "ProtocolIE-Single-Container", "lppa.ProtocolIE_Single_Container_element",
5363
16
        FT_NONE, BASE_NONE, NULL, 0,
5364
16
        NULL, HFILL }},
5365
16
    { &hf_lppa_oTDOA_Information_Type_Item,
5366
16
      { "oTDOA-Information-Type-Item", "lppa.oTDOA_Information_Type_Item",
5367
16
        FT_UINT32, BASE_DEC, VALS(lppa_OTDOA_Information_Item_vals), 0,
5368
16
        "OTDOA_Information_Item", HFILL }},
5369
16
    { &hf_lppa_privateIEs,
5370
16
      { "privateIEs", "lppa.privateIEs",
5371
16
        FT_UINT32, BASE_DEC, NULL, 0,
5372
16
        "PrivateIE_Container", HFILL }},
5373
16
    { &hf_lppa_initiatingMessage,
5374
16
      { "initiatingMessage", "lppa.initiatingMessage_element",
5375
16
        FT_NONE, BASE_NONE, NULL, 0,
5376
16
        NULL, HFILL }},
5377
16
    { &hf_lppa_successfulOutcome,
5378
16
      { "successfulOutcome", "lppa.successfulOutcome_element",
5379
16
        FT_NONE, BASE_NONE, NULL, 0,
5380
16
        NULL, HFILL }},
5381
16
    { &hf_lppa_unsuccessfulOutcome,
5382
16
      { "unsuccessfulOutcome", "lppa.unsuccessfulOutcome_element",
5383
16
        FT_NONE, BASE_NONE, NULL, 0,
5384
16
        NULL, HFILL }},
5385
16
    { &hf_lppa_initiatingMessagevalue,
5386
16
      { "value", "lppa.initiatingMessagevalue_element",
5387
16
        FT_NONE, BASE_NONE, NULL, 0,
5388
16
        "InitiatingMessage_value", HFILL }},
5389
16
    { &hf_lppa_successfulOutcome_value,
5390
16
      { "value", "lppa.successfulOutcome_value_element",
5391
16
        FT_NONE, BASE_NONE, NULL, 0,
5392
16
        "SuccessfulOutcome_value", HFILL }},
5393
16
    { &hf_lppa_unsuccessfulOutcome_value,
5394
16
      { "value", "lppa.unsuccessfulOutcome_value_element",
5395
16
        FT_NONE, BASE_NONE, NULL, 0,
5396
16
        "UnsuccessfulOutcome_value", HFILL }},
5397
16
    };
5398
5399
    /* List of subtrees */
5400
16
    static int* ett[] = {
5401
16
        &ett_lppa,
5402
16
    &ett_lppa_PrivateIE_ID,
5403
16
    &ett_lppa_ProtocolIE_Container,
5404
16
    &ett_lppa_ProtocolIE_Field,
5405
16
    &ett_lppa_ProtocolExtensionContainer,
5406
16
    &ett_lppa_ProtocolExtensionField,
5407
16
    &ett_lppa_PrivateIE_Container,
5408
16
    &ett_lppa_PrivateIE_Field,
5409
16
    &ett_lppa_Add_OTDOACells,
5410
16
    &ett_lppa_Add_OTDOACells_item,
5411
16
    &ett_lppa_Add_OTDOACell_Information,
5412
16
    &ett_lppa_Assistance_Information,
5413
16
    &ett_lppa_AssistanceInformationFailureList,
5414
16
    &ett_lppa_AssistanceInformationFailureList_item,
5415
16
    &ett_lppa_AssistanceInformationMetaData,
5416
16
    &ett_lppa_BitmapsforNPRS,
5417
16
    &ett_lppa_Cause,
5418
16
    &ett_lppa_CriticalityDiagnostics,
5419
16
    &ett_lppa_CriticalityDiagnostics_IE_List,
5420
16
    &ett_lppa_CriticalityDiagnostics_IE_List_item,
5421
16
    &ett_lppa_E_CID_MeasurementResult,
5422
16
    &ett_lppa_ECGI,
5423
16
    &ett_lppa_E_UTRANAccessPointPosition,
5424
16
    &ett_lppa_InterRATMeasurementQuantities,
5425
16
    &ett_lppa_InterRATMeasurementQuantities_Item,
5426
16
    &ett_lppa_InterRATMeasurementResult,
5427
16
    &ett_lppa_InterRATMeasuredResultsValue,
5428
16
    &ett_lppa_MeasurementQuantities,
5429
16
    &ett_lppa_MeasurementQuantities_Item,
5430
16
    &ett_lppa_MeasuredResults,
5431
16
    &ett_lppa_MeasuredResultsValue,
5432
16
    &ett_lppa_MBSFNsubframeConfiguration,
5433
16
    &ett_lppa_MBSFNsubframeConfigurationValue,
5434
16
    &ett_lppa_NR_CGI,
5435
16
    &ett_lppa_NPRSConfiguration,
5436
16
    &ett_lppa_NPRSMutingConfiguration,
5437
16
    &ett_lppa_NPRSSubframePartA,
5438
16
    &ett_lppa_NPRSSubframePartB,
5439
16
    &ett_lppa_OTDOACells,
5440
16
    &ett_lppa_OTDOACells_item,
5441
16
    &ett_lppa_OTDOACell_Information,
5442
16
    &ett_lppa_OTDOACell_Information_Item,
5443
16
    &ett_lppa_PosSIBs,
5444
16
    &ett_lppa_PosSIBs_item,
5445
16
    &ett_lppa_PosSIB_Segments,
5446
16
    &ett_lppa_PosSIB_Segments_item,
5447
16
    &ett_lppa_PRSMutingConfiguration,
5448
16
    &ett_lppa_PRSFrequencyHoppingConfiguration,
5449
16
    &ett_lppa_SEQUENCE_SIZE_1_maxnoFreqHoppingBandsMinusOne_OF_NarrowBandIndex,
5450
16
    &ett_lppa_RequestedSRSTransmissionCharacteristics,
5451
16
    &ett_lppa_ResultRSRP,
5452
16
    &ett_lppa_ResultRSRP_Item,
5453
16
    &ett_lppa_ResultRSRQ,
5454
16
    &ett_lppa_ResultRSRQ_Item,
5455
16
    &ett_lppa_ResultGERAN,
5456
16
    &ett_lppa_ResultGERAN_Item,
5457
16
    &ett_lppa_ResultUTRAN,
5458
16
    &ett_lppa_ResultUTRAN_Item,
5459
16
    &ett_lppa_T_physCellIDUTRAN,
5460
16
    &ett_lppa_ResultNR,
5461
16
    &ett_lppa_ResultNR_Item,
5462
16
    &ett_lppa_ResultsPerSSB_Index_List,
5463
16
    &ett_lppa_ResultsPerSSB_Index_Item,
5464
16
    &ett_lppa_SRSConfigurationForAllCells,
5465
16
    &ett_lppa_SRSConfigurationForOneCell,
5466
16
    &ett_lppa_Subframeallocation,
5467
16
    &ett_lppa_SystemInformation,
5468
16
    &ett_lppa_SystemInformation_item,
5469
16
    &ett_lppa_TDDConfiguration,
5470
16
    &ett_lppa_ULConfiguration,
5471
16
    &ett_lppa_WLANMeasurementQuantities,
5472
16
    &ett_lppa_WLANMeasurementQuantities_Item,
5473
16
    &ett_lppa_WLANMeasurementResult,
5474
16
    &ett_lppa_WLANMeasurementResult_Item,
5475
16
    &ett_lppa_WLANChannelList,
5476
16
    &ett_lppa_E_CIDMeasurementInitiationRequest,
5477
16
    &ett_lppa_E_CIDMeasurementInitiationResponse,
5478
16
    &ett_lppa_E_CIDMeasurementInitiationFailure,
5479
16
    &ett_lppa_E_CIDMeasurementFailureIndication,
5480
16
    &ett_lppa_E_CIDMeasurementReport,
5481
16
    &ett_lppa_E_CIDMeasurementTerminationCommand,
5482
16
    &ett_lppa_OTDOAInformationRequest,
5483
16
    &ett_lppa_OTDOA_Information_Type,
5484
16
    &ett_lppa_OTDOA_Information_Type_Item,
5485
16
    &ett_lppa_OTDOAInformationResponse,
5486
16
    &ett_lppa_OTDOAInformationFailure,
5487
16
    &ett_lppa_UTDOAInformationRequest,
5488
16
    &ett_lppa_UTDOAInformationResponse,
5489
16
    &ett_lppa_UTDOAInformationFailure,
5490
16
    &ett_lppa_UTDOAInformationUpdate,
5491
16
    &ett_lppa_AssistanceInformationControl,
5492
16
    &ett_lppa_AssistanceInformationFeedback,
5493
16
    &ett_lppa_ErrorIndication,
5494
16
    &ett_lppa_PrivateMessage,
5495
16
    &ett_lppa_LPPA_PDU,
5496
16
    &ett_lppa_InitiatingMessage,
5497
16
    &ett_lppa_SuccessfulOutcome,
5498
16
    &ett_lppa_UnsuccessfulOutcome,
5499
16
    };
5500
5501
    /* Register protocol */
5502
16
    proto_lppa = proto_register_protocol("LTE Positioning Protocol A (LPPa)", "LPPa", "lppa");
5503
16
    register_dissector("lppa", dissect_LPPA_PDU_PDU, proto_lppa);
5504
5505
    /* Register fields and subtrees */
5506
16
    proto_register_field_array(proto_lppa, hf, array_length(hf));
5507
16
    proto_register_subtree_array(ett, array_length(ett));
5508
5509
    /* Register dissector tables */
5510
16
    lppa_ies_dissector_table = register_dissector_table("lppa.ies", "LPPA-PROTOCOL-IES", proto_lppa, FT_UINT32, BASE_DEC);
5511
16
    lppa_extension_dissector_table = register_dissector_table("lppa.extension", "LPPA-PROTOCOL-EXTENSION", proto_lppa, FT_UINT32, BASE_DEC);
5512
16
    lppa_proc_imsg_dissector_table = register_dissector_table("lppa.proc.imsg", "LPPA-ELEMENTARY-PROCEDURE InitiatingMessage", proto_lppa, FT_UINT32, BASE_DEC);
5513
16
    lppa_proc_sout_dissector_table = register_dissector_table("lppa.proc.sout", "LPPA-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_lppa, FT_UINT32, BASE_DEC);
5514
16
    lppa_proc_uout_dissector_table = register_dissector_table("lppa.proc.uout", "LPPA-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_lppa, FT_UINT32, BASE_DEC);
5515
16
}
5516
5517
/*--- proto_reg_handoff_lppa ---------------------------------------*/
5518
void
5519
proto_reg_handoff_lppa(void)
5520
16
{
5521
16
  dissector_add_uint("lppa.ies", id_MeasurementQuantities_Item, create_dissector_handle(dissect_MeasurementQuantities_Item_PDU, proto_lppa));
5522
16
  dissector_add_uint("lppa.ies", id_ReportCharacteristics, create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_lppa));
5523
16
  dissector_add_uint("lppa.ies", id_MeasurementPeriodicity, create_dissector_handle(dissect_MeasurementPeriodicity_PDU, proto_lppa));
5524
16
  dissector_add_uint("lppa.ies", id_MeasurementQuantities, create_dissector_handle(dissect_MeasurementQuantities_PDU, proto_lppa));
5525
16
  dissector_add_uint("lppa.ies", id_E_CID_MeasurementResult, create_dissector_handle(dissect_E_CID_MeasurementResult_PDU, proto_lppa));
5526
16
  dissector_add_uint("lppa.ies", id_OTDOA_Information_Type_Group, create_dissector_handle(dissect_OTDOA_Information_Type_PDU, proto_lppa));
5527
16
  dissector_add_uint("lppa.ies", id_OTDOA_Information_Type_Item, create_dissector_handle(dissect_OTDOA_Information_Type_Item_PDU, proto_lppa));
5528
16
  dissector_add_uint("lppa.ies", id_OTDOACells, create_dissector_handle(dissect_OTDOACells_PDU, proto_lppa));
5529
16
  dissector_add_uint("lppa.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_lppa));
5530
16
  dissector_add_uint("lppa.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_lppa));
5531
16
  dissector_add_uint("lppa.ies", id_E_SMLC_UE_Measurement_ID, create_dissector_handle(dissect_Measurement_ID_PDU, proto_lppa));
5532
16
  dissector_add_uint("lppa.ies", id_eNB_UE_Measurement_ID, create_dissector_handle(dissect_Measurement_ID_PDU, proto_lppa));
5533
16
  dissector_add_uint("lppa.ies", id_RequestedSRSTransmissionCharacteristics, create_dissector_handle(dissect_RequestedSRSTransmissionCharacteristics_PDU, proto_lppa));
5534
16
  dissector_add_uint("lppa.ies", id_ULConfiguration, create_dissector_handle(dissect_ULConfiguration_PDU, proto_lppa));
5535
16
  dissector_add_uint("lppa.ies", id_InterRATMeasurementQuantities, create_dissector_handle(dissect_InterRATMeasurementQuantities_PDU, proto_lppa));
5536
16
  dissector_add_uint("lppa.ies", id_Cell_Portion_ID, create_dissector_handle(dissect_Cell_Portion_ID_PDU, proto_lppa));
5537
16
  dissector_add_uint("lppa.ies", id_InterRATMeasurementResult, create_dissector_handle(dissect_InterRATMeasurementResult_PDU, proto_lppa));
5538
16
  dissector_add_uint("lppa.ies", id_InterRATMeasurementQuantities_Item, create_dissector_handle(dissect_InterRATMeasurementQuantities_Item_PDU, proto_lppa));
5539
16
  dissector_add_uint("lppa.ies", id_WLANMeasurementQuantities, create_dissector_handle(dissect_WLANMeasurementQuantities_PDU, proto_lppa));
5540
16
  dissector_add_uint("lppa.ies", id_WLANMeasurementResult, create_dissector_handle(dissect_WLANMeasurementResult_PDU, proto_lppa));
5541
16
  dissector_add_uint("lppa.ies", id_AddOTDOACells, create_dissector_handle(dissect_Add_OTDOACells_PDU, proto_lppa));
5542
16
  dissector_add_uint("lppa.ies", id_WLANMeasurementQuantities_Item, create_dissector_handle(dissect_WLANMeasurementQuantities_Item_PDU, proto_lppa));
5543
16
  dissector_add_uint("lppa.ies", id_Assistance_Information, create_dissector_handle(dissect_Assistance_Information_PDU, proto_lppa));
5544
16
  dissector_add_uint("lppa.ies", id_Broadcast, create_dissector_handle(dissect_Broadcast_PDU, proto_lppa));
5545
16
  dissector_add_uint("lppa.ies", id_AssistanceInformationFailureList, create_dissector_handle(dissect_AssistanceInformationFailureList_PDU, proto_lppa));
5546
16
  dissector_add_uint("lppa.extension", id_ResultsPerSSB_Index_List, create_dissector_handle(dissect_ResultsPerSSB_Index_List_PDU, proto_lppa));
5547
16
  dissector_add_uint("lppa.extension", id_NR_CGI, create_dissector_handle(dissect_NR_CGI_PDU, proto_lppa));
5548
16
  dissector_add_uint("lppa.proc.imsg", id_e_CIDMeasurementInitiation, create_dissector_handle(dissect_E_CIDMeasurementInitiationRequest_PDU, proto_lppa));
5549
16
  dissector_add_uint("lppa.proc.sout", id_e_CIDMeasurementInitiation, create_dissector_handle(dissect_E_CIDMeasurementInitiationResponse_PDU, proto_lppa));
5550
16
  dissector_add_uint("lppa.proc.uout", id_e_CIDMeasurementInitiation, create_dissector_handle(dissect_E_CIDMeasurementInitiationFailure_PDU, proto_lppa));
5551
16
  dissector_add_uint("lppa.proc.imsg", id_e_CIDMeasurementFailureIndication, create_dissector_handle(dissect_E_CIDMeasurementFailureIndication_PDU, proto_lppa));
5552
16
  dissector_add_uint("lppa.proc.imsg", id_e_CIDMeasurementReport, create_dissector_handle(dissect_E_CIDMeasurementReport_PDU, proto_lppa));
5553
16
  dissector_add_uint("lppa.proc.imsg", id_e_CIDMeasurementTermination, create_dissector_handle(dissect_E_CIDMeasurementTerminationCommand_PDU, proto_lppa));
5554
16
  dissector_add_uint("lppa.proc.imsg", id_oTDOAInformationExchange, create_dissector_handle(dissect_OTDOAInformationRequest_PDU, proto_lppa));
5555
16
  dissector_add_uint("lppa.proc.sout", id_oTDOAInformationExchange, create_dissector_handle(dissect_OTDOAInformationResponse_PDU, proto_lppa));
5556
16
  dissector_add_uint("lppa.proc.uout", id_oTDOAInformationExchange, create_dissector_handle(dissect_OTDOAInformationFailure_PDU, proto_lppa));
5557
16
  dissector_add_uint("lppa.proc.imsg", id_errorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_lppa));
5558
16
  dissector_add_uint("lppa.proc.imsg", id_privateMessage, create_dissector_handle(dissect_PrivateMessage_PDU, proto_lppa));
5559
16
  dissector_add_uint("lppa.proc.imsg", id_uTDOAInformationExchange, create_dissector_handle(dissect_UTDOAInformationRequest_PDU, proto_lppa));
5560
16
  dissector_add_uint("lppa.proc.sout", id_uTDOAInformationExchange, create_dissector_handle(dissect_UTDOAInformationResponse_PDU, proto_lppa));
5561
16
  dissector_add_uint("lppa.proc.uout", id_uTDOAInformationExchange, create_dissector_handle(dissect_UTDOAInformationFailure_PDU, proto_lppa));
5562
16
  dissector_add_uint("lppa.proc.imsg", id_uTDOAInformationUpdate, create_dissector_handle(dissect_UTDOAInformationUpdate_PDU, proto_lppa));
5563
16
  dissector_add_uint("lppa.proc.imsg", id_assistanceInformationControl, create_dissector_handle(dissect_AssistanceInformationControl_PDU, proto_lppa));
5564
16
  dissector_add_uint("lppa.proc.imsg", id_assistanceInformationFeedback, create_dissector_handle(dissect_AssistanceInformationFeedback_PDU, proto_lppa));
5565
5566
16
}