Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-ilp.c
blob421d7896ff0280d6ca12d3169c44e5ec859bbea5
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-ilp.c */
4 /* asn2wrs.py -q -L -p ilp -c ./ilp.cnf -s ./packet-ilp-template -D . -O ../.. ILP.asn ILP-Components.asn */
6 /* packet-ilp.c
7 * Routines for OMA Internal Location Protocol packet dissection
8 * Copyright 2006, e.yimjia <jy.m12.0@gmail.com>
9 * Copyright 2019, Pascal Quantin <pascal@wireshark.org>
11 * Wireshark - Network traffic analyzer
12 * By Gerald Combs <gerald@wireshark.org>
13 * Copyright 1998 Gerald Combs
15 * SPDX-License-Identifier: GPL-2.0-or-later
17 * ref OMA-TS-ILP-V2_0_4-20181213-A
18 * http://www.openmobilealliance.org
21 #include "config.h"
23 #include <epan/packet.h>
24 #include <epan/prefs.h>
25 #include <epan/asn1.h>
26 #include <wsutil/array.h>
28 #include "packet-per.h"
29 #include "packet-tcp.h"
30 #include "packet-gsm_map.h"
31 #include "packet-e164.h"
32 #include "packet-e212.h"
34 #define PNAME "OMA Internal Location Protocol"
35 #define PSNAME "ILP"
36 #define PFNAME "ilp"
38 void proto_register_ilp(void);
40 static dissector_handle_t rrlp_handle;
41 static dissector_handle_t lpp_handle;
42 static dissector_handle_t ilp_tcp_handle;
45 /* IANA Registered Ports
46 * oma-ilp 7276/tcp OMA Internal Location
48 #define ILP_TCP_PORT 7276
50 /* Initialize the protocol and registered fields */
51 static int proto_ilp;
54 #define ILP_HEADER_SIZE 2
56 static bool ilp_desegment = true;
58 static int hf_ilp_ILP_PDU_PDU; /* ILP_PDU */
59 static int hf_ilp_length; /* INTEGER_0_65535 */
60 static int hf_ilp_version; /* Version */
61 static int hf_ilp_sessionID2; /* SessionID2 */
62 static int hf_ilp_message; /* IlpMessage */
63 static int hf_ilp_msPREQ; /* PREQ */
64 static int hf_ilp_msPRES; /* PRES */
65 static int hf_ilp_msPRPT; /* PRPT */
66 static int hf_ilp_msPLREQ; /* PLREQ */
67 static int hf_ilp_msPLRES; /* PLRES */
68 static int hf_ilp_msPINIT; /* PINIT */
69 static int hf_ilp_msPAUTH; /* PAUTH */
70 static int hf_ilp_msPALIVE; /* PALIVE */
71 static int hf_ilp_msPEND; /* PEND */
72 static int hf_ilp_msPMESS; /* PMESS */
73 static int hf_ilp_sLPMode; /* SLPMode */
74 static int hf_ilp_approvedPosMethods; /* PosTechnology */
75 static int hf_ilp_locationId; /* LocationId */
76 static int hf_ilp_multipleLocationIds; /* MultipleLocationIds */
77 static int hf_ilp_position; /* Position */
78 static int hf_ilp_triggerParams; /* TriggerParams */
79 static int hf_ilp_sPCSETKey; /* SPCSETKey */
80 static int hf_ilp_spctid; /* SPCTID */
81 static int hf_ilp_sPCSETKeylifetime; /* SPCSETKeylifetime */
82 static int hf_ilp_qoP; /* QoP */
83 static int hf_ilp_sETCapabilities; /* SETCapabilities */
84 static int hf_ilp_notificationMode; /* NotificationMode */
85 static int hf_ilp_triggerType; /* TriggerType */
86 static int hf_ilp_periodicTriggerParams; /* PeriodicTriggerParams */
87 static int hf_ilp_numberOfFixes; /* INTEGER_1_8639999 */
88 static int hf_ilp_intervalBetweenFixes; /* INTEGER_1_8639999 */
89 static int hf_ilp_startTime; /* INTEGER_0_2678400 */
90 static int hf_ilp_preferredPosMethod; /* PosMethod */
91 static int hf_ilp_gnssPosTechnology; /* GNSSPosTechnology */
92 static int hf_ilp_supportedPosMethods; /* PosTechnology */
93 static int hf_ilp_sPCstatusCode; /* SPCStatusCode */
94 static int hf_ilp_fixNumber; /* INTEGER_1_8639999 */
95 static int hf_ilp_statusCode; /* StatusCode */
96 static int hf_ilp_positionResults; /* PositionResults */
97 static int hf_ilp_PositionResults_item; /* PositionResult */
98 static int hf_ilp_posMethod; /* PosMethod */
99 static int hf_ilp_requestedAssistData; /* RequestedAssistData */
100 static int hf_ilp_posPayLoad; /* PosPayLoad */
101 static int hf_ilp_utran_GPSReferenceTimeResult; /* UTRAN_GPSReferenceTimeResult */
102 static int hf_ilp_utran_GANSSReferenceTimeResult; /* UTRAN_GANSSReferenceTimeResult */
103 static int hf_ilp_almanacRequested; /* BOOLEAN */
104 static int hf_ilp_utcModelRequested; /* BOOLEAN */
105 static int hf_ilp_ionosphericModelRequested; /* BOOLEAN */
106 static int hf_ilp_dgpsCorrectionsRequested; /* BOOLEAN */
107 static int hf_ilp_referenceLocationRequested; /* BOOLEAN */
108 static int hf_ilp_referenceTimeRequested; /* BOOLEAN */
109 static int hf_ilp_acquisitionAssistanceRequested; /* BOOLEAN */
110 static int hf_ilp_realTimeIntegrityRequested; /* BOOLEAN */
111 static int hf_ilp_navigationModelRequested; /* BOOLEAN */
112 static int hf_ilp_navigationModelData; /* NavigationModel */
113 static int hf_ilp_ganssRequestedCommonAssistanceDataList; /* GanssRequestedCommonAssistanceDataList */
114 static int hf_ilp_ganssRequestedGenericAssistanceDataList; /* GanssRequestedGenericAssistanceDataList */
115 static int hf_ilp_extendedEphemeris; /* ExtendedEphemeris */
116 static int hf_ilp_extendedEphemerisCheck; /* ExtendedEphCheck */
117 static int hf_ilp_validity; /* INTEGER_1_256 */
118 static int hf_ilp_beginTime; /* GPSTime */
119 static int hf_ilp_endTime; /* GPSTime */
120 static int hf_ilp_gPSWeek; /* INTEGER_0_1023 */
121 static int hf_ilp_gPSTOWhour; /* INTEGER_0_167 */
122 static int hf_ilp_ganssReferenceTime; /* BOOLEAN */
123 static int hf_ilp_ganssIonosphericModel; /* BOOLEAN */
124 static int hf_ilp_ganssAdditionalIonosphericModelForDataID00; /* BOOLEAN */
125 static int hf_ilp_ganssAdditionalIonosphericModelForDataID11; /* BOOLEAN */
126 static int hf_ilp_ganssEarthOrientationParameters; /* BOOLEAN */
127 static int hf_ilp_ganssAdditionalIonosphericModelForDataID01; /* BOOLEAN */
128 static int hf_ilp_GanssRequestedGenericAssistanceDataList_item; /* GanssReqGenericData */
129 static int hf_ilp_ganssId; /* INTEGER_0_15 */
130 static int hf_ilp_ganssSBASid; /* BIT_STRING_SIZE_3 */
131 static int hf_ilp_ganssRealTimeIntegrity; /* BOOLEAN */
132 static int hf_ilp_ganssDifferentialCorrection; /* DGANSS_Sig_Id_Req */
133 static int hf_ilp_ganssAlmanac; /* BOOLEAN */
134 static int hf_ilp_ganssNavigationModelData; /* GanssNavigationModelData */
135 static int hf_ilp_ganssTimeModels; /* BIT_STRING_SIZE_16 */
136 static int hf_ilp_ganssReferenceMeasurementInfo; /* BOOLEAN */
137 static int hf_ilp_ganssDataBits; /* GanssDataBits */
138 static int hf_ilp_ganssUTCModel; /* BOOLEAN */
139 static int hf_ilp_ganssAdditionalDataChoices; /* GanssAdditionalDataChoices */
140 static int hf_ilp_ganssAuxiliaryInformation; /* BOOLEAN */
141 static int hf_ilp_ganssExtendedEphemeris; /* ExtendedEphemeris */
142 static int hf_ilp_ganssExtendedEphemerisCheck; /* GanssExtendedEphCheck */
143 static int hf_ilp_bds_DifferentialCorrection; /* BDS_Sig_Id_Req */
144 static int hf_ilp_bds_GridModelReq; /* BOOLEAN */
145 static int hf_ilp_ganssWeek; /* INTEGER_0_4095 */
146 static int hf_ilp_ganssToe; /* INTEGER_0_167 */
147 static int hf_ilp_t_toeLimit; /* INTEGER_0_10 */
148 static int hf_ilp_satellitesListRelatedDataList; /* SatellitesListRelatedDataList */
149 static int hf_ilp_SatellitesListRelatedDataList_item; /* SatellitesListRelatedData */
150 static int hf_ilp_satId; /* INTEGER_0_63 */
151 static int hf_ilp_iod; /* INTEGER_0_1023 */
152 static int hf_ilp_ganssTODmin; /* INTEGER_0_59 */
153 static int hf_ilp_reqDataBitAssistanceList; /* ReqDataBitAssistanceList */
154 static int hf_ilp_gnssSignals; /* GANSSSignals */
155 static int hf_ilp_ganssDataBitInterval; /* INTEGER_0_15 */
156 static int hf_ilp_ganssDataBitSatList; /* T_ganssDataBitSatList */
157 static int hf_ilp_ganssDataBitSatList_item; /* INTEGER_0_63 */
158 static int hf_ilp_orbitModelID; /* INTEGER_0_7 */
159 static int hf_ilp_clockModelID; /* INTEGER_0_7 */
160 static int hf_ilp_utcModelID; /* INTEGER_0_7 */
161 static int hf_ilp_almanacModelID; /* INTEGER_0_7 */
162 static int hf_ilp_beginTime_01; /* GANSSextEphTime */
163 static int hf_ilp_endTime_01; /* GANSSextEphTime */
164 static int hf_ilp_gANSSday; /* INTEGER_0_8191 */
165 static int hf_ilp_gANSSTODhour; /* INTEGER_0_23 */
166 static int hf_ilp_gpsWeek; /* INTEGER_0_1023 */
167 static int hf_ilp_gpsToe; /* INTEGER_0_167 */
168 static int hf_ilp_nsat; /* INTEGER_0_31 */
169 static int hf_ilp_toeLimit; /* INTEGER_0_10 */
170 static int hf_ilp_satInfo; /* SatelliteInfo */
171 static int hf_ilp_SatelliteInfo_item; /* SatelliteInfoElement */
172 static int hf_ilp_iode; /* INTEGER_0_255 */
173 static int hf_ilp_sPCStatusCode; /* SPCStatusCode */
174 static int hf_ilp_velocity; /* Velocity */
175 static int hf_ilp_utran_GPSReferenceTimeAssistance; /* UTRAN_GPSReferenceTimeAssistance */
176 static int hf_ilp_utran_GANSSReferenceTimeAssistance; /* UTRAN_GANSSReferenceTimeAssistance */
177 static int hf_ilp_maj; /* INTEGER_0_255 */
178 static int hf_ilp_min; /* INTEGER_0_255 */
179 static int hf_ilp_servind; /* INTEGER_0_255 */
180 static int hf_ilp_slcSessionID; /* SlcSessionID */
181 static int hf_ilp_setSessionID; /* SetSessionID */
182 static int hf_ilp_spcSessionID; /* SpcSessionID */
183 static int hf_ilp_sessionId; /* INTEGER_0_65535 */
184 static int hf_ilp_setId; /* SETId */
185 static int hf_ilp_msisdn; /* T_msisdn */
186 static int hf_ilp_mdn; /* T_mdn */
187 static int hf_ilp_minsi; /* BIT_STRING_SIZE_34 */
188 static int hf_ilp_imsi; /* T_imsi */
189 static int hf_ilp_nai; /* IA5String_SIZE_1_1000 */
190 static int hf_ilp_iPAddress; /* IPAddress */
191 static int hf_ilp_imei; /* OCTET_STRING_SIZE_8 */
192 static int hf_ilp_sessionID; /* OCTET_STRING_SIZE_4 */
193 static int hf_ilp_slcId; /* NodeAddress */
194 static int hf_ilp_spcId; /* NodeAddress */
195 static int hf_ilp_ipv4Address; /* OCTET_STRING_SIZE_4 */
196 static int hf_ilp_ipv6Address; /* OCTET_STRING_SIZE_16 */
197 static int hf_ilp_fqdn; /* FQDN */
198 static int hf_ilp_cellInfo; /* CellInfo */
199 static int hf_ilp_status; /* Status */
200 static int hf_ilp_MultipleLocationIds_item; /* LocationIdData */
201 static int hf_ilp_relativetimestamp; /* RelativeTime */
202 static int hf_ilp_servingFlag; /* BOOLEAN */
203 static int hf_ilp_posTechnology; /* PosTechnology */
204 static int hf_ilp_prefMethod; /* PrefMethod */
205 static int hf_ilp_posProtocol; /* PosProtocol */
206 static int hf_ilp_supportedBearers; /* SupportedBearers */
207 static int hf_ilp_agpsSETassisted; /* BOOLEAN */
208 static int hf_ilp_agpsSETBased; /* BOOLEAN */
209 static int hf_ilp_autonomousGPS; /* BOOLEAN */
210 static int hf_ilp_aflt; /* BOOLEAN */
211 static int hf_ilp_ecid; /* BOOLEAN */
212 static int hf_ilp_eotd; /* BOOLEAN */
213 static int hf_ilp_otdoa; /* BOOLEAN */
214 static int hf_ilp_gANSSPositionMethods; /* GANSSPositionMethods */
215 static int hf_ilp_additionalPositioningMethods; /* AdditionalPositioningMethods */
216 static int hf_ilp_GANSSPositionMethods_item; /* GANSSPositionMethod */
217 static int hf_ilp_gANSSPositioningMethodTypes; /* GANSSPositioningMethodTypes */
218 static int hf_ilp_gANSSSignals; /* GANSSSignals */
219 static int hf_ilp_setAssisted; /* BOOLEAN */
220 static int hf_ilp_setBased; /* BOOLEAN */
221 static int hf_ilp_autonomous; /* BOOLEAN */
222 static int hf_ilp_AdditionalPositioningMethods_item; /* AddPosSupport_Element */
223 static int hf_ilp_addPosID; /* T_addPosID */
224 static int hf_ilp_addPosMode; /* T_addPosMode */
225 static int hf_ilp_tia801; /* BOOLEAN */
226 static int hf_ilp_rrlp; /* BOOLEAN */
227 static int hf_ilp_rrc; /* BOOLEAN */
228 static int hf_ilp_lpp; /* BOOLEAN */
229 static int hf_ilp_posProtocolVersionRRLP; /* PosProtocolVersion3GPP */
230 static int hf_ilp_posProtocolVersionRRC; /* PosProtocolVersion3GPP */
231 static int hf_ilp_posProtocolVersionTIA801; /* PosProtocolVersion3GPP2 */
232 static int hf_ilp_posProtocolVersionLPP; /* PosProtocolVersion3GPP */
233 static int hf_ilp_lppe; /* BOOLEAN */
234 static int hf_ilp_posProtocolVersionLPPe; /* PosProtocolVersionOMA */
235 static int hf_ilp_majorVersionField; /* INTEGER_0_255 */
236 static int hf_ilp_technicalVersionField; /* INTEGER_0_255 */
237 static int hf_ilp_editorialVersionField; /* INTEGER_0_255 */
238 static int hf_ilp_PosProtocolVersion3GPP2_item; /* Supported3GPP2PosProtocolVersion */
239 static int hf_ilp_revisionNumber; /* BIT_STRING_SIZE_6 */
240 static int hf_ilp_pointReleaseNumber; /* INTEGER_0_255 */
241 static int hf_ilp_internalEditLevel; /* INTEGER_0_255 */
242 static int hf_ilp_minorVersionField; /* INTEGER_0_255 */
243 static int hf_ilp_gsm; /* BOOLEAN */
244 static int hf_ilp_wcdma; /* BOOLEAN */
245 static int hf_ilp_lte; /* BOOLEAN */
246 static int hf_ilp_cdma; /* BOOLEAN */
247 static int hf_ilp_hprd; /* BOOLEAN */
248 static int hf_ilp_umb; /* BOOLEAN */
249 static int hf_ilp_wlan; /* BOOLEAN */
250 static int hf_ilp_wiMAX; /* BOOLEAN */
251 static int hf_ilp_nr; /* BOOLEAN */
252 static int hf_ilp_gsmCell; /* GsmCellInformation */
253 static int hf_ilp_wcdmaCell; /* WcdmaCellInformation */
254 static int hf_ilp_cdmaCell; /* CdmaCellInformation */
255 static int hf_ilp_hrpdCell; /* HrpdCellInformation */
256 static int hf_ilp_umbCell; /* UmbCellInformation */
257 static int hf_ilp_lteCell; /* LteCellInformation */
258 static int hf_ilp_wlanAP; /* WlanAPInformation */
259 static int hf_ilp_wimaxBS; /* WimaxBSInformation */
260 static int hf_ilp_nrCell; /* NRCellInformation */
261 static int hf_ilp_set_GPSTimingOfCell; /* T_set_GPSTimingOfCell */
262 static int hf_ilp_ms_part; /* INTEGER_0_16383 */
263 static int hf_ilp_ls_part; /* INTEGER_0_4294967295 */
264 static int hf_ilp_modeSpecificInfo; /* T_modeSpecificInfo */
265 static int hf_ilp_fdd; /* T_fdd */
266 static int hf_ilp_referenceIdentity; /* PrimaryCPICH_Info */
267 static int hf_ilp_tdd; /* T_tdd */
268 static int hf_ilp_referenceIdentity_01; /* CellParametersID */
269 static int hf_ilp_sfn; /* INTEGER_0_4095 */
270 static int hf_ilp_gpsReferenceTimeUncertainty; /* INTEGER_0_127 */
271 static int hf_ilp_ganssTimeID; /* INTEGER_0_15 */
272 static int hf_ilp_set_GANSSReferenceTime; /* SET_GANSSReferenceTime */
273 static int hf_ilp_set_GANSSTimingOfCell; /* T_set_GANSSTimingOfCell */
274 static int hf_ilp_ms_part_01; /* INTEGER_0_80 */
275 static int hf_ilp_modeSpecificInfo_01; /* T_modeSpecificInfo_01 */
276 static int hf_ilp_fdd_01; /* T_fdd_01 */
277 static int hf_ilp_tdd_01; /* T_tdd_01 */
278 static int hf_ilp_ganss_TODUncertainty; /* INTEGER_0_127 */
279 static int hf_ilp_gps; /* BOOLEAN */
280 static int hf_ilp_galileo; /* BOOLEAN */
281 static int hf_ilp_sbas; /* BOOLEAN */
282 static int hf_ilp_modernized_gps; /* BOOLEAN */
283 static int hf_ilp_qzss; /* BOOLEAN */
284 static int hf_ilp_glonass; /* BOOLEAN */
285 static int hf_ilp_bds; /* BOOLEAN */
286 static int hf_ilp_timestamp; /* UTCTime */
287 static int hf_ilp_positionEstimate; /* PositionEstimate */
288 static int hf_ilp_latitudeSign; /* T_latitudeSign */
289 static int hf_ilp_latitude; /* INTEGER_0_8388607 */
290 static int hf_ilp_longitude; /* INTEGER_M8388608_8388607 */
291 static int hf_ilp_uncertainty; /* T_uncertainty */
292 static int hf_ilp_uncertaintySemiMajor; /* INTEGER_0_127 */
293 static int hf_ilp_uncertaintySemiMinor; /* INTEGER_0_127 */
294 static int hf_ilp_orientationMajorAxis; /* INTEGER_0_180 */
295 static int hf_ilp_confidence; /* INTEGER_0_100 */
296 static int hf_ilp_altitudeInfo; /* AltitudeInfo */
297 static int hf_ilp_altitudeDirection; /* T_altitudeDirection */
298 static int hf_ilp_altitude; /* INTEGER_0_32767 */
299 static int hf_ilp_altUncertainty; /* INTEGER_0_127 */
300 static int hf_ilp_refNID; /* INTEGER_0_65535 */
301 static int hf_ilp_refSID; /* INTEGER_0_32767 */
302 static int hf_ilp_refBASEID; /* INTEGER_0_65535 */
303 static int hf_ilp_refBASELAT; /* INTEGER_0_4194303 */
304 static int hf_ilp_reBASELONG; /* INTEGER_0_8388607 */
305 static int hf_ilp_refREFPN; /* INTEGER_0_511 */
306 static int hf_ilp_refWeekNumber; /* INTEGER_0_65535 */
307 static int hf_ilp_refSeconds; /* INTEGER_0_4194303 */
308 static int hf_ilp_refMCC; /* INTEGER_0_999 */
309 static int hf_ilp_refMNC; /* INTEGER_0_999 */
310 static int hf_ilp_refLAC; /* INTEGER_0_65535 */
311 static int hf_ilp_refCI; /* INTEGER_0_65535 */
312 static int hf_ilp_nmr; /* NMR */
313 static int hf_ilp_ta; /* INTEGER_0_255 */
314 static int hf_ilp_refUC; /* INTEGER_0_268435455 */
315 static int hf_ilp_frequencyInfo; /* FrequencyInfo */
316 static int hf_ilp_primaryScramblingCode; /* INTEGER_0_511 */
317 static int hf_ilp_measuredResultsList; /* MeasuredResultsList */
318 static int hf_ilp_cellParametersId; /* INTEGER_0_127 */
319 static int hf_ilp_timingAdvance; /* TimingAdvance */
320 static int hf_ilp_ta_01; /* INTEGER_0_8191 */
321 static int hf_ilp_tAResolution; /* TAResolution */
322 static int hf_ilp_chipRate; /* ChipRate */
323 static int hf_ilp_refSECTORID; /* BIT_STRING_SIZE_128 */
324 static int hf_ilp_cellGlobalIdEUTRA; /* CellGlobalIdEUTRA */
325 static int hf_ilp_physCellId; /* PhysCellId */
326 static int hf_ilp_trackingAreaCode; /* TrackingAreaCode */
327 static int hf_ilp_rsrpResult; /* RSRP_Range */
328 static int hf_ilp_rsrqResult; /* RSRQ_Range */
329 static int hf_ilp_ta_02; /* INTEGER_0_1282 */
330 static int hf_ilp_measResultListEUTRA; /* MeasResultListEUTRA */
331 static int hf_ilp_earfcn; /* INTEGER_0_65535 */
332 static int hf_ilp_earfcn_ext; /* INTEGER_65536_262143 */
333 static int hf_ilp_rsrpResult_ext; /* RSRP_Range_Ext */
334 static int hf_ilp_rsrqResult_ext; /* RSRQ_Range_Ext */
335 static int hf_ilp_rs_sinrResult; /* RS_SINR_Range */
336 static int hf_ilp_servingInformation5G; /* ServingInformation5G */
337 static int hf_ilp_MeasResultListEUTRA_item; /* MeasResultEUTRA */
338 static int hf_ilp_cgi_Info; /* T_cgi_Info */
339 static int hf_ilp_cellGlobalId; /* CellGlobalIdEUTRA */
340 static int hf_ilp_measResult; /* T_measResult */
341 static int hf_ilp_neighbourInformation5G; /* NeighbourInformation5G */
342 static int hf_ilp_plmn_Identity; /* PLMN_Identity */
343 static int hf_ilp_eutra_cellIdentity; /* CellIdentity */
344 static int hf_ilp_mcc; /* MCC */
345 static int hf_ilp_mnc; /* MNC */
346 static int hf_ilp_MCC_item; /* MCC_MNC_Digit */
347 static int hf_ilp_MNC_item; /* MCC_MNC_Digit */
348 static int hf_ilp_trackingAreaCode_01; /* TrackingAreaCodeNR */
349 static int hf_ilp_apMACAddress; /* BIT_STRING_SIZE_48 */
350 static int hf_ilp_apTransmitPower; /* INTEGER_M127_128 */
351 static int hf_ilp_apAntennaGain; /* INTEGER_M127_128 */
352 static int hf_ilp_apSignaltoNoise; /* INTEGER_M127_128 */
353 static int hf_ilp_apDeviceType; /* T_apDeviceType */
354 static int hf_ilp_apSignalStrength; /* INTEGER_M127_128 */
355 static int hf_ilp_apChannelFrequency; /* INTEGER_0_256 */
356 static int hf_ilp_apRoundTripDelay; /* RTD */
357 static int hf_ilp_setTransmitPower; /* INTEGER_M127_128 */
358 static int hf_ilp_setAntennaGain; /* INTEGER_M127_128 */
359 static int hf_ilp_setSignaltoNoise; /* INTEGER_M127_128 */
360 static int hf_ilp_setSignalStrength; /* INTEGER_M127_128 */
361 static int hf_ilp_apReportedLocation; /* ReportedLocation */
362 static int hf_ilp_apRepLocation; /* RepLocation */
363 static int hf_ilp_apSignalStrengthDelta; /* INTEGER_0_1 */
364 static int hf_ilp_apSignaltoNoiseDelta; /* INTEGER_0_1 */
365 static int hf_ilp_setSignalStrengthDelta; /* INTEGER_0_1 */
366 static int hf_ilp_setSignaltoNoiseDelta; /* INTEGER_0_1 */
367 static int hf_ilp_operatingClass; /* INTEGER_0_255 */
368 static int hf_ilp_apSSID; /* OCTET_STRING_SIZE_1_32 */
369 static int hf_ilp_apPHYType; /* T_apPHYType */
370 static int hf_ilp_setMACAddress; /* BIT_STRING_SIZE_48 */
371 static int hf_ilp_rTDValue; /* INTEGER_0_16777216 */
372 static int hf_ilp_rTDUnits; /* RTDUnits */
373 static int hf_ilp_rTDAccuracy; /* INTEGER_0_255 */
374 static int hf_ilp_locationEncodingDescriptor; /* LocationEncodingDescriptor */
375 static int hf_ilp_locationData; /* LocationData */
376 static int hf_ilp_locationAccuracy; /* INTEGER_0_4294967295 */
377 static int hf_ilp_locationValue; /* OCTET_STRING_SIZE_1_128 */
378 static int hf_ilp_lciLocData; /* LciLocData */
379 static int hf_ilp_locationDataLCI; /* LocationDataLCI */
380 static int hf_ilp_latitudeResolution; /* BIT_STRING_SIZE_6 */
381 static int hf_ilp_LocationDataLCI_latitude; /* BIT_STRING_SIZE_34 */
382 static int hf_ilp_longitudeResolution; /* BIT_STRING_SIZE_6 */
383 static int hf_ilp_LocationDataLCI_longitude; /* BIT_STRING_SIZE_34 */
384 static int hf_ilp_altitudeType; /* BIT_STRING_SIZE_4 */
385 static int hf_ilp_altitudeResolution; /* BIT_STRING_SIZE_6 */
386 static int hf_ilp_LocationDataLCI_altitude; /* BIT_STRING_SIZE_30 */
387 static int hf_ilp_datum; /* BIT_STRING_SIZE_8 */
388 static int hf_ilp_wimaxBsID; /* WimaxBsID */
389 static int hf_ilp_wimaxRTD; /* WimaxRTD */
390 static int hf_ilp_wimaxNMRList; /* WimaxNMRList */
391 static int hf_ilp_bsID_MSB; /* BIT_STRING_SIZE_24 */
392 static int hf_ilp_bsID_LSB; /* BIT_STRING_SIZE_24 */
393 static int hf_ilp_rtd; /* INTEGER_0_65535 */
394 static int hf_ilp_rTDstd; /* INTEGER_0_1023 */
395 static int hf_ilp_WimaxNMRList_item; /* WimaxNMR */
396 static int hf_ilp_relDelay; /* INTEGER_M32768_32767 */
397 static int hf_ilp_relDelaystd; /* INTEGER_0_1023 */
398 static int hf_ilp_rssi; /* INTEGER_0_255 */
399 static int hf_ilp_rSSIstd; /* INTEGER_0_63 */
400 static int hf_ilp_bSTxPower; /* INTEGER_0_255 */
401 static int hf_ilp_cinr; /* INTEGER_0_255 */
402 static int hf_ilp_cINRstd; /* INTEGER_0_63 */
403 static int hf_ilp_bSLocation; /* ReportedLocation */
404 static int hf_ilp_servingCellInformation; /* ServingCellInformationNR */
405 static int hf_ilp_measuredResultsListNR; /* MeasResultListNR */
406 static int hf_ilp_ServingCellInformationNR_item; /* ServCellNR */
407 static int hf_ilp_physCellId_01; /* PhysCellIdNR */
408 static int hf_ilp_arfcn_NR; /* ARFCN_NR */
409 static int hf_ilp_cellGlobalId_01; /* CellGlobalIdNR */
410 static int hf_ilp_ssb_Measurements; /* NR_Measurements */
411 static int hf_ilp_csi_rs_Measurements; /* NR_Measurements */
412 static int hf_ilp_ta_03; /* INTEGER_0_3846 */
413 static int hf_ilp_MeasResultListNR_item; /* MeasResultNR */
414 static int hf_ilp_cellIdentityNR; /* CellIdentityNR */
415 static int hf_ilp_rsrp_Range; /* INTEGER_0_127 */
416 static int hf_ilp_rsrq_Range; /* INTEGER_0_127 */
417 static int hf_ilp_sinr_Range; /* INTEGER_0_127 */
418 static int hf_ilp_modeSpecificFrequencyInfo; /* FrequencySpecificInfo */
419 static int hf_ilp_fdd_fr; /* FrequencyInfoFDD */
420 static int hf_ilp_tdd_fr; /* FrequencyInfoTDD */
421 static int hf_ilp_uarfcn_UL; /* UARFCN */
422 static int hf_ilp_uarfcn_DL; /* UARFCN */
423 static int hf_ilp_uarfcn_Nt; /* UARFCN */
424 static int hf_ilp_NMR_item; /* NMRelement */
425 static int hf_ilp_arfcn; /* INTEGER_0_1023 */
426 static int hf_ilp_bsic; /* INTEGER_0_63 */
427 static int hf_ilp_rxLev; /* INTEGER_0_63 */
428 static int hf_ilp_MeasuredResultsList_item; /* MeasuredResults */
429 static int hf_ilp_utra_CarrierRSSI; /* UTRA_CarrierRSSI */
430 static int hf_ilp_cellMeasuredResultsList; /* CellMeasuredResultsList */
431 static int hf_ilp_CellMeasuredResultsList_item; /* CellMeasuredResults */
432 static int hf_ilp_cellIdentity; /* INTEGER_0_268435455 */
433 static int hf_ilp_modeSpecificInfo_02; /* T_modeSpecificInfo_02 */
434 static int hf_ilp_fdd_02; /* T_fdd_02 */
435 static int hf_ilp_primaryCPICH_Info; /* PrimaryCPICH_Info */
436 static int hf_ilp_cpich_Ec_N0; /* CPICH_Ec_N0 */
437 static int hf_ilp_cpich_RSCP; /* CPICH_RSCP */
438 static int hf_ilp_pathloss; /* Pathloss */
439 static int hf_ilp_tdd_02; /* T_tdd_02 */
440 static int hf_ilp_cellParametersID; /* CellParametersID */
441 static int hf_ilp_proposedTGSN; /* TGSN */
442 static int hf_ilp_primaryCCPCH_RSCP; /* PrimaryCCPCH_RSCP */
443 static int hf_ilp_timeslotISCP_List; /* TimeslotISCP_List */
444 static int hf_ilp_TimeslotISCP_List_item; /* TimeslotISCP */
445 static int hf_ilp_utran_GPSReferenceTime; /* UTRAN_GPSReferenceTime */
446 static int hf_ilp_utranGPSDriftRate; /* UTRANGPSDriftRate */
447 static int hf_ilp_utran_GPSTimingOfCell; /* T_utran_GPSTimingOfCell */
448 static int hf_ilp_ms_part_02; /* INTEGER_0_1023 */
449 static int hf_ilp_modeSpecificInfo_03; /* T_modeSpecificInfo_03 */
450 static int hf_ilp_fdd_03; /* T_fdd_03 */
451 static int hf_ilp_tdd_03; /* T_tdd_03 */
452 static int hf_ilp_utran_GANSSReferenceTime; /* UTRAN_GANSSReferenceTime */
453 static int hf_ilp_ganssDay; /* INTEGER_0_8191 */
454 static int hf_ilp_utranGANSSDriftRate; /* UTRANGANSSDriftRate */
455 static int hf_ilp_ganssTOD; /* INTEGER_0_86399 */
456 static int hf_ilp_utran_GANSSTimingOfCell; /* INTEGER_0_3999999 */
457 static int hf_ilp_modeSpecificInfo_04; /* T_modeSpecificInfo_04 */
458 static int hf_ilp_fdd_04; /* T_fdd_04 */
459 static int hf_ilp_tdd_04; /* T_tdd_04 */
460 static int hf_ilp_horacc; /* INTEGER_0_127 */
461 static int hf_ilp_veracc; /* INTEGER_0_127 */
462 static int hf_ilp_maxLocAge; /* INTEGER_0_65535 */
463 static int hf_ilp_delay; /* INTEGER_0_7 */
464 static int hf_ilp_ver2_responseTime; /* INTEGER_1_128 */
465 static int hf_ilp_horvel; /* Horvel */
466 static int hf_ilp_horandvervel; /* Horandvervel */
467 static int hf_ilp_horveluncert; /* Horveluncert */
468 static int hf_ilp_horandveruncert; /* Horandveruncert */
469 static int hf_ilp_bearing; /* BIT_STRING_SIZE_9 */
470 static int hf_ilp_horspeed; /* BIT_STRING_SIZE_16 */
471 static int hf_ilp_verdirect; /* BIT_STRING_SIZE_1 */
472 static int hf_ilp_verspeed; /* BIT_STRING_SIZE_8 */
473 static int hf_ilp_uncertspeed; /* BIT_STRING_SIZE_8 */
474 static int hf_ilp_horuncertspeed; /* BIT_STRING_SIZE_8 */
475 static int hf_ilp_veruncertspeed; /* BIT_STRING_SIZE_8 */
476 static int hf_ilp_rand; /* BIT_STRING_SIZE_128 */
477 static int hf_ilp_slpFQDN; /* FQDN */
478 static int hf_ilp_rrcPayload; /* OCTET_STRING_SIZE_1_8192 */
479 static int hf_ilp_rrlpPayload; /* T_rrlpPayload */
480 static int hf_ilp_multiPosPayload; /* MultiPosPayLoad */
481 static int hf_ilp_lPPPayload; /* T_lPPPayload */
482 static int hf_ilp_lPPPayload_item; /* T_lPPPayload_item */
483 static int hf_ilp_tia801Payload; /* T_tia801Payload */
484 static int hf_ilp_tia801Payload_item; /* OCTET_STRING_SIZE_1_60000 */
485 /* named bits */
486 static int hf_ilp_GANSSSignals_signal1;
487 static int hf_ilp_GANSSSignals_signal2;
488 static int hf_ilp_GANSSSignals_signal3;
489 static int hf_ilp_GANSSSignals_signal4;
490 static int hf_ilp_GANSSSignals_signal5;
491 static int hf_ilp_GANSSSignals_signal6;
492 static int hf_ilp_GANSSSignals_signal7;
493 static int hf_ilp_GANSSSignals_signal8;
494 static int hf_ilp_T_addPosMode_standalone;
495 static int hf_ilp_T_addPosMode_setBased;
496 static int hf_ilp_T_addPosMode_setAssisted;
497 static int hf_ilp_mobile_directory_number;
499 /* Initialize the subtree pointers */
500 static int ett_ilp;
501 static int ett_ilp_setid;
502 static int ett_ilp_ILP_PDU;
503 static int ett_ilp_IlpMessage;
504 static int ett_ilp_PREQ;
505 static int ett_ilp_TriggerParams;
506 static int ett_ilp_PeriodicTriggerParams;
507 static int ett_ilp_PRES;
508 static int ett_ilp_PRPT;
509 static int ett_ilp_PLREQ;
510 static int ett_ilp_PLRES;
511 static int ett_ilp_PositionResults;
512 static int ett_ilp_PositionResult;
513 static int ett_ilp_PINIT;
514 static int ett_ilp_RequestedAssistData;
515 static int ett_ilp_ExtendedEphemeris;
516 static int ett_ilp_ExtendedEphCheck;
517 static int ett_ilp_GPSTime;
518 static int ett_ilp_GanssRequestedCommonAssistanceDataList;
519 static int ett_ilp_GanssRequestedGenericAssistanceDataList;
520 static int ett_ilp_GanssReqGenericData;
521 static int ett_ilp_GanssNavigationModelData;
522 static int ett_ilp_SatellitesListRelatedDataList;
523 static int ett_ilp_SatellitesListRelatedData;
524 static int ett_ilp_GanssDataBits;
525 static int ett_ilp_ReqDataBitAssistanceList;
526 static int ett_ilp_T_ganssDataBitSatList;
527 static int ett_ilp_GanssAdditionalDataChoices;
528 static int ett_ilp_GanssExtendedEphCheck;
529 static int ett_ilp_GANSSextEphTime;
530 static int ett_ilp_NavigationModel;
531 static int ett_ilp_SatelliteInfo;
532 static int ett_ilp_SatelliteInfoElement;
533 static int ett_ilp_PAUTH;
534 static int ett_ilp_PALIVE;
535 static int ett_ilp_PEND;
536 static int ett_ilp_PMESS;
537 static int ett_ilp_Version;
538 static int ett_ilp_SessionID2;
539 static int ett_ilp_SetSessionID;
540 static int ett_ilp_SETId;
541 static int ett_ilp_SlcSessionID;
542 static int ett_ilp_SpcSessionID;
543 static int ett_ilp_IPAddress;
544 static int ett_ilp_NodeAddress;
545 static int ett_ilp_LocationId;
546 static int ett_ilp_MultipleLocationIds;
547 static int ett_ilp_LocationIdData;
548 static int ett_ilp_SETCapabilities;
549 static int ett_ilp_PosTechnology;
550 static int ett_ilp_GANSSPositionMethods;
551 static int ett_ilp_GANSSPositionMethod;
552 static int ett_ilp_GANSSPositioningMethodTypes;
553 static int ett_ilp_GANSSSignals;
554 static int ett_ilp_AdditionalPositioningMethods;
555 static int ett_ilp_AddPosSupport_Element;
556 static int ett_ilp_T_addPosMode;
557 static int ett_ilp_PosProtocol;
558 static int ett_ilp_PosProtocolVersion3GPP;
559 static int ett_ilp_PosProtocolVersion3GPP2;
560 static int ett_ilp_Supported3GPP2PosProtocolVersion;
561 static int ett_ilp_PosProtocolVersionOMA;
562 static int ett_ilp_SupportedBearers;
563 static int ett_ilp_CellInfo;
564 static int ett_ilp_UTRAN_GPSReferenceTimeResult;
565 static int ett_ilp_T_set_GPSTimingOfCell;
566 static int ett_ilp_T_modeSpecificInfo;
567 static int ett_ilp_T_fdd;
568 static int ett_ilp_T_tdd;
569 static int ett_ilp_UTRAN_GANSSReferenceTimeResult;
570 static int ett_ilp_SET_GANSSReferenceTime;
571 static int ett_ilp_T_set_GANSSTimingOfCell;
572 static int ett_ilp_T_modeSpecificInfo_01;
573 static int ett_ilp_T_fdd_01;
574 static int ett_ilp_T_tdd_01;
575 static int ett_ilp_GNSSPosTechnology;
576 static int ett_ilp_Position;
577 static int ett_ilp_PositionEstimate;
578 static int ett_ilp_T_uncertainty;
579 static int ett_ilp_AltitudeInfo;
580 static int ett_ilp_CdmaCellInformation;
581 static int ett_ilp_GsmCellInformation;
582 static int ett_ilp_WcdmaCellInformation;
583 static int ett_ilp_TimingAdvance;
584 static int ett_ilp_HrpdCellInformation;
585 static int ett_ilp_UmbCellInformation;
586 static int ett_ilp_LteCellInformation;
587 static int ett_ilp_MeasResultListEUTRA;
588 static int ett_ilp_MeasResultEUTRA;
589 static int ett_ilp_T_cgi_Info;
590 static int ett_ilp_T_measResult;
591 static int ett_ilp_CellGlobalIdEUTRA;
592 static int ett_ilp_PLMN_Identity;
593 static int ett_ilp_MCC;
594 static int ett_ilp_MNC;
595 static int ett_ilp_ServingInformation5G;
596 static int ett_ilp_NeighbourInformation5G;
597 static int ett_ilp_WlanAPInformation;
598 static int ett_ilp_RTD;
599 static int ett_ilp_ReportedLocation;
600 static int ett_ilp_LocationData;
601 static int ett_ilp_RepLocation;
602 static int ett_ilp_LciLocData;
603 static int ett_ilp_LocationDataLCI;
604 static int ett_ilp_WimaxBSInformation;
605 static int ett_ilp_WimaxBsID;
606 static int ett_ilp_WimaxRTD;
607 static int ett_ilp_WimaxNMRList;
608 static int ett_ilp_WimaxNMR;
609 static int ett_ilp_NRCellInformation;
610 static int ett_ilp_ServingCellInformationNR;
611 static int ett_ilp_ServCellNR;
612 static int ett_ilp_MeasResultListNR;
613 static int ett_ilp_MeasResultNR;
614 static int ett_ilp_CellGlobalIdNR;
615 static int ett_ilp_NR_Measurements;
616 static int ett_ilp_FrequencyInfo;
617 static int ett_ilp_FrequencySpecificInfo;
618 static int ett_ilp_FrequencyInfoFDD;
619 static int ett_ilp_FrequencyInfoTDD;
620 static int ett_ilp_NMR;
621 static int ett_ilp_NMRelement;
622 static int ett_ilp_MeasuredResultsList;
623 static int ett_ilp_MeasuredResults;
624 static int ett_ilp_CellMeasuredResultsList;
625 static int ett_ilp_CellMeasuredResults;
626 static int ett_ilp_T_modeSpecificInfo_02;
627 static int ett_ilp_T_fdd_02;
628 static int ett_ilp_T_tdd_02;
629 static int ett_ilp_TimeslotISCP_List;
630 static int ett_ilp_PrimaryCPICH_Info;
631 static int ett_ilp_UTRAN_GPSReferenceTimeAssistance;
632 static int ett_ilp_UTRAN_GPSReferenceTime;
633 static int ett_ilp_T_utran_GPSTimingOfCell;
634 static int ett_ilp_T_modeSpecificInfo_03;
635 static int ett_ilp_T_fdd_03;
636 static int ett_ilp_T_tdd_03;
637 static int ett_ilp_UTRAN_GANSSReferenceTimeAssistance;
638 static int ett_ilp_UTRAN_GANSSReferenceTime;
639 static int ett_ilp_T_modeSpecificInfo_04;
640 static int ett_ilp_T_fdd_04;
641 static int ett_ilp_T_tdd_04;
642 static int ett_ilp_QoP;
643 static int ett_ilp_Velocity;
644 static int ett_ilp_Horvel;
645 static int ett_ilp_Horandvervel;
646 static int ett_ilp_Horveluncert;
647 static int ett_ilp_Horandveruncert;
648 static int ett_ilp_SPCTID;
649 static int ett_ilp_PosPayLoad;
650 static int ett_ilp_MultiPosPayLoad;
651 static int ett_ilp_T_lPPPayload;
652 static int ett_ilp_T_tia801Payload;
654 /* Include constants */
655 #define maxGANSS 16
656 #define maxGANSSSat 32
657 #define maxLidSize 64
658 #define maxCellReport 8
659 #define maxWimaxBSMeas 32
660 #define maxNRServingCell 32
661 #define maxCellReportNR 32
662 #define maxCellMeas 32
663 #define maxFreq 8
664 #define maxTS 14
665 #define maxPosSize 1024
670 static int
671 dissect_ilp_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
672 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
673 0U, 65535U, NULL, false);
675 return offset;
680 static int
681 dissect_ilp_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
682 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
683 0U, 255U, NULL, false);
685 return offset;
689 static const per_sequence_t Version_sequence[] = {
690 { &hf_ilp_maj , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
691 { &hf_ilp_min , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
692 { &hf_ilp_servind , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
693 { NULL, 0, 0, NULL }
696 static int
697 dissect_ilp_Version(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
698 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
699 ett_ilp_Version, Version_sequence);
701 return offset;
706 static int
707 dissect_ilp_OCTET_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
708 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
709 4, 4, false, NULL);
711 return offset;
716 static int
717 dissect_ilp_OCTET_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
718 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
719 16, 16, false, NULL);
721 return offset;
725 static const value_string ilp_IPAddress_vals[] = {
726 { 0, "ipv4Address" },
727 { 1, "ipv6Address" },
728 { 0, NULL }
731 static const per_choice_t IPAddress_choice[] = {
732 { 0, &hf_ilp_ipv4Address , ASN1_NO_EXTENSIONS , dissect_ilp_OCTET_STRING_SIZE_4 },
733 { 1, &hf_ilp_ipv6Address , ASN1_NO_EXTENSIONS , dissect_ilp_OCTET_STRING_SIZE_16 },
734 { 0, NULL, 0, NULL }
737 static int
738 dissect_ilp_IPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
739 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
740 ett_ilp_IPAddress, IPAddress_choice,
741 NULL);
743 return offset;
748 static int
749 dissect_ilp_FQDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
750 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
751 1, 255, false, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-", 64,
752 NULL);
754 return offset;
758 static const value_string ilp_NodeAddress_vals[] = {
759 { 0, "iPAddress" },
760 { 1, "fqdn" },
761 { 0, NULL }
764 static const per_choice_t NodeAddress_choice[] = {
765 { 0, &hf_ilp_iPAddress , ASN1_EXTENSION_ROOT , dissect_ilp_IPAddress },
766 { 1, &hf_ilp_fqdn , ASN1_EXTENSION_ROOT , dissect_ilp_FQDN },
767 { 0, NULL, 0, NULL }
770 static int
771 dissect_ilp_NodeAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
772 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
773 ett_ilp_NodeAddress, NodeAddress_choice,
774 NULL);
776 return offset;
780 static const per_sequence_t SlcSessionID_sequence[] = {
781 { &hf_ilp_sessionID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_OCTET_STRING_SIZE_4 },
782 { &hf_ilp_slcId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_NodeAddress },
783 { NULL, 0, 0, NULL }
786 static int
787 dissect_ilp_SlcSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
788 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
789 ett_ilp_SlcSessionID, SlcSessionID_sequence);
791 return offset;
796 static int
797 dissect_ilp_T_msisdn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
798 tvbuff_t *msisdn_tvb;
799 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
800 8, 8, false, &msisdn_tvb);
802 if (msisdn_tvb) {
803 proto_tree *subtree;
805 subtree = proto_item_add_subtree(actx->created_item, ett_ilp_setid);
806 dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
810 return offset;
815 static int
816 dissect_ilp_T_mdn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
817 tvbuff_t *mdn_tvb;
818 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
819 8, 8, false, &mdn_tvb);
821 if (mdn_tvb) {
822 proto_tree *subtree;
824 subtree = proto_item_add_subtree(actx->created_item, ett_ilp_setid);
825 proto_tree_add_item(subtree, hf_ilp_mobile_directory_number, mdn_tvb, 0, 8, ENC_BCD_DIGITS_0_9|ENC_LITTLE_ENDIAN);
829 return offset;
834 static int
835 dissect_ilp_BIT_STRING_SIZE_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
836 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
837 34, 34, false, NULL, 0, NULL, NULL);
839 return offset;
844 static int
845 dissect_ilp_T_imsi(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
846 tvbuff_t *imsi_tvb;
847 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
848 8, 8, false, &imsi_tvb);
850 if (imsi_tvb) {
851 proto_tree *subtree;
853 subtree = proto_item_add_subtree(actx->created_item, ett_ilp_setid);
854 dissect_e212_imsi(imsi_tvb, actx->pinfo, subtree, 0, 8, false);
858 return offset;
863 static int
864 dissect_ilp_IA5String_SIZE_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
865 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
866 1, 1000, false,
867 NULL);
869 return offset;
874 static int
875 dissect_ilp_OCTET_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
876 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
877 8, 8, false, NULL);
879 return offset;
883 static const value_string ilp_SETId_vals[] = {
884 { 0, "msisdn" },
885 { 1, "mdn" },
886 { 2, "min" },
887 { 3, "imsi" },
888 { 4, "nai" },
889 { 5, "iPAddress" },
890 { 6, "imei" },
891 { 0, NULL }
894 static const per_choice_t SETId_choice[] = {
895 { 0, &hf_ilp_msisdn , ASN1_EXTENSION_ROOT , dissect_ilp_T_msisdn },
896 { 1, &hf_ilp_mdn , ASN1_EXTENSION_ROOT , dissect_ilp_T_mdn },
897 { 2, &hf_ilp_minsi , ASN1_EXTENSION_ROOT , dissect_ilp_BIT_STRING_SIZE_34 },
898 { 3, &hf_ilp_imsi , ASN1_EXTENSION_ROOT , dissect_ilp_T_imsi },
899 { 4, &hf_ilp_nai , ASN1_EXTENSION_ROOT , dissect_ilp_IA5String_SIZE_1_1000 },
900 { 5, &hf_ilp_iPAddress , ASN1_EXTENSION_ROOT , dissect_ilp_IPAddress },
901 { 6, &hf_ilp_imei , ASN1_NOT_EXTENSION_ROOT, dissect_ilp_OCTET_STRING_SIZE_8 },
902 { 0, NULL, 0, NULL }
905 static int
906 dissect_ilp_SETId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
907 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
908 ett_ilp_SETId, SETId_choice,
909 NULL);
911 return offset;
915 static const per_sequence_t SetSessionID_sequence[] = {
916 { &hf_ilp_sessionId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
917 { &hf_ilp_setId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_SETId },
918 { NULL, 0, 0, NULL }
921 static int
922 dissect_ilp_SetSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
923 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
924 ett_ilp_SetSessionID, SetSessionID_sequence);
926 return offset;
930 static const per_sequence_t SpcSessionID_sequence[] = {
931 { &hf_ilp_sessionID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_OCTET_STRING_SIZE_4 },
932 { &hf_ilp_spcId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_NodeAddress },
933 { NULL, 0, 0, NULL }
936 static int
937 dissect_ilp_SpcSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
938 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
939 ett_ilp_SpcSessionID, SpcSessionID_sequence);
941 return offset;
945 static const per_sequence_t SessionID2_sequence[] = {
946 { &hf_ilp_slcSessionID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_SlcSessionID },
947 { &hf_ilp_setSessionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_SetSessionID },
948 { &hf_ilp_spcSessionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_SpcSessionID },
949 { NULL, 0, 0, NULL }
952 static int
953 dissect_ilp_SessionID2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
954 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
955 ett_ilp_SessionID2, SessionID2_sequence);
957 return offset;
961 static const value_string ilp_SLPMode_vals[] = {
962 { 0, "proxy" },
963 { 1, "nonProxy" },
964 { 0, NULL }
968 static int
969 dissect_ilp_SLPMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
970 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
971 2, NULL, false, 0, NULL);
973 return offset;
978 static int
979 dissect_ilp_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
980 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
982 return offset;
987 static int
988 dissect_ilp_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
989 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
990 0U, 15U, NULL, false);
992 return offset;
997 static int
998 dissect_ilp_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
999 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1000 3, 3, false, NULL, 0, NULL, NULL);
1002 return offset;
1006 static const per_sequence_t GANSSPositioningMethodTypes_sequence[] = {
1007 { &hf_ilp_setAssisted , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1008 { &hf_ilp_setBased , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1009 { &hf_ilp_autonomous , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1010 { NULL, 0, 0, NULL }
1013 static int
1014 dissect_ilp_GANSSPositioningMethodTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1015 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1016 ett_ilp_GANSSPositioningMethodTypes, GANSSPositioningMethodTypes_sequence);
1018 return offset;
1022 static int * const GANSSSignals_bits[] = {
1023 &hf_ilp_GANSSSignals_signal1,
1024 &hf_ilp_GANSSSignals_signal2,
1025 &hf_ilp_GANSSSignals_signal3,
1026 &hf_ilp_GANSSSignals_signal4,
1027 &hf_ilp_GANSSSignals_signal5,
1028 &hf_ilp_GANSSSignals_signal6,
1029 &hf_ilp_GANSSSignals_signal7,
1030 &hf_ilp_GANSSSignals_signal8,
1031 NULL
1034 static int
1035 dissect_ilp_GANSSSignals(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1036 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1037 1, 8, false, GANSSSignals_bits, 8, NULL, NULL);
1039 return offset;
1043 static const per_sequence_t GANSSPositionMethod_sequence[] = {
1044 { &hf_ilp_ganssId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_15 },
1045 { &hf_ilp_ganssSBASid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_BIT_STRING_SIZE_3 },
1046 { &hf_ilp_gANSSPositioningMethodTypes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_GANSSPositioningMethodTypes },
1047 { &hf_ilp_gANSSSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_GANSSSignals },
1048 { NULL, 0, 0, NULL }
1051 static int
1052 dissect_ilp_GANSSPositionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1053 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1054 ett_ilp_GANSSPositionMethod, GANSSPositionMethod_sequence);
1056 return offset;
1060 static const per_sequence_t GANSSPositionMethods_sequence_of[1] = {
1061 { &hf_ilp_GANSSPositionMethods_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_GANSSPositionMethod },
1064 static int
1065 dissect_ilp_GANSSPositionMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1066 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1067 ett_ilp_GANSSPositionMethods, GANSSPositionMethods_sequence_of,
1068 1, 16, false);
1070 return offset;
1074 static const value_string ilp_T_addPosID_vals[] = {
1075 { 0, "mBS" },
1076 { 0, NULL }
1080 static int
1081 dissect_ilp_T_addPosID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1082 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1083 1, NULL, true, 0, NULL);
1085 return offset;
1089 static int * const T_addPosMode_bits[] = {
1090 &hf_ilp_T_addPosMode_standalone,
1091 &hf_ilp_T_addPosMode_setBased,
1092 &hf_ilp_T_addPosMode_setAssisted,
1093 NULL
1096 static int
1097 dissect_ilp_T_addPosMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1098 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1099 1, 8, false, T_addPosMode_bits, 3, NULL, NULL);
1101 return offset;
1105 static const per_sequence_t AddPosSupport_Element_sequence[] = {
1106 { &hf_ilp_addPosID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_T_addPosID },
1107 { &hf_ilp_addPosMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_addPosMode },
1108 { NULL, 0, 0, NULL }
1111 static int
1112 dissect_ilp_AddPosSupport_Element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1113 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1114 ett_ilp_AddPosSupport_Element, AddPosSupport_Element_sequence);
1116 return offset;
1120 static const per_sequence_t AdditionalPositioningMethods_sequence_of[1] = {
1121 { &hf_ilp_AdditionalPositioningMethods_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_AddPosSupport_Element },
1124 static int
1125 dissect_ilp_AdditionalPositioningMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1126 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1127 ett_ilp_AdditionalPositioningMethods, AdditionalPositioningMethods_sequence_of,
1128 1, 8, false);
1130 return offset;
1134 static const per_sequence_t PosTechnology_sequence[] = {
1135 { &hf_ilp_agpsSETassisted , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1136 { &hf_ilp_agpsSETBased , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1137 { &hf_ilp_autonomousGPS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1138 { &hf_ilp_aflt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1139 { &hf_ilp_ecid , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1140 { &hf_ilp_eotd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1141 { &hf_ilp_otdoa , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
1142 { &hf_ilp_gANSSPositionMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GANSSPositionMethods },
1143 { &hf_ilp_additionalPositioningMethods, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_AdditionalPositioningMethods },
1144 { NULL, 0, 0, NULL }
1147 static int
1148 dissect_ilp_PosTechnology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1149 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1150 ett_ilp_PosTechnology, PosTechnology_sequence);
1152 return offset;
1157 static int
1158 dissect_ilp_INTEGER_0_999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1159 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1160 0U, 999U, NULL, false);
1162 return offset;
1167 static int
1168 dissect_ilp_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1169 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1170 0U, 1023U, NULL, false);
1172 return offset;
1177 static int
1178 dissect_ilp_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1179 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1180 0U, 63U, NULL, false);
1182 return offset;
1186 static const per_sequence_t NMRelement_sequence[] = {
1187 { &hf_ilp_arfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_1023 },
1188 { &hf_ilp_bsic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_63 },
1189 { &hf_ilp_rxLev , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_63 },
1190 { NULL, 0, 0, NULL }
1193 static int
1194 dissect_ilp_NMRelement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1195 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1196 ett_ilp_NMRelement, NMRelement_sequence);
1198 return offset;
1202 static const per_sequence_t NMR_sequence_of[1] = {
1203 { &hf_ilp_NMR_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_NMRelement },
1206 static int
1207 dissect_ilp_NMR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1208 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1209 ett_ilp_NMR, NMR_sequence_of,
1210 1, 15, false);
1212 return offset;
1216 static const per_sequence_t GsmCellInformation_sequence[] = {
1217 { &hf_ilp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_999 },
1218 { &hf_ilp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_999 },
1219 { &hf_ilp_refLAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
1220 { &hf_ilp_refCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
1221 { &hf_ilp_nmr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_NMR },
1222 { &hf_ilp_ta , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_255 },
1223 { NULL, 0, 0, NULL }
1226 static int
1227 dissect_ilp_GsmCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1228 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1229 ett_ilp_GsmCellInformation, GsmCellInformation_sequence);
1231 return offset;
1236 static int
1237 dissect_ilp_INTEGER_0_268435455(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1238 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1239 0U, 268435455U, NULL, false);
1241 return offset;
1246 static int
1247 dissect_ilp_UARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1248 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1249 0U, 16383U, NULL, false);
1251 return offset;
1255 static const per_sequence_t FrequencyInfoFDD_sequence[] = {
1256 { &hf_ilp_uarfcn_UL , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_UARFCN },
1257 { &hf_ilp_uarfcn_DL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_UARFCN },
1258 { NULL, 0, 0, NULL }
1261 static int
1262 dissect_ilp_FrequencyInfoFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1263 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1264 ett_ilp_FrequencyInfoFDD, FrequencyInfoFDD_sequence);
1266 return offset;
1270 static const per_sequence_t FrequencyInfoTDD_sequence[] = {
1271 { &hf_ilp_uarfcn_Nt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_UARFCN },
1272 { NULL, 0, 0, NULL }
1275 static int
1276 dissect_ilp_FrequencyInfoTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1277 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1278 ett_ilp_FrequencyInfoTDD, FrequencyInfoTDD_sequence);
1280 return offset;
1284 static const value_string ilp_FrequencySpecificInfo_vals[] = {
1285 { 0, "fdd" },
1286 { 1, "tdd" },
1287 { 0, NULL }
1290 static const per_choice_t FrequencySpecificInfo_choice[] = {
1291 { 0, &hf_ilp_fdd_fr , ASN1_EXTENSION_ROOT , dissect_ilp_FrequencyInfoFDD },
1292 { 1, &hf_ilp_tdd_fr , ASN1_EXTENSION_ROOT , dissect_ilp_FrequencyInfoTDD },
1293 { 0, NULL, 0, NULL }
1296 static int
1297 dissect_ilp_FrequencySpecificInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1298 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1299 ett_ilp_FrequencySpecificInfo, FrequencySpecificInfo_choice,
1300 NULL);
1302 return offset;
1306 static const per_sequence_t FrequencyInfo_sequence[] = {
1307 { &hf_ilp_modeSpecificFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_FrequencySpecificInfo },
1308 { NULL, 0, 0, NULL }
1311 static int
1312 dissect_ilp_FrequencyInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1313 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1314 ett_ilp_FrequencyInfo, FrequencyInfo_sequence);
1316 return offset;
1321 static int
1322 dissect_ilp_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1323 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1324 0U, 511U, NULL, false);
1326 return offset;
1331 static int
1332 dissect_ilp_UTRA_CarrierRSSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1333 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1334 0U, 127U, NULL, false);
1336 return offset;
1340 static const per_sequence_t PrimaryCPICH_Info_sequence[] = {
1341 { &hf_ilp_primaryScramblingCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_511 },
1342 { NULL, 0, 0, NULL }
1345 static int
1346 dissect_ilp_PrimaryCPICH_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1347 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1348 ett_ilp_PrimaryCPICH_Info, PrimaryCPICH_Info_sequence);
1350 return offset;
1355 static int
1356 dissect_ilp_CPICH_Ec_N0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1357 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1358 0U, 63U, NULL, false);
1360 return offset;
1365 static int
1366 dissect_ilp_CPICH_RSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1367 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1368 0U, 127U, NULL, false);
1370 return offset;
1375 static int
1376 dissect_ilp_Pathloss(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1377 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1378 46U, 173U, NULL, false);
1380 return offset;
1384 static const per_sequence_t T_fdd_02_sequence[] = {
1385 { &hf_ilp_primaryCPICH_Info, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_PrimaryCPICH_Info },
1386 { &hf_ilp_cpich_Ec_N0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_CPICH_Ec_N0 },
1387 { &hf_ilp_cpich_RSCP , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_CPICH_RSCP },
1388 { &hf_ilp_pathloss , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_Pathloss },
1389 { NULL, 0, 0, NULL }
1392 static int
1393 dissect_ilp_T_fdd_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1394 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1395 ett_ilp_T_fdd_02, T_fdd_02_sequence);
1397 return offset;
1402 static int
1403 dissect_ilp_CellParametersID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1404 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1405 0U, 127U, NULL, false);
1407 return offset;
1412 static int
1413 dissect_ilp_TGSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1414 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1415 0U, 14U, NULL, false);
1417 return offset;
1422 static int
1423 dissect_ilp_PrimaryCCPCH_RSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1424 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1425 0U, 127U, NULL, false);
1427 return offset;
1432 static int
1433 dissect_ilp_TimeslotISCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1434 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1435 0U, 127U, NULL, false);
1437 return offset;
1441 static const per_sequence_t TimeslotISCP_List_sequence_of[1] = {
1442 { &hf_ilp_TimeslotISCP_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_TimeslotISCP },
1445 static int
1446 dissect_ilp_TimeslotISCP_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1447 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1448 ett_ilp_TimeslotISCP_List, TimeslotISCP_List_sequence_of,
1449 1, maxTS, false);
1451 return offset;
1455 static const per_sequence_t T_tdd_02_sequence[] = {
1456 { &hf_ilp_cellParametersID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_CellParametersID },
1457 { &hf_ilp_proposedTGSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_TGSN },
1458 { &hf_ilp_primaryCCPCH_RSCP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_PrimaryCCPCH_RSCP },
1459 { &hf_ilp_pathloss , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_Pathloss },
1460 { &hf_ilp_timeslotISCP_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_TimeslotISCP_List },
1461 { NULL, 0, 0, NULL }
1464 static int
1465 dissect_ilp_T_tdd_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1466 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1467 ett_ilp_T_tdd_02, T_tdd_02_sequence);
1469 return offset;
1473 static const value_string ilp_T_modeSpecificInfo_02_vals[] = {
1474 { 0, "fdd" },
1475 { 1, "tdd" },
1476 { 0, NULL }
1479 static const per_choice_t T_modeSpecificInfo_02_choice[] = {
1480 { 0, &hf_ilp_fdd_02 , ASN1_NO_EXTENSIONS , dissect_ilp_T_fdd_02 },
1481 { 1, &hf_ilp_tdd_02 , ASN1_NO_EXTENSIONS , dissect_ilp_T_tdd_02 },
1482 { 0, NULL, 0, NULL }
1485 static int
1486 dissect_ilp_T_modeSpecificInfo_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1487 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1488 ett_ilp_T_modeSpecificInfo_02, T_modeSpecificInfo_02_choice,
1489 NULL);
1491 return offset;
1495 static const per_sequence_t CellMeasuredResults_sequence[] = {
1496 { &hf_ilp_cellIdentity , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_268435455 },
1497 { &hf_ilp_modeSpecificInfo_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_T_modeSpecificInfo_02 },
1498 { NULL, 0, 0, NULL }
1501 static int
1502 dissect_ilp_CellMeasuredResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1503 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1504 ett_ilp_CellMeasuredResults, CellMeasuredResults_sequence);
1506 return offset;
1510 static const per_sequence_t CellMeasuredResultsList_sequence_of[1] = {
1511 { &hf_ilp_CellMeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_CellMeasuredResults },
1514 static int
1515 dissect_ilp_CellMeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1516 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1517 ett_ilp_CellMeasuredResultsList, CellMeasuredResultsList_sequence_of,
1518 1, maxCellMeas, false);
1520 return offset;
1524 static const per_sequence_t MeasuredResults_sequence[] = {
1525 { &hf_ilp_frequencyInfo , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_FrequencyInfo },
1526 { &hf_ilp_utra_CarrierRSSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_UTRA_CarrierRSSI },
1527 { &hf_ilp_cellMeasuredResultsList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_CellMeasuredResultsList },
1528 { NULL, 0, 0, NULL }
1531 static int
1532 dissect_ilp_MeasuredResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1533 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1534 ett_ilp_MeasuredResults, MeasuredResults_sequence);
1536 return offset;
1540 static const per_sequence_t MeasuredResultsList_sequence_of[1] = {
1541 { &hf_ilp_MeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_MeasuredResults },
1544 static int
1545 dissect_ilp_MeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1546 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1547 ett_ilp_MeasuredResultsList, MeasuredResultsList_sequence_of,
1548 1, maxFreq, false);
1550 return offset;
1555 static int
1556 dissect_ilp_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1557 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1558 0U, 127U, NULL, false);
1560 return offset;
1565 static int
1566 dissect_ilp_INTEGER_0_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1567 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1568 0U, 8191U, NULL, false);
1570 return offset;
1574 static const value_string ilp_TAResolution_vals[] = {
1575 { 0, "res10chip" },
1576 { 1, "res05chip" },
1577 { 2, "res0125chip" },
1578 { 0, NULL }
1582 static int
1583 dissect_ilp_TAResolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1584 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1585 3, NULL, true, 0, NULL);
1587 return offset;
1591 static const value_string ilp_ChipRate_vals[] = {
1592 { 0, "tdd128" },
1593 { 1, "tdd384" },
1594 { 2, "tdd768" },
1595 { 0, NULL }
1599 static int
1600 dissect_ilp_ChipRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1601 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1602 3, NULL, true, 0, NULL);
1604 return offset;
1608 static const per_sequence_t TimingAdvance_sequence[] = {
1609 { &hf_ilp_ta_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_8191 },
1610 { &hf_ilp_tAResolution , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_TAResolution },
1611 { &hf_ilp_chipRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_ChipRate },
1612 { NULL, 0, 0, NULL }
1615 static int
1616 dissect_ilp_TimingAdvance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1617 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1618 ett_ilp_TimingAdvance, TimingAdvance_sequence);
1620 return offset;
1624 static const per_sequence_t WcdmaCellInformation_sequence[] = {
1625 { &hf_ilp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_999 },
1626 { &hf_ilp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_999 },
1627 { &hf_ilp_refUC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_268435455 },
1628 { &hf_ilp_frequencyInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_FrequencyInfo },
1629 { &hf_ilp_primaryScramblingCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_511 },
1630 { &hf_ilp_measuredResultsList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_MeasuredResultsList },
1631 { &hf_ilp_cellParametersId, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
1632 { &hf_ilp_timingAdvance , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_TimingAdvance },
1633 { NULL, 0, 0, NULL }
1636 static int
1637 dissect_ilp_WcdmaCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1638 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1639 ett_ilp_WcdmaCellInformation, WcdmaCellInformation_sequence);
1641 return offset;
1646 static int
1647 dissect_ilp_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1648 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1649 0U, 32767U, NULL, false);
1651 return offset;
1656 static int
1657 dissect_ilp_INTEGER_0_4194303(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1658 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1659 0U, 4194303U, NULL, false);
1661 return offset;
1666 static int
1667 dissect_ilp_INTEGER_0_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1668 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1669 0U, 8388607U, NULL, false);
1671 return offset;
1675 static const per_sequence_t CdmaCellInformation_sequence[] = {
1676 { &hf_ilp_refNID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
1677 { &hf_ilp_refSID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_32767 },
1678 { &hf_ilp_refBASEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
1679 { &hf_ilp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4194303 },
1680 { &hf_ilp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_8388607 },
1681 { &hf_ilp_refREFPN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_511 },
1682 { &hf_ilp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
1683 { &hf_ilp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4194303 },
1684 { NULL, 0, 0, NULL }
1687 static int
1688 dissect_ilp_CdmaCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1689 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1690 ett_ilp_CdmaCellInformation, CdmaCellInformation_sequence);
1692 return offset;
1697 static int
1698 dissect_ilp_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1699 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1700 128, 128, false, NULL, 0, NULL, NULL);
1702 return offset;
1706 static const per_sequence_t HrpdCellInformation_sequence[] = {
1707 { &hf_ilp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_BIT_STRING_SIZE_128 },
1708 { &hf_ilp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4194303 },
1709 { &hf_ilp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_8388607 },
1710 { &hf_ilp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
1711 { &hf_ilp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4194303 },
1712 { NULL, 0, 0, NULL }
1715 static int
1716 dissect_ilp_HrpdCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1717 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1718 ett_ilp_HrpdCellInformation, HrpdCellInformation_sequence);
1720 return offset;
1724 static const per_sequence_t UmbCellInformation_sequence[] = {
1725 { &hf_ilp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_128 },
1726 { &hf_ilp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_999 },
1727 { &hf_ilp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_999 },
1728 { &hf_ilp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4194303 },
1729 { &hf_ilp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_8388607 },
1730 { &hf_ilp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
1731 { &hf_ilp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4194303 },
1732 { NULL, 0, 0, NULL }
1735 static int
1736 dissect_ilp_UmbCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1737 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1738 ett_ilp_UmbCellInformation, UmbCellInformation_sequence);
1740 return offset;
1745 static int
1746 dissect_ilp_MCC_MNC_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1747 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1748 0U, 9U, NULL, false);
1750 return offset;
1754 static const per_sequence_t MCC_sequence_of[1] = {
1755 { &hf_ilp_MCC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_MCC_MNC_Digit },
1758 static int
1759 dissect_ilp_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1760 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1761 ett_ilp_MCC, MCC_sequence_of,
1762 3, 3, false);
1764 return offset;
1768 static const per_sequence_t MNC_sequence_of[1] = {
1769 { &hf_ilp_MNC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_MCC_MNC_Digit },
1772 static int
1773 dissect_ilp_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1774 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1775 ett_ilp_MNC, MNC_sequence_of,
1776 2, 3, false);
1778 return offset;
1782 static const per_sequence_t PLMN_Identity_sequence[] = {
1783 { &hf_ilp_mcc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_MCC },
1784 { &hf_ilp_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_MNC },
1785 { NULL, 0, 0, NULL }
1788 static int
1789 dissect_ilp_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1790 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1791 ett_ilp_PLMN_Identity, PLMN_Identity_sequence);
1793 return offset;
1798 static int
1799 dissect_ilp_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1800 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1801 28, 28, false, NULL, 0, NULL, NULL);
1803 return offset;
1807 static const per_sequence_t CellGlobalIdEUTRA_sequence[] = {
1808 { &hf_ilp_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PLMN_Identity },
1809 { &hf_ilp_eutra_cellIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_CellIdentity },
1810 { NULL, 0, 0, NULL }
1813 static int
1814 dissect_ilp_CellGlobalIdEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1815 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1816 ett_ilp_CellGlobalIdEUTRA, CellGlobalIdEUTRA_sequence);
1818 return offset;
1823 static int
1824 dissect_ilp_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1825 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1826 0U, 503U, NULL, false);
1828 return offset;
1833 static int
1834 dissect_ilp_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1835 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1836 16, 16, false, NULL, 0, NULL, NULL);
1838 return offset;
1843 static int
1844 dissect_ilp_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1845 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1846 0U, 97U, NULL, false);
1848 return offset;
1853 static int
1854 dissect_ilp_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1855 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1856 0U, 34U, NULL, false);
1858 return offset;
1863 static int
1864 dissect_ilp_INTEGER_0_1282(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1865 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1866 0U, 1282U, NULL, false);
1868 return offset;
1872 static const per_sequence_t T_cgi_Info_sequence[] = {
1873 { &hf_ilp_cellGlobalId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_CellGlobalIdEUTRA },
1874 { &hf_ilp_trackingAreaCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_TrackingAreaCode },
1875 { NULL, 0, 0, NULL }
1878 static int
1879 dissect_ilp_T_cgi_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1880 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1881 ett_ilp_T_cgi_Info, T_cgi_Info_sequence);
1883 return offset;
1888 static int
1889 dissect_ilp_INTEGER_65536_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1890 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1891 65536U, 262143U, NULL, false);
1893 return offset;
1898 static int
1899 dissect_ilp_RSRP_Range_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1900 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1901 -17, -1, NULL, false);
1903 return offset;
1908 static int
1909 dissect_ilp_RSRQ_Range_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1910 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1911 -30, 46U, NULL, false);
1913 return offset;
1918 static int
1919 dissect_ilp_RS_SINR_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1920 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1921 0U, 127U, NULL, false);
1923 return offset;
1928 static int
1929 dissect_ilp_TrackingAreaCodeNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1930 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1931 24, 24, false, NULL, 0, NULL, NULL);
1933 return offset;
1937 static const per_sequence_t NeighbourInformation5G_sequence[] = {
1938 { &hf_ilp_trackingAreaCode_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_TrackingAreaCodeNR },
1939 { NULL, 0, 0, NULL }
1942 static int
1943 dissect_ilp_NeighbourInformation5G(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1944 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1945 ett_ilp_NeighbourInformation5G, NeighbourInformation5G_sequence);
1947 return offset;
1951 static const per_sequence_t T_measResult_sequence[] = {
1952 { &hf_ilp_rsrpResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_RSRP_Range },
1953 { &hf_ilp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_RSRQ_Range },
1954 { &hf_ilp_earfcn , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_0_65535 },
1955 { &hf_ilp_earfcn_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_65536_262143 },
1956 { &hf_ilp_rsrpResult_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_RSRP_Range_Ext },
1957 { &hf_ilp_rsrqResult_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_RSRQ_Range_Ext },
1958 { &hf_ilp_rs_sinrResult , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_RS_SINR_Range },
1959 { &hf_ilp_neighbourInformation5G, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_NeighbourInformation5G },
1960 { NULL, 0, 0, NULL }
1963 static int
1964 dissect_ilp_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1965 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1966 ett_ilp_T_measResult, T_measResult_sequence);
1968 return offset;
1972 static const per_sequence_t MeasResultEUTRA_sequence[] = {
1973 { &hf_ilp_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_PhysCellId },
1974 { &hf_ilp_cgi_Info , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_T_cgi_Info },
1975 { &hf_ilp_measResult , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_T_measResult },
1976 { NULL, 0, 0, NULL }
1979 static int
1980 dissect_ilp_MeasResultEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1981 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1982 ett_ilp_MeasResultEUTRA, MeasResultEUTRA_sequence);
1984 return offset;
1988 static const per_sequence_t MeasResultListEUTRA_sequence_of[1] = {
1989 { &hf_ilp_MeasResultListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_MeasResultEUTRA },
1992 static int
1993 dissect_ilp_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1994 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1995 ett_ilp_MeasResultListEUTRA, MeasResultListEUTRA_sequence_of,
1996 1, maxCellReport, false);
1998 return offset;
2002 static const per_sequence_t ServingInformation5G_sequence[] = {
2003 { &hf_ilp_trackingAreaCode_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_TrackingAreaCodeNR },
2004 { NULL, 0, 0, NULL }
2007 static int
2008 dissect_ilp_ServingInformation5G(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2009 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2010 ett_ilp_ServingInformation5G, ServingInformation5G_sequence);
2012 return offset;
2016 static const per_sequence_t LteCellInformation_sequence[] = {
2017 { &hf_ilp_cellGlobalIdEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_CellGlobalIdEUTRA },
2018 { &hf_ilp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PhysCellId },
2019 { &hf_ilp_trackingAreaCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_TrackingAreaCode },
2020 { &hf_ilp_rsrpResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_RSRP_Range },
2021 { &hf_ilp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_RSRQ_Range },
2022 { &hf_ilp_ta_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_1282 },
2023 { &hf_ilp_measResultListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_MeasResultListEUTRA },
2024 { &hf_ilp_earfcn , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_0_65535 },
2025 { &hf_ilp_earfcn_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_65536_262143 },
2026 { &hf_ilp_rsrpResult_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_RSRP_Range_Ext },
2027 { &hf_ilp_rsrqResult_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_RSRQ_Range_Ext },
2028 { &hf_ilp_rs_sinrResult , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_RS_SINR_Range },
2029 { &hf_ilp_servingInformation5G, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_ServingInformation5G },
2030 { NULL, 0, 0, NULL }
2033 static int
2034 dissect_ilp_LteCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2035 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2036 ett_ilp_LteCellInformation, LteCellInformation_sequence);
2038 return offset;
2043 static int
2044 dissect_ilp_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2045 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2046 48, 48, false, NULL, 0, NULL, NULL);
2048 return offset;
2053 static int
2054 dissect_ilp_INTEGER_M127_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2055 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2056 -127, 128U, NULL, false);
2058 return offset;
2062 static const value_string ilp_T_apDeviceType_vals[] = {
2063 { 0, "wlan802-11a" },
2064 { 1, "wlan802-11b" },
2065 { 2, "wlan802-11g" },
2066 { 3, "wlan802-11n" },
2067 { 4, "wlan802-11ac" },
2068 { 5, "wlan802-11ad" },
2069 { 0, NULL }
2073 static int
2074 dissect_ilp_T_apDeviceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2075 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2076 3, NULL, true, 3, NULL);
2078 return offset;
2083 static int
2084 dissect_ilp_INTEGER_0_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2085 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2086 0U, 256U, NULL, false);
2088 return offset;
2093 static int
2094 dissect_ilp_INTEGER_0_16777216(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2095 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2096 0U, 16777216U, NULL, false);
2098 return offset;
2102 static const value_string ilp_RTDUnits_vals[] = {
2103 { 0, "microseconds" },
2104 { 1, "hundredsofnanoseconds" },
2105 { 2, "tensofnanoseconds" },
2106 { 3, "nanoseconds" },
2107 { 4, "tenthsofnanoseconds" },
2108 { 0, NULL }
2112 static int
2113 dissect_ilp_RTDUnits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2114 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2115 5, NULL, true, 0, NULL);
2117 return offset;
2121 static const per_sequence_t RTD_sequence[] = {
2122 { &hf_ilp_rTDValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_16777216 },
2123 { &hf_ilp_rTDUnits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_RTDUnits },
2124 { &hf_ilp_rTDAccuracy , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_255 },
2125 { NULL, 0, 0, NULL }
2128 static int
2129 dissect_ilp_RTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2130 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2131 ett_ilp_RTD, RTD_sequence);
2133 return offset;
2137 static const value_string ilp_LocationEncodingDescriptor_vals[] = {
2138 { 0, "lci" },
2139 { 1, "asn1" },
2140 { 0, NULL }
2144 static int
2145 dissect_ilp_LocationEncodingDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2146 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2147 2, NULL, true, 0, NULL);
2149 return offset;
2154 static int
2155 dissect_ilp_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2156 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2157 0U, 4294967295U, NULL, false);
2159 return offset;
2164 static int
2165 dissect_ilp_OCTET_STRING_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2166 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2167 1, 128, false, NULL);
2169 return offset;
2173 static const per_sequence_t LocationData_sequence[] = {
2174 { &hf_ilp_locationAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_4294967295 },
2175 { &hf_ilp_locationValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_OCTET_STRING_SIZE_1_128 },
2176 { NULL, 0, 0, NULL }
2179 static int
2180 dissect_ilp_LocationData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2181 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2182 ett_ilp_LocationData, LocationData_sequence);
2184 return offset;
2188 static const per_sequence_t ReportedLocation_sequence[] = {
2189 { &hf_ilp_locationEncodingDescriptor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_LocationEncodingDescriptor },
2190 { &hf_ilp_locationData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_LocationData },
2191 { NULL, 0, 0, NULL }
2194 static int
2195 dissect_ilp_ReportedLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2196 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2197 ett_ilp_ReportedLocation, ReportedLocation_sequence);
2199 return offset;
2204 static int
2205 dissect_ilp_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2206 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2207 6, 6, false, NULL, 0, NULL, NULL);
2209 return offset;
2214 static int
2215 dissect_ilp_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2216 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2217 4, 4, false, NULL, 0, NULL, NULL);
2219 return offset;
2224 static int
2225 dissect_ilp_BIT_STRING_SIZE_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2226 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2227 30, 30, false, NULL, 0, NULL, NULL);
2229 return offset;
2234 static int
2235 dissect_ilp_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2236 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2237 8, 8, false, NULL, 0, NULL, NULL);
2239 return offset;
2243 static const per_sequence_t LocationDataLCI_sequence[] = {
2244 { &hf_ilp_latitudeResolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_6 },
2245 { &hf_ilp_LocationDataLCI_latitude, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_34 },
2246 { &hf_ilp_longitudeResolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_6 },
2247 { &hf_ilp_LocationDataLCI_longitude, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_34 },
2248 { &hf_ilp_altitudeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_4 },
2249 { &hf_ilp_altitudeResolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_6 },
2250 { &hf_ilp_LocationDataLCI_altitude, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_30 },
2251 { &hf_ilp_datum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_8 },
2252 { NULL, 0, 0, NULL }
2255 static int
2256 dissect_ilp_LocationDataLCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2257 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2258 ett_ilp_LocationDataLCI, LocationDataLCI_sequence);
2260 return offset;
2264 static const per_sequence_t LciLocData_sequence[] = {
2265 { &hf_ilp_locationDataLCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_LocationDataLCI },
2266 { NULL, 0, 0, NULL }
2269 static int
2270 dissect_ilp_LciLocData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2271 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2272 ett_ilp_LciLocData, LciLocData_sequence);
2274 return offset;
2278 static const value_string ilp_RepLocation_vals[] = {
2279 { 0, "lciLocData" },
2280 { 0, NULL }
2283 static const per_choice_t RepLocation_choice[] = {
2284 { 0, &hf_ilp_lciLocData , ASN1_EXTENSION_ROOT , dissect_ilp_LciLocData },
2285 { 0, NULL, 0, NULL }
2288 static int
2289 dissect_ilp_RepLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2290 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2291 ett_ilp_RepLocation, RepLocation_choice,
2292 NULL);
2294 return offset;
2299 static int
2300 dissect_ilp_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2301 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2302 0U, 1U, NULL, false);
2304 return offset;
2309 static int
2310 dissect_ilp_OCTET_STRING_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2311 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2312 1, 32, false, NULL);
2314 return offset;
2318 static const value_string ilp_T_apPHYType_vals[] = {
2319 { 0, "unknown" },
2320 { 1, "any" },
2321 { 2, "fhss" },
2322 { 3, "dsss" },
2323 { 4, "irbaseband" },
2324 { 5, "ofdm" },
2325 { 6, "hrdsss" },
2326 { 7, "erp" },
2327 { 8, "ht" },
2328 { 9, "ihv" },
2329 { 0, NULL }
2333 static int
2334 dissect_ilp_T_apPHYType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2335 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2336 10, NULL, true, 0, NULL);
2338 return offset;
2342 static const per_sequence_t WlanAPInformation_sequence[] = {
2343 { &hf_ilp_apMACAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_48 },
2344 { &hf_ilp_apTransmitPower , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2345 { &hf_ilp_apAntennaGain , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2346 { &hf_ilp_apSignaltoNoise , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2347 { &hf_ilp_apDeviceType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_apDeviceType },
2348 { &hf_ilp_apSignalStrength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2349 { &hf_ilp_apChannelFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_256 },
2350 { &hf_ilp_apRoundTripDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_RTD },
2351 { &hf_ilp_setTransmitPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2352 { &hf_ilp_setAntennaGain , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2353 { &hf_ilp_setSignaltoNoise, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2354 { &hf_ilp_setSignalStrength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M127_128 },
2355 { &hf_ilp_apReportedLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_ReportedLocation },
2356 { &hf_ilp_apRepLocation , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_RepLocation },
2357 { &hf_ilp_apSignalStrengthDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_0_1 },
2358 { &hf_ilp_apSignaltoNoiseDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_0_1 },
2359 { &hf_ilp_setSignalStrengthDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_0_1 },
2360 { &hf_ilp_setSignaltoNoiseDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_0_1 },
2361 { &hf_ilp_operatingClass , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_0_255 },
2362 { &hf_ilp_apSSID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_OCTET_STRING_SIZE_1_32 },
2363 { &hf_ilp_apPHYType , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_T_apPHYType },
2364 { &hf_ilp_setMACAddress , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_BIT_STRING_SIZE_48 },
2365 { NULL, 0, 0, NULL }
2368 static int
2369 dissect_ilp_WlanAPInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2370 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2371 ett_ilp_WlanAPInformation, WlanAPInformation_sequence);
2373 return offset;
2378 static int
2379 dissect_ilp_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2380 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2381 24, 24, false, NULL, 0, NULL, NULL);
2383 return offset;
2387 static const per_sequence_t WimaxBsID_sequence[] = {
2388 { &hf_ilp_bsID_MSB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_BIT_STRING_SIZE_24 },
2389 { &hf_ilp_bsID_LSB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_24 },
2390 { NULL, 0, 0, NULL }
2393 static int
2394 dissect_ilp_WimaxBsID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2395 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2396 ett_ilp_WimaxBsID, WimaxBsID_sequence);
2398 return offset;
2402 static const per_sequence_t WimaxRTD_sequence[] = {
2403 { &hf_ilp_rtd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
2404 { &hf_ilp_rTDstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_1023 },
2405 { NULL, 0, 0, NULL }
2408 static int
2409 dissect_ilp_WimaxRTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2410 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2411 ett_ilp_WimaxRTD, WimaxRTD_sequence);
2413 return offset;
2418 static int
2419 dissect_ilp_INTEGER_M32768_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2420 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2421 -32768, 32767U, NULL, false);
2423 return offset;
2427 static const per_sequence_t WimaxNMR_sequence[] = {
2428 { &hf_ilp_wimaxBsID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_WimaxBsID },
2429 { &hf_ilp_relDelay , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_M32768_32767 },
2430 { &hf_ilp_relDelaystd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_1023 },
2431 { &hf_ilp_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_255 },
2432 { &hf_ilp_rSSIstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_63 },
2433 { &hf_ilp_bSTxPower , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_255 },
2434 { &hf_ilp_cinr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_255 },
2435 { &hf_ilp_cINRstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_63 },
2436 { &hf_ilp_bSLocation , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_ReportedLocation },
2437 { NULL, 0, 0, NULL }
2440 static int
2441 dissect_ilp_WimaxNMR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2442 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2443 ett_ilp_WimaxNMR, WimaxNMR_sequence);
2445 return offset;
2449 static const per_sequence_t WimaxNMRList_sequence_of[1] = {
2450 { &hf_ilp_WimaxNMRList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_WimaxNMR },
2453 static int
2454 dissect_ilp_WimaxNMRList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2455 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2456 ett_ilp_WimaxNMRList, WimaxNMRList_sequence_of,
2457 1, maxWimaxBSMeas, false);
2459 return offset;
2463 static const per_sequence_t WimaxBSInformation_sequence[] = {
2464 { &hf_ilp_wimaxBsID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_WimaxBsID },
2465 { &hf_ilp_wimaxRTD , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_WimaxRTD },
2466 { &hf_ilp_wimaxNMRList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_WimaxNMRList },
2467 { NULL, 0, 0, NULL }
2470 static int
2471 dissect_ilp_WimaxBSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2472 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2473 ett_ilp_WimaxBSInformation, WimaxBSInformation_sequence);
2475 return offset;
2480 static int
2481 dissect_ilp_PhysCellIdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2482 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2483 0U, 1007U, NULL, false);
2485 return offset;
2490 static int
2491 dissect_ilp_ARFCN_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2492 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2493 0U, 3279165U, NULL, false);
2495 return offset;
2500 static int
2501 dissect_ilp_CellIdentityNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2502 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2503 36, 36, false, NULL, 0, NULL, NULL);
2505 return offset;
2509 static const per_sequence_t CellGlobalIdNR_sequence[] = {
2510 { &hf_ilp_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PLMN_Identity },
2511 { &hf_ilp_cellIdentityNR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_CellIdentityNR },
2512 { NULL, 0, 0, NULL }
2515 static int
2516 dissect_ilp_CellGlobalIdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2517 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2518 ett_ilp_CellGlobalIdNR, CellGlobalIdNR_sequence);
2520 return offset;
2524 static const per_sequence_t NR_Measurements_sequence[] = {
2525 { &hf_ilp_rsrp_Range , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
2526 { &hf_ilp_rsrq_Range , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
2527 { &hf_ilp_sinr_Range , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
2528 { NULL, 0, 0, NULL }
2531 static int
2532 dissect_ilp_NR_Measurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2533 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2534 ett_ilp_NR_Measurements, NR_Measurements_sequence);
2536 return offset;
2541 static int
2542 dissect_ilp_INTEGER_0_3846(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2543 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2544 0U, 3846U, NULL, false);
2546 return offset;
2550 static const per_sequence_t ServCellNR_sequence[] = {
2551 { &hf_ilp_physCellId_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PhysCellIdNR },
2552 { &hf_ilp_arfcn_NR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_ARFCN_NR },
2553 { &hf_ilp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_CellGlobalIdNR },
2554 { &hf_ilp_trackingAreaCode_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_TrackingAreaCodeNR },
2555 { &hf_ilp_ssb_Measurements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_NR_Measurements },
2556 { &hf_ilp_csi_rs_Measurements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_NR_Measurements },
2557 { &hf_ilp_ta_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_3846 },
2558 { NULL, 0, 0, NULL }
2561 static int
2562 dissect_ilp_ServCellNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2563 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2564 ett_ilp_ServCellNR, ServCellNR_sequence);
2566 return offset;
2570 static const per_sequence_t ServingCellInformationNR_sequence_of[1] = {
2571 { &hf_ilp_ServingCellInformationNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_ServCellNR },
2574 static int
2575 dissect_ilp_ServingCellInformationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2576 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2577 ett_ilp_ServingCellInformationNR, ServingCellInformationNR_sequence_of,
2578 1, maxNRServingCell, false);
2580 return offset;
2584 static const per_sequence_t MeasResultNR_sequence[] = {
2585 { &hf_ilp_physCellId_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PhysCellIdNR },
2586 { &hf_ilp_arfcn_NR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_ARFCN_NR },
2587 { &hf_ilp_cellGlobalId_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_CellGlobalIdNR },
2588 { &hf_ilp_trackingAreaCode_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_TrackingAreaCodeNR },
2589 { &hf_ilp_ssb_Measurements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_NR_Measurements },
2590 { &hf_ilp_csi_rs_Measurements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_NR_Measurements },
2591 { NULL, 0, 0, NULL }
2594 static int
2595 dissect_ilp_MeasResultNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2596 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2597 ett_ilp_MeasResultNR, MeasResultNR_sequence);
2599 return offset;
2603 static const per_sequence_t MeasResultListNR_sequence_of[1] = {
2604 { &hf_ilp_MeasResultListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_MeasResultNR },
2607 static int
2608 dissect_ilp_MeasResultListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2609 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2610 ett_ilp_MeasResultListNR, MeasResultListNR_sequence_of,
2611 1, maxCellReportNR, false);
2613 return offset;
2617 static const per_sequence_t NRCellInformation_sequence[] = {
2618 { &hf_ilp_servingCellInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_ServingCellInformationNR },
2619 { &hf_ilp_measuredResultsListNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_MeasResultListNR },
2620 { NULL, 0, 0, NULL }
2623 static int
2624 dissect_ilp_NRCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2625 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2626 ett_ilp_NRCellInformation, NRCellInformation_sequence);
2628 return offset;
2632 static const value_string ilp_CellInfo_vals[] = {
2633 { 0, "gsmCell" },
2634 { 1, "wcdmaCell" },
2635 { 2, "cdmaCell" },
2636 { 3, "hrpdCell" },
2637 { 4, "umbCell" },
2638 { 5, "lteCell" },
2639 { 6, "wlanAP" },
2640 { 7, "wimaxBS" },
2641 { 8, "nrCell" },
2642 { 0, NULL }
2645 static const per_choice_t CellInfo_choice[] = {
2646 { 0, &hf_ilp_gsmCell , ASN1_EXTENSION_ROOT , dissect_ilp_GsmCellInformation },
2647 { 1, &hf_ilp_wcdmaCell , ASN1_EXTENSION_ROOT , dissect_ilp_WcdmaCellInformation },
2648 { 2, &hf_ilp_cdmaCell , ASN1_EXTENSION_ROOT , dissect_ilp_CdmaCellInformation },
2649 { 3, &hf_ilp_hrpdCell , ASN1_EXTENSION_ROOT , dissect_ilp_HrpdCellInformation },
2650 { 4, &hf_ilp_umbCell , ASN1_EXTENSION_ROOT , dissect_ilp_UmbCellInformation },
2651 { 5, &hf_ilp_lteCell , ASN1_EXTENSION_ROOT , dissect_ilp_LteCellInformation },
2652 { 6, &hf_ilp_wlanAP , ASN1_EXTENSION_ROOT , dissect_ilp_WlanAPInformation },
2653 { 7, &hf_ilp_wimaxBS , ASN1_EXTENSION_ROOT , dissect_ilp_WimaxBSInformation },
2654 { 8, &hf_ilp_nrCell , ASN1_NOT_EXTENSION_ROOT, dissect_ilp_NRCellInformation },
2655 { 0, NULL, 0, NULL }
2658 static int
2659 dissect_ilp_CellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2660 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2661 ett_ilp_CellInfo, CellInfo_choice,
2662 NULL);
2664 return offset;
2668 static const value_string ilp_Status_vals[] = {
2669 { 0, "stale" },
2670 { 1, "current" },
2671 { 2, "unknown" },
2672 { 0, NULL }
2676 static int
2677 dissect_ilp_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2678 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2679 3, NULL, true, 0, NULL);
2681 return offset;
2685 static const per_sequence_t LocationId_sequence[] = {
2686 { &hf_ilp_cellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_CellInfo },
2687 { &hf_ilp_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_Status },
2688 { NULL, 0, 0, NULL }
2691 static int
2692 dissect_ilp_LocationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2693 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2694 ett_ilp_LocationId, LocationId_sequence);
2696 return offset;
2701 static int
2702 dissect_ilp_RelativeTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2703 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2704 0U, 65535U, NULL, false);
2706 return offset;
2710 static const per_sequence_t LocationIdData_sequence[] = {
2711 { &hf_ilp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_LocationId },
2712 { &hf_ilp_relativetimestamp, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_RelativeTime },
2713 { &hf_ilp_servingFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
2714 { NULL, 0, 0, NULL }
2717 static int
2718 dissect_ilp_LocationIdData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2719 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2720 ett_ilp_LocationIdData, LocationIdData_sequence);
2722 return offset;
2726 static const per_sequence_t MultipleLocationIds_sequence_of[1] = {
2727 { &hf_ilp_MultipleLocationIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_LocationIdData },
2730 static int
2731 dissect_ilp_MultipleLocationIds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2732 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2733 ett_ilp_MultipleLocationIds, MultipleLocationIds_sequence_of,
2734 1, maxLidSize, false);
2736 return offset;
2741 static int
2742 dissect_ilp_UTCTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2743 offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
2744 NO_BOUND, NO_BOUND, false,
2745 NULL);
2747 return offset;
2751 static const value_string ilp_T_latitudeSign_vals[] = {
2752 { 0, "north" },
2753 { 1, "south" },
2754 { 0, NULL }
2758 static int
2759 dissect_ilp_T_latitudeSign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2760 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2761 2, NULL, false, 0, NULL);
2763 return offset;
2768 static int
2769 dissect_ilp_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2770 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2771 -8388608, 8388607U, NULL, false);
2773 return offset;
2778 static int
2779 dissect_ilp_INTEGER_0_180(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2780 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2781 0U, 180U, NULL, false);
2783 return offset;
2787 static const per_sequence_t T_uncertainty_sequence[] = {
2788 { &hf_ilp_uncertaintySemiMajor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_127 },
2789 { &hf_ilp_uncertaintySemiMinor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_127 },
2790 { &hf_ilp_orientationMajorAxis, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_180 },
2791 { NULL, 0, 0, NULL }
2794 static int
2795 dissect_ilp_T_uncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2796 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2797 ett_ilp_T_uncertainty, T_uncertainty_sequence);
2799 return offset;
2804 static int
2805 dissect_ilp_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2806 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2807 0U, 100U, NULL, false);
2809 return offset;
2813 static const value_string ilp_T_altitudeDirection_vals[] = {
2814 { 0, "height" },
2815 { 1, "depth" },
2816 { 0, NULL }
2820 static int
2821 dissect_ilp_T_altitudeDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2822 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2823 2, NULL, false, 0, NULL);
2825 return offset;
2829 static const per_sequence_t AltitudeInfo_sequence[] = {
2830 { &hf_ilp_altitudeDirection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_T_altitudeDirection },
2831 { &hf_ilp_altitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_32767 },
2832 { &hf_ilp_altUncertainty , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_127 },
2833 { NULL, 0, 0, NULL }
2836 static int
2837 dissect_ilp_AltitudeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2838 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2839 ett_ilp_AltitudeInfo, AltitudeInfo_sequence);
2841 return offset;
2845 static const per_sequence_t PositionEstimate_sequence[] = {
2846 { &hf_ilp_latitudeSign , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_T_latitudeSign },
2847 { &hf_ilp_latitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_8388607 },
2848 { &hf_ilp_longitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_M8388608_8388607 },
2849 { &hf_ilp_uncertainty , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_uncertainty },
2850 { &hf_ilp_confidence , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_100 },
2851 { &hf_ilp_altitudeInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_AltitudeInfo },
2852 { NULL, 0, 0, NULL }
2855 static int
2856 dissect_ilp_PositionEstimate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2857 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2858 ett_ilp_PositionEstimate, PositionEstimate_sequence);
2860 return offset;
2865 static int
2866 dissect_ilp_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2867 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2868 9, 9, false, NULL, 0, NULL, NULL);
2870 return offset;
2875 static int
2876 dissect_ilp_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2877 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2878 16, 16, false, NULL, 0, NULL, NULL);
2880 return offset;
2884 static const per_sequence_t Horvel_sequence[] = {
2885 { &hf_ilp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_9 },
2886 { &hf_ilp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_16 },
2887 { NULL, 0, 0, NULL }
2890 static int
2891 dissect_ilp_Horvel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2892 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2893 ett_ilp_Horvel, Horvel_sequence);
2895 return offset;
2900 static int
2901 dissect_ilp_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2902 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2903 1, 1, false, NULL, 0, NULL, NULL);
2905 return offset;
2909 static const per_sequence_t Horandvervel_sequence[] = {
2910 { &hf_ilp_verdirect , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_1 },
2911 { &hf_ilp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_9 },
2912 { &hf_ilp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_16 },
2913 { &hf_ilp_verspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_8 },
2914 { NULL, 0, 0, NULL }
2917 static int
2918 dissect_ilp_Horandvervel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2919 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2920 ett_ilp_Horandvervel, Horandvervel_sequence);
2922 return offset;
2926 static const per_sequence_t Horveluncert_sequence[] = {
2927 { &hf_ilp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_9 },
2928 { &hf_ilp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_16 },
2929 { &hf_ilp_uncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_8 },
2930 { NULL, 0, 0, NULL }
2933 static int
2934 dissect_ilp_Horveluncert(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2935 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2936 ett_ilp_Horveluncert, Horveluncert_sequence);
2938 return offset;
2942 static const per_sequence_t Horandveruncert_sequence[] = {
2943 { &hf_ilp_verdirect , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_1 },
2944 { &hf_ilp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_9 },
2945 { &hf_ilp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_16 },
2946 { &hf_ilp_verspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_8 },
2947 { &hf_ilp_horuncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_8 },
2948 { &hf_ilp_veruncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_8 },
2949 { NULL, 0, 0, NULL }
2952 static int
2953 dissect_ilp_Horandveruncert(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2954 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2955 ett_ilp_Horandveruncert, Horandveruncert_sequence);
2957 return offset;
2961 static const value_string ilp_Velocity_vals[] = {
2962 { 0, "horvel" },
2963 { 1, "horandvervel" },
2964 { 2, "horveluncert" },
2965 { 3, "horandveruncert" },
2966 { 0, NULL }
2969 static const per_choice_t Velocity_choice[] = {
2970 { 0, &hf_ilp_horvel , ASN1_EXTENSION_ROOT , dissect_ilp_Horvel },
2971 { 1, &hf_ilp_horandvervel , ASN1_EXTENSION_ROOT , dissect_ilp_Horandvervel },
2972 { 2, &hf_ilp_horveluncert , ASN1_EXTENSION_ROOT , dissect_ilp_Horveluncert },
2973 { 3, &hf_ilp_horandveruncert , ASN1_EXTENSION_ROOT , dissect_ilp_Horandveruncert },
2974 { 0, NULL, 0, NULL }
2977 static int
2978 dissect_ilp_Velocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2979 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2980 ett_ilp_Velocity, Velocity_choice,
2981 NULL);
2983 return offset;
2987 static const per_sequence_t Position_sequence[] = {
2988 { &hf_ilp_timestamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_UTCTime },
2989 { &hf_ilp_positionEstimate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PositionEstimate },
2990 { &hf_ilp_velocity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_Velocity },
2991 { NULL, 0, 0, NULL }
2994 static int
2995 dissect_ilp_Position(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2996 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2997 ett_ilp_Position, Position_sequence);
2999 return offset;
3003 static const value_string ilp_TriggerType_vals[] = {
3004 { 0, "periodic" },
3005 { 1, "areaEvent" },
3006 { 0, NULL }
3010 static int
3011 dissect_ilp_TriggerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3012 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3013 2, NULL, true, 0, NULL);
3015 return offset;
3020 static int
3021 dissect_ilp_INTEGER_1_8639999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3022 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3023 1U, 8639999U, NULL, false);
3025 return offset;
3030 static int
3031 dissect_ilp_INTEGER_0_2678400(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3032 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3033 0U, 2678400U, NULL, false);
3035 return offset;
3039 static const per_sequence_t PeriodicTriggerParams_sequence[] = {
3040 { &hf_ilp_numberOfFixes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_1_8639999 },
3041 { &hf_ilp_intervalBetweenFixes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_1_8639999 },
3042 { &hf_ilp_startTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_2678400 },
3043 { NULL, 0, 0, NULL }
3046 static int
3047 dissect_ilp_PeriodicTriggerParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3048 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3049 ett_ilp_PeriodicTriggerParams, PeriodicTriggerParams_sequence);
3051 return offset;
3055 static const per_sequence_t TriggerParams_sequence[] = {
3056 { &hf_ilp_triggerType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_TriggerType },
3057 { &hf_ilp_periodicTriggerParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PeriodicTriggerParams },
3058 { NULL, 0, 0, NULL }
3061 static int
3062 dissect_ilp_TriggerParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3063 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3064 ett_ilp_TriggerParams, TriggerParams_sequence);
3066 return offset;
3071 static int
3072 dissect_ilp_SPCSETKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3073 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3074 128, 128, false, NULL, 0, NULL, NULL);
3076 return offset;
3080 static const per_sequence_t SPCTID_sequence[] = {
3081 { &hf_ilp_rand , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_128 },
3082 { &hf_ilp_slpFQDN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_FQDN },
3083 { NULL, 0, 0, NULL }
3086 static int
3087 dissect_ilp_SPCTID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3088 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3089 ett_ilp_SPCTID, SPCTID_sequence);
3091 return offset;
3096 static int
3097 dissect_ilp_SPCSETKeylifetime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3098 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3099 1U, 24U, NULL, false);
3101 return offset;
3106 static int
3107 dissect_ilp_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3108 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3109 0U, 7U, NULL, false);
3111 return offset;
3116 static int
3117 dissect_ilp_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3118 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3119 1U, 128U, NULL, false);
3121 return offset;
3125 static const per_sequence_t QoP_sequence[] = {
3126 { &hf_ilp_horacc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_127 },
3127 { &hf_ilp_veracc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
3128 { &hf_ilp_maxLocAge , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_65535 },
3129 { &hf_ilp_delay , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_7 },
3130 { &hf_ilp_ver2_responseTime, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_INTEGER_1_128 },
3131 { NULL, 0, 0, NULL }
3134 static int
3135 dissect_ilp_QoP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3136 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3137 ett_ilp_QoP, QoP_sequence);
3139 return offset;
3143 static const value_string ilp_PrefMethod_vals[] = {
3144 { 0, "agnssSETAssistedPreferred" },
3145 { 1, "agnssSETBasedPreferred" },
3146 { 2, "noPreference" },
3147 { 0, NULL }
3151 static int
3152 dissect_ilp_PrefMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3153 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3154 3, NULL, true, 0, NULL);
3156 return offset;
3160 static const per_sequence_t PosProtocolVersion3GPP_sequence[] = {
3161 { &hf_ilp_majorVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3162 { &hf_ilp_technicalVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3163 { &hf_ilp_editorialVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3164 { NULL, 0, 0, NULL }
3167 static int
3168 dissect_ilp_PosProtocolVersion3GPP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3169 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3170 ett_ilp_PosProtocolVersion3GPP, PosProtocolVersion3GPP_sequence);
3172 return offset;
3176 static const per_sequence_t Supported3GPP2PosProtocolVersion_sequence[] = {
3177 { &hf_ilp_revisionNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BIT_STRING_SIZE_6 },
3178 { &hf_ilp_pointReleaseNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3179 { &hf_ilp_internalEditLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3180 { NULL, 0, 0, NULL }
3183 static int
3184 dissect_ilp_Supported3GPP2PosProtocolVersion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3185 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3186 ett_ilp_Supported3GPP2PosProtocolVersion, Supported3GPP2PosProtocolVersion_sequence);
3188 return offset;
3192 static const per_sequence_t PosProtocolVersion3GPP2_sequence_of[1] = {
3193 { &hf_ilp_PosProtocolVersion3GPP2_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_Supported3GPP2PosProtocolVersion },
3196 static int
3197 dissect_ilp_PosProtocolVersion3GPP2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3198 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3199 ett_ilp_PosProtocolVersion3GPP2, PosProtocolVersion3GPP2_sequence_of,
3200 1, 8, false);
3202 return offset;
3206 static const per_sequence_t PosProtocolVersionOMA_sequence[] = {
3207 { &hf_ilp_majorVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3208 { &hf_ilp_minorVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3209 { NULL, 0, 0, NULL }
3212 static int
3213 dissect_ilp_PosProtocolVersionOMA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3214 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3215 ett_ilp_PosProtocolVersionOMA, PosProtocolVersionOMA_sequence);
3217 return offset;
3221 static const per_sequence_t PosProtocol_sequence[] = {
3222 { &hf_ilp_tia801 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3223 { &hf_ilp_rrlp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3224 { &hf_ilp_rrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3225 { &hf_ilp_lpp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3226 { &hf_ilp_posProtocolVersionRRLP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosProtocolVersion3GPP },
3227 { &hf_ilp_posProtocolVersionRRC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosProtocolVersion3GPP },
3228 { &hf_ilp_posProtocolVersionTIA801, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosProtocolVersion3GPP2 },
3229 { &hf_ilp_posProtocolVersionLPP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosProtocolVersion3GPP },
3230 { &hf_ilp_lppe , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_BOOLEAN },
3231 { &hf_ilp_posProtocolVersionLPPe, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_PosProtocolVersionOMA },
3232 { NULL, 0, 0, NULL }
3235 static int
3236 dissect_ilp_PosProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3237 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3238 ett_ilp_PosProtocol, PosProtocol_sequence);
3240 return offset;
3244 static const per_sequence_t SupportedBearers_sequence[] = {
3245 { &hf_ilp_gsm , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3246 { &hf_ilp_wcdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3247 { &hf_ilp_lte , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3248 { &hf_ilp_cdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3249 { &hf_ilp_hprd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3250 { &hf_ilp_umb , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3251 { &hf_ilp_wlan , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3252 { &hf_ilp_wiMAX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3253 { &hf_ilp_nr , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3254 { NULL, 0, 0, NULL }
3257 static int
3258 dissect_ilp_SupportedBearers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3259 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3260 ett_ilp_SupportedBearers, SupportedBearers_sequence);
3262 return offset;
3266 static const per_sequence_t SETCapabilities_sequence[] = {
3267 { &hf_ilp_posTechnology , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PosTechnology },
3268 { &hf_ilp_prefMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PrefMethod },
3269 { &hf_ilp_posProtocol , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PosProtocol },
3270 { &hf_ilp_supportedBearers, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SupportedBearers },
3271 { NULL, 0, 0, NULL }
3274 static int
3275 dissect_ilp_SETCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3276 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3277 ett_ilp_SETCapabilities, SETCapabilities_sequence);
3279 return offset;
3283 static const value_string ilp_NotificationMode_vals[] = {
3284 { 0, "normal" },
3285 { 1, "basedOnLocation" },
3286 { 0, NULL }
3290 static int
3291 dissect_ilp_NotificationMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3292 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3293 2, NULL, true, 0, NULL);
3295 return offset;
3299 static const per_sequence_t PREQ_sequence[] = {
3300 { &hf_ilp_sLPMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_SLPMode },
3301 { &hf_ilp_approvedPosMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosTechnology },
3302 { &hf_ilp_locationId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_LocationId },
3303 { &hf_ilp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_MultipleLocationIds },
3304 { &hf_ilp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_Position },
3305 { &hf_ilp_triggerParams , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_TriggerParams },
3306 { &hf_ilp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SPCSETKey },
3307 { &hf_ilp_spctid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SPCTID },
3308 { &hf_ilp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SPCSETKeylifetime },
3309 { &hf_ilp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_QoP },
3310 { &hf_ilp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SETCapabilities },
3311 { &hf_ilp_notificationMode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_NotificationMode },
3312 { NULL, 0, 0, NULL }
3315 static int
3316 dissect_ilp_PREQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3317 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3318 ett_ilp_PREQ, PREQ_sequence);
3320 return offset;
3324 static const value_string ilp_PosMethod_vals[] = {
3325 { 0, "agpsSETassisted" },
3326 { 1, "agpsSETbased" },
3327 { 2, "agpsSETassistedpref" },
3328 { 3, "agpsSETbasedpref" },
3329 { 4, "autonomousGPS" },
3330 { 5, "aflt" },
3331 { 6, "ecid" },
3332 { 7, "eotd" },
3333 { 8, "otdoa" },
3334 { 9, "agnssSETassisted" },
3335 { 10, "agnssSETbased" },
3336 { 11, "agnssSETassistedpref" },
3337 { 12, "agnssSETbasedpref" },
3338 { 13, "autonomousGNSS" },
3339 { 14, "ver2-mbs" },
3340 { 0, NULL }
3344 static int
3345 dissect_ilp_PosMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3346 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3347 14, NULL, true, 1, NULL);
3349 return offset;
3353 static const per_sequence_t GNSSPosTechnology_sequence[] = {
3354 { &hf_ilp_gps , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3355 { &hf_ilp_galileo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3356 { &hf_ilp_sbas , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3357 { &hf_ilp_modernized_gps , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3358 { &hf_ilp_qzss , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3359 { &hf_ilp_glonass , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3360 { &hf_ilp_bds , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_BOOLEAN },
3361 { NULL, 0, 0, NULL }
3364 static int
3365 dissect_ilp_GNSSPosTechnology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3366 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3367 ett_ilp_GNSSPosTechnology, GNSSPosTechnology_sequence);
3369 return offset;
3373 static const value_string ilp_SPCStatusCode_vals[] = {
3374 { 0, "operational" },
3375 { 1, "notOperational" },
3376 { 2, "reducedAvailability" },
3377 { 0, NULL }
3381 static int
3382 dissect_ilp_SPCStatusCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3383 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3384 3, NULL, true, 0, NULL);
3386 return offset;
3390 static const per_sequence_t PRES_sequence[] = {
3391 { &hf_ilp_preferredPosMethod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosMethod },
3392 { &hf_ilp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GNSSPosTechnology },
3393 { &hf_ilp_supportedPosMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosTechnology },
3394 { &hf_ilp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_Position },
3395 { &hf_ilp_sPCstatusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SPCStatusCode },
3396 { NULL, 0, 0, NULL }
3399 static int
3400 dissect_ilp_PRES(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3401 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3402 ett_ilp_PRES, PRES_sequence);
3404 return offset;
3408 static const value_string ilp_StatusCode_vals[] = {
3409 { 0, "unspecified" },
3410 { 1, "systemFailure" },
3411 { 2, "unexpectedMessage" },
3412 { 3, "protocolError" },
3413 { 4, "dataMissing" },
3414 { 5, "unexpectedDataValue" },
3415 { 6, "posMethodFailure" },
3416 { 7, "posMethodMismatch" },
3417 { 8, "posProtocolMismatch" },
3418 { 9, "targetSETnotReachable" },
3419 { 10, "versionNotSupported" },
3420 { 11, "resourceShortage" },
3421 { 12, "invalidSessionId" },
3422 { 13, "nonProxyModeNotSupported" },
3423 { 14, "proxyModeNotSupported" },
3424 { 15, "positioningNotPermitted" },
3425 { 16, "iLPTimeout" },
3426 { 0, NULL }
3430 static int
3431 dissect_ilp_StatusCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3432 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3433 17, NULL, true, 0, NULL);
3435 return offset;
3439 static const per_sequence_t PRPT_sequence[] = {
3440 { &hf_ilp_position , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_Position },
3441 { &hf_ilp_fixNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_1_8639999 },
3442 { &hf_ilp_statusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_StatusCode },
3443 { NULL, 0, 0, NULL }
3446 static int
3447 dissect_ilp_PRPT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3448 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3449 ett_ilp_PRPT, PRPT_sequence);
3451 return offset;
3455 static const per_sequence_t PLREQ_sequence[] = {
3456 { &hf_ilp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_LocationId },
3457 { &hf_ilp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_MultipleLocationIds },
3458 { NULL, 0, 0, NULL }
3461 static int
3462 dissect_ilp_PLREQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3463 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3464 ett_ilp_PLREQ, PLREQ_sequence);
3466 return offset;
3470 static const value_string ilp_PositionResult_vals[] = {
3471 { 0, "position" },
3472 { 1, "statusCode" },
3473 { 0, NULL }
3476 static const per_choice_t PositionResult_choice[] = {
3477 { 0, &hf_ilp_position , ASN1_EXTENSION_ROOT , dissect_ilp_Position },
3478 { 1, &hf_ilp_statusCode , ASN1_EXTENSION_ROOT , dissect_ilp_StatusCode },
3479 { 0, NULL, 0, NULL }
3482 static int
3483 dissect_ilp_PositionResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3484 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3485 ett_ilp_PositionResult, PositionResult_choice,
3486 NULL);
3488 return offset;
3492 static const per_sequence_t PositionResults_sequence_of[1] = {
3493 { &hf_ilp_PositionResults_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_PositionResult },
3496 static int
3497 dissect_ilp_PositionResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3498 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3499 ett_ilp_PositionResults, PositionResults_sequence_of,
3500 1, maxPosSize, false);
3502 return offset;
3506 static const per_sequence_t PLRES_sequence[] = {
3507 { &hf_ilp_positionResults , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PositionResults },
3508 { NULL, 0, 0, NULL }
3511 static int
3512 dissect_ilp_PLRES(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3513 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3514 ett_ilp_PLRES, PLRES_sequence);
3516 return offset;
3521 static int
3522 dissect_ilp_INTEGER_0_167(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3523 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3524 0U, 167U, NULL, false);
3526 return offset;
3531 static int
3532 dissect_ilp_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3533 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3534 0U, 31U, NULL, false);
3536 return offset;
3541 static int
3542 dissect_ilp_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3543 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3544 0U, 10U, NULL, false);
3546 return offset;
3550 static const per_sequence_t SatelliteInfoElement_sequence[] = {
3551 { &hf_ilp_satId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_63 },
3552 { &hf_ilp_iode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_255 },
3553 { NULL, 0, 0, NULL }
3556 static int
3557 dissect_ilp_SatelliteInfoElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3558 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3559 ett_ilp_SatelliteInfoElement, SatelliteInfoElement_sequence);
3561 return offset;
3565 static const per_sequence_t SatelliteInfo_sequence_of[1] = {
3566 { &hf_ilp_SatelliteInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_SatelliteInfoElement },
3569 static int
3570 dissect_ilp_SatelliteInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3571 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3572 ett_ilp_SatelliteInfo, SatelliteInfo_sequence_of,
3573 1, 31, false);
3575 return offset;
3579 static const per_sequence_t NavigationModel_sequence[] = {
3580 { &hf_ilp_gpsWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_1023 },
3581 { &hf_ilp_gpsToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_167 },
3582 { &hf_ilp_nsat , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_31 },
3583 { &hf_ilp_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_10 },
3584 { &hf_ilp_satInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SatelliteInfo },
3585 { NULL, 0, 0, NULL }
3588 static int
3589 dissect_ilp_NavigationModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3590 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3591 ett_ilp_NavigationModel, NavigationModel_sequence);
3593 return offset;
3597 static const per_sequence_t GanssRequestedCommonAssistanceDataList_sequence[] = {
3598 { &hf_ilp_ganssReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3599 { &hf_ilp_ganssIonosphericModel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3600 { &hf_ilp_ganssAdditionalIonosphericModelForDataID00, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3601 { &hf_ilp_ganssAdditionalIonosphericModelForDataID11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3602 { &hf_ilp_ganssEarthOrientationParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3603 { &hf_ilp_ganssAdditionalIonosphericModelForDataID01, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_BOOLEAN },
3604 { NULL, 0, 0, NULL }
3607 static int
3608 dissect_ilp_GanssRequestedCommonAssistanceDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3609 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3610 ett_ilp_GanssRequestedCommonAssistanceDataList, GanssRequestedCommonAssistanceDataList_sequence);
3612 return offset;
3617 static int
3618 dissect_ilp_DGANSS_Sig_Id_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3619 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3620 8, 8, false, NULL, 0, NULL, NULL);
3622 return offset;
3627 static int
3628 dissect_ilp_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3629 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3630 0U, 4095U, NULL, false);
3632 return offset;
3636 static const per_sequence_t SatellitesListRelatedData_sequence[] = {
3637 { &hf_ilp_satId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_63 },
3638 { &hf_ilp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_1023 },
3639 { NULL, 0, 0, NULL }
3642 static int
3643 dissect_ilp_SatellitesListRelatedData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3644 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3645 ett_ilp_SatellitesListRelatedData, SatellitesListRelatedData_sequence);
3647 return offset;
3651 static const per_sequence_t SatellitesListRelatedDataList_sequence_of[1] = {
3652 { &hf_ilp_SatellitesListRelatedDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_SatellitesListRelatedData },
3655 static int
3656 dissect_ilp_SatellitesListRelatedDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3657 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3658 ett_ilp_SatellitesListRelatedDataList, SatellitesListRelatedDataList_sequence_of,
3659 0, maxGANSSSat, false);
3661 return offset;
3665 static const per_sequence_t GanssNavigationModelData_sequence[] = {
3666 { &hf_ilp_ganssWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4095 },
3667 { &hf_ilp_ganssToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_167 },
3668 { &hf_ilp_t_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_10 },
3669 { &hf_ilp_satellitesListRelatedDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SatellitesListRelatedDataList },
3670 { NULL, 0, 0, NULL }
3673 static int
3674 dissect_ilp_GanssNavigationModelData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3675 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3676 ett_ilp_GanssNavigationModelData, GanssNavigationModelData_sequence);
3678 return offset;
3683 static int
3684 dissect_ilp_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3685 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3686 0U, 59U, NULL, false);
3688 return offset;
3692 static const per_sequence_t T_ganssDataBitSatList_sequence_of[1] = {
3693 { &hf_ilp_ganssDataBitSatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_63 },
3696 static int
3697 dissect_ilp_T_ganssDataBitSatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3698 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3699 ett_ilp_T_ganssDataBitSatList, T_ganssDataBitSatList_sequence_of,
3700 1, maxGANSSSat, false);
3702 return offset;
3706 static const per_sequence_t ReqDataBitAssistanceList_sequence[] = {
3707 { &hf_ilp_gnssSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_GANSSSignals },
3708 { &hf_ilp_ganssDataBitInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_15 },
3709 { &hf_ilp_ganssDataBitSatList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_ganssDataBitSatList },
3710 { NULL, 0, 0, NULL }
3713 static int
3714 dissect_ilp_ReqDataBitAssistanceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3715 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3716 ett_ilp_ReqDataBitAssistanceList, ReqDataBitAssistanceList_sequence);
3718 return offset;
3722 static const per_sequence_t GanssDataBits_sequence[] = {
3723 { &hf_ilp_ganssTODmin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_59 },
3724 { &hf_ilp_reqDataBitAssistanceList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_ReqDataBitAssistanceList },
3725 { NULL, 0, 0, NULL }
3728 static int
3729 dissect_ilp_GanssDataBits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3730 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3731 ett_ilp_GanssDataBits, GanssDataBits_sequence);
3733 return offset;
3737 static const per_sequence_t GanssAdditionalDataChoices_sequence[] = {
3738 { &hf_ilp_orbitModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_7 },
3739 { &hf_ilp_clockModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_7 },
3740 { &hf_ilp_utcModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_7 },
3741 { &hf_ilp_almanacModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_7 },
3742 { NULL, 0, 0, NULL }
3745 static int
3746 dissect_ilp_GanssAdditionalDataChoices(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3747 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3748 ett_ilp_GanssAdditionalDataChoices, GanssAdditionalDataChoices_sequence);
3750 return offset;
3755 static int
3756 dissect_ilp_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3757 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3758 1U, 256U, NULL, false);
3760 return offset;
3764 static const per_sequence_t ExtendedEphemeris_sequence[] = {
3765 { &hf_ilp_validity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_1_256 },
3766 { NULL, 0, 0, NULL }
3769 static int
3770 dissect_ilp_ExtendedEphemeris(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3771 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3772 ett_ilp_ExtendedEphemeris, ExtendedEphemeris_sequence);
3774 return offset;
3779 static int
3780 dissect_ilp_INTEGER_0_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3781 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3782 0U, 23U, NULL, false);
3784 return offset;
3788 static const per_sequence_t GANSSextEphTime_sequence[] = {
3789 { &hf_ilp_gANSSday , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_8191 },
3790 { &hf_ilp_gANSSTODhour , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_23 },
3791 { NULL, 0, 0, NULL }
3794 static int
3795 dissect_ilp_GANSSextEphTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3796 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3797 ett_ilp_GANSSextEphTime, GANSSextEphTime_sequence);
3799 return offset;
3803 static const per_sequence_t GanssExtendedEphCheck_sequence[] = {
3804 { &hf_ilp_beginTime_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_GANSSextEphTime },
3805 { &hf_ilp_endTime_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_GANSSextEphTime },
3806 { NULL, 0, 0, NULL }
3809 static int
3810 dissect_ilp_GanssExtendedEphCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3811 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3812 ett_ilp_GanssExtendedEphCheck, GanssExtendedEphCheck_sequence);
3814 return offset;
3819 static int
3820 dissect_ilp_BDS_Sig_Id_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3821 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3822 8, 8, false, NULL, 0, NULL, NULL);
3824 return offset;
3828 static const per_sequence_t GanssReqGenericData_sequence[] = {
3829 { &hf_ilp_ganssId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_15 },
3830 { &hf_ilp_ganssSBASid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_BIT_STRING_SIZE_3 },
3831 { &hf_ilp_ganssRealTimeIntegrity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_BOOLEAN },
3832 { &hf_ilp_ganssDifferentialCorrection, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_DGANSS_Sig_Id_Req },
3833 { &hf_ilp_ganssAlmanac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3834 { &hf_ilp_ganssNavigationModelData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GanssNavigationModelData },
3835 { &hf_ilp_ganssTimeModels , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_BIT_STRING_SIZE_16 },
3836 { &hf_ilp_ganssReferenceMeasurementInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3837 { &hf_ilp_ganssDataBits , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GanssDataBits },
3838 { &hf_ilp_ganssUTCModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3839 { &hf_ilp_ganssAdditionalDataChoices, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GanssAdditionalDataChoices },
3840 { &hf_ilp_ganssAuxiliaryInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3841 { &hf_ilp_ganssExtendedEphemeris, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_ExtendedEphemeris },
3842 { &hf_ilp_ganssExtendedEphemerisCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GanssExtendedEphCheck },
3843 { &hf_ilp_bds_DifferentialCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_BDS_Sig_Id_Req },
3844 { &hf_ilp_bds_GridModelReq, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ilp_BOOLEAN },
3845 { NULL, 0, 0, NULL }
3848 static int
3849 dissect_ilp_GanssReqGenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3850 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3851 ett_ilp_GanssReqGenericData, GanssReqGenericData_sequence);
3853 return offset;
3857 static const per_sequence_t GanssRequestedGenericAssistanceDataList_sequence_of[1] = {
3858 { &hf_ilp_GanssRequestedGenericAssistanceDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_GanssReqGenericData },
3861 static int
3862 dissect_ilp_GanssRequestedGenericAssistanceDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3863 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3864 ett_ilp_GanssRequestedGenericAssistanceDataList, GanssRequestedGenericAssistanceDataList_sequence_of,
3865 1, maxGANSS, false);
3867 return offset;
3871 static const per_sequence_t GPSTime_sequence[] = {
3872 { &hf_ilp_gPSWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_1023 },
3873 { &hf_ilp_gPSTOWhour , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_167 },
3874 { NULL, 0, 0, NULL }
3877 static int
3878 dissect_ilp_GPSTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3879 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3880 ett_ilp_GPSTime, GPSTime_sequence);
3882 return offset;
3886 static const per_sequence_t ExtendedEphCheck_sequence[] = {
3887 { &hf_ilp_beginTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_GPSTime },
3888 { &hf_ilp_endTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_GPSTime },
3889 { NULL, 0, 0, NULL }
3892 static int
3893 dissect_ilp_ExtendedEphCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3894 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3895 ett_ilp_ExtendedEphCheck, ExtendedEphCheck_sequence);
3897 return offset;
3901 static const per_sequence_t RequestedAssistData_sequence[] = {
3902 { &hf_ilp_almanacRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3903 { &hf_ilp_utcModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3904 { &hf_ilp_ionosphericModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3905 { &hf_ilp_dgpsCorrectionsRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3906 { &hf_ilp_referenceLocationRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3907 { &hf_ilp_referenceTimeRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3908 { &hf_ilp_acquisitionAssistanceRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3909 { &hf_ilp_realTimeIntegrityRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3910 { &hf_ilp_navigationModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_BOOLEAN },
3911 { &hf_ilp_navigationModelData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_NavigationModel },
3912 { &hf_ilp_ganssRequestedCommonAssistanceDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GanssRequestedCommonAssistanceDataList },
3913 { &hf_ilp_ganssRequestedGenericAssistanceDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GanssRequestedGenericAssistanceDataList },
3914 { &hf_ilp_extendedEphemeris, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_ExtendedEphemeris },
3915 { &hf_ilp_extendedEphemerisCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_ExtendedEphCheck },
3916 { NULL, 0, 0, NULL }
3919 static int
3920 dissect_ilp_RequestedAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3921 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3922 ett_ilp_RequestedAssistData, RequestedAssistData_sequence);
3924 return offset;
3929 static int
3930 dissect_ilp_OCTET_STRING_SIZE_1_8192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3931 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3932 1, 8192, false, NULL);
3934 return offset;
3939 static int
3940 dissect_ilp_T_rrlpPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3941 tvbuff_t *rrlp_tvb;
3943 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3944 1, 8192, false, &rrlp_tvb);
3947 if (rrlp_tvb && rrlp_handle) {
3948 call_dissector(rrlp_handle, rrlp_tvb, actx->pinfo, tree);
3952 return offset;
3957 static int
3958 dissect_ilp_T_lPPPayload_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3959 tvbuff_t *lpp_tvb;
3961 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3962 1, 60000, false, &lpp_tvb);
3965 if (lpp_tvb && lpp_handle) {
3966 call_dissector(lpp_handle, lpp_tvb, actx->pinfo, tree);
3970 return offset;
3974 static const per_sequence_t T_lPPPayload_sequence_of[1] = {
3975 { &hf_ilp_lPPPayload_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_T_lPPPayload_item },
3978 static int
3979 dissect_ilp_T_lPPPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3980 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3981 ett_ilp_T_lPPPayload, T_lPPPayload_sequence_of,
3982 1, 3, false);
3984 return offset;
3989 static int
3990 dissect_ilp_OCTET_STRING_SIZE_1_60000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3991 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3992 1, 60000, false, NULL);
3994 return offset;
3998 static const per_sequence_t T_tia801Payload_sequence_of[1] = {
3999 { &hf_ilp_tia801Payload_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_OCTET_STRING_SIZE_1_60000 },
4002 static int
4003 dissect_ilp_T_tia801Payload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4004 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4005 ett_ilp_T_tia801Payload, T_tia801Payload_sequence_of,
4006 1, 3, false);
4008 return offset;
4012 static const per_sequence_t MultiPosPayLoad_sequence[] = {
4013 { &hf_ilp_lPPPayload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_lPPPayload },
4014 { &hf_ilp_tia801Payload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_tia801Payload },
4015 { NULL, 0, 0, NULL }
4018 static int
4019 dissect_ilp_MultiPosPayLoad(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4020 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4021 ett_ilp_MultiPosPayLoad, MultiPosPayLoad_sequence);
4023 return offset;
4027 static const value_string ilp_PosPayLoad_vals[] = {
4028 { 0, "rrcPayload" },
4029 { 1, "rrlpPayload" },
4030 { 2, "multiPosPayload" },
4031 { 0, NULL }
4034 static const per_choice_t PosPayLoad_choice[] = {
4035 { 0, &hf_ilp_rrcPayload , ASN1_EXTENSION_ROOT , dissect_ilp_OCTET_STRING_SIZE_1_8192 },
4036 { 1, &hf_ilp_rrlpPayload , ASN1_EXTENSION_ROOT , dissect_ilp_T_rrlpPayload },
4037 { 2, &hf_ilp_multiPosPayload , ASN1_EXTENSION_ROOT , dissect_ilp_MultiPosPayLoad },
4038 { 0, NULL, 0, NULL }
4041 static int
4042 dissect_ilp_PosPayLoad(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4043 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4044 ett_ilp_PosPayLoad, PosPayLoad_choice,
4045 NULL);
4047 return offset;
4052 static int
4053 dissect_ilp_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4054 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4055 0U, 16383U, NULL, false);
4057 return offset;
4061 static const per_sequence_t T_set_GPSTimingOfCell_sequence[] = {
4062 { &hf_ilp_ms_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_16383 },
4063 { &hf_ilp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4294967295 },
4064 { NULL, 0, 0, NULL }
4067 static int
4068 dissect_ilp_T_set_GPSTimingOfCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4069 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4070 ett_ilp_T_set_GPSTimingOfCell, T_set_GPSTimingOfCell_sequence);
4072 return offset;
4076 static const per_sequence_t T_fdd_sequence[] = {
4077 { &hf_ilp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_PrimaryCPICH_Info },
4078 { NULL, 0, 0, NULL }
4081 static int
4082 dissect_ilp_T_fdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4083 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4084 ett_ilp_T_fdd, T_fdd_sequence);
4086 return offset;
4090 static const per_sequence_t T_tdd_sequence[] = {
4091 { &hf_ilp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_CellParametersID },
4092 { NULL, 0, 0, NULL }
4095 static int
4096 dissect_ilp_T_tdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4097 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4098 ett_ilp_T_tdd, T_tdd_sequence);
4100 return offset;
4104 static const value_string ilp_T_modeSpecificInfo_vals[] = {
4105 { 0, "fdd" },
4106 { 1, "tdd" },
4107 { 0, NULL }
4110 static const per_choice_t T_modeSpecificInfo_choice[] = {
4111 { 0, &hf_ilp_fdd , ASN1_NO_EXTENSIONS , dissect_ilp_T_fdd },
4112 { 1, &hf_ilp_tdd , ASN1_NO_EXTENSIONS , dissect_ilp_T_tdd },
4113 { 0, NULL, 0, NULL }
4116 static int
4117 dissect_ilp_T_modeSpecificInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4118 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4119 ett_ilp_T_modeSpecificInfo, T_modeSpecificInfo_choice,
4120 NULL);
4122 return offset;
4126 static const per_sequence_t UTRAN_GPSReferenceTimeResult_sequence[] = {
4127 { &hf_ilp_set_GPSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_T_set_GPSTimingOfCell },
4128 { &hf_ilp_modeSpecificInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_T_modeSpecificInfo },
4129 { &hf_ilp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4095 },
4130 { &hf_ilp_gpsReferenceTimeUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
4131 { NULL, 0, 0, NULL }
4134 static int
4135 dissect_ilp_UTRAN_GPSReferenceTimeResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4136 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4137 ett_ilp_UTRAN_GPSReferenceTimeResult, UTRAN_GPSReferenceTimeResult_sequence);
4139 return offset;
4144 static int
4145 dissect_ilp_INTEGER_0_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4146 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4147 0U, 80U, NULL, false);
4149 return offset;
4153 static const per_sequence_t T_set_GANSSTimingOfCell_sequence[] = {
4154 { &hf_ilp_ms_part_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_80 },
4155 { &hf_ilp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4294967295 },
4156 { NULL, 0, 0, NULL }
4159 static int
4160 dissect_ilp_T_set_GANSSTimingOfCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4161 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4162 ett_ilp_T_set_GANSSTimingOfCell, T_set_GANSSTimingOfCell_sequence);
4164 return offset;
4168 static const per_sequence_t T_fdd_01_sequence[] = {
4169 { &hf_ilp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_PrimaryCPICH_Info },
4170 { NULL, 0, 0, NULL }
4173 static int
4174 dissect_ilp_T_fdd_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4175 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4176 ett_ilp_T_fdd_01, T_fdd_01_sequence);
4178 return offset;
4182 static const per_sequence_t T_tdd_01_sequence[] = {
4183 { &hf_ilp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_CellParametersID },
4184 { NULL, 0, 0, NULL }
4187 static int
4188 dissect_ilp_T_tdd_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4189 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4190 ett_ilp_T_tdd_01, T_tdd_01_sequence);
4192 return offset;
4196 static const value_string ilp_T_modeSpecificInfo_01_vals[] = {
4197 { 0, "fdd" },
4198 { 1, "tdd" },
4199 { 0, NULL }
4202 static const per_choice_t T_modeSpecificInfo_01_choice[] = {
4203 { 0, &hf_ilp_fdd_01 , ASN1_NO_EXTENSIONS , dissect_ilp_T_fdd_01 },
4204 { 1, &hf_ilp_tdd_01 , ASN1_NO_EXTENSIONS , dissect_ilp_T_tdd_01 },
4205 { 0, NULL, 0, NULL }
4208 static int
4209 dissect_ilp_T_modeSpecificInfo_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4210 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4211 ett_ilp_T_modeSpecificInfo_01, T_modeSpecificInfo_01_choice,
4212 NULL);
4214 return offset;
4218 static const per_sequence_t SET_GANSSReferenceTime_sequence[] = {
4219 { &hf_ilp_set_GANSSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_set_GANSSTimingOfCell },
4220 { &hf_ilp_modeSpecificInfo_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_modeSpecificInfo_01 },
4221 { &hf_ilp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4095 },
4222 { &hf_ilp_ganss_TODUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
4223 { NULL, 0, 0, NULL }
4226 static int
4227 dissect_ilp_SET_GANSSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4228 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4229 ett_ilp_SET_GANSSReferenceTime, SET_GANSSReferenceTime_sequence);
4231 return offset;
4235 static const per_sequence_t UTRAN_GANSSReferenceTimeResult_sequence[] = {
4236 { &hf_ilp_ganssTimeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_15 },
4237 { &hf_ilp_set_GANSSReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_SET_GANSSReferenceTime },
4238 { NULL, 0, 0, NULL }
4241 static int
4242 dissect_ilp_UTRAN_GANSSReferenceTimeResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4243 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4244 ett_ilp_UTRAN_GANSSReferenceTimeResult, UTRAN_GANSSReferenceTimeResult_sequence);
4246 return offset;
4250 static const per_sequence_t PINIT_sequence[] = {
4251 { &hf_ilp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_SETCapabilities },
4252 { &hf_ilp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_LocationId },
4253 { &hf_ilp_posMethod , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosMethod },
4254 { &hf_ilp_requestedAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_RequestedAssistData },
4255 { &hf_ilp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_Position },
4256 { &hf_ilp_posPayLoad , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_PosPayLoad },
4257 { &hf_ilp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_MultipleLocationIds },
4258 { &hf_ilp_utran_GPSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_UTRAN_GPSReferenceTimeResult },
4259 { &hf_ilp_utran_GANSSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_UTRAN_GANSSReferenceTimeResult },
4260 { &hf_ilp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_GNSSPosTechnology },
4261 { NULL, 0, 0, NULL }
4264 static int
4265 dissect_ilp_PINIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4266 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4267 ett_ilp_PINIT, PINIT_sequence);
4269 return offset;
4273 static const per_sequence_t PAUTH_sequence[] = {
4274 { &hf_ilp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_SPCSETKey },
4275 { &hf_ilp_spctid , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_SPCTID },
4276 { &hf_ilp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SPCSETKeylifetime },
4277 { NULL, 0, 0, NULL }
4280 static int
4281 dissect_ilp_PAUTH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4282 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4283 ett_ilp_PAUTH, PAUTH_sequence);
4285 return offset;
4289 static const per_sequence_t PALIVE_sequence[] = {
4290 { &hf_ilp_sPCStatusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_SPCStatusCode },
4291 { NULL, 0, 0, NULL }
4294 static int
4295 dissect_ilp_PALIVE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4296 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4297 ett_ilp_PALIVE, PALIVE_sequence);
4299 return offset;
4303 static const per_sequence_t PEND_sequence[] = {
4304 { &hf_ilp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_Position },
4305 { &hf_ilp_statusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_StatusCode },
4306 { NULL, 0, 0, NULL }
4309 static int
4310 dissect_ilp_PEND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4311 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4312 ett_ilp_PEND, PEND_sequence);
4314 return offset;
4318 static const per_sequence_t T_utran_GPSTimingOfCell_sequence[] = {
4319 { &hf_ilp_ms_part_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_1023 },
4320 { &hf_ilp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4294967295 },
4321 { NULL, 0, 0, NULL }
4324 static int
4325 dissect_ilp_T_utran_GPSTimingOfCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4326 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4327 ett_ilp_T_utran_GPSTimingOfCell, T_utran_GPSTimingOfCell_sequence);
4329 return offset;
4333 static const per_sequence_t T_fdd_03_sequence[] = {
4334 { &hf_ilp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_PrimaryCPICH_Info },
4335 { NULL, 0, 0, NULL }
4338 static int
4339 dissect_ilp_T_fdd_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4340 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4341 ett_ilp_T_fdd_03, T_fdd_03_sequence);
4343 return offset;
4347 static const per_sequence_t T_tdd_03_sequence[] = {
4348 { &hf_ilp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_CellParametersID },
4349 { NULL, 0, 0, NULL }
4352 static int
4353 dissect_ilp_T_tdd_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4354 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4355 ett_ilp_T_tdd_03, T_tdd_03_sequence);
4357 return offset;
4361 static const value_string ilp_T_modeSpecificInfo_03_vals[] = {
4362 { 0, "fdd" },
4363 { 1, "tdd" },
4364 { 0, NULL }
4367 static const per_choice_t T_modeSpecificInfo_03_choice[] = {
4368 { 0, &hf_ilp_fdd_03 , ASN1_NO_EXTENSIONS , dissect_ilp_T_fdd_03 },
4369 { 1, &hf_ilp_tdd_03 , ASN1_NO_EXTENSIONS , dissect_ilp_T_tdd_03 },
4370 { 0, NULL, 0, NULL }
4373 static int
4374 dissect_ilp_T_modeSpecificInfo_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4375 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4376 ett_ilp_T_modeSpecificInfo_03, T_modeSpecificInfo_03_choice,
4377 NULL);
4379 return offset;
4383 static const per_sequence_t UTRAN_GPSReferenceTime_sequence[] = {
4384 { &hf_ilp_utran_GPSTimingOfCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_T_utran_GPSTimingOfCell },
4385 { &hf_ilp_modeSpecificInfo_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_T_modeSpecificInfo_03 },
4386 { &hf_ilp_sfn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4095 },
4387 { NULL, 0, 0, NULL }
4390 static int
4391 dissect_ilp_UTRAN_GPSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4392 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4393 ett_ilp_UTRAN_GPSReferenceTime, UTRAN_GPSReferenceTime_sequence);
4395 return offset;
4399 static const value_string ilp_UTRANGPSDriftRate_vals[] = {
4400 { 0, "utran-GPSDrift0" },
4401 { 1, "utran-GPSDrift1" },
4402 { 2, "utran-GPSDrift2" },
4403 { 3, "utran-GPSDrift5" },
4404 { 4, "utran-GPSDrift10" },
4405 { 5, "utran-GPSDrift15" },
4406 { 6, "utran-GPSDrift25" },
4407 { 7, "utran-GPSDrift50" },
4408 { 8, "utran-GPSDrift-1" },
4409 { 9, "utran-GPSDrift-2" },
4410 { 10, "utran-GPSDrift-5" },
4411 { 11, "utran-GPSDrift-10" },
4412 { 12, "utran-GPSDrift-15" },
4413 { 13, "utran-GPSDrift-25" },
4414 { 14, "utran-GPSDrift-50" },
4415 { 0, NULL }
4419 static int
4420 dissect_ilp_UTRANGPSDriftRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4421 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4422 15, NULL, false, 0, NULL);
4424 return offset;
4428 static const per_sequence_t UTRAN_GPSReferenceTimeAssistance_sequence[] = {
4429 { &hf_ilp_utran_GPSReferenceTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_UTRAN_GPSReferenceTime },
4430 { &hf_ilp_gpsReferenceTimeUncertainty, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
4431 { &hf_ilp_utranGPSDriftRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_UTRANGPSDriftRate },
4432 { NULL, 0, 0, NULL }
4435 static int
4436 dissect_ilp_UTRAN_GPSReferenceTimeAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4437 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4438 ett_ilp_UTRAN_GPSReferenceTimeAssistance, UTRAN_GPSReferenceTimeAssistance_sequence);
4440 return offset;
4445 static int
4446 dissect_ilp_INTEGER_0_86399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4447 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4448 0U, 86399U, NULL, false);
4450 return offset;
4455 static int
4456 dissect_ilp_INTEGER_0_3999999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4457 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4458 0U, 3999999U, NULL, false);
4460 return offset;
4464 static const per_sequence_t T_fdd_04_sequence[] = {
4465 { &hf_ilp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_PrimaryCPICH_Info },
4466 { NULL, 0, 0, NULL }
4469 static int
4470 dissect_ilp_T_fdd_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4471 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4472 ett_ilp_T_fdd_04, T_fdd_04_sequence);
4474 return offset;
4478 static const per_sequence_t T_tdd_04_sequence[] = {
4479 { &hf_ilp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_CellParametersID },
4480 { NULL, 0, 0, NULL }
4483 static int
4484 dissect_ilp_T_tdd_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4485 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4486 ett_ilp_T_tdd_04, T_tdd_04_sequence);
4488 return offset;
4492 static const value_string ilp_T_modeSpecificInfo_04_vals[] = {
4493 { 0, "fdd" },
4494 { 1, "tdd" },
4495 { 0, NULL }
4498 static const per_choice_t T_modeSpecificInfo_04_choice[] = {
4499 { 0, &hf_ilp_fdd_04 , ASN1_NO_EXTENSIONS , dissect_ilp_T_fdd_04 },
4500 { 1, &hf_ilp_tdd_04 , ASN1_NO_EXTENSIONS , dissect_ilp_T_tdd_04 },
4501 { 0, NULL, 0, NULL }
4504 static int
4505 dissect_ilp_T_modeSpecificInfo_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4506 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4507 ett_ilp_T_modeSpecificInfo_04, T_modeSpecificInfo_04_choice,
4508 NULL);
4510 return offset;
4514 static const per_sequence_t UTRAN_GANSSReferenceTime_sequence[] = {
4515 { &hf_ilp_ganssTOD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_86399 },
4516 { &hf_ilp_utran_GANSSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_3999999 },
4517 { &hf_ilp_modeSpecificInfo_04, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_T_modeSpecificInfo_04 },
4518 { &hf_ilp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_4095 },
4519 { &hf_ilp_ganss_TODUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_127 },
4520 { NULL, 0, 0, NULL }
4523 static int
4524 dissect_ilp_UTRAN_GANSSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4525 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4526 ett_ilp_UTRAN_GANSSReferenceTime, UTRAN_GANSSReferenceTime_sequence);
4528 return offset;
4532 static const value_string ilp_UTRANGANSSDriftRate_vals[] = {
4533 { 0, "utran-GANSSDrift0" },
4534 { 1, "utran-GANSSDrift1" },
4535 { 2, "utran-GANSSDrift2" },
4536 { 3, "utran-GANSSDrift5" },
4537 { 4, "utran-GANSSDrift10" },
4538 { 5, "utran-GANSSDrift15" },
4539 { 6, "utran-GANSSDrift25" },
4540 { 7, "utran-GANSSDrift50" },
4541 { 8, "utran-GANSSDrift-1" },
4542 { 9, "utran-GANSSDrift-2" },
4543 { 10, "utran-GANSSDrift-5" },
4544 { 11, "utran-GANSSDrift-10" },
4545 { 12, "utran-GANSSDrift-15" },
4546 { 13, "utran-GANSSDrift-25" },
4547 { 14, "utran-GANSSDrift-50" },
4548 { 0, NULL }
4552 static int
4553 dissect_ilp_UTRANGANSSDriftRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4554 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4555 15, NULL, false, 0, NULL);
4557 return offset;
4561 static const per_sequence_t UTRAN_GANSSReferenceTimeAssistance_sequence[] = {
4562 { &hf_ilp_ganssTimeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_15 },
4563 { &hf_ilp_utran_GANSSReferenceTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_UTRAN_GANSSReferenceTime },
4564 { &hf_ilp_ganssDay , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_INTEGER_0_8191 },
4565 { &hf_ilp_utranGANSSDriftRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ilp_UTRANGANSSDriftRate },
4566 { NULL, 0, 0, NULL }
4569 static int
4570 dissect_ilp_UTRAN_GANSSReferenceTimeAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4571 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4572 ett_ilp_UTRAN_GANSSReferenceTimeAssistance, UTRAN_GANSSReferenceTimeAssistance_sequence);
4574 return offset;
4578 static const per_sequence_t PMESS_sequence[] = {
4579 { &hf_ilp_posPayLoad , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ilp_PosPayLoad },
4580 { &hf_ilp_velocity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_Velocity },
4581 { &hf_ilp_utran_GPSReferenceTimeAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_UTRAN_GPSReferenceTimeAssistance },
4582 { &hf_ilp_utran_GPSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_UTRAN_GPSReferenceTimeResult },
4583 { &hf_ilp_utran_GANSSReferenceTimeAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_UTRAN_GANSSReferenceTimeAssistance },
4584 { &hf_ilp_utran_GANSSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ilp_UTRAN_GANSSReferenceTimeResult },
4585 { NULL, 0, 0, NULL }
4588 static int
4589 dissect_ilp_PMESS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4590 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4591 ett_ilp_PMESS, PMESS_sequence);
4593 return offset;
4597 static const value_string ilp_IlpMessage_vals[] = {
4598 { 0, "msPREQ" },
4599 { 1, "msPRES" },
4600 { 2, "msPRPT" },
4601 { 3, "msPLREQ" },
4602 { 4, "msPLRES" },
4603 { 5, "msPINIT" },
4604 { 6, "msPAUTH" },
4605 { 7, "msPALIVE" },
4606 { 8, "msPEND" },
4607 { 9, "msPMESS" },
4608 { 0, NULL }
4611 static const per_choice_t IlpMessage_choice[] = {
4612 { 0, &hf_ilp_msPREQ , ASN1_EXTENSION_ROOT , dissect_ilp_PREQ },
4613 { 1, &hf_ilp_msPRES , ASN1_EXTENSION_ROOT , dissect_ilp_PRES },
4614 { 2, &hf_ilp_msPRPT , ASN1_EXTENSION_ROOT , dissect_ilp_PRPT },
4615 { 3, &hf_ilp_msPLREQ , ASN1_EXTENSION_ROOT , dissect_ilp_PLREQ },
4616 { 4, &hf_ilp_msPLRES , ASN1_EXTENSION_ROOT , dissect_ilp_PLRES },
4617 { 5, &hf_ilp_msPINIT , ASN1_EXTENSION_ROOT , dissect_ilp_PINIT },
4618 { 6, &hf_ilp_msPAUTH , ASN1_EXTENSION_ROOT , dissect_ilp_PAUTH },
4619 { 7, &hf_ilp_msPALIVE , ASN1_EXTENSION_ROOT , dissect_ilp_PALIVE },
4620 { 8, &hf_ilp_msPEND , ASN1_EXTENSION_ROOT , dissect_ilp_PEND },
4621 { 9, &hf_ilp_msPMESS , ASN1_EXTENSION_ROOT , dissect_ilp_PMESS },
4622 { 0, NULL, 0, NULL }
4625 static int
4626 dissect_ilp_IlpMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4628 uint32_t IlpMessage;
4630 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4631 ett_ilp_IlpMessage, IlpMessage_choice,
4632 &IlpMessage);
4635 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str_const(IlpMessage,ilp_IlpMessage_vals,"Unknown"));
4638 return offset;
4642 static const per_sequence_t ILP_PDU_sequence[] = {
4643 { &hf_ilp_length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_INTEGER_0_65535 },
4644 { &hf_ilp_version , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_Version },
4645 { &hf_ilp_sessionID2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_SessionID2 },
4646 { &hf_ilp_message , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ilp_IlpMessage },
4647 { NULL, 0, 0, NULL }
4650 static int
4651 dissect_ilp_ILP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4652 proto_item *it;
4653 proto_tree *ilp_tree;
4655 it = proto_tree_add_item(tree, proto_ilp, tvb, 0, -1, ENC_NA);
4656 ilp_tree = proto_item_add_subtree(it, ett_ilp);
4658 col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
4659 col_clear(actx->pinfo->cinfo, COL_INFO);
4660 offset = dissect_per_sequence(tvb, offset, actx, ilp_tree, hf_index,
4661 ett_ilp_ILP_PDU, ILP_PDU_sequence);
4664 return offset;
4667 /*--- PDUs ---*/
4669 static int dissect_ILP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4670 int offset = 0;
4671 asn1_ctx_t asn1_ctx;
4672 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, false, pinfo);
4673 offset = dissect_ilp_ILP_PDU(tvb, offset, &asn1_ctx, tree, hf_ilp_ILP_PDU_PDU);
4674 offset += 7; offset >>= 3;
4675 return offset;
4680 static unsigned
4681 get_ilp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset, void *data _U_)
4683 /* PDU length = Message length */
4684 return tvb_get_ntohs(tvb,offset);
4687 static int
4688 dissect_ilp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
4690 tcp_dissect_pdus(tvb, pinfo, tree, ilp_desegment, ILP_HEADER_SIZE,
4691 get_ilp_pdu_len, dissect_ILP_PDU_PDU, data);
4692 return tvb_captured_length(tvb);
4695 void proto_reg_handoff_ilp(void);
4697 /*--- proto_register_ilp -------------------------------------------*/
4698 void proto_register_ilp(void) {
4700 /* List of fields */
4701 static hf_register_info hf[] = {
4703 { &hf_ilp_ILP_PDU_PDU,
4704 { "ILP-PDU", "ilp.ILP_PDU_element",
4705 FT_NONE, BASE_NONE, NULL, 0,
4706 NULL, HFILL }},
4707 { &hf_ilp_length,
4708 { "length", "ilp.length",
4709 FT_UINT32, BASE_DEC, NULL, 0,
4710 "INTEGER_0_65535", HFILL }},
4711 { &hf_ilp_version,
4712 { "version", "ilp.version_element",
4713 FT_NONE, BASE_NONE, NULL, 0,
4714 NULL, HFILL }},
4715 { &hf_ilp_sessionID2,
4716 { "sessionID2", "ilp.sessionID2_element",
4717 FT_NONE, BASE_NONE, NULL, 0,
4718 NULL, HFILL }},
4719 { &hf_ilp_message,
4720 { "message", "ilp.message",
4721 FT_UINT32, BASE_DEC, VALS(ilp_IlpMessage_vals), 0,
4722 "IlpMessage", HFILL }},
4723 { &hf_ilp_msPREQ,
4724 { "msPREQ", "ilp.msPREQ_element",
4725 FT_NONE, BASE_NONE, NULL, 0,
4726 "PREQ", HFILL }},
4727 { &hf_ilp_msPRES,
4728 { "msPRES", "ilp.msPRES_element",
4729 FT_NONE, BASE_NONE, NULL, 0,
4730 "PRES", HFILL }},
4731 { &hf_ilp_msPRPT,
4732 { "msPRPT", "ilp.msPRPT_element",
4733 FT_NONE, BASE_NONE, NULL, 0,
4734 "PRPT", HFILL }},
4735 { &hf_ilp_msPLREQ,
4736 { "msPLREQ", "ilp.msPLREQ_element",
4737 FT_NONE, BASE_NONE, NULL, 0,
4738 "PLREQ", HFILL }},
4739 { &hf_ilp_msPLRES,
4740 { "msPLRES", "ilp.msPLRES_element",
4741 FT_NONE, BASE_NONE, NULL, 0,
4742 "PLRES", HFILL }},
4743 { &hf_ilp_msPINIT,
4744 { "msPINIT", "ilp.msPINIT_element",
4745 FT_NONE, BASE_NONE, NULL, 0,
4746 "PINIT", HFILL }},
4747 { &hf_ilp_msPAUTH,
4748 { "msPAUTH", "ilp.msPAUTH_element",
4749 FT_NONE, BASE_NONE, NULL, 0,
4750 "PAUTH", HFILL }},
4751 { &hf_ilp_msPALIVE,
4752 { "msPALIVE", "ilp.msPALIVE_element",
4753 FT_NONE, BASE_NONE, NULL, 0,
4754 "PALIVE", HFILL }},
4755 { &hf_ilp_msPEND,
4756 { "msPEND", "ilp.msPEND_element",
4757 FT_NONE, BASE_NONE, NULL, 0,
4758 "PEND", HFILL }},
4759 { &hf_ilp_msPMESS,
4760 { "msPMESS", "ilp.msPMESS_element",
4761 FT_NONE, BASE_NONE, NULL, 0,
4762 "PMESS", HFILL }},
4763 { &hf_ilp_sLPMode,
4764 { "sLPMode", "ilp.sLPMode",
4765 FT_UINT32, BASE_DEC, VALS(ilp_SLPMode_vals), 0,
4766 NULL, HFILL }},
4767 { &hf_ilp_approvedPosMethods,
4768 { "approvedPosMethods", "ilp.approvedPosMethods_element",
4769 FT_NONE, BASE_NONE, NULL, 0,
4770 "PosTechnology", HFILL }},
4771 { &hf_ilp_locationId,
4772 { "locationId", "ilp.locationId_element",
4773 FT_NONE, BASE_NONE, NULL, 0,
4774 NULL, HFILL }},
4775 { &hf_ilp_multipleLocationIds,
4776 { "multipleLocationIds", "ilp.multipleLocationIds",
4777 FT_UINT32, BASE_DEC, NULL, 0,
4778 NULL, HFILL }},
4779 { &hf_ilp_position,
4780 { "position", "ilp.position_element",
4781 FT_NONE, BASE_NONE, NULL, 0,
4782 NULL, HFILL }},
4783 { &hf_ilp_triggerParams,
4784 { "triggerParams", "ilp.triggerParams_element",
4785 FT_NONE, BASE_NONE, NULL, 0,
4786 NULL, HFILL }},
4787 { &hf_ilp_sPCSETKey,
4788 { "sPCSETKey", "ilp.sPCSETKey",
4789 FT_BYTES, BASE_NONE, NULL, 0,
4790 NULL, HFILL }},
4791 { &hf_ilp_spctid,
4792 { "spctid", "ilp.spctid_element",
4793 FT_NONE, BASE_NONE, NULL, 0,
4794 NULL, HFILL }},
4795 { &hf_ilp_sPCSETKeylifetime,
4796 { "sPCSETKeylifetime", "ilp.sPCSETKeylifetime",
4797 FT_UINT32, BASE_DEC, NULL, 0,
4798 NULL, HFILL }},
4799 { &hf_ilp_qoP,
4800 { "qoP", "ilp.qoP_element",
4801 FT_NONE, BASE_NONE, NULL, 0,
4802 NULL, HFILL }},
4803 { &hf_ilp_sETCapabilities,
4804 { "sETCapabilities", "ilp.sETCapabilities_element",
4805 FT_NONE, BASE_NONE, NULL, 0,
4806 NULL, HFILL }},
4807 { &hf_ilp_notificationMode,
4808 { "notificationMode", "ilp.notificationMode",
4809 FT_UINT32, BASE_DEC, VALS(ilp_NotificationMode_vals), 0,
4810 NULL, HFILL }},
4811 { &hf_ilp_triggerType,
4812 { "triggerType", "ilp.triggerType",
4813 FT_UINT32, BASE_DEC, VALS(ilp_TriggerType_vals), 0,
4814 NULL, HFILL }},
4815 { &hf_ilp_periodicTriggerParams,
4816 { "periodicTriggerParams", "ilp.periodicTriggerParams_element",
4817 FT_NONE, BASE_NONE, NULL, 0,
4818 NULL, HFILL }},
4819 { &hf_ilp_numberOfFixes,
4820 { "numberOfFixes", "ilp.numberOfFixes",
4821 FT_UINT32, BASE_DEC, NULL, 0,
4822 "INTEGER_1_8639999", HFILL }},
4823 { &hf_ilp_intervalBetweenFixes,
4824 { "intervalBetweenFixes", "ilp.intervalBetweenFixes",
4825 FT_UINT32, BASE_DEC, NULL, 0,
4826 "INTEGER_1_8639999", HFILL }},
4827 { &hf_ilp_startTime,
4828 { "startTime", "ilp.startTime",
4829 FT_UINT32, BASE_DEC, NULL, 0,
4830 "INTEGER_0_2678400", HFILL }},
4831 { &hf_ilp_preferredPosMethod,
4832 { "preferredPosMethod", "ilp.preferredPosMethod",
4833 FT_UINT32, BASE_DEC, VALS(ilp_PosMethod_vals), 0,
4834 "PosMethod", HFILL }},
4835 { &hf_ilp_gnssPosTechnology,
4836 { "gnssPosTechnology", "ilp.gnssPosTechnology_element",
4837 FT_NONE, BASE_NONE, NULL, 0,
4838 NULL, HFILL }},
4839 { &hf_ilp_supportedPosMethods,
4840 { "supportedPosMethods", "ilp.supportedPosMethods_element",
4841 FT_NONE, BASE_NONE, NULL, 0,
4842 "PosTechnology", HFILL }},
4843 { &hf_ilp_sPCstatusCode,
4844 { "sPCstatusCode", "ilp.sPCstatusCode",
4845 FT_UINT32, BASE_DEC, VALS(ilp_SPCStatusCode_vals), 0,
4846 NULL, HFILL }},
4847 { &hf_ilp_fixNumber,
4848 { "fixNumber", "ilp.fixNumber",
4849 FT_UINT32, BASE_DEC, NULL, 0,
4850 "INTEGER_1_8639999", HFILL }},
4851 { &hf_ilp_statusCode,
4852 { "statusCode", "ilp.statusCode",
4853 FT_UINT32, BASE_DEC, VALS(ilp_StatusCode_vals), 0,
4854 NULL, HFILL }},
4855 { &hf_ilp_positionResults,
4856 { "positionResults", "ilp.positionResults",
4857 FT_UINT32, BASE_DEC, NULL, 0,
4858 NULL, HFILL }},
4859 { &hf_ilp_PositionResults_item,
4860 { "PositionResult", "ilp.PositionResult",
4861 FT_UINT32, BASE_DEC, VALS(ilp_PositionResult_vals), 0,
4862 NULL, HFILL }},
4863 { &hf_ilp_posMethod,
4864 { "posMethod", "ilp.posMethod",
4865 FT_UINT32, BASE_DEC, VALS(ilp_PosMethod_vals), 0,
4866 NULL, HFILL }},
4867 { &hf_ilp_requestedAssistData,
4868 { "requestedAssistData", "ilp.requestedAssistData_element",
4869 FT_NONE, BASE_NONE, NULL, 0,
4870 NULL, HFILL }},
4871 { &hf_ilp_posPayLoad,
4872 { "posPayLoad", "ilp.posPayLoad",
4873 FT_UINT32, BASE_DEC, VALS(ilp_PosPayLoad_vals), 0,
4874 NULL, HFILL }},
4875 { &hf_ilp_utran_GPSReferenceTimeResult,
4876 { "utran-GPSReferenceTimeResult", "ilp.utran_GPSReferenceTimeResult_element",
4877 FT_NONE, BASE_NONE, NULL, 0,
4878 NULL, HFILL }},
4879 { &hf_ilp_utran_GANSSReferenceTimeResult,
4880 { "utran-GANSSReferenceTimeResult", "ilp.utran_GANSSReferenceTimeResult_element",
4881 FT_NONE, BASE_NONE, NULL, 0,
4882 NULL, HFILL }},
4883 { &hf_ilp_almanacRequested,
4884 { "almanacRequested", "ilp.almanacRequested",
4885 FT_BOOLEAN, BASE_NONE, NULL, 0,
4886 "BOOLEAN", HFILL }},
4887 { &hf_ilp_utcModelRequested,
4888 { "utcModelRequested", "ilp.utcModelRequested",
4889 FT_BOOLEAN, BASE_NONE, NULL, 0,
4890 "BOOLEAN", HFILL }},
4891 { &hf_ilp_ionosphericModelRequested,
4892 { "ionosphericModelRequested", "ilp.ionosphericModelRequested",
4893 FT_BOOLEAN, BASE_NONE, NULL, 0,
4894 "BOOLEAN", HFILL }},
4895 { &hf_ilp_dgpsCorrectionsRequested,
4896 { "dgpsCorrectionsRequested", "ilp.dgpsCorrectionsRequested",
4897 FT_BOOLEAN, BASE_NONE, NULL, 0,
4898 "BOOLEAN", HFILL }},
4899 { &hf_ilp_referenceLocationRequested,
4900 { "referenceLocationRequested", "ilp.referenceLocationRequested",
4901 FT_BOOLEAN, BASE_NONE, NULL, 0,
4902 "BOOLEAN", HFILL }},
4903 { &hf_ilp_referenceTimeRequested,
4904 { "referenceTimeRequested", "ilp.referenceTimeRequested",
4905 FT_BOOLEAN, BASE_NONE, NULL, 0,
4906 "BOOLEAN", HFILL }},
4907 { &hf_ilp_acquisitionAssistanceRequested,
4908 { "acquisitionAssistanceRequested", "ilp.acquisitionAssistanceRequested",
4909 FT_BOOLEAN, BASE_NONE, NULL, 0,
4910 "BOOLEAN", HFILL }},
4911 { &hf_ilp_realTimeIntegrityRequested,
4912 { "realTimeIntegrityRequested", "ilp.realTimeIntegrityRequested",
4913 FT_BOOLEAN, BASE_NONE, NULL, 0,
4914 "BOOLEAN", HFILL }},
4915 { &hf_ilp_navigationModelRequested,
4916 { "navigationModelRequested", "ilp.navigationModelRequested",
4917 FT_BOOLEAN, BASE_NONE, NULL, 0,
4918 "BOOLEAN", HFILL }},
4919 { &hf_ilp_navigationModelData,
4920 { "navigationModelData", "ilp.navigationModelData_element",
4921 FT_NONE, BASE_NONE, NULL, 0,
4922 "NavigationModel", HFILL }},
4923 { &hf_ilp_ganssRequestedCommonAssistanceDataList,
4924 { "ganssRequestedCommonAssistanceDataList", "ilp.ganssRequestedCommonAssistanceDataList_element",
4925 FT_NONE, BASE_NONE, NULL, 0,
4926 NULL, HFILL }},
4927 { &hf_ilp_ganssRequestedGenericAssistanceDataList,
4928 { "ganssRequestedGenericAssistanceDataList", "ilp.ganssRequestedGenericAssistanceDataList",
4929 FT_UINT32, BASE_DEC, NULL, 0,
4930 NULL, HFILL }},
4931 { &hf_ilp_extendedEphemeris,
4932 { "extendedEphemeris", "ilp.extendedEphemeris_element",
4933 FT_NONE, BASE_NONE, NULL, 0,
4934 NULL, HFILL }},
4935 { &hf_ilp_extendedEphemerisCheck,
4936 { "extendedEphemerisCheck", "ilp.extendedEphemerisCheck_element",
4937 FT_NONE, BASE_NONE, NULL, 0,
4938 "ExtendedEphCheck", HFILL }},
4939 { &hf_ilp_validity,
4940 { "validity", "ilp.validity",
4941 FT_UINT32, BASE_DEC, NULL, 0,
4942 "INTEGER_1_256", HFILL }},
4943 { &hf_ilp_beginTime,
4944 { "beginTime", "ilp.beginTime_element",
4945 FT_NONE, BASE_NONE, NULL, 0,
4946 "GPSTime", HFILL }},
4947 { &hf_ilp_endTime,
4948 { "endTime", "ilp.endTime_element",
4949 FT_NONE, BASE_NONE, NULL, 0,
4950 "GPSTime", HFILL }},
4951 { &hf_ilp_gPSWeek,
4952 { "gPSWeek", "ilp.gPSWeek",
4953 FT_UINT32, BASE_DEC, NULL, 0,
4954 "INTEGER_0_1023", HFILL }},
4955 { &hf_ilp_gPSTOWhour,
4956 { "gPSTOWhour", "ilp.gPSTOWhour",
4957 FT_UINT32, BASE_DEC, NULL, 0,
4958 "INTEGER_0_167", HFILL }},
4959 { &hf_ilp_ganssReferenceTime,
4960 { "ganssReferenceTime", "ilp.ganssReferenceTime",
4961 FT_BOOLEAN, BASE_NONE, NULL, 0,
4962 "BOOLEAN", HFILL }},
4963 { &hf_ilp_ganssIonosphericModel,
4964 { "ganssIonosphericModel", "ilp.ganssIonosphericModel",
4965 FT_BOOLEAN, BASE_NONE, NULL, 0,
4966 "BOOLEAN", HFILL }},
4967 { &hf_ilp_ganssAdditionalIonosphericModelForDataID00,
4968 { "ganssAdditionalIonosphericModelForDataID00", "ilp.ganssAdditionalIonosphericModelForDataID00",
4969 FT_BOOLEAN, BASE_NONE, NULL, 0,
4970 "BOOLEAN", HFILL }},
4971 { &hf_ilp_ganssAdditionalIonosphericModelForDataID11,
4972 { "ganssAdditionalIonosphericModelForDataID11", "ilp.ganssAdditionalIonosphericModelForDataID11",
4973 FT_BOOLEAN, BASE_NONE, NULL, 0,
4974 "BOOLEAN", HFILL }},
4975 { &hf_ilp_ganssEarthOrientationParameters,
4976 { "ganssEarthOrientationParameters", "ilp.ganssEarthOrientationParameters",
4977 FT_BOOLEAN, BASE_NONE, NULL, 0,
4978 "BOOLEAN", HFILL }},
4979 { &hf_ilp_ganssAdditionalIonosphericModelForDataID01,
4980 { "ganssAdditionalIonosphericModelForDataID01", "ilp.ganssAdditionalIonosphericModelForDataID01",
4981 FT_BOOLEAN, BASE_NONE, NULL, 0,
4982 "BOOLEAN", HFILL }},
4983 { &hf_ilp_GanssRequestedGenericAssistanceDataList_item,
4984 { "GanssReqGenericData", "ilp.GanssReqGenericData_element",
4985 FT_NONE, BASE_NONE, NULL, 0,
4986 NULL, HFILL }},
4987 { &hf_ilp_ganssId,
4988 { "ganssId", "ilp.ganssId",
4989 FT_UINT32, BASE_DEC, NULL, 0,
4990 "INTEGER_0_15", HFILL }},
4991 { &hf_ilp_ganssSBASid,
4992 { "ganssSBASid", "ilp.ganssSBASid",
4993 FT_BYTES, BASE_NONE, NULL, 0,
4994 "BIT_STRING_SIZE_3", HFILL }},
4995 { &hf_ilp_ganssRealTimeIntegrity,
4996 { "ganssRealTimeIntegrity", "ilp.ganssRealTimeIntegrity",
4997 FT_BOOLEAN, BASE_NONE, NULL, 0,
4998 "BOOLEAN", HFILL }},
4999 { &hf_ilp_ganssDifferentialCorrection,
5000 { "ganssDifferentialCorrection", "ilp.ganssDifferentialCorrection",
5001 FT_BYTES, BASE_NONE, NULL, 0,
5002 "DGANSS_Sig_Id_Req", HFILL }},
5003 { &hf_ilp_ganssAlmanac,
5004 { "ganssAlmanac", "ilp.ganssAlmanac",
5005 FT_BOOLEAN, BASE_NONE, NULL, 0,
5006 "BOOLEAN", HFILL }},
5007 { &hf_ilp_ganssNavigationModelData,
5008 { "ganssNavigationModelData", "ilp.ganssNavigationModelData_element",
5009 FT_NONE, BASE_NONE, NULL, 0,
5010 NULL, HFILL }},
5011 { &hf_ilp_ganssTimeModels,
5012 { "ganssTimeModels", "ilp.ganssTimeModels",
5013 FT_BYTES, BASE_NONE, NULL, 0,
5014 "BIT_STRING_SIZE_16", HFILL }},
5015 { &hf_ilp_ganssReferenceMeasurementInfo,
5016 { "ganssReferenceMeasurementInfo", "ilp.ganssReferenceMeasurementInfo",
5017 FT_BOOLEAN, BASE_NONE, NULL, 0,
5018 "BOOLEAN", HFILL }},
5019 { &hf_ilp_ganssDataBits,
5020 { "ganssDataBits", "ilp.ganssDataBits_element",
5021 FT_NONE, BASE_NONE, NULL, 0,
5022 NULL, HFILL }},
5023 { &hf_ilp_ganssUTCModel,
5024 { "ganssUTCModel", "ilp.ganssUTCModel",
5025 FT_BOOLEAN, BASE_NONE, NULL, 0,
5026 "BOOLEAN", HFILL }},
5027 { &hf_ilp_ganssAdditionalDataChoices,
5028 { "ganssAdditionalDataChoices", "ilp.ganssAdditionalDataChoices_element",
5029 FT_NONE, BASE_NONE, NULL, 0,
5030 NULL, HFILL }},
5031 { &hf_ilp_ganssAuxiliaryInformation,
5032 { "ganssAuxiliaryInformation", "ilp.ganssAuxiliaryInformation",
5033 FT_BOOLEAN, BASE_NONE, NULL, 0,
5034 "BOOLEAN", HFILL }},
5035 { &hf_ilp_ganssExtendedEphemeris,
5036 { "ganssExtendedEphemeris", "ilp.ganssExtendedEphemeris_element",
5037 FT_NONE, BASE_NONE, NULL, 0,
5038 "ExtendedEphemeris", HFILL }},
5039 { &hf_ilp_ganssExtendedEphemerisCheck,
5040 { "ganssExtendedEphemerisCheck", "ilp.ganssExtendedEphemerisCheck_element",
5041 FT_NONE, BASE_NONE, NULL, 0,
5042 "GanssExtendedEphCheck", HFILL }},
5043 { &hf_ilp_bds_DifferentialCorrection,
5044 { "bds-DifferentialCorrection", "ilp.bds_DifferentialCorrection",
5045 FT_BYTES, BASE_NONE, NULL, 0,
5046 "BDS_Sig_Id_Req", HFILL }},
5047 { &hf_ilp_bds_GridModelReq,
5048 { "bds-GridModelReq", "ilp.bds_GridModelReq",
5049 FT_BOOLEAN, BASE_NONE, NULL, 0,
5050 "BOOLEAN", HFILL }},
5051 { &hf_ilp_ganssWeek,
5052 { "ganssWeek", "ilp.ganssWeek",
5053 FT_UINT32, BASE_DEC, NULL, 0,
5054 "INTEGER_0_4095", HFILL }},
5055 { &hf_ilp_ganssToe,
5056 { "ganssToe", "ilp.ganssToe",
5057 FT_UINT32, BASE_DEC, NULL, 0,
5058 "INTEGER_0_167", HFILL }},
5059 { &hf_ilp_t_toeLimit,
5060 { "t-toeLimit", "ilp.t_toeLimit",
5061 FT_UINT32, BASE_DEC, NULL, 0,
5062 "INTEGER_0_10", HFILL }},
5063 { &hf_ilp_satellitesListRelatedDataList,
5064 { "satellitesListRelatedDataList", "ilp.satellitesListRelatedDataList",
5065 FT_UINT32, BASE_DEC, NULL, 0,
5066 NULL, HFILL }},
5067 { &hf_ilp_SatellitesListRelatedDataList_item,
5068 { "SatellitesListRelatedData", "ilp.SatellitesListRelatedData_element",
5069 FT_NONE, BASE_NONE, NULL, 0,
5070 NULL, HFILL }},
5071 { &hf_ilp_satId,
5072 { "satId", "ilp.satId",
5073 FT_UINT32, BASE_DEC, NULL, 0,
5074 "INTEGER_0_63", HFILL }},
5075 { &hf_ilp_iod,
5076 { "iod", "ilp.iod",
5077 FT_UINT32, BASE_DEC, NULL, 0,
5078 "INTEGER_0_1023", HFILL }},
5079 { &hf_ilp_ganssTODmin,
5080 { "ganssTODmin", "ilp.ganssTODmin",
5081 FT_UINT32, BASE_DEC, NULL, 0,
5082 "INTEGER_0_59", HFILL }},
5083 { &hf_ilp_reqDataBitAssistanceList,
5084 { "reqDataBitAssistanceList", "ilp.reqDataBitAssistanceList_element",
5085 FT_NONE, BASE_NONE, NULL, 0,
5086 NULL, HFILL }},
5087 { &hf_ilp_gnssSignals,
5088 { "gnssSignals", "ilp.gnssSignals",
5089 FT_BYTES, BASE_NONE, NULL, 0,
5090 "GANSSSignals", HFILL }},
5091 { &hf_ilp_ganssDataBitInterval,
5092 { "ganssDataBitInterval", "ilp.ganssDataBitInterval",
5093 FT_UINT32, BASE_DEC, NULL, 0,
5094 "INTEGER_0_15", HFILL }},
5095 { &hf_ilp_ganssDataBitSatList,
5096 { "ganssDataBitSatList", "ilp.ganssDataBitSatList",
5097 FT_UINT32, BASE_DEC, NULL, 0,
5098 NULL, HFILL }},
5099 { &hf_ilp_ganssDataBitSatList_item,
5100 { "ganssDataBitSatList item", "ilp.ganssDataBitSatList_item",
5101 FT_UINT32, BASE_DEC, NULL, 0,
5102 "INTEGER_0_63", HFILL }},
5103 { &hf_ilp_orbitModelID,
5104 { "orbitModelID", "ilp.orbitModelID",
5105 FT_UINT32, BASE_DEC, NULL, 0,
5106 "INTEGER_0_7", HFILL }},
5107 { &hf_ilp_clockModelID,
5108 { "clockModelID", "ilp.clockModelID",
5109 FT_UINT32, BASE_DEC, NULL, 0,
5110 "INTEGER_0_7", HFILL }},
5111 { &hf_ilp_utcModelID,
5112 { "utcModelID", "ilp.utcModelID",
5113 FT_UINT32, BASE_DEC, NULL, 0,
5114 "INTEGER_0_7", HFILL }},
5115 { &hf_ilp_almanacModelID,
5116 { "almanacModelID", "ilp.almanacModelID",
5117 FT_UINT32, BASE_DEC, NULL, 0,
5118 "INTEGER_0_7", HFILL }},
5119 { &hf_ilp_beginTime_01,
5120 { "beginTime", "ilp.beginTime_element",
5121 FT_NONE, BASE_NONE, NULL, 0,
5122 "GANSSextEphTime", HFILL }},
5123 { &hf_ilp_endTime_01,
5124 { "endTime", "ilp.endTime_element",
5125 FT_NONE, BASE_NONE, NULL, 0,
5126 "GANSSextEphTime", HFILL }},
5127 { &hf_ilp_gANSSday,
5128 { "gANSSday", "ilp.gANSSday",
5129 FT_UINT32, BASE_DEC, NULL, 0,
5130 "INTEGER_0_8191", HFILL }},
5131 { &hf_ilp_gANSSTODhour,
5132 { "gANSSTODhour", "ilp.gANSSTODhour",
5133 FT_UINT32, BASE_DEC, NULL, 0,
5134 "INTEGER_0_23", HFILL }},
5135 { &hf_ilp_gpsWeek,
5136 { "gpsWeek", "ilp.gpsWeek",
5137 FT_UINT32, BASE_DEC, NULL, 0,
5138 "INTEGER_0_1023", HFILL }},
5139 { &hf_ilp_gpsToe,
5140 { "gpsToe", "ilp.gpsToe",
5141 FT_UINT32, BASE_DEC, NULL, 0,
5142 "INTEGER_0_167", HFILL }},
5143 { &hf_ilp_nsat,
5144 { "nsat", "ilp.nsat",
5145 FT_UINT32, BASE_DEC, NULL, 0,
5146 "INTEGER_0_31", HFILL }},
5147 { &hf_ilp_toeLimit,
5148 { "toeLimit", "ilp.toeLimit",
5149 FT_UINT32, BASE_DEC, NULL, 0,
5150 "INTEGER_0_10", HFILL }},
5151 { &hf_ilp_satInfo,
5152 { "satInfo", "ilp.satInfo",
5153 FT_UINT32, BASE_DEC, NULL, 0,
5154 "SatelliteInfo", HFILL }},
5155 { &hf_ilp_SatelliteInfo_item,
5156 { "SatelliteInfoElement", "ilp.SatelliteInfoElement_element",
5157 FT_NONE, BASE_NONE, NULL, 0,
5158 NULL, HFILL }},
5159 { &hf_ilp_iode,
5160 { "iode", "ilp.iode",
5161 FT_UINT32, BASE_DEC, NULL, 0,
5162 "INTEGER_0_255", HFILL }},
5163 { &hf_ilp_sPCStatusCode,
5164 { "sPCStatusCode", "ilp.sPCStatusCode",
5165 FT_UINT32, BASE_DEC, VALS(ilp_SPCStatusCode_vals), 0,
5166 NULL, HFILL }},
5167 { &hf_ilp_velocity,
5168 { "velocity", "ilp.velocity",
5169 FT_UINT32, BASE_DEC, VALS(ilp_Velocity_vals), 0,
5170 NULL, HFILL }},
5171 { &hf_ilp_utran_GPSReferenceTimeAssistance,
5172 { "utran-GPSReferenceTimeAssistance", "ilp.utran_GPSReferenceTimeAssistance_element",
5173 FT_NONE, BASE_NONE, NULL, 0,
5174 NULL, HFILL }},
5175 { &hf_ilp_utran_GANSSReferenceTimeAssistance,
5176 { "utran-GANSSReferenceTimeAssistance", "ilp.utran_GANSSReferenceTimeAssistance_element",
5177 FT_NONE, BASE_NONE, NULL, 0,
5178 NULL, HFILL }},
5179 { &hf_ilp_maj,
5180 { "maj", "ilp.maj",
5181 FT_UINT32, BASE_DEC, NULL, 0,
5182 "INTEGER_0_255", HFILL }},
5183 { &hf_ilp_min,
5184 { "min", "ilp.min",
5185 FT_UINT32, BASE_DEC, NULL, 0,
5186 "INTEGER_0_255", HFILL }},
5187 { &hf_ilp_servind,
5188 { "servind", "ilp.servind",
5189 FT_UINT32, BASE_DEC, NULL, 0,
5190 "INTEGER_0_255", HFILL }},
5191 { &hf_ilp_slcSessionID,
5192 { "slcSessionID", "ilp.slcSessionID_element",
5193 FT_NONE, BASE_NONE, NULL, 0,
5194 NULL, HFILL }},
5195 { &hf_ilp_setSessionID,
5196 { "setSessionID", "ilp.setSessionID_element",
5197 FT_NONE, BASE_NONE, NULL, 0,
5198 NULL, HFILL }},
5199 { &hf_ilp_spcSessionID,
5200 { "spcSessionID", "ilp.spcSessionID_element",
5201 FT_NONE, BASE_NONE, NULL, 0,
5202 NULL, HFILL }},
5203 { &hf_ilp_sessionId,
5204 { "sessionId", "ilp.sessionId",
5205 FT_UINT32, BASE_DEC, NULL, 0,
5206 "INTEGER_0_65535", HFILL }},
5207 { &hf_ilp_setId,
5208 { "setId", "ilp.setId",
5209 FT_UINT32, BASE_DEC, VALS(ilp_SETId_vals), 0,
5210 NULL, HFILL }},
5211 { &hf_ilp_msisdn,
5212 { "msisdn", "ilp.msisdn",
5213 FT_BYTES, BASE_NONE, NULL, 0,
5214 NULL, HFILL }},
5215 { &hf_ilp_mdn,
5216 { "mdn", "ilp.mdn",
5217 FT_BYTES, BASE_NONE, NULL, 0,
5218 NULL, HFILL }},
5219 { &hf_ilp_minsi,
5220 { "min", "ilp.minsi",
5221 FT_BYTES, BASE_NONE, NULL, 0,
5222 "BIT_STRING_SIZE_34", HFILL }},
5223 { &hf_ilp_imsi,
5224 { "imsi", "ilp.imsi",
5225 FT_BYTES, BASE_NONE, NULL, 0,
5226 NULL, HFILL }},
5227 { &hf_ilp_nai,
5228 { "nai", "ilp.nai",
5229 FT_STRING, BASE_NONE, NULL, 0,
5230 "IA5String_SIZE_1_1000", HFILL }},
5231 { &hf_ilp_iPAddress,
5232 { "iPAddress", "ilp.iPAddress",
5233 FT_UINT32, BASE_DEC, VALS(ilp_IPAddress_vals), 0,
5234 NULL, HFILL }},
5235 { &hf_ilp_imei,
5236 { "imei", "ilp.imei",
5237 FT_BYTES, BASE_NONE, NULL, 0,
5238 "OCTET_STRING_SIZE_8", HFILL }},
5239 { &hf_ilp_sessionID,
5240 { "sessionID", "ilp.sessionID",
5241 FT_BYTES, BASE_NONE, NULL, 0,
5242 "OCTET_STRING_SIZE_4", HFILL }},
5243 { &hf_ilp_slcId,
5244 { "slcId", "ilp.slcId",
5245 FT_UINT32, BASE_DEC, VALS(ilp_NodeAddress_vals), 0,
5246 "NodeAddress", HFILL }},
5247 { &hf_ilp_spcId,
5248 { "spcId", "ilp.spcId",
5249 FT_UINT32, BASE_DEC, VALS(ilp_NodeAddress_vals), 0,
5250 "NodeAddress", HFILL }},
5251 { &hf_ilp_ipv4Address,
5252 { "ipv4Address", "ilp.ipv4Address",
5253 FT_IPv4, BASE_NONE, NULL, 0,
5254 "OCTET_STRING_SIZE_4", HFILL }},
5255 { &hf_ilp_ipv6Address,
5256 { "ipv6Address", "ilp.ipv6Address",
5257 FT_IPv6, BASE_NONE, NULL, 0,
5258 "OCTET_STRING_SIZE_16", HFILL }},
5259 { &hf_ilp_fqdn,
5260 { "fqdn", "ilp.fqdn",
5261 FT_STRING, BASE_NONE, NULL, 0,
5262 NULL, HFILL }},
5263 { &hf_ilp_cellInfo,
5264 { "cellInfo", "ilp.cellInfo",
5265 FT_UINT32, BASE_DEC, VALS(ilp_CellInfo_vals), 0,
5266 NULL, HFILL }},
5267 { &hf_ilp_status,
5268 { "status", "ilp.status",
5269 FT_UINT32, BASE_DEC, VALS(ilp_Status_vals), 0,
5270 NULL, HFILL }},
5271 { &hf_ilp_MultipleLocationIds_item,
5272 { "LocationIdData", "ilp.LocationIdData_element",
5273 FT_NONE, BASE_NONE, NULL, 0,
5274 NULL, HFILL }},
5275 { &hf_ilp_relativetimestamp,
5276 { "relativetimestamp", "ilp.relativetimestamp",
5277 FT_UINT32, BASE_DEC, NULL, 0,
5278 "RelativeTime", HFILL }},
5279 { &hf_ilp_servingFlag,
5280 { "servingFlag", "ilp.servingFlag",
5281 FT_BOOLEAN, BASE_NONE, NULL, 0,
5282 "BOOLEAN", HFILL }},
5283 { &hf_ilp_posTechnology,
5284 { "posTechnology", "ilp.posTechnology_element",
5285 FT_NONE, BASE_NONE, NULL, 0,
5286 NULL, HFILL }},
5287 { &hf_ilp_prefMethod,
5288 { "prefMethod", "ilp.prefMethod",
5289 FT_UINT32, BASE_DEC, VALS(ilp_PrefMethod_vals), 0,
5290 NULL, HFILL }},
5291 { &hf_ilp_posProtocol,
5292 { "posProtocol", "ilp.posProtocol_element",
5293 FT_NONE, BASE_NONE, NULL, 0,
5294 NULL, HFILL }},
5295 { &hf_ilp_supportedBearers,
5296 { "supportedBearers", "ilp.supportedBearers_element",
5297 FT_NONE, BASE_NONE, NULL, 0,
5298 NULL, HFILL }},
5299 { &hf_ilp_agpsSETassisted,
5300 { "agpsSETassisted", "ilp.agpsSETassisted",
5301 FT_BOOLEAN, BASE_NONE, NULL, 0,
5302 "BOOLEAN", HFILL }},
5303 { &hf_ilp_agpsSETBased,
5304 { "agpsSETBased", "ilp.agpsSETBased",
5305 FT_BOOLEAN, BASE_NONE, NULL, 0,
5306 "BOOLEAN", HFILL }},
5307 { &hf_ilp_autonomousGPS,
5308 { "autonomousGPS", "ilp.autonomousGPS",
5309 FT_BOOLEAN, BASE_NONE, NULL, 0,
5310 "BOOLEAN", HFILL }},
5311 { &hf_ilp_aflt,
5312 { "aflt", "ilp.aflt",
5313 FT_BOOLEAN, BASE_NONE, NULL, 0,
5314 "BOOLEAN", HFILL }},
5315 { &hf_ilp_ecid,
5316 { "ecid", "ilp.ecid",
5317 FT_BOOLEAN, BASE_NONE, NULL, 0,
5318 "BOOLEAN", HFILL }},
5319 { &hf_ilp_eotd,
5320 { "eotd", "ilp.eotd",
5321 FT_BOOLEAN, BASE_NONE, NULL, 0,
5322 "BOOLEAN", HFILL }},
5323 { &hf_ilp_otdoa,
5324 { "otdoa", "ilp.otdoa",
5325 FT_BOOLEAN, BASE_NONE, NULL, 0,
5326 "BOOLEAN", HFILL }},
5327 { &hf_ilp_gANSSPositionMethods,
5328 { "gANSSPositionMethods", "ilp.gANSSPositionMethods",
5329 FT_UINT32, BASE_DEC, NULL, 0,
5330 NULL, HFILL }},
5331 { &hf_ilp_additionalPositioningMethods,
5332 { "additionalPositioningMethods", "ilp.additionalPositioningMethods",
5333 FT_UINT32, BASE_DEC, NULL, 0,
5334 NULL, HFILL }},
5335 { &hf_ilp_GANSSPositionMethods_item,
5336 { "GANSSPositionMethod", "ilp.GANSSPositionMethod_element",
5337 FT_NONE, BASE_NONE, NULL, 0,
5338 NULL, HFILL }},
5339 { &hf_ilp_gANSSPositioningMethodTypes,
5340 { "gANSSPositioningMethodTypes", "ilp.gANSSPositioningMethodTypes_element",
5341 FT_NONE, BASE_NONE, NULL, 0,
5342 NULL, HFILL }},
5343 { &hf_ilp_gANSSSignals,
5344 { "gANSSSignals", "ilp.gANSSSignals",
5345 FT_BYTES, BASE_NONE, NULL, 0,
5346 NULL, HFILL }},
5347 { &hf_ilp_setAssisted,
5348 { "setAssisted", "ilp.setAssisted",
5349 FT_BOOLEAN, BASE_NONE, NULL, 0,
5350 "BOOLEAN", HFILL }},
5351 { &hf_ilp_setBased,
5352 { "setBased", "ilp.setBased",
5353 FT_BOOLEAN, BASE_NONE, NULL, 0,
5354 "BOOLEAN", HFILL }},
5355 { &hf_ilp_autonomous,
5356 { "autonomous", "ilp.autonomous",
5357 FT_BOOLEAN, BASE_NONE, NULL, 0,
5358 "BOOLEAN", HFILL }},
5359 { &hf_ilp_AdditionalPositioningMethods_item,
5360 { "AddPosSupport-Element", "ilp.AddPosSupport_Element_element",
5361 FT_NONE, BASE_NONE, NULL, 0,
5362 NULL, HFILL }},
5363 { &hf_ilp_addPosID,
5364 { "addPosID", "ilp.addPosID",
5365 FT_UINT32, BASE_DEC, VALS(ilp_T_addPosID_vals), 0,
5366 NULL, HFILL }},
5367 { &hf_ilp_addPosMode,
5368 { "addPosMode", "ilp.addPosMode",
5369 FT_BYTES, BASE_NONE, NULL, 0,
5370 NULL, HFILL }},
5371 { &hf_ilp_tia801,
5372 { "tia801", "ilp.tia801",
5373 FT_BOOLEAN, BASE_NONE, NULL, 0,
5374 "BOOLEAN", HFILL }},
5375 { &hf_ilp_rrlp,
5376 { "rrlp", "ilp.rrlp",
5377 FT_BOOLEAN, BASE_NONE, NULL, 0,
5378 "BOOLEAN", HFILL }},
5379 { &hf_ilp_rrc,
5380 { "rrc", "ilp.rrc",
5381 FT_BOOLEAN, BASE_NONE, NULL, 0,
5382 "BOOLEAN", HFILL }},
5383 { &hf_ilp_lpp,
5384 { "lpp", "ilp.lpp",
5385 FT_BOOLEAN, BASE_NONE, NULL, 0,
5386 "BOOLEAN", HFILL }},
5387 { &hf_ilp_posProtocolVersionRRLP,
5388 { "posProtocolVersionRRLP", "ilp.posProtocolVersionRRLP_element",
5389 FT_NONE, BASE_NONE, NULL, 0,
5390 "PosProtocolVersion3GPP", HFILL }},
5391 { &hf_ilp_posProtocolVersionRRC,
5392 { "posProtocolVersionRRC", "ilp.posProtocolVersionRRC_element",
5393 FT_NONE, BASE_NONE, NULL, 0,
5394 "PosProtocolVersion3GPP", HFILL }},
5395 { &hf_ilp_posProtocolVersionTIA801,
5396 { "posProtocolVersionTIA801", "ilp.posProtocolVersionTIA801",
5397 FT_UINT32, BASE_DEC, NULL, 0,
5398 "PosProtocolVersion3GPP2", HFILL }},
5399 { &hf_ilp_posProtocolVersionLPP,
5400 { "posProtocolVersionLPP", "ilp.posProtocolVersionLPP_element",
5401 FT_NONE, BASE_NONE, NULL, 0,
5402 "PosProtocolVersion3GPP", HFILL }},
5403 { &hf_ilp_lppe,
5404 { "lppe", "ilp.lppe",
5405 FT_BOOLEAN, BASE_NONE, NULL, 0,
5406 "BOOLEAN", HFILL }},
5407 { &hf_ilp_posProtocolVersionLPPe,
5408 { "posProtocolVersionLPPe", "ilp.posProtocolVersionLPPe_element",
5409 FT_NONE, BASE_NONE, NULL, 0,
5410 "PosProtocolVersionOMA", HFILL }},
5411 { &hf_ilp_majorVersionField,
5412 { "majorVersionField", "ilp.majorVersionField",
5413 FT_UINT32, BASE_DEC, NULL, 0,
5414 "INTEGER_0_255", HFILL }},
5415 { &hf_ilp_technicalVersionField,
5416 { "technicalVersionField", "ilp.technicalVersionField",
5417 FT_UINT32, BASE_DEC, NULL, 0,
5418 "INTEGER_0_255", HFILL }},
5419 { &hf_ilp_editorialVersionField,
5420 { "editorialVersionField", "ilp.editorialVersionField",
5421 FT_UINT32, BASE_DEC, NULL, 0,
5422 "INTEGER_0_255", HFILL }},
5423 { &hf_ilp_PosProtocolVersion3GPP2_item,
5424 { "Supported3GPP2PosProtocolVersion", "ilp.Supported3GPP2PosProtocolVersion_element",
5425 FT_NONE, BASE_NONE, NULL, 0,
5426 NULL, HFILL }},
5427 { &hf_ilp_revisionNumber,
5428 { "revisionNumber", "ilp.revisionNumber",
5429 FT_BYTES, BASE_NONE, NULL, 0,
5430 "BIT_STRING_SIZE_6", HFILL }},
5431 { &hf_ilp_pointReleaseNumber,
5432 { "pointReleaseNumber", "ilp.pointReleaseNumber",
5433 FT_UINT32, BASE_DEC, NULL, 0,
5434 "INTEGER_0_255", HFILL }},
5435 { &hf_ilp_internalEditLevel,
5436 { "internalEditLevel", "ilp.internalEditLevel",
5437 FT_UINT32, BASE_DEC, NULL, 0,
5438 "INTEGER_0_255", HFILL }},
5439 { &hf_ilp_minorVersionField,
5440 { "minorVersionField", "ilp.minorVersionField",
5441 FT_UINT32, BASE_DEC, NULL, 0,
5442 "INTEGER_0_255", HFILL }},
5443 { &hf_ilp_gsm,
5444 { "gsm", "ilp.gsm",
5445 FT_BOOLEAN, BASE_NONE, NULL, 0,
5446 "BOOLEAN", HFILL }},
5447 { &hf_ilp_wcdma,
5448 { "wcdma", "ilp.wcdma",
5449 FT_BOOLEAN, BASE_NONE, NULL, 0,
5450 "BOOLEAN", HFILL }},
5451 { &hf_ilp_lte,
5452 { "lte", "ilp.lte",
5453 FT_BOOLEAN, BASE_NONE, NULL, 0,
5454 "BOOLEAN", HFILL }},
5455 { &hf_ilp_cdma,
5456 { "cdma", "ilp.cdma",
5457 FT_BOOLEAN, BASE_NONE, NULL, 0,
5458 "BOOLEAN", HFILL }},
5459 { &hf_ilp_hprd,
5460 { "hprd", "ilp.hprd",
5461 FT_BOOLEAN, BASE_NONE, NULL, 0,
5462 "BOOLEAN", HFILL }},
5463 { &hf_ilp_umb,
5464 { "umb", "ilp.umb",
5465 FT_BOOLEAN, BASE_NONE, NULL, 0,
5466 "BOOLEAN", HFILL }},
5467 { &hf_ilp_wlan,
5468 { "wlan", "ilp.wlan",
5469 FT_BOOLEAN, BASE_NONE, NULL, 0,
5470 "BOOLEAN", HFILL }},
5471 { &hf_ilp_wiMAX,
5472 { "wiMAX", "ilp.wiMAX",
5473 FT_BOOLEAN, BASE_NONE, NULL, 0,
5474 "BOOLEAN", HFILL }},
5475 { &hf_ilp_nr,
5476 { "nr", "ilp.nr",
5477 FT_BOOLEAN, BASE_NONE, NULL, 0,
5478 "BOOLEAN", HFILL }},
5479 { &hf_ilp_gsmCell,
5480 { "gsmCell", "ilp.gsmCell_element",
5481 FT_NONE, BASE_NONE, NULL, 0,
5482 "GsmCellInformation", HFILL }},
5483 { &hf_ilp_wcdmaCell,
5484 { "wcdmaCell", "ilp.wcdmaCell_element",
5485 FT_NONE, BASE_NONE, NULL, 0,
5486 "WcdmaCellInformation", HFILL }},
5487 { &hf_ilp_cdmaCell,
5488 { "cdmaCell", "ilp.cdmaCell_element",
5489 FT_NONE, BASE_NONE, NULL, 0,
5490 "CdmaCellInformation", HFILL }},
5491 { &hf_ilp_hrpdCell,
5492 { "hrpdCell", "ilp.hrpdCell_element",
5493 FT_NONE, BASE_NONE, NULL, 0,
5494 "HrpdCellInformation", HFILL }},
5495 { &hf_ilp_umbCell,
5496 { "umbCell", "ilp.umbCell_element",
5497 FT_NONE, BASE_NONE, NULL, 0,
5498 "UmbCellInformation", HFILL }},
5499 { &hf_ilp_lteCell,
5500 { "lteCell", "ilp.lteCell_element",
5501 FT_NONE, BASE_NONE, NULL, 0,
5502 "LteCellInformation", HFILL }},
5503 { &hf_ilp_wlanAP,
5504 { "wlanAP", "ilp.wlanAP_element",
5505 FT_NONE, BASE_NONE, NULL, 0,
5506 "WlanAPInformation", HFILL }},
5507 { &hf_ilp_wimaxBS,
5508 { "wimaxBS", "ilp.wimaxBS_element",
5509 FT_NONE, BASE_NONE, NULL, 0,
5510 "WimaxBSInformation", HFILL }},
5511 { &hf_ilp_nrCell,
5512 { "nrCell", "ilp.nrCell_element",
5513 FT_NONE, BASE_NONE, NULL, 0,
5514 "NRCellInformation", HFILL }},
5515 { &hf_ilp_set_GPSTimingOfCell,
5516 { "set-GPSTimingOfCell", "ilp.set_GPSTimingOfCell_element",
5517 FT_NONE, BASE_NONE, NULL, 0,
5518 "T_set_GPSTimingOfCell", HFILL }},
5519 { &hf_ilp_ms_part,
5520 { "ms-part", "ilp.ms_part",
5521 FT_UINT32, BASE_DEC, NULL, 0,
5522 "INTEGER_0_16383", HFILL }},
5523 { &hf_ilp_ls_part,
5524 { "ls-part", "ilp.ls_part",
5525 FT_UINT32, BASE_DEC, NULL, 0,
5526 "INTEGER_0_4294967295", HFILL }},
5527 { &hf_ilp_modeSpecificInfo,
5528 { "modeSpecificInfo", "ilp.modeSpecificInfo",
5529 FT_UINT32, BASE_DEC, VALS(ilp_T_modeSpecificInfo_vals), 0,
5530 NULL, HFILL }},
5531 { &hf_ilp_fdd,
5532 { "fdd", "ilp.fdd_element",
5533 FT_NONE, BASE_NONE, NULL, 0,
5534 NULL, HFILL }},
5535 { &hf_ilp_referenceIdentity,
5536 { "referenceIdentity", "ilp.referenceIdentity_element",
5537 FT_NONE, BASE_NONE, NULL, 0,
5538 "PrimaryCPICH_Info", HFILL }},
5539 { &hf_ilp_tdd,
5540 { "tdd", "ilp.tdd_element",
5541 FT_NONE, BASE_NONE, NULL, 0,
5542 NULL, HFILL }},
5543 { &hf_ilp_referenceIdentity_01,
5544 { "referenceIdentity", "ilp.referenceIdentity",
5545 FT_UINT32, BASE_DEC, NULL, 0,
5546 "CellParametersID", HFILL }},
5547 { &hf_ilp_sfn,
5548 { "sfn", "ilp.sfn",
5549 FT_UINT32, BASE_DEC, NULL, 0,
5550 "INTEGER_0_4095", HFILL }},
5551 { &hf_ilp_gpsReferenceTimeUncertainty,
5552 { "gpsReferenceTimeUncertainty", "ilp.gpsReferenceTimeUncertainty",
5553 FT_UINT32, BASE_DEC, NULL, 0,
5554 "INTEGER_0_127", HFILL }},
5555 { &hf_ilp_ganssTimeID,
5556 { "ganssTimeID", "ilp.ganssTimeID",
5557 FT_UINT32, BASE_DEC, NULL, 0,
5558 "INTEGER_0_15", HFILL }},
5559 { &hf_ilp_set_GANSSReferenceTime,
5560 { "set-GANSSReferenceTime", "ilp.set_GANSSReferenceTime_element",
5561 FT_NONE, BASE_NONE, NULL, 0,
5562 NULL, HFILL }},
5563 { &hf_ilp_set_GANSSTimingOfCell,
5564 { "set-GANSSTimingOfCell", "ilp.set_GANSSTimingOfCell_element",
5565 FT_NONE, BASE_NONE, NULL, 0,
5566 "T_set_GANSSTimingOfCell", HFILL }},
5567 { &hf_ilp_ms_part_01,
5568 { "ms-part", "ilp.ms_part",
5569 FT_UINT32, BASE_DEC, NULL, 0,
5570 "INTEGER_0_80", HFILL }},
5571 { &hf_ilp_modeSpecificInfo_01,
5572 { "modeSpecificInfo", "ilp.modeSpecificInfo",
5573 FT_UINT32, BASE_DEC, VALS(ilp_T_modeSpecificInfo_01_vals), 0,
5574 "T_modeSpecificInfo_01", HFILL }},
5575 { &hf_ilp_fdd_01,
5576 { "fdd", "ilp.fdd_element",
5577 FT_NONE, BASE_NONE, NULL, 0,
5578 "T_fdd_01", HFILL }},
5579 { &hf_ilp_tdd_01,
5580 { "tdd", "ilp.tdd_element",
5581 FT_NONE, BASE_NONE, NULL, 0,
5582 "T_tdd_01", HFILL }},
5583 { &hf_ilp_ganss_TODUncertainty,
5584 { "ganss-TODUncertainty", "ilp.ganss_TODUncertainty",
5585 FT_UINT32, BASE_DEC, NULL, 0,
5586 "INTEGER_0_127", HFILL }},
5587 { &hf_ilp_gps,
5588 { "gps", "ilp.gps",
5589 FT_BOOLEAN, BASE_NONE, NULL, 0,
5590 "BOOLEAN", HFILL }},
5591 { &hf_ilp_galileo,
5592 { "galileo", "ilp.galileo",
5593 FT_BOOLEAN, BASE_NONE, NULL, 0,
5594 "BOOLEAN", HFILL }},
5595 { &hf_ilp_sbas,
5596 { "sbas", "ilp.sbas",
5597 FT_BOOLEAN, BASE_NONE, NULL, 0,
5598 "BOOLEAN", HFILL }},
5599 { &hf_ilp_modernized_gps,
5600 { "modernized-gps", "ilp.modernized_gps",
5601 FT_BOOLEAN, BASE_NONE, NULL, 0,
5602 "BOOLEAN", HFILL }},
5603 { &hf_ilp_qzss,
5604 { "qzss", "ilp.qzss",
5605 FT_BOOLEAN, BASE_NONE, NULL, 0,
5606 "BOOLEAN", HFILL }},
5607 { &hf_ilp_glonass,
5608 { "glonass", "ilp.glonass",
5609 FT_BOOLEAN, BASE_NONE, NULL, 0,
5610 "BOOLEAN", HFILL }},
5611 { &hf_ilp_bds,
5612 { "bds", "ilp.bds",
5613 FT_BOOLEAN, BASE_NONE, NULL, 0,
5614 "BOOLEAN", HFILL }},
5615 { &hf_ilp_timestamp,
5616 { "timestamp", "ilp.timestamp",
5617 FT_STRING, BASE_NONE, NULL, 0,
5618 "UTCTime", HFILL }},
5619 { &hf_ilp_positionEstimate,
5620 { "positionEstimate", "ilp.positionEstimate_element",
5621 FT_NONE, BASE_NONE, NULL, 0,
5622 NULL, HFILL }},
5623 { &hf_ilp_latitudeSign,
5624 { "latitudeSign", "ilp.latitudeSign",
5625 FT_UINT32, BASE_DEC, VALS(ilp_T_latitudeSign_vals), 0,
5626 NULL, HFILL }},
5627 { &hf_ilp_latitude,
5628 { "latitude", "ilp.latitude",
5629 FT_UINT32, BASE_DEC, NULL, 0,
5630 "INTEGER_0_8388607", HFILL }},
5631 { &hf_ilp_longitude,
5632 { "longitude", "ilp.longitude",
5633 FT_INT32, BASE_DEC, NULL, 0,
5634 "INTEGER_M8388608_8388607", HFILL }},
5635 { &hf_ilp_uncertainty,
5636 { "uncertainty", "ilp.uncertainty_element",
5637 FT_NONE, BASE_NONE, NULL, 0,
5638 NULL, HFILL }},
5639 { &hf_ilp_uncertaintySemiMajor,
5640 { "uncertaintySemiMajor", "ilp.uncertaintySemiMajor",
5641 FT_UINT32, BASE_DEC, NULL, 0,
5642 "INTEGER_0_127", HFILL }},
5643 { &hf_ilp_uncertaintySemiMinor,
5644 { "uncertaintySemiMinor", "ilp.uncertaintySemiMinor",
5645 FT_UINT32, BASE_DEC, NULL, 0,
5646 "INTEGER_0_127", HFILL }},
5647 { &hf_ilp_orientationMajorAxis,
5648 { "orientationMajorAxis", "ilp.orientationMajorAxis",
5649 FT_UINT32, BASE_DEC, NULL, 0,
5650 "INTEGER_0_180", HFILL }},
5651 { &hf_ilp_confidence,
5652 { "confidence", "ilp.confidence",
5653 FT_UINT32, BASE_DEC, NULL, 0,
5654 "INTEGER_0_100", HFILL }},
5655 { &hf_ilp_altitudeInfo,
5656 { "altitudeInfo", "ilp.altitudeInfo_element",
5657 FT_NONE, BASE_NONE, NULL, 0,
5658 NULL, HFILL }},
5659 { &hf_ilp_altitudeDirection,
5660 { "altitudeDirection", "ilp.altitudeDirection",
5661 FT_UINT32, BASE_DEC, VALS(ilp_T_altitudeDirection_vals), 0,
5662 NULL, HFILL }},
5663 { &hf_ilp_altitude,
5664 { "altitude", "ilp.altitude",
5665 FT_UINT32, BASE_DEC, NULL, 0,
5666 "INTEGER_0_32767", HFILL }},
5667 { &hf_ilp_altUncertainty,
5668 { "altUncertainty", "ilp.altUncertainty",
5669 FT_UINT32, BASE_DEC, NULL, 0,
5670 "INTEGER_0_127", HFILL }},
5671 { &hf_ilp_refNID,
5672 { "refNID", "ilp.refNID",
5673 FT_UINT32, BASE_DEC, NULL, 0,
5674 "INTEGER_0_65535", HFILL }},
5675 { &hf_ilp_refSID,
5676 { "refSID", "ilp.refSID",
5677 FT_UINT32, BASE_DEC, NULL, 0,
5678 "INTEGER_0_32767", HFILL }},
5679 { &hf_ilp_refBASEID,
5680 { "refBASEID", "ilp.refBASEID",
5681 FT_UINT32, BASE_DEC, NULL, 0,
5682 "INTEGER_0_65535", HFILL }},
5683 { &hf_ilp_refBASELAT,
5684 { "refBASELAT", "ilp.refBASELAT",
5685 FT_UINT32, BASE_DEC, NULL, 0,
5686 "INTEGER_0_4194303", HFILL }},
5687 { &hf_ilp_reBASELONG,
5688 { "reBASELONG", "ilp.reBASELONG",
5689 FT_UINT32, BASE_DEC, NULL, 0,
5690 "INTEGER_0_8388607", HFILL }},
5691 { &hf_ilp_refREFPN,
5692 { "refREFPN", "ilp.refREFPN",
5693 FT_UINT32, BASE_DEC, NULL, 0,
5694 "INTEGER_0_511", HFILL }},
5695 { &hf_ilp_refWeekNumber,
5696 { "refWeekNumber", "ilp.refWeekNumber",
5697 FT_UINT32, BASE_DEC, NULL, 0,
5698 "INTEGER_0_65535", HFILL }},
5699 { &hf_ilp_refSeconds,
5700 { "refSeconds", "ilp.refSeconds",
5701 FT_UINT32, BASE_DEC, NULL, 0,
5702 "INTEGER_0_4194303", HFILL }},
5703 { &hf_ilp_refMCC,
5704 { "refMCC", "ilp.refMCC",
5705 FT_UINT32, BASE_DEC, NULL, 0,
5706 "INTEGER_0_999", HFILL }},
5707 { &hf_ilp_refMNC,
5708 { "refMNC", "ilp.refMNC",
5709 FT_UINT32, BASE_DEC, NULL, 0,
5710 "INTEGER_0_999", HFILL }},
5711 { &hf_ilp_refLAC,
5712 { "refLAC", "ilp.refLAC",
5713 FT_UINT32, BASE_DEC, NULL, 0,
5714 "INTEGER_0_65535", HFILL }},
5715 { &hf_ilp_refCI,
5716 { "refCI", "ilp.refCI",
5717 FT_UINT32, BASE_DEC, NULL, 0,
5718 "INTEGER_0_65535", HFILL }},
5719 { &hf_ilp_nmr,
5720 { "nmr", "ilp.nmr",
5721 FT_UINT32, BASE_DEC, NULL, 0,
5722 NULL, HFILL }},
5723 { &hf_ilp_ta,
5724 { "ta", "ilp.ta",
5725 FT_UINT32, BASE_DEC, NULL, 0,
5726 "INTEGER_0_255", HFILL }},
5727 { &hf_ilp_refUC,
5728 { "refUC", "ilp.refUC",
5729 FT_UINT32, BASE_DEC, NULL, 0,
5730 "INTEGER_0_268435455", HFILL }},
5731 { &hf_ilp_frequencyInfo,
5732 { "frequencyInfo", "ilp.frequencyInfo_element",
5733 FT_NONE, BASE_NONE, NULL, 0,
5734 NULL, HFILL }},
5735 { &hf_ilp_primaryScramblingCode,
5736 { "primaryScramblingCode", "ilp.primaryScramblingCode",
5737 FT_UINT32, BASE_DEC, NULL, 0,
5738 "INTEGER_0_511", HFILL }},
5739 { &hf_ilp_measuredResultsList,
5740 { "measuredResultsList", "ilp.measuredResultsList",
5741 FT_UINT32, BASE_DEC, NULL, 0,
5742 NULL, HFILL }},
5743 { &hf_ilp_cellParametersId,
5744 { "cellParametersId", "ilp.cellParametersId",
5745 FT_UINT32, BASE_DEC, NULL, 0,
5746 "INTEGER_0_127", HFILL }},
5747 { &hf_ilp_timingAdvance,
5748 { "timingAdvance", "ilp.timingAdvance_element",
5749 FT_NONE, BASE_NONE, NULL, 0,
5750 NULL, HFILL }},
5751 { &hf_ilp_ta_01,
5752 { "ta", "ilp.ta",
5753 FT_UINT32, BASE_DEC, NULL, 0,
5754 "INTEGER_0_8191", HFILL }},
5755 { &hf_ilp_tAResolution,
5756 { "tAResolution", "ilp.tAResolution",
5757 FT_UINT32, BASE_DEC, VALS(ilp_TAResolution_vals), 0,
5758 NULL, HFILL }},
5759 { &hf_ilp_chipRate,
5760 { "chipRate", "ilp.chipRate",
5761 FT_UINT32, BASE_DEC, VALS(ilp_ChipRate_vals), 0,
5762 NULL, HFILL }},
5763 { &hf_ilp_refSECTORID,
5764 { "refSECTORID", "ilp.refSECTORID",
5765 FT_BYTES, BASE_NONE, NULL, 0,
5766 "BIT_STRING_SIZE_128", HFILL }},
5767 { &hf_ilp_cellGlobalIdEUTRA,
5768 { "cellGlobalIdEUTRA", "ilp.cellGlobalIdEUTRA_element",
5769 FT_NONE, BASE_NONE, NULL, 0,
5770 NULL, HFILL }},
5771 { &hf_ilp_physCellId,
5772 { "physCellId", "ilp.physCellId",
5773 FT_UINT32, BASE_DEC, NULL, 0,
5774 NULL, HFILL }},
5775 { &hf_ilp_trackingAreaCode,
5776 { "trackingAreaCode", "ilp.trackingAreaCode",
5777 FT_BYTES, BASE_NONE, NULL, 0,
5778 NULL, HFILL }},
5779 { &hf_ilp_rsrpResult,
5780 { "rsrpResult", "ilp.rsrpResult",
5781 FT_UINT32, BASE_DEC, NULL, 0,
5782 "RSRP_Range", HFILL }},
5783 { &hf_ilp_rsrqResult,
5784 { "rsrqResult", "ilp.rsrqResult",
5785 FT_UINT32, BASE_DEC, NULL, 0,
5786 "RSRQ_Range", HFILL }},
5787 { &hf_ilp_ta_02,
5788 { "ta", "ilp.ta",
5789 FT_UINT32, BASE_DEC, NULL, 0,
5790 "INTEGER_0_1282", HFILL }},
5791 { &hf_ilp_measResultListEUTRA,
5792 { "measResultListEUTRA", "ilp.measResultListEUTRA",
5793 FT_UINT32, BASE_DEC, NULL, 0,
5794 NULL, HFILL }},
5795 { &hf_ilp_earfcn,
5796 { "earfcn", "ilp.earfcn",
5797 FT_UINT32, BASE_DEC, NULL, 0,
5798 "INTEGER_0_65535", HFILL }},
5799 { &hf_ilp_earfcn_ext,
5800 { "earfcn-ext", "ilp.earfcn_ext",
5801 FT_UINT32, BASE_DEC, NULL, 0,
5802 "INTEGER_65536_262143", HFILL }},
5803 { &hf_ilp_rsrpResult_ext,
5804 { "rsrpResult-ext", "ilp.rsrpResult_ext",
5805 FT_INT32, BASE_DEC, NULL, 0,
5806 "RSRP_Range_Ext", HFILL }},
5807 { &hf_ilp_rsrqResult_ext,
5808 { "rsrqResult-ext", "ilp.rsrqResult_ext",
5809 FT_INT32, BASE_DEC, NULL, 0,
5810 "RSRQ_Range_Ext", HFILL }},
5811 { &hf_ilp_rs_sinrResult,
5812 { "rs-sinrResult", "ilp.rs_sinrResult",
5813 FT_UINT32, BASE_DEC, NULL, 0,
5814 "RS_SINR_Range", HFILL }},
5815 { &hf_ilp_servingInformation5G,
5816 { "servingInformation5G", "ilp.servingInformation5G_element",
5817 FT_NONE, BASE_NONE, NULL, 0,
5818 NULL, HFILL }},
5819 { &hf_ilp_MeasResultListEUTRA_item,
5820 { "MeasResultEUTRA", "ilp.MeasResultEUTRA_element",
5821 FT_NONE, BASE_NONE, NULL, 0,
5822 NULL, HFILL }},
5823 { &hf_ilp_cgi_Info,
5824 { "cgi-Info", "ilp.cgi_Info_element",
5825 FT_NONE, BASE_NONE, NULL, 0,
5826 NULL, HFILL }},
5827 { &hf_ilp_cellGlobalId,
5828 { "cellGlobalId", "ilp.cellGlobalId_element",
5829 FT_NONE, BASE_NONE, NULL, 0,
5830 "CellGlobalIdEUTRA", HFILL }},
5831 { &hf_ilp_measResult,
5832 { "measResult", "ilp.measResult_element",
5833 FT_NONE, BASE_NONE, NULL, 0,
5834 NULL, HFILL }},
5835 { &hf_ilp_neighbourInformation5G,
5836 { "neighbourInformation5G", "ilp.neighbourInformation5G_element",
5837 FT_NONE, BASE_NONE, NULL, 0,
5838 NULL, HFILL }},
5839 { &hf_ilp_plmn_Identity,
5840 { "plmn-Identity", "ilp.plmn_Identity_element",
5841 FT_NONE, BASE_NONE, NULL, 0,
5842 NULL, HFILL }},
5843 { &hf_ilp_eutra_cellIdentity,
5844 { "cellIdentity", "ilp.cellglobalideutra.cellIdentity",
5845 FT_BYTES, BASE_NONE, NULL, 0,
5846 NULL, HFILL }},
5847 { &hf_ilp_mcc,
5848 { "mcc", "ilp.mcc",
5849 FT_UINT32, BASE_DEC, NULL, 0,
5850 NULL, HFILL }},
5851 { &hf_ilp_mnc,
5852 { "mnc", "ilp.mnc",
5853 FT_UINT32, BASE_DEC, NULL, 0,
5854 NULL, HFILL }},
5855 { &hf_ilp_MCC_item,
5856 { "MCC-MNC-Digit", "ilp.MCC_MNC_Digit",
5857 FT_UINT32, BASE_DEC, NULL, 0,
5858 NULL, HFILL }},
5859 { &hf_ilp_MNC_item,
5860 { "MCC-MNC-Digit", "ilp.MCC_MNC_Digit",
5861 FT_UINT32, BASE_DEC, NULL, 0,
5862 NULL, HFILL }},
5863 { &hf_ilp_trackingAreaCode_01,
5864 { "trackingAreaCode", "ilp.trackingAreaCode",
5865 FT_BYTES, BASE_NONE, NULL, 0,
5866 "TrackingAreaCodeNR", HFILL }},
5867 { &hf_ilp_apMACAddress,
5868 { "apMACAddress", "ilp.apMACAddress",
5869 FT_BYTES, BASE_NONE, NULL, 0,
5870 "BIT_STRING_SIZE_48", HFILL }},
5871 { &hf_ilp_apTransmitPower,
5872 { "apTransmitPower", "ilp.apTransmitPower",
5873 FT_INT32, BASE_DEC, NULL, 0,
5874 "INTEGER_M127_128", HFILL }},
5875 { &hf_ilp_apAntennaGain,
5876 { "apAntennaGain", "ilp.apAntennaGain",
5877 FT_INT32, BASE_DEC, NULL, 0,
5878 "INTEGER_M127_128", HFILL }},
5879 { &hf_ilp_apSignaltoNoise,
5880 { "apSignaltoNoise", "ilp.apSignaltoNoise",
5881 FT_INT32, BASE_DEC, NULL, 0,
5882 "INTEGER_M127_128", HFILL }},
5883 { &hf_ilp_apDeviceType,
5884 { "apDeviceType", "ilp.apDeviceType",
5885 FT_UINT32, BASE_DEC, VALS(ilp_T_apDeviceType_vals), 0,
5886 NULL, HFILL }},
5887 { &hf_ilp_apSignalStrength,
5888 { "apSignalStrength", "ilp.apSignalStrength",
5889 FT_INT32, BASE_DEC, NULL, 0,
5890 "INTEGER_M127_128", HFILL }},
5891 { &hf_ilp_apChannelFrequency,
5892 { "apChannelFrequency", "ilp.apChannelFrequency",
5893 FT_UINT32, BASE_DEC, NULL, 0,
5894 "INTEGER_0_256", HFILL }},
5895 { &hf_ilp_apRoundTripDelay,
5896 { "apRoundTripDelay", "ilp.apRoundTripDelay_element",
5897 FT_NONE, BASE_NONE, NULL, 0,
5898 "RTD", HFILL }},
5899 { &hf_ilp_setTransmitPower,
5900 { "setTransmitPower", "ilp.setTransmitPower",
5901 FT_INT32, BASE_DEC, NULL, 0,
5902 "INTEGER_M127_128", HFILL }},
5903 { &hf_ilp_setAntennaGain,
5904 { "setAntennaGain", "ilp.setAntennaGain",
5905 FT_INT32, BASE_DEC, NULL, 0,
5906 "INTEGER_M127_128", HFILL }},
5907 { &hf_ilp_setSignaltoNoise,
5908 { "setSignaltoNoise", "ilp.setSignaltoNoise",
5909 FT_INT32, BASE_DEC, NULL, 0,
5910 "INTEGER_M127_128", HFILL }},
5911 { &hf_ilp_setSignalStrength,
5912 { "setSignalStrength", "ilp.setSignalStrength",
5913 FT_INT32, BASE_DEC, NULL, 0,
5914 "INTEGER_M127_128", HFILL }},
5915 { &hf_ilp_apReportedLocation,
5916 { "apReportedLocation", "ilp.apReportedLocation_element",
5917 FT_NONE, BASE_NONE, NULL, 0,
5918 "ReportedLocation", HFILL }},
5919 { &hf_ilp_apRepLocation,
5920 { "apRepLocation", "ilp.apRepLocation",
5921 FT_UINT32, BASE_DEC, VALS(ilp_RepLocation_vals), 0,
5922 "RepLocation", HFILL }},
5923 { &hf_ilp_apSignalStrengthDelta,
5924 { "apSignalStrengthDelta", "ilp.apSignalStrengthDelta",
5925 FT_UINT32, BASE_DEC, NULL, 0,
5926 "INTEGER_0_1", HFILL }},
5927 { &hf_ilp_apSignaltoNoiseDelta,
5928 { "apSignaltoNoiseDelta", "ilp.apSignaltoNoiseDelta",
5929 FT_UINT32, BASE_DEC, NULL, 0,
5930 "INTEGER_0_1", HFILL }},
5931 { &hf_ilp_setSignalStrengthDelta,
5932 { "setSignalStrengthDelta", "ilp.setSignalStrengthDelta",
5933 FT_UINT32, BASE_DEC, NULL, 0,
5934 "INTEGER_0_1", HFILL }},
5935 { &hf_ilp_setSignaltoNoiseDelta,
5936 { "setSignaltoNoiseDelta", "ilp.setSignaltoNoiseDelta",
5937 FT_UINT32, BASE_DEC, NULL, 0,
5938 "INTEGER_0_1", HFILL }},
5939 { &hf_ilp_operatingClass,
5940 { "operatingClass", "ilp.operatingClass",
5941 FT_UINT32, BASE_DEC, NULL, 0,
5942 "INTEGER_0_255", HFILL }},
5943 { &hf_ilp_apSSID,
5944 { "apSSID", "ilp.apSSID",
5945 FT_BYTES, BASE_NONE, NULL, 0,
5946 "OCTET_STRING_SIZE_1_32", HFILL }},
5947 { &hf_ilp_apPHYType,
5948 { "apPHYType", "ilp.apPHYType",
5949 FT_UINT32, BASE_DEC, VALS(ilp_T_apPHYType_vals), 0,
5950 NULL, HFILL }},
5951 { &hf_ilp_setMACAddress,
5952 { "setMACAddress", "ilp.setMACAddress",
5953 FT_BYTES, BASE_NONE, NULL, 0,
5954 "BIT_STRING_SIZE_48", HFILL }},
5955 { &hf_ilp_rTDValue,
5956 { "rTDValue", "ilp.rTDValue",
5957 FT_UINT32, BASE_DEC, NULL, 0,
5958 "INTEGER_0_16777216", HFILL }},
5959 { &hf_ilp_rTDUnits,
5960 { "rTDUnits", "ilp.rTDUnits",
5961 FT_UINT32, BASE_DEC, VALS(ilp_RTDUnits_vals), 0,
5962 NULL, HFILL }},
5963 { &hf_ilp_rTDAccuracy,
5964 { "rTDAccuracy", "ilp.rTDAccuracy",
5965 FT_UINT32, BASE_DEC, NULL, 0,
5966 "INTEGER_0_255", HFILL }},
5967 { &hf_ilp_locationEncodingDescriptor,
5968 { "locationEncodingDescriptor", "ilp.locationEncodingDescriptor",
5969 FT_UINT32, BASE_DEC, VALS(ilp_LocationEncodingDescriptor_vals), 0,
5970 NULL, HFILL }},
5971 { &hf_ilp_locationData,
5972 { "locationData", "ilp.locationData_element",
5973 FT_NONE, BASE_NONE, NULL, 0,
5974 NULL, HFILL }},
5975 { &hf_ilp_locationAccuracy,
5976 { "locationAccuracy", "ilp.locationAccuracy",
5977 FT_UINT32, BASE_DEC, NULL, 0,
5978 "INTEGER_0_4294967295", HFILL }},
5979 { &hf_ilp_locationValue,
5980 { "locationValue", "ilp.locationValue",
5981 FT_BYTES, BASE_NONE, NULL, 0,
5982 "OCTET_STRING_SIZE_1_128", HFILL }},
5983 { &hf_ilp_lciLocData,
5984 { "lciLocData", "ilp.lciLocData_element",
5985 FT_NONE, BASE_NONE, NULL, 0,
5986 NULL, HFILL }},
5987 { &hf_ilp_locationDataLCI,
5988 { "locationDataLCI", "ilp.locationDataLCI_element",
5989 FT_NONE, BASE_NONE, NULL, 0,
5990 NULL, HFILL }},
5991 { &hf_ilp_latitudeResolution,
5992 { "latitudeResolution", "ilp.latitudeResolution",
5993 FT_BYTES, BASE_NONE, NULL, 0,
5994 "BIT_STRING_SIZE_6", HFILL }},
5995 { &hf_ilp_LocationDataLCI_latitude,
5996 { "latitude", "ilp.locationdatalci.latitude",
5997 FT_BYTES, BASE_NONE, NULL, 0,
5998 "BIT_STRING_SIZE_34", HFILL }},
5999 { &hf_ilp_longitudeResolution,
6000 { "longitudeResolution", "ilp.longitudeResolution",
6001 FT_BYTES, BASE_NONE, NULL, 0,
6002 "BIT_STRING_SIZE_6", HFILL }},
6003 { &hf_ilp_LocationDataLCI_longitude,
6004 { "longitude", "ilp.locationdatalci.longitude",
6005 FT_BYTES, BASE_NONE, NULL, 0,
6006 "BIT_STRING_SIZE_34", HFILL }},
6007 { &hf_ilp_altitudeType,
6008 { "altitudeType", "ilp.altitudeType",
6009 FT_BYTES, BASE_NONE, NULL, 0,
6010 "BIT_STRING_SIZE_4", HFILL }},
6011 { &hf_ilp_altitudeResolution,
6012 { "altitudeResolution", "ilp.altitudeResolution",
6013 FT_BYTES, BASE_NONE, NULL, 0,
6014 "BIT_STRING_SIZE_6", HFILL }},
6015 { &hf_ilp_LocationDataLCI_altitude,
6016 { "altitude", "ilp.locationdatalci.altitude",
6017 FT_BYTES, BASE_NONE, NULL, 0,
6018 "BIT_STRING_SIZE_30", HFILL }},
6019 { &hf_ilp_datum,
6020 { "datum", "ilp.datum",
6021 FT_BYTES, BASE_NONE, NULL, 0,
6022 "BIT_STRING_SIZE_8", HFILL }},
6023 { &hf_ilp_wimaxBsID,
6024 { "wimaxBsID", "ilp.wimaxBsID_element",
6025 FT_NONE, BASE_NONE, NULL, 0,
6026 NULL, HFILL }},
6027 { &hf_ilp_wimaxRTD,
6028 { "wimaxRTD", "ilp.wimaxRTD_element",
6029 FT_NONE, BASE_NONE, NULL, 0,
6030 NULL, HFILL }},
6031 { &hf_ilp_wimaxNMRList,
6032 { "wimaxNMRList", "ilp.wimaxNMRList",
6033 FT_UINT32, BASE_DEC, NULL, 0,
6034 NULL, HFILL }},
6035 { &hf_ilp_bsID_MSB,
6036 { "bsID-MSB", "ilp.bsID_MSB",
6037 FT_BYTES, BASE_NONE, NULL, 0,
6038 "BIT_STRING_SIZE_24", HFILL }},
6039 { &hf_ilp_bsID_LSB,
6040 { "bsID-LSB", "ilp.bsID_LSB",
6041 FT_BYTES, BASE_NONE, NULL, 0,
6042 "BIT_STRING_SIZE_24", HFILL }},
6043 { &hf_ilp_rtd,
6044 { "rtd", "ilp.rtd",
6045 FT_UINT32, BASE_DEC, NULL, 0,
6046 "INTEGER_0_65535", HFILL }},
6047 { &hf_ilp_rTDstd,
6048 { "rTDstd", "ilp.rTDstd",
6049 FT_UINT32, BASE_DEC, NULL, 0,
6050 "INTEGER_0_1023", HFILL }},
6051 { &hf_ilp_WimaxNMRList_item,
6052 { "WimaxNMR", "ilp.WimaxNMR_element",
6053 FT_NONE, BASE_NONE, NULL, 0,
6054 NULL, HFILL }},
6055 { &hf_ilp_relDelay,
6056 { "relDelay", "ilp.relDelay",
6057 FT_INT32, BASE_DEC, NULL, 0,
6058 "INTEGER_M32768_32767", HFILL }},
6059 { &hf_ilp_relDelaystd,
6060 { "relDelaystd", "ilp.relDelaystd",
6061 FT_UINT32, BASE_DEC, NULL, 0,
6062 "INTEGER_0_1023", HFILL }},
6063 { &hf_ilp_rssi,
6064 { "rssi", "ilp.rssi",
6065 FT_UINT32, BASE_DEC, NULL, 0,
6066 "INTEGER_0_255", HFILL }},
6067 { &hf_ilp_rSSIstd,
6068 { "rSSIstd", "ilp.rSSIstd",
6069 FT_UINT32, BASE_DEC, NULL, 0,
6070 "INTEGER_0_63", HFILL }},
6071 { &hf_ilp_bSTxPower,
6072 { "bSTxPower", "ilp.bSTxPower",
6073 FT_UINT32, BASE_DEC, NULL, 0,
6074 "INTEGER_0_255", HFILL }},
6075 { &hf_ilp_cinr,
6076 { "cinr", "ilp.cinr",
6077 FT_UINT32, BASE_DEC, NULL, 0,
6078 "INTEGER_0_255", HFILL }},
6079 { &hf_ilp_cINRstd,
6080 { "cINRstd", "ilp.cINRstd",
6081 FT_UINT32, BASE_DEC, NULL, 0,
6082 "INTEGER_0_63", HFILL }},
6083 { &hf_ilp_bSLocation,
6084 { "bSLocation", "ilp.bSLocation_element",
6085 FT_NONE, BASE_NONE, NULL, 0,
6086 "ReportedLocation", HFILL }},
6087 { &hf_ilp_servingCellInformation,
6088 { "servingCellInformation", "ilp.servingCellInformation",
6089 FT_UINT32, BASE_DEC, NULL, 0,
6090 "ServingCellInformationNR", HFILL }},
6091 { &hf_ilp_measuredResultsListNR,
6092 { "measuredResultsListNR", "ilp.measuredResultsListNR",
6093 FT_UINT32, BASE_DEC, NULL, 0,
6094 "MeasResultListNR", HFILL }},
6095 { &hf_ilp_ServingCellInformationNR_item,
6096 { "ServCellNR", "ilp.ServCellNR_element",
6097 FT_NONE, BASE_NONE, NULL, 0,
6098 NULL, HFILL }},
6099 { &hf_ilp_physCellId_01,
6100 { "physCellId", "ilp.physCellId",
6101 FT_UINT32, BASE_DEC, NULL, 0,
6102 "PhysCellIdNR", HFILL }},
6103 { &hf_ilp_arfcn_NR,
6104 { "arfcn-NR", "ilp.arfcn_NR",
6105 FT_UINT32, BASE_DEC, NULL, 0,
6106 NULL, HFILL }},
6107 { &hf_ilp_cellGlobalId_01,
6108 { "cellGlobalId", "ilp.cellGlobalId_element",
6109 FT_NONE, BASE_NONE, NULL, 0,
6110 "CellGlobalIdNR", HFILL }},
6111 { &hf_ilp_ssb_Measurements,
6112 { "ssb-Measurements", "ilp.ssb_Measurements_element",
6113 FT_NONE, BASE_NONE, NULL, 0,
6114 "NR_Measurements", HFILL }},
6115 { &hf_ilp_csi_rs_Measurements,
6116 { "csi-rs-Measurements", "ilp.csi_rs_Measurements_element",
6117 FT_NONE, BASE_NONE, NULL, 0,
6118 "NR_Measurements", HFILL }},
6119 { &hf_ilp_ta_03,
6120 { "ta", "ilp.ta",
6121 FT_UINT32, BASE_DEC, NULL, 0,
6122 "INTEGER_0_3846", HFILL }},
6123 { &hf_ilp_MeasResultListNR_item,
6124 { "MeasResultNR", "ilp.MeasResultNR_element",
6125 FT_NONE, BASE_NONE, NULL, 0,
6126 NULL, HFILL }},
6127 { &hf_ilp_cellIdentityNR,
6128 { "cellIdentityNR", "ilp.cellIdentityNR",
6129 FT_BYTES, BASE_NONE, NULL, 0,
6130 NULL, HFILL }},
6131 { &hf_ilp_rsrp_Range,
6132 { "rsrp-Range", "ilp.rsrp_Range",
6133 FT_UINT32, BASE_DEC, NULL, 0,
6134 "INTEGER_0_127", HFILL }},
6135 { &hf_ilp_rsrq_Range,
6136 { "rsrq-Range", "ilp.rsrq_Range",
6137 FT_UINT32, BASE_DEC, NULL, 0,
6138 "INTEGER_0_127", HFILL }},
6139 { &hf_ilp_sinr_Range,
6140 { "sinr-Range", "ilp.sinr_Range",
6141 FT_UINT32, BASE_DEC, NULL, 0,
6142 "INTEGER_0_127", HFILL }},
6143 { &hf_ilp_modeSpecificFrequencyInfo,
6144 { "modeSpecificInfo", "ilp.modeSpecificInfo",
6145 FT_UINT32, BASE_DEC, VALS(ilp_FrequencySpecificInfo_vals), 0,
6146 "FrequencySpecificInfo", HFILL }},
6147 { &hf_ilp_fdd_fr,
6148 { "fdd", "ilp.fdd_element",
6149 FT_NONE, BASE_NONE, NULL, 0,
6150 "FrequencyInfoFDD", HFILL }},
6151 { &hf_ilp_tdd_fr,
6152 { "tdd", "ilp.tdd_element",
6153 FT_NONE, BASE_NONE, NULL, 0,
6154 "FrequencyInfoTDD", HFILL }},
6155 { &hf_ilp_uarfcn_UL,
6156 { "uarfcn-UL", "ilp.uarfcn_UL",
6157 FT_UINT32, BASE_DEC, NULL, 0,
6158 "UARFCN", HFILL }},
6159 { &hf_ilp_uarfcn_DL,
6160 { "uarfcn-DL", "ilp.uarfcn_DL",
6161 FT_UINT32, BASE_DEC, NULL, 0,
6162 "UARFCN", HFILL }},
6163 { &hf_ilp_uarfcn_Nt,
6164 { "uarfcn-Nt", "ilp.uarfcn_Nt",
6165 FT_UINT32, BASE_DEC, NULL, 0,
6166 "UARFCN", HFILL }},
6167 { &hf_ilp_NMR_item,
6168 { "NMRelement", "ilp.NMRelement_element",
6169 FT_NONE, BASE_NONE, NULL, 0,
6170 NULL, HFILL }},
6171 { &hf_ilp_arfcn,
6172 { "arfcn", "ilp.arfcn",
6173 FT_UINT32, BASE_DEC, NULL, 0,
6174 "INTEGER_0_1023", HFILL }},
6175 { &hf_ilp_bsic,
6176 { "bsic", "ilp.bsic",
6177 FT_UINT32, BASE_DEC, NULL, 0,
6178 "INTEGER_0_63", HFILL }},
6179 { &hf_ilp_rxLev,
6180 { "rxLev", "ilp.rxLev",
6181 FT_UINT32, BASE_DEC, NULL, 0,
6182 "INTEGER_0_63", HFILL }},
6183 { &hf_ilp_MeasuredResultsList_item,
6184 { "MeasuredResults", "ilp.MeasuredResults_element",
6185 FT_NONE, BASE_NONE, NULL, 0,
6186 NULL, HFILL }},
6187 { &hf_ilp_utra_CarrierRSSI,
6188 { "utra-CarrierRSSI", "ilp.utra_CarrierRSSI",
6189 FT_UINT32, BASE_DEC, NULL, 0,
6190 NULL, HFILL }},
6191 { &hf_ilp_cellMeasuredResultsList,
6192 { "cellMeasuredResultsList", "ilp.cellMeasuredResultsList",
6193 FT_UINT32, BASE_DEC, NULL, 0,
6194 NULL, HFILL }},
6195 { &hf_ilp_CellMeasuredResultsList_item,
6196 { "CellMeasuredResults", "ilp.CellMeasuredResults_element",
6197 FT_NONE, BASE_NONE, NULL, 0,
6198 NULL, HFILL }},
6199 { &hf_ilp_cellIdentity,
6200 { "cellIdentity", "ilp.cellIdentity",
6201 FT_UINT32, BASE_DEC, NULL, 0,
6202 "INTEGER_0_268435455", HFILL }},
6203 { &hf_ilp_modeSpecificInfo_02,
6204 { "modeSpecificInfo", "ilp.modeSpecificInfo",
6205 FT_UINT32, BASE_DEC, VALS(ilp_T_modeSpecificInfo_02_vals), 0,
6206 "T_modeSpecificInfo_02", HFILL }},
6207 { &hf_ilp_fdd_02,
6208 { "fdd", "ilp.fdd_element",
6209 FT_NONE, BASE_NONE, NULL, 0,
6210 "T_fdd_02", HFILL }},
6211 { &hf_ilp_primaryCPICH_Info,
6212 { "primaryCPICH-Info", "ilp.primaryCPICH_Info_element",
6213 FT_NONE, BASE_NONE, NULL, 0,
6214 NULL, HFILL }},
6215 { &hf_ilp_cpich_Ec_N0,
6216 { "cpich-Ec-N0", "ilp.cpich_Ec_N0",
6217 FT_UINT32, BASE_DEC, NULL, 0,
6218 NULL, HFILL }},
6219 { &hf_ilp_cpich_RSCP,
6220 { "cpich-RSCP", "ilp.cpich_RSCP",
6221 FT_UINT32, BASE_DEC, NULL, 0,
6222 NULL, HFILL }},
6223 { &hf_ilp_pathloss,
6224 { "pathloss", "ilp.pathloss",
6225 FT_UINT32, BASE_DEC, NULL, 0,
6226 NULL, HFILL }},
6227 { &hf_ilp_tdd_02,
6228 { "tdd", "ilp.tdd_element",
6229 FT_NONE, BASE_NONE, NULL, 0,
6230 "T_tdd_02", HFILL }},
6231 { &hf_ilp_cellParametersID,
6232 { "cellParametersID", "ilp.cellParametersID",
6233 FT_UINT32, BASE_DEC, NULL, 0,
6234 NULL, HFILL }},
6235 { &hf_ilp_proposedTGSN,
6236 { "proposedTGSN", "ilp.proposedTGSN",
6237 FT_UINT32, BASE_DEC, NULL, 0,
6238 "TGSN", HFILL }},
6239 { &hf_ilp_primaryCCPCH_RSCP,
6240 { "primaryCCPCH-RSCP", "ilp.primaryCCPCH_RSCP",
6241 FT_UINT32, BASE_DEC, NULL, 0,
6242 NULL, HFILL }},
6243 { &hf_ilp_timeslotISCP_List,
6244 { "timeslotISCP-List", "ilp.timeslotISCP_List",
6245 FT_UINT32, BASE_DEC, NULL, 0,
6246 NULL, HFILL }},
6247 { &hf_ilp_TimeslotISCP_List_item,
6248 { "TimeslotISCP", "ilp.TimeslotISCP",
6249 FT_UINT32, BASE_DEC, NULL, 0,
6250 NULL, HFILL }},
6251 { &hf_ilp_utran_GPSReferenceTime,
6252 { "utran-GPSReferenceTime", "ilp.utran_GPSReferenceTime_element",
6253 FT_NONE, BASE_NONE, NULL, 0,
6254 NULL, HFILL }},
6255 { &hf_ilp_utranGPSDriftRate,
6256 { "utranGPSDriftRate", "ilp.utranGPSDriftRate",
6257 FT_UINT32, BASE_DEC, VALS(ilp_UTRANGPSDriftRate_vals), 0,
6258 NULL, HFILL }},
6259 { &hf_ilp_utran_GPSTimingOfCell,
6260 { "utran-GPSTimingOfCell", "ilp.utran_GPSTimingOfCell_element",
6261 FT_NONE, BASE_NONE, NULL, 0,
6262 NULL, HFILL }},
6263 { &hf_ilp_ms_part_02,
6264 { "ms-part", "ilp.ms_part",
6265 FT_UINT32, BASE_DEC, NULL, 0,
6266 "INTEGER_0_1023", HFILL }},
6267 { &hf_ilp_modeSpecificInfo_03,
6268 { "modeSpecificInfo", "ilp.modeSpecificInfo",
6269 FT_UINT32, BASE_DEC, VALS(ilp_T_modeSpecificInfo_03_vals), 0,
6270 "T_modeSpecificInfo_03", HFILL }},
6271 { &hf_ilp_fdd_03,
6272 { "fdd", "ilp.fdd_element",
6273 FT_NONE, BASE_NONE, NULL, 0,
6274 "T_fdd_03", HFILL }},
6275 { &hf_ilp_tdd_03,
6276 { "tdd", "ilp.tdd_element",
6277 FT_NONE, BASE_NONE, NULL, 0,
6278 "T_tdd_03", HFILL }},
6279 { &hf_ilp_utran_GANSSReferenceTime,
6280 { "utran-GANSSReferenceTime", "ilp.utran_GANSSReferenceTime_element",
6281 FT_NONE, BASE_NONE, NULL, 0,
6282 NULL, HFILL }},
6283 { &hf_ilp_ganssDay,
6284 { "ganssDay", "ilp.ganssDay",
6285 FT_UINT32, BASE_DEC, NULL, 0,
6286 "INTEGER_0_8191", HFILL }},
6287 { &hf_ilp_utranGANSSDriftRate,
6288 { "utranGANSSDriftRate", "ilp.utranGANSSDriftRate",
6289 FT_UINT32, BASE_DEC, VALS(ilp_UTRANGANSSDriftRate_vals), 0,
6290 NULL, HFILL }},
6291 { &hf_ilp_ganssTOD,
6292 { "ganssTOD", "ilp.ganssTOD",
6293 FT_UINT32, BASE_DEC, NULL, 0,
6294 "INTEGER_0_86399", HFILL }},
6295 { &hf_ilp_utran_GANSSTimingOfCell,
6296 { "utran-GANSSTimingOfCell", "ilp.utran_GANSSTimingOfCell",
6297 FT_UINT32, BASE_DEC, NULL, 0,
6298 "INTEGER_0_3999999", HFILL }},
6299 { &hf_ilp_modeSpecificInfo_04,
6300 { "modeSpecificInfo", "ilp.modeSpecificInfo",
6301 FT_UINT32, BASE_DEC, VALS(ilp_T_modeSpecificInfo_04_vals), 0,
6302 "T_modeSpecificInfo_04", HFILL }},
6303 { &hf_ilp_fdd_04,
6304 { "fdd", "ilp.fdd_element",
6305 FT_NONE, BASE_NONE, NULL, 0,
6306 "T_fdd_04", HFILL }},
6307 { &hf_ilp_tdd_04,
6308 { "tdd", "ilp.tdd_element",
6309 FT_NONE, BASE_NONE, NULL, 0,
6310 "T_tdd_04", HFILL }},
6311 { &hf_ilp_horacc,
6312 { "horacc", "ilp.horacc",
6313 FT_UINT32, BASE_DEC, NULL, 0,
6314 "INTEGER_0_127", HFILL }},
6315 { &hf_ilp_veracc,
6316 { "veracc", "ilp.veracc",
6317 FT_UINT32, BASE_DEC, NULL, 0,
6318 "INTEGER_0_127", HFILL }},
6319 { &hf_ilp_maxLocAge,
6320 { "maxLocAge", "ilp.maxLocAge",
6321 FT_UINT32, BASE_DEC, NULL, 0,
6322 "INTEGER_0_65535", HFILL }},
6323 { &hf_ilp_delay,
6324 { "delay", "ilp.delay",
6325 FT_UINT32, BASE_DEC, NULL, 0,
6326 "INTEGER_0_7", HFILL }},
6327 { &hf_ilp_ver2_responseTime,
6328 { "ver2-responseTime", "ilp.ver2_responseTime",
6329 FT_UINT32, BASE_DEC, NULL, 0,
6330 "INTEGER_1_128", HFILL }},
6331 { &hf_ilp_horvel,
6332 { "horvel", "ilp.horvel_element",
6333 FT_NONE, BASE_NONE, NULL, 0,
6334 NULL, HFILL }},
6335 { &hf_ilp_horandvervel,
6336 { "horandvervel", "ilp.horandvervel_element",
6337 FT_NONE, BASE_NONE, NULL, 0,
6338 NULL, HFILL }},
6339 { &hf_ilp_horveluncert,
6340 { "horveluncert", "ilp.horveluncert_element",
6341 FT_NONE, BASE_NONE, NULL, 0,
6342 NULL, HFILL }},
6343 { &hf_ilp_horandveruncert,
6344 { "horandveruncert", "ilp.horandveruncert_element",
6345 FT_NONE, BASE_NONE, NULL, 0,
6346 NULL, HFILL }},
6347 { &hf_ilp_bearing,
6348 { "bearing", "ilp.bearing",
6349 FT_BYTES, BASE_NONE, NULL, 0,
6350 "BIT_STRING_SIZE_9", HFILL }},
6351 { &hf_ilp_horspeed,
6352 { "horspeed", "ilp.horspeed",
6353 FT_BYTES, BASE_NONE, NULL, 0,
6354 "BIT_STRING_SIZE_16", HFILL }},
6355 { &hf_ilp_verdirect,
6356 { "verdirect", "ilp.verdirect",
6357 FT_BYTES, BASE_NONE, NULL, 0,
6358 "BIT_STRING_SIZE_1", HFILL }},
6359 { &hf_ilp_verspeed,
6360 { "verspeed", "ilp.verspeed",
6361 FT_BYTES, BASE_NONE, NULL, 0,
6362 "BIT_STRING_SIZE_8", HFILL }},
6363 { &hf_ilp_uncertspeed,
6364 { "uncertspeed", "ilp.uncertspeed",
6365 FT_BYTES, BASE_NONE, NULL, 0,
6366 "BIT_STRING_SIZE_8", HFILL }},
6367 { &hf_ilp_horuncertspeed,
6368 { "horuncertspeed", "ilp.horuncertspeed",
6369 FT_BYTES, BASE_NONE, NULL, 0,
6370 "BIT_STRING_SIZE_8", HFILL }},
6371 { &hf_ilp_veruncertspeed,
6372 { "veruncertspeed", "ilp.veruncertspeed",
6373 FT_BYTES, BASE_NONE, NULL, 0,
6374 "BIT_STRING_SIZE_8", HFILL }},
6375 { &hf_ilp_rand,
6376 { "rand", "ilp.rand",
6377 FT_BYTES, BASE_NONE, NULL, 0,
6378 "BIT_STRING_SIZE_128", HFILL }},
6379 { &hf_ilp_slpFQDN,
6380 { "slpFQDN", "ilp.slpFQDN",
6381 FT_STRING, BASE_NONE, NULL, 0,
6382 "FQDN", HFILL }},
6383 { &hf_ilp_rrcPayload,
6384 { "rrcPayload", "ilp.rrcPayload",
6385 FT_BYTES, BASE_NONE, NULL, 0,
6386 "OCTET_STRING_SIZE_1_8192", HFILL }},
6387 { &hf_ilp_rrlpPayload,
6388 { "rrlpPayload", "ilp.rrlpPayload",
6389 FT_BYTES, BASE_NONE, NULL, 0,
6390 NULL, HFILL }},
6391 { &hf_ilp_multiPosPayload,
6392 { "multiPosPayload", "ilp.multiPosPayload_element",
6393 FT_NONE, BASE_NONE, NULL, 0,
6394 NULL, HFILL }},
6395 { &hf_ilp_lPPPayload,
6396 { "lPPPayload", "ilp.lPPPayload",
6397 FT_UINT32, BASE_DEC, NULL, 0,
6398 NULL, HFILL }},
6399 { &hf_ilp_lPPPayload_item,
6400 { "lPPPayload item", "ilp.lPPPayload_item",
6401 FT_BYTES, BASE_NONE, NULL, 0,
6402 NULL, HFILL }},
6403 { &hf_ilp_tia801Payload,
6404 { "tia801Payload", "ilp.tia801Payload",
6405 FT_UINT32, BASE_DEC, NULL, 0,
6406 NULL, HFILL }},
6407 { &hf_ilp_tia801Payload_item,
6408 { "tia801Payload item", "ilp.tia801Payload_item",
6409 FT_BYTES, BASE_NONE, NULL, 0,
6410 "OCTET_STRING_SIZE_1_60000", HFILL }},
6411 { &hf_ilp_GANSSSignals_signal1,
6412 { "signal1", "ilp.GANSSSignals.signal1",
6413 FT_BOOLEAN, 8, NULL, 0x80,
6414 NULL, HFILL }},
6415 { &hf_ilp_GANSSSignals_signal2,
6416 { "signal2", "ilp.GANSSSignals.signal2",
6417 FT_BOOLEAN, 8, NULL, 0x40,
6418 NULL, HFILL }},
6419 { &hf_ilp_GANSSSignals_signal3,
6420 { "signal3", "ilp.GANSSSignals.signal3",
6421 FT_BOOLEAN, 8, NULL, 0x20,
6422 NULL, HFILL }},
6423 { &hf_ilp_GANSSSignals_signal4,
6424 { "signal4", "ilp.GANSSSignals.signal4",
6425 FT_BOOLEAN, 8, NULL, 0x10,
6426 NULL, HFILL }},
6427 { &hf_ilp_GANSSSignals_signal5,
6428 { "signal5", "ilp.GANSSSignals.signal5",
6429 FT_BOOLEAN, 8, NULL, 0x08,
6430 NULL, HFILL }},
6431 { &hf_ilp_GANSSSignals_signal6,
6432 { "signal6", "ilp.GANSSSignals.signal6",
6433 FT_BOOLEAN, 8, NULL, 0x04,
6434 NULL, HFILL }},
6435 { &hf_ilp_GANSSSignals_signal7,
6436 { "signal7", "ilp.GANSSSignals.signal7",
6437 FT_BOOLEAN, 8, NULL, 0x02,
6438 NULL, HFILL }},
6439 { &hf_ilp_GANSSSignals_signal8,
6440 { "signal8", "ilp.GANSSSignals.signal8",
6441 FT_BOOLEAN, 8, NULL, 0x01,
6442 NULL, HFILL }},
6443 { &hf_ilp_T_addPosMode_standalone,
6444 { "standalone", "ilp.T.addPosMode.standalone",
6445 FT_BOOLEAN, 8, NULL, 0x80,
6446 NULL, HFILL }},
6447 { &hf_ilp_T_addPosMode_setBased,
6448 { "setBased", "ilp.T.addPosMode.setBased",
6449 FT_BOOLEAN, 8, NULL, 0x40,
6450 NULL, HFILL }},
6451 { &hf_ilp_T_addPosMode_setAssisted,
6452 { "setAssisted", "ilp.T.addPosMode.setAssisted",
6453 FT_BOOLEAN, 8, NULL, 0x20,
6454 NULL, HFILL }},
6455 { &hf_ilp_mobile_directory_number,
6456 { "Mobile Directory Number", "ilp.mobile_directory_number",
6457 FT_STRING, BASE_NONE, NULL, 0,
6458 NULL, HFILL }},
6461 /* List of subtrees */
6462 static int *ett[] = {
6463 &ett_ilp,
6464 &ett_ilp_setid,
6465 &ett_ilp_ILP_PDU,
6466 &ett_ilp_IlpMessage,
6467 &ett_ilp_PREQ,
6468 &ett_ilp_TriggerParams,
6469 &ett_ilp_PeriodicTriggerParams,
6470 &ett_ilp_PRES,
6471 &ett_ilp_PRPT,
6472 &ett_ilp_PLREQ,
6473 &ett_ilp_PLRES,
6474 &ett_ilp_PositionResults,
6475 &ett_ilp_PositionResult,
6476 &ett_ilp_PINIT,
6477 &ett_ilp_RequestedAssistData,
6478 &ett_ilp_ExtendedEphemeris,
6479 &ett_ilp_ExtendedEphCheck,
6480 &ett_ilp_GPSTime,
6481 &ett_ilp_GanssRequestedCommonAssistanceDataList,
6482 &ett_ilp_GanssRequestedGenericAssistanceDataList,
6483 &ett_ilp_GanssReqGenericData,
6484 &ett_ilp_GanssNavigationModelData,
6485 &ett_ilp_SatellitesListRelatedDataList,
6486 &ett_ilp_SatellitesListRelatedData,
6487 &ett_ilp_GanssDataBits,
6488 &ett_ilp_ReqDataBitAssistanceList,
6489 &ett_ilp_T_ganssDataBitSatList,
6490 &ett_ilp_GanssAdditionalDataChoices,
6491 &ett_ilp_GanssExtendedEphCheck,
6492 &ett_ilp_GANSSextEphTime,
6493 &ett_ilp_NavigationModel,
6494 &ett_ilp_SatelliteInfo,
6495 &ett_ilp_SatelliteInfoElement,
6496 &ett_ilp_PAUTH,
6497 &ett_ilp_PALIVE,
6498 &ett_ilp_PEND,
6499 &ett_ilp_PMESS,
6500 &ett_ilp_Version,
6501 &ett_ilp_SessionID2,
6502 &ett_ilp_SetSessionID,
6503 &ett_ilp_SETId,
6504 &ett_ilp_SlcSessionID,
6505 &ett_ilp_SpcSessionID,
6506 &ett_ilp_IPAddress,
6507 &ett_ilp_NodeAddress,
6508 &ett_ilp_LocationId,
6509 &ett_ilp_MultipleLocationIds,
6510 &ett_ilp_LocationIdData,
6511 &ett_ilp_SETCapabilities,
6512 &ett_ilp_PosTechnology,
6513 &ett_ilp_GANSSPositionMethods,
6514 &ett_ilp_GANSSPositionMethod,
6515 &ett_ilp_GANSSPositioningMethodTypes,
6516 &ett_ilp_GANSSSignals,
6517 &ett_ilp_AdditionalPositioningMethods,
6518 &ett_ilp_AddPosSupport_Element,
6519 &ett_ilp_T_addPosMode,
6520 &ett_ilp_PosProtocol,
6521 &ett_ilp_PosProtocolVersion3GPP,
6522 &ett_ilp_PosProtocolVersion3GPP2,
6523 &ett_ilp_Supported3GPP2PosProtocolVersion,
6524 &ett_ilp_PosProtocolVersionOMA,
6525 &ett_ilp_SupportedBearers,
6526 &ett_ilp_CellInfo,
6527 &ett_ilp_UTRAN_GPSReferenceTimeResult,
6528 &ett_ilp_T_set_GPSTimingOfCell,
6529 &ett_ilp_T_modeSpecificInfo,
6530 &ett_ilp_T_fdd,
6531 &ett_ilp_T_tdd,
6532 &ett_ilp_UTRAN_GANSSReferenceTimeResult,
6533 &ett_ilp_SET_GANSSReferenceTime,
6534 &ett_ilp_T_set_GANSSTimingOfCell,
6535 &ett_ilp_T_modeSpecificInfo_01,
6536 &ett_ilp_T_fdd_01,
6537 &ett_ilp_T_tdd_01,
6538 &ett_ilp_GNSSPosTechnology,
6539 &ett_ilp_Position,
6540 &ett_ilp_PositionEstimate,
6541 &ett_ilp_T_uncertainty,
6542 &ett_ilp_AltitudeInfo,
6543 &ett_ilp_CdmaCellInformation,
6544 &ett_ilp_GsmCellInformation,
6545 &ett_ilp_WcdmaCellInformation,
6546 &ett_ilp_TimingAdvance,
6547 &ett_ilp_HrpdCellInformation,
6548 &ett_ilp_UmbCellInformation,
6549 &ett_ilp_LteCellInformation,
6550 &ett_ilp_MeasResultListEUTRA,
6551 &ett_ilp_MeasResultEUTRA,
6552 &ett_ilp_T_cgi_Info,
6553 &ett_ilp_T_measResult,
6554 &ett_ilp_CellGlobalIdEUTRA,
6555 &ett_ilp_PLMN_Identity,
6556 &ett_ilp_MCC,
6557 &ett_ilp_MNC,
6558 &ett_ilp_ServingInformation5G,
6559 &ett_ilp_NeighbourInformation5G,
6560 &ett_ilp_WlanAPInformation,
6561 &ett_ilp_RTD,
6562 &ett_ilp_ReportedLocation,
6563 &ett_ilp_LocationData,
6564 &ett_ilp_RepLocation,
6565 &ett_ilp_LciLocData,
6566 &ett_ilp_LocationDataLCI,
6567 &ett_ilp_WimaxBSInformation,
6568 &ett_ilp_WimaxBsID,
6569 &ett_ilp_WimaxRTD,
6570 &ett_ilp_WimaxNMRList,
6571 &ett_ilp_WimaxNMR,
6572 &ett_ilp_NRCellInformation,
6573 &ett_ilp_ServingCellInformationNR,
6574 &ett_ilp_ServCellNR,
6575 &ett_ilp_MeasResultListNR,
6576 &ett_ilp_MeasResultNR,
6577 &ett_ilp_CellGlobalIdNR,
6578 &ett_ilp_NR_Measurements,
6579 &ett_ilp_FrequencyInfo,
6580 &ett_ilp_FrequencySpecificInfo,
6581 &ett_ilp_FrequencyInfoFDD,
6582 &ett_ilp_FrequencyInfoTDD,
6583 &ett_ilp_NMR,
6584 &ett_ilp_NMRelement,
6585 &ett_ilp_MeasuredResultsList,
6586 &ett_ilp_MeasuredResults,
6587 &ett_ilp_CellMeasuredResultsList,
6588 &ett_ilp_CellMeasuredResults,
6589 &ett_ilp_T_modeSpecificInfo_02,
6590 &ett_ilp_T_fdd_02,
6591 &ett_ilp_T_tdd_02,
6592 &ett_ilp_TimeslotISCP_List,
6593 &ett_ilp_PrimaryCPICH_Info,
6594 &ett_ilp_UTRAN_GPSReferenceTimeAssistance,
6595 &ett_ilp_UTRAN_GPSReferenceTime,
6596 &ett_ilp_T_utran_GPSTimingOfCell,
6597 &ett_ilp_T_modeSpecificInfo_03,
6598 &ett_ilp_T_fdd_03,
6599 &ett_ilp_T_tdd_03,
6600 &ett_ilp_UTRAN_GANSSReferenceTimeAssistance,
6601 &ett_ilp_UTRAN_GANSSReferenceTime,
6602 &ett_ilp_T_modeSpecificInfo_04,
6603 &ett_ilp_T_fdd_04,
6604 &ett_ilp_T_tdd_04,
6605 &ett_ilp_QoP,
6606 &ett_ilp_Velocity,
6607 &ett_ilp_Horvel,
6608 &ett_ilp_Horandvervel,
6609 &ett_ilp_Horveluncert,
6610 &ett_ilp_Horandveruncert,
6611 &ett_ilp_SPCTID,
6612 &ett_ilp_PosPayLoad,
6613 &ett_ilp_MultiPosPayLoad,
6614 &ett_ilp_T_lPPPayload,
6615 &ett_ilp_T_tia801Payload,
6618 module_t *ilp_module;
6621 /* Register protocol */
6622 proto_ilp = proto_register_protocol(PNAME, PSNAME, PFNAME);
6623 ilp_tcp_handle = register_dissector("ilp", dissect_ilp_tcp, proto_ilp);
6625 /* Register fields and subtrees */
6626 proto_register_field_array(proto_ilp, hf, array_length(hf));
6627 proto_register_subtree_array(ett, array_length(ett));
6629 ilp_module = prefs_register_protocol(proto_ilp, NULL);
6631 prefs_register_bool_preference(ilp_module, "desegment_ilp_messages",
6632 "Reassemble ILP messages spanning multiple TCP segments",
6633 "Whether the ILP dissector should reassemble messages spanning multiple TCP segments."
6634 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
6635 &ilp_desegment);
6639 /*--- proto_reg_handoff_ilp ---------------------------------------*/
6640 void
6641 proto_reg_handoff_ilp(void)
6643 dissector_handle_t ilp_pdu_handle;
6645 ilp_pdu_handle = create_dissector_handle(dissect_ILP_PDU_PDU, proto_ilp);
6646 rrlp_handle = find_dissector_add_dependency("rrlp", proto_ilp);
6647 lpp_handle = find_dissector_add_dependency("lpp", proto_ilp);
6649 dissector_add_string("media_type","application/oma-supl-ilp", ilp_pdu_handle);
6650 dissector_add_uint_with_preference("tcp.port", ILP_TCP_PORT, ilp_tcp_handle);