MSWSP: add two more Property Sets
[wireshark-wip.git] / epan / dissectors / packet-ulp.c
blob9effaa9cba5ad626aa85a645dc44cc65ec865900
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-ulp.c */
4 /* ../../tools/asn2wrs.py -p ulp -c ./ulp.cnf -s ./packet-ulp-template -D . -O ../../epan/dissectors ULP.asn SUPL.asn ULP-Components.asn */
6 /* Input file: packet-ulp-template.c */
8 #line 1 "../../asn1/ulp/packet-ulp-template.c"
9 /* packet-ulp.c
10 * Routines for OMA UserPlane Location Protocol packet dissection
11 * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
13 * $Id$
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
33 * ref OMA-TS-ULP-V1_0-20060127-C
34 * http://www.openmobilealliance.org
37 #include "config.h"
39 #include <glib.h>
40 #include <epan/packet.h>
41 #include <epan/prefs.h>
42 #include <epan/asn1.h>
44 #include "packet-per.h"
45 #include "packet-tcp.h"
46 #include "packet-gsm_map.h"
48 #define PNAME "OMA UserPlane Location Protocol"
49 #define PSNAME "ULP"
50 #define PFNAME "ulp"
52 void proto_register_ulp(void);
54 static dissector_handle_t rrlp_handle;
55 static dissector_handle_t lpp_handle;
57 /* IANA Registered Ports
58 * oma-ulp 7275/tcp OMA UserPlane Location
59 * oma-ulp 7275/udp OMA UserPlane Location
61 static guint gbl_ulp_port = 7275;
63 /* Initialize the protocol and registered fields */
64 static int proto_ulp = -1;
67 #define ULP_HEADER_SIZE 2
69 static gboolean ulp_desegment = TRUE;
72 /*--- Included file: packet-ulp-hf.c ---*/
73 #line 1 "../../asn1/ulp/packet-ulp-hf.c"
74 static int hf_ulp_ULP_PDU_PDU = -1; /* ULP_PDU */
75 static int hf_ulp_length = -1; /* INTEGER_0_65535 */
76 static int hf_ulp_version = -1; /* Version */
77 static int hf_ulp_sessionID = -1; /* SessionID */
78 static int hf_ulp_message = -1; /* UlpMessage */
79 static int hf_ulp_msSUPLINIT = -1; /* SUPLINIT */
80 static int hf_ulp_msSUPLSTART = -1; /* SUPLSTART */
81 static int hf_ulp_msSUPLRESPONSE = -1; /* SUPLRESPONSE */
82 static int hf_ulp_msSUPLPOSINIT = -1; /* SUPLPOSINIT */
83 static int hf_ulp_msSUPLPOS = -1; /* SUPLPOS */
84 static int hf_ulp_msSUPLEND = -1; /* SUPLEND */
85 static int hf_ulp_msSUPLAUTHREQ = -1; /* SUPLAUTHREQ */
86 static int hf_ulp_msSUPLAUTHRESP = -1; /* SUPLAUTHRESP */
87 static int hf_ulp_msSUPLTRIGGEREDSTART = -1; /* Ver2_SUPLTRIGGEREDSTART */
88 static int hf_ulp_msSUPLTRIGGEREDRESPONSE = -1; /* Ver2_SUPLTRIGGEREDRESPONSE */
89 static int hf_ulp_msSUPLTRIGGEREDSTOP = -1; /* Ver2_SUPLTRIGGEREDSTOP */
90 static int hf_ulp_msSUPLNOTIFY = -1; /* Ver2_SUPLNOTIFY */
91 static int hf_ulp_msSUPLNOTIFYRESPONSE = -1; /* Ver2_SUPLNOTIFYRESPONSE */
92 static int hf_ulp_msSUPLSETINIT = -1; /* Ver2_SUPLSETINIT */
93 static int hf_ulp_msSUPLREPORT = -1; /* Ver2_SUPLREPORT */
94 static int hf_ulp_posMethod = -1; /* PosMethod */
95 static int hf_ulp_notification = -1; /* Notification */
96 static int hf_ulp_sLPAddress = -1; /* SLPAddress */
97 static int hf_ulp_qoP = -1; /* QoP */
98 static int hf_ulp_sLPMode = -1; /* SLPMode */
99 static int hf_ulp_mAC = -1; /* MAC */
100 static int hf_ulp_keyIdentity = -1; /* KeyIdentity */
101 static int hf_ulp_ver2_SUPL_INIT_extension = -1; /* Ver2_SUPL_INIT_extension */
102 static int hf_ulp_notificationType = -1; /* NotificationType */
103 static int hf_ulp_encodingType = -1; /* EncodingType */
104 static int hf_ulp_requestorId = -1; /* OCTET_STRING_SIZE_1_maxReqLength */
105 static int hf_ulp_requestorIdType = -1; /* FormatIndicator */
106 static int hf_ulp_clientName = -1; /* OCTET_STRING_SIZE_1_maxClientLength */
107 static int hf_ulp_clientNameType = -1; /* FormatIndicator */
108 static int hf_ulp_ver2_Notification_extension = -1; /* Ver2_Notification_extension */
109 static int hf_ulp_sETCapabilities = -1; /* SETCapabilities */
110 static int hf_ulp_locationId = -1; /* LocationId */
111 static int hf_ulp_ver2_SUPL_START_extension = -1; /* Ver2_SUPL_START_extension */
112 static int hf_ulp_posTechnology = -1; /* PosTechnology */
113 static int hf_ulp_prefMethod = -1; /* PrefMethod */
114 static int hf_ulp_posProtocol = -1; /* PosProtocol */
115 static int hf_ulp_ver2_SETCapabilities_extension = -1; /* Ver2_SETCapabilities_extension */
116 static int hf_ulp_agpsSETassisted = -1; /* BOOLEAN */
117 static int hf_ulp_agpsSETBased = -1; /* BOOLEAN */
118 static int hf_ulp_autonomousGPS = -1; /* BOOLEAN */
119 static int hf_ulp_aFLT = -1; /* BOOLEAN */
120 static int hf_ulp_eCID = -1; /* BOOLEAN */
121 static int hf_ulp_eOTD = -1; /* BOOLEAN */
122 static int hf_ulp_oTDOA = -1; /* BOOLEAN */
123 static int hf_ulp_ver2_PosTechnology_extension = -1; /* Ver2_PosTechnology_extension */
124 static int hf_ulp_tia801 = -1; /* BOOLEAN */
125 static int hf_ulp_rrlp = -1; /* BOOLEAN */
126 static int hf_ulp_rrc = -1; /* BOOLEAN */
127 static int hf_ulp_ver2_PosProtocol_extension = -1; /* Ver2_PosProtocol_extension */
128 static int hf_ulp_sETAuthKey = -1; /* SETAuthKey */
129 static int hf_ulp_keyIdentity4 = -1; /* KeyIdentity4 */
130 static int hf_ulp_ver2_SUPL_RESPONSE_extension = -1; /* Ver2_SUPL_RESPONSE_extension */
131 static int hf_ulp_shortKey = -1; /* BIT_STRING_SIZE_128 */
132 static int hf_ulp_longKey = -1; /* BIT_STRING_SIZE_256 */
133 static int hf_ulp_requestedAssistData = -1; /* RequestedAssistData */
134 static int hf_ulp_position = -1; /* Position */
135 static int hf_ulp_sUPLPOS = -1; /* SUPLPOS */
136 static int hf_ulp_ver = -1; /* Ver */
137 static int hf_ulp_ver2_SUPL_POS_INIT_extension = -1; /* Ver2_SUPL_POS_INIT_extension */
138 static int hf_ulp_almanacRequested = -1; /* BOOLEAN */
139 static int hf_ulp_utcModelRequested = -1; /* BOOLEAN */
140 static int hf_ulp_ionosphericModelRequested = -1; /* BOOLEAN */
141 static int hf_ulp_dgpsCorrectionsRequested = -1; /* BOOLEAN */
142 static int hf_ulp_referenceLocationRequested = -1; /* BOOLEAN */
143 static int hf_ulp_referenceTimeRequested = -1; /* BOOLEAN */
144 static int hf_ulp_acquisitionAssistanceRequested = -1; /* BOOLEAN */
145 static int hf_ulp_realTimeIntegrityRequested = -1; /* BOOLEAN */
146 static int hf_ulp_navigationModelRequested = -1; /* BOOLEAN */
147 static int hf_ulp_navigationModelData = -1; /* NavigationModel */
148 static int hf_ulp_ver2_RequestedAssistData_extension = -1; /* Ver2_RequestedAssistData_extension */
149 static int hf_ulp_gpsWeek = -1; /* INTEGER_0_1023 */
150 static int hf_ulp_gpsToe = -1; /* INTEGER_0_167 */
151 static int hf_ulp_nSAT = -1; /* INTEGER_0_31 */
152 static int hf_ulp_toeLimit = -1; /* INTEGER_0_10 */
153 static int hf_ulp_satInfo = -1; /* SatelliteInfo */
154 static int hf_ulp_SatelliteInfo_item = -1; /* SatelliteInfoElement */
155 static int hf_ulp_satId = -1; /* INTEGER_0_63 */
156 static int hf_ulp_iODE = -1; /* INTEGER_0_255 */
157 static int hf_ulp_posPayLoad = -1; /* PosPayLoad */
158 static int hf_ulp_velocity = -1; /* Velocity */
159 static int hf_ulp_ver2_SUPL_POS_extension = -1; /* Ver2_SUPL_POS_extension */
160 static int hf_ulp_tia801payload = -1; /* OCTET_STRING_SIZE_1_8192 */
161 static int hf_ulp_rrcPayload = -1; /* OCTET_STRING_SIZE_1_8192 */
162 static int hf_ulp_rrlpPayload = -1; /* T_rrlpPayload */
163 static int hf_ulp_ver2_PosPayLoad_extension = -1; /* Ver2_PosPayLoad_extension */
164 static int hf_ulp_statusCode = -1; /* StatusCode */
165 static int hf_ulp_ver2_SUPL_END_extension = -1; /* Ver2_SUPL_END_extension */
166 static int hf_ulp_sPCSETKey = -1; /* SPCSETKey */
167 static int hf_ulp_sPCTID = -1; /* SPCTID */
168 static int hf_ulp_sPCSETKeylifetime = -1; /* SPCSETKeylifetime */
169 static int hf_ulp_notificationResponse = -1; /* NotificationResponse */
170 static int hf_ulp_targetSETID = -1; /* SETId */
171 static int hf_ulp_applicationID = -1; /* ApplicationID */
172 static int hf_ulp_multipleLocationIds = -1; /* MultipleLocationIds */
173 static int hf_ulp_thirdParty = -1; /* ThirdParty */
174 static int hf_ulp_triggerType = -1; /* TriggerType */
175 static int hf_ulp_triggerParams = -1; /* TriggerParams */
176 static int hf_ulp_reportingCap = -1; /* ReportingCap */
177 static int hf_ulp_causeCode = -1; /* CauseCode */
178 static int hf_ulp_periodicParams = -1; /* PeriodicParams */
179 static int hf_ulp_areaEventParams = -1; /* AreaEventParams */
180 static int hf_ulp_numberOfFixes = -1; /* INTEGER_1_8639999 */
181 static int hf_ulp_intervalBetweenFixes = -1; /* INTEGER_1_8639999 */
182 static int hf_ulp_startTime = -1; /* INTEGER_0_2678400 */
183 static int hf_ulp_areaEventType = -1; /* AreaEventType */
184 static int hf_ulp_locationEstimate = -1; /* BOOLEAN */
185 static int hf_ulp_repeatedReportingParams = -1; /* RepeatedReportingParams */
186 static int hf_ulp_stopTime = -1; /* INTEGER_0_11318399 */
187 static int hf_ulp_geographicTargetAreaList = -1; /* GeographicTargetAreaList */
188 static int hf_ulp_areaIdLists = -1; /* SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList */
189 static int hf_ulp_areaIdLists_item = -1; /* AreaIdList */
190 static int hf_ulp_minimumIntervalTime = -1; /* INTEGER_1_604800 */
191 static int hf_ulp_maximumNumberOfReports = -1; /* INTEGER_1_1024 */
192 static int hf_ulp_GeographicTargetAreaList_item = -1; /* GeographicTargetArea */
193 static int hf_ulp_circularArea = -1; /* CircularArea */
194 static int hf_ulp_ellipticalArea = -1; /* EllipticalArea */
195 static int hf_ulp_polygonArea = -1; /* PolygonArea */
196 static int hf_ulp_areaIdSet = -1; /* AreaIdSet */
197 static int hf_ulp_areaIdSetType = -1; /* AreaIdSetType */
198 static int hf_ulp_geoAreaMappingList = -1; /* GeoAreaMappingList */
199 static int hf_ulp_AreaIdSet_item = -1; /* AreaId */
200 static int hf_ulp_gSMAreaId = -1; /* GSMAreaId */
201 static int hf_ulp_wCDMAAreaId = -1; /* WCDMAAreaId */
202 static int hf_ulp_cDMAAreaId = -1; /* CDMAAreaId */
203 static int hf_ulp_hRPDAreaId = -1; /* HRPDAreaId */
204 static int hf_ulp_uMBAreaId = -1; /* UMBAreaId */
205 static int hf_ulp_lTEAreaId = -1; /* LTEAreaId */
206 static int hf_ulp_wLANAreaId = -1; /* WLANAreaId */
207 static int hf_ulp_wiMAXAreaId = -1; /* WimaxAreaId */
208 static int hf_ulp_refMCC = -1; /* INTEGER_0_999 */
209 static int hf_ulp_refMNC = -1; /* INTEGER_0_999 */
210 static int hf_ulp_refLAC = -1; /* INTEGER_0_65535 */
211 static int hf_ulp_refCI = -1; /* INTEGER_0_65535 */
212 static int hf_ulp_refUC = -1; /* INTEGER_0_268435455 */
213 static int hf_ulp_refSID = -1; /* INTEGER_0_65535 */
214 static int hf_ulp_refNID = -1; /* INTEGER_0_32767 */
215 static int hf_ulp_refBASEID = -1; /* INTEGER_0_65535 */
216 static int hf_ulp_refSECTORID = -1; /* BIT_STRING_SIZE_128 */
217 static int hf_ulp_refCI_01 = -1; /* BIT_STRING_SIZE_29 */
218 static int hf_ulp_apMACAddress = -1; /* BIT_STRING_SIZE_48 */
219 static int hf_ulp_bsID_MSB = -1; /* BIT_STRING_SIZE_24 */
220 static int hf_ulp_bsID_LSB = -1; /* BIT_STRING_SIZE_24 */
221 static int hf_ulp_GeoAreaMappingList_item = -1; /* GeoAreaIndex */
222 static int hf_ulp_supportedNetworkInformation = -1; /* SupportedNetworkInformation */
223 static int hf_ulp_reportingMode = -1; /* ReportingMode */
224 static int hf_ulp_gnssPosTechnology = -1; /* GNSSPosTechnology */
225 static int hf_ulp_repMode = -1; /* RepMode */
226 static int hf_ulp_batchRepConditions = -1; /* BatchRepConditions */
227 static int hf_ulp_batchRepType = -1; /* BatchRepType */
228 static int hf_ulp_num_interval = -1; /* INTEGER_1_1024 */
229 static int hf_ulp_num_minutes = -1; /* INTEGER_1_2048 */
230 static int hf_ulp_endofsession = -1; /* NULL */
231 static int hf_ulp_reportPosition = -1; /* BOOLEAN */
232 static int hf_ulp_reportMeasurements = -1; /* BOOLEAN */
233 static int hf_ulp_intermediateReports = -1; /* BOOLEAN */
234 static int hf_ulp_discardOldest = -1; /* BOOLEAN */
235 static int hf_ulp_sessionList = -1; /* SessionList */
236 static int hf_ulp_reportDataList = -1; /* ReportDataList */
237 static int hf_ulp_moreComponents = -1; /* NULL */
238 static int hf_ulp_SessionList_item = -1; /* SessionInformation */
239 static int hf_ulp_ReportDataList_item = -1; /* ReportData */
240 static int hf_ulp_positionData = -1; /* PositionData */
241 static int hf_ulp_resultCode = -1; /* ResultCode */
242 static int hf_ulp_timestamp = -1; /* TimeStamp */
243 static int hf_ulp_ganssSignalsInfo = -1; /* GANSSsignalsInfo */
244 static int hf_ulp_GANSSsignalsInfo_item = -1; /* GANSSSignalsDescription */
245 static int hf_ulp_ganssId = -1; /* INTEGER_0_15 */
246 static int hf_ulp_gANSSSignals = -1; /* GANSSSignals */
247 static int hf_ulp_absoluteTime = -1; /* UTCTime */
248 static int hf_ulp_relativeTime = -1; /* INTEGER_0_31536000 */
249 static int hf_ulp_notificationMode = -1; /* NotificationMode */
250 static int hf_ulp_e_SLPAddress = -1; /* SLPAddress */
251 static int hf_ulp_historicReporting = -1; /* HistoricReporting */
252 static int hf_ulp_protectionLevel = -1; /* ProtectionLevel */
253 static int hf_ulp_minimumMajorVersion = -1; /* INTEGER_0_255 */
254 static int hf_ulp_allowedReportingType = -1; /* AllowedReportingType */
255 static int hf_ulp_reportingCriteria = -1; /* ReportingCriteria */
256 static int hf_ulp_timeWindow = -1; /* TimeWindow */
257 static int hf_ulp_maxNumberofReports = -1; /* INTEGER_1_65536 */
258 static int hf_ulp_minTimeInterval = -1; /* INTEGER_1_86400 */
259 static int hf_ulp_startTime_01 = -1; /* INTEGER_M525600_M1 */
260 static int hf_ulp_stopTime_01 = -1; /* INTEGER_M525599_0 */
261 static int hf_ulp_protlevel = -1; /* ProtLevel */
262 static int hf_ulp_basicProtectionParams = -1; /* BasicProtectionParams */
263 static int hf_ulp_keyIdentifier = -1; /* OCTET_STRING_SIZE_8 */
264 static int hf_ulp_basicReplayCounter = -1; /* INTEGER_0_65535 */
265 static int hf_ulp_basicMAC = -1; /* BIT_STRING_SIZE_32 */
266 static int hf_ulp_initialApproximateposition = -1; /* Position */
267 static int hf_ulp_utran_GPSReferenceTimeResult = -1; /* UTRAN_GPSReferenceTimeResult */
268 static int hf_ulp_utran_GANSSReferenceTimeResult = -1; /* UTRAN_GANSSReferenceTimeResult */
269 static int hf_ulp_utran_GPSReferenceTimeAssistance = -1; /* UTRAN_GPSReferenceTimeAssistance */
270 static int hf_ulp_utran_GANSSReferenceTimeAssistance = -1; /* UTRAN_GANSSReferenceTimeAssistance */
271 static int hf_ulp_emergencyCallLocation = -1; /* NULL */
272 static int hf_ulp_serviceCapabilities = -1; /* ServiceCapabilities */
273 static int hf_ulp_supportedBearers = -1; /* SupportedBearers */
274 static int hf_ulp_servicesSupported = -1; /* ServicesSupported */
275 static int hf_ulp_reportingCapabilities = -1; /* ReportingCap */
276 static int hf_ulp_eventTriggerCapabilities = -1; /* EventTriggerCapabilities */
277 static int hf_ulp_sessionCapabilities = -1; /* SessionCapabilities */
278 static int hf_ulp_periodicTrigger = -1; /* BOOLEAN */
279 static int hf_ulp_areaEventTrigger = -1; /* BOOLEAN */
280 static int hf_ulp_geoAreaShapesSupported = -1; /* GeoAreaShapesSupported */
281 static int hf_ulp_maxNumGeoAreaSupported = -1; /* INTEGER_0_maxNumGeoArea */
282 static int hf_ulp_maxAreaIdListSupported = -1; /* INTEGER_0_maxAreaIdList */
283 static int hf_ulp_maxAreaIdSupportedPerList = -1; /* INTEGER_0_maxAreaId */
284 static int hf_ulp_ellipticalArea_01 = -1; /* BOOLEAN */
285 static int hf_ulp_polygonArea_01 = -1; /* BOOLEAN */
286 static int hf_ulp_maxNumberTotalSessions = -1; /* INTEGER_1_128 */
287 static int hf_ulp_maxNumberPeriodicSessions = -1; /* INTEGER_1_32 */
288 static int hf_ulp_maxNumberTriggeredSessions = -1; /* INTEGER_1_32 */
289 static int hf_ulp_gsm = -1; /* BOOLEAN */
290 static int hf_ulp_wcdma = -1; /* BOOLEAN */
291 static int hf_ulp_lte = -1; /* BOOLEAN */
292 static int hf_ulp_cdma = -1; /* BOOLEAN */
293 static int hf_ulp_hprd = -1; /* BOOLEAN */
294 static int hf_ulp_umb = -1; /* BOOLEAN */
295 static int hf_ulp_wlan = -1; /* BOOLEAN */
296 static int hf_ulp_wiMAX = -1; /* BOOLEAN */
297 static int hf_ulp_lpp = -1; /* BOOLEAN */
298 static int hf_ulp_posProtocolVersionRRLP = -1; /* PosProtocolVersion3GPP */
299 static int hf_ulp_posProtocolVersionRRC = -1; /* PosProtocolVersion3GPP */
300 static int hf_ulp_posProtocolVersionTIA801 = -1; /* PosProtocolVersion3GPP2 */
301 static int hf_ulp_posProtocolVersionLPP = -1; /* PosProtocolVersion3GPP */
302 static int hf_ulp_majorVersionField = -1; /* INTEGER_0_255 */
303 static int hf_ulp_technicalVersionField = -1; /* INTEGER_0_255 */
304 static int hf_ulp_editorialVersionField = -1; /* INTEGER_0_255 */
305 static int hf_ulp_PosProtocolVersion3GPP2_item = -1; /* Supported3GPP2PosProtocolVersion */
306 static int hf_ulp_revisionNumber = -1; /* BIT_STRING_SIZE_6 */
307 static int hf_ulp_pointReleaseNumber = -1; /* INTEGER_0_255 */
308 static int hf_ulp_internalEditLevel = -1; /* INTEGER_0_255 */
309 static int hf_ulp_gANSSPositionMethods = -1; /* GANSSPositionMethods */
310 static int hf_ulp_GANSSPositionMethods_item = -1; /* GANSSPositionMethod */
311 static int hf_ulp_ganssSBASid = -1; /* BIT_STRING_SIZE_3 */
312 static int hf_ulp_gANSSPositioningMethodTypes = -1; /* GANSSPositioningMethodTypes */
313 static int hf_ulp_setAssisted = -1; /* BOOLEAN */
314 static int hf_ulp_setBased = -1; /* BOOLEAN */
315 static int hf_ulp_autonomous = -1; /* BOOLEAN */
316 static int hf_ulp_ganssRequestedCommonAssistanceDataList = -1; /* GanssRequestedCommonAssistanceDataList */
317 static int hf_ulp_ganssRequestedGenericAssistanceDataList = -1; /* GanssRequestedGenericAssistanceDataList */
318 static int hf_ulp_extendedEphemeris = -1; /* ExtendedEphemeris */
319 static int hf_ulp_extendedEphemerisCheck = -1; /* ExtendedEphCheck */
320 static int hf_ulp_ganssReferenceTime = -1; /* BOOLEAN */
321 static int hf_ulp_ganssIonosphericModel = -1; /* BOOLEAN */
322 static int hf_ulp_ganssAdditionalIonosphericModelForDataID00 = -1; /* BOOLEAN */
323 static int hf_ulp_ganssAdditionalIonosphericModelForDataID11 = -1; /* BOOLEAN */
324 static int hf_ulp_ganssEarthOrientationParameters = -1; /* BOOLEAN */
325 static int hf_ulp_GanssRequestedGenericAssistanceDataList_item = -1; /* GanssReqGenericData */
326 static int hf_ulp_ganssRealTimeIntegrity = -1; /* BOOLEAN */
327 static int hf_ulp_ganssDifferentialCorrection = -1; /* DGANSS_Sig_Id_Req */
328 static int hf_ulp_ganssAlmanac = -1; /* BOOLEAN */
329 static int hf_ulp_ganssNavigationModelData = -1; /* GanssNavigationModelData */
330 static int hf_ulp_ganssTimeModels = -1; /* BIT_STRING_SIZE_16 */
331 static int hf_ulp_ganssReferenceMeasurementInfo = -1; /* BOOLEAN */
332 static int hf_ulp_ganssDataBits = -1; /* GanssDataBits */
333 static int hf_ulp_ganssUTCModel = -1; /* BOOLEAN */
334 static int hf_ulp_ganssAdditionalDataChoices = -1; /* GanssAdditionalDataChoices */
335 static int hf_ulp_ganssAuxiliaryInformation = -1; /* BOOLEAN */
336 static int hf_ulp_ganssExtendedEphemeris = -1; /* ExtendedEphemeris */
337 static int hf_ulp_ganssExtendedEphemerisCheck = -1; /* GanssExtendedEphCheck */
338 static int hf_ulp_ganssWeek = -1; /* INTEGER_0_4095 */
339 static int hf_ulp_ganssToe = -1; /* INTEGER_0_167 */
340 static int hf_ulp_t_toeLimit = -1; /* INTEGER_0_15 */
341 static int hf_ulp_satellitesListRelatedDataList = -1; /* SatellitesListRelatedDataList */
342 static int hf_ulp_SatellitesListRelatedDataList_item = -1; /* SatellitesListRelatedData */
343 static int hf_ulp_iod = -1; /* INTEGER_0_1023 */
344 static int hf_ulp_ganssTODmin = -1; /* INTEGER_0_59 */
345 static int hf_ulp_reqDataBitAssistanceList = -1; /* ReqDataBitAssistanceList */
346 static int hf_ulp_gnssSignals = -1; /* GANSSSignals */
347 static int hf_ulp_ganssDataBitInterval = -1; /* INTEGER_0_15 */
348 static int hf_ulp_ganssDataBitSatList = -1; /* T_ganssDataBitSatList */
349 static int hf_ulp_ganssDataBitSatList_item = -1; /* INTEGER_0_63 */
350 static int hf_ulp_orbitModelID = -1; /* INTEGER_0_7 */
351 static int hf_ulp_clockModelID = -1; /* INTEGER_0_7 */
352 static int hf_ulp_utcModelID = -1; /* INTEGER_0_7 */
353 static int hf_ulp_almanacModelID = -1; /* INTEGER_0_7 */
354 static int hf_ulp_validity = -1; /* INTEGER_1_256 */
355 static int hf_ulp_beginTime = -1; /* GPSTime */
356 static int hf_ulp_endTime = -1; /* GPSTime */
357 static int hf_ulp_beginTime_01 = -1; /* GANSSextEphTime */
358 static int hf_ulp_endTime_01 = -1; /* GANSSextEphTime */
359 static int hf_ulp_gPSWeek = -1; /* INTEGER_0_1023 */
360 static int hf_ulp_gPSTOWhour = -1; /* INTEGER_0_167 */
361 static int hf_ulp_gANSSday = -1; /* INTEGER_0_8191 */
362 static int hf_ulp_gANSSTODhour = -1; /* INTEGER_0_23 */
363 static int hf_ulp_lPPPayload = -1; /* T_lPPPayload */
364 static int hf_ulp_lPPPayload_item = -1; /* T_lPPPayload_item */
365 static int hf_ulp_tIA801Payload = -1; /* T_tIA801Payload */
366 static int hf_ulp_tIA801Payload_item = -1; /* OCTET_STRING_SIZE_1_60000 */
367 static int hf_ulp_maj = -1; /* INTEGER_0_255 */
368 static int hf_ulp_min = -1; /* INTEGER_0_255 */
369 static int hf_ulp_servind = -1; /* INTEGER_0_255 */
370 static int hf_ulp_setSessionID = -1; /* SetSessionID */
371 static int hf_ulp_slpSessionID = -1; /* SlpSessionID */
372 static int hf_ulp_sessionId = -1; /* INTEGER_0_65535 */
373 static int hf_ulp_setId = -1; /* SETId */
374 static int hf_ulp_msisdn = -1; /* OCTET_STRING_SIZE_8 */
375 static int hf_ulp_mdn = -1; /* OCTET_STRING_SIZE_8 */
376 static int hf_ulp_minsi = -1; /* BIT_STRING_SIZE_34 */
377 static int hf_ulp_imsi = -1; /* OCTET_STRING_SIZE_8 */
378 static int hf_ulp_nai = -1; /* IA5String_SIZE_1_1000 */
379 static int hf_ulp_iPAddress = -1; /* IPAddress */
380 static int hf_ulp_sessionSlpID = -1; /* OCTET_STRING_SIZE_4 */
381 static int hf_ulp_slpId = -1; /* SLPAddress */
382 static int hf_ulp_ipv4Address = -1; /* OCTET_STRING_SIZE_4 */
383 static int hf_ulp_ipv6Address = -1; /* OCTET_STRING_SIZE_16 */
384 static int hf_ulp_fQDN = -1; /* FQDN */
385 static int hf_ulp_cellInfo = -1; /* CellInfo */
386 static int hf_ulp_status = -1; /* Status */
387 static int hf_ulp_gsmCell = -1; /* GsmCellInformation */
388 static int hf_ulp_wcdmaCell = -1; /* WcdmaCellInformation */
389 static int hf_ulp_cdmaCell = -1; /* CdmaCellInformation */
390 static int hf_ulp_ver2_CellInfo_extension = -1; /* Ver2_CellInfo_extension */
391 static int hf_ulp_timestamp_01 = -1; /* UTCTime */
392 static int hf_ulp_positionEstimate = -1; /* PositionEstimate */
393 static int hf_ulp_latitudeSign = -1; /* T_latitudeSign */
394 static int hf_ulp_latitude = -1; /* INTEGER_0_8388607 */
395 static int hf_ulp_longitude = -1; /* INTEGER_M8388608_8388607 */
396 static int hf_ulp_uncertainty = -1; /* T_uncertainty */
397 static int hf_ulp_uncertaintySemiMajor = -1; /* INTEGER_0_127 */
398 static int hf_ulp_uncertaintySemiMinor = -1; /* INTEGER_0_127 */
399 static int hf_ulp_orientationMajorAxis = -1; /* INTEGER_0_180 */
400 static int hf_ulp_confidence = -1; /* INTEGER_0_100 */
401 static int hf_ulp_altitudeInfo = -1; /* AltitudeInfo */
402 static int hf_ulp_altitudeDirection = -1; /* T_altitudeDirection */
403 static int hf_ulp_altitude = -1; /* INTEGER_0_32767 */
404 static int hf_ulp_altUncertainty = -1; /* INTEGER_0_127 */
405 static int hf_ulp_refNID_01 = -1; /* INTEGER_0_65535 */
406 static int hf_ulp_refSID_01 = -1; /* INTEGER_0_32767 */
407 static int hf_ulp_refBASELAT = -1; /* INTEGER_0_4194303 */
408 static int hf_ulp_reBASELONG = -1; /* INTEGER_0_8388607 */
409 static int hf_ulp_refREFPN = -1; /* INTEGER_0_511 */
410 static int hf_ulp_refWeekNumber = -1; /* INTEGER_0_65535 */
411 static int hf_ulp_refSeconds = -1; /* INTEGER_0_4194303 */
412 static int hf_ulp_nMR = -1; /* NMR */
413 static int hf_ulp_tA = -1; /* INTEGER_0_255 */
414 static int hf_ulp_frequencyInfo = -1; /* FrequencyInfo */
415 static int hf_ulp_primaryScramblingCode = -1; /* INTEGER_0_511 */
416 static int hf_ulp_measuredResultsList = -1; /* MeasuredResultsList */
417 static int hf_ulp_cellParametersId = -1; /* INTEGER_0_127 */
418 static int hf_ulp_timingAdvance = -1; /* TimingAdvance */
419 static int hf_ulp_tA_01 = -1; /* INTEGER_0_8191 */
420 static int hf_ulp_tAResolution = -1; /* TAResolution */
421 static int hf_ulp_chipRate = -1; /* ChipRate */
422 static int hf_ulp_modeSpecificFrequencyInfo = -1; /* FrequencySpecificInfo */
423 static int hf_ulp_fdd_fr = -1; /* FrequencyInfoFDD */
424 static int hf_ulp_tdd_fr = -1; /* FrequencyInfoTDD */
425 static int hf_ulp_uarfcn_UL = -1; /* UARFCN */
426 static int hf_ulp_uarfcn_DL = -1; /* UARFCN */
427 static int hf_ulp_uarfcn_Nt = -1; /* UARFCN */
428 static int hf_ulp_NMR_item = -1; /* NMRelement */
429 static int hf_ulp_aRFCN = -1; /* INTEGER_0_1023 */
430 static int hf_ulp_bSIC = -1; /* INTEGER_0_63 */
431 static int hf_ulp_rxLev = -1; /* INTEGER_0_63 */
432 static int hf_ulp_MeasuredResultsList_item = -1; /* MeasuredResults */
433 static int hf_ulp_utra_CarrierRSSI = -1; /* UTRA_CarrierRSSI */
434 static int hf_ulp_cellMeasuredResultsList = -1; /* CellMeasuredResultsList */
435 static int hf_ulp_CellMeasuredResultsList_item = -1; /* CellMeasuredResults */
436 static int hf_ulp_cellIdentity = -1; /* INTEGER_0_268435455 */
437 static int hf_ulp_modeSpecificInfo = -1; /* T_modeSpecificInfo */
438 static int hf_ulp_fdd = -1; /* T_fdd */
439 static int hf_ulp_primaryCPICH_Info = -1; /* PrimaryCPICH_Info */
440 static int hf_ulp_cpich_Ec_N0 = -1; /* CPICH_Ec_N0 */
441 static int hf_ulp_cpich_RSCP = -1; /* CPICH_RSCP */
442 static int hf_ulp_pathloss = -1; /* Pathloss */
443 static int hf_ulp_tdd = -1; /* T_tdd */
444 static int hf_ulp_cellParametersID = -1; /* CellParametersID */
445 static int hf_ulp_proposedTGSN = -1; /* TGSN */
446 static int hf_ulp_primaryCCPCH_RSCP = -1; /* PrimaryCCPCH_RSCP */
447 static int hf_ulp_timeslotISCP_List = -1; /* TimeslotISCP_List */
448 static int hf_ulp_TimeslotISCP_List_item = -1; /* TimeslotISCP */
449 static int hf_ulp_horacc = -1; /* INTEGER_0_127 */
450 static int hf_ulp_veracc = -1; /* INTEGER_0_127 */
451 static int hf_ulp_maxLocAge = -1; /* INTEGER_0_65535 */
452 static int hf_ulp_delay = -1; /* INTEGER_0_7 */
453 static int hf_ulp_horvel = -1; /* Horvel */
454 static int hf_ulp_horandvervel = -1; /* Horandvervel */
455 static int hf_ulp_horveluncert = -1; /* Horveluncert */
456 static int hf_ulp_horandveruncert = -1; /* Horandveruncert */
457 static int hf_ulp_bearing = -1; /* BIT_STRING_SIZE_9 */
458 static int hf_ulp_horspeed = -1; /* BIT_STRING_SIZE_16 */
459 static int hf_ulp_verdirect = -1; /* BIT_STRING_SIZE_1 */
460 static int hf_ulp_verspeed = -1; /* BIT_STRING_SIZE_8 */
461 static int hf_ulp_uncertspeed = -1; /* BIT_STRING_SIZE_8 */
462 static int hf_ulp_horuncertspeed = -1; /* BIT_STRING_SIZE_8 */
463 static int hf_ulp_veruncertspeed = -1; /* BIT_STRING_SIZE_8 */
464 static int hf_ulp_MultipleLocationIds_item = -1; /* LocationIdData */
465 static int hf_ulp_relativetimestamp = -1; /* RelativeTime */
466 static int hf_ulp_servingFlag = -1; /* BOOLEAN */
467 static int hf_ulp_wLAN = -1; /* BOOLEAN */
468 static int hf_ulp_supportedWLANInfo = -1; /* SupportedWLANInfo */
469 static int hf_ulp_supportedWLANApsList = -1; /* SupportedWLANApsList */
470 static int hf_ulp_gSM = -1; /* BOOLEAN */
471 static int hf_ulp_wCDMA = -1; /* BOOLEAN */
472 static int hf_ulp_supportedWCDMAInfo = -1; /* SupportedWCDMAInfo */
473 static int hf_ulp_cDMA = -1; /* BOOLEAN */
474 static int hf_ulp_hRDP = -1; /* BOOLEAN */
475 static int hf_ulp_uMB = -1; /* BOOLEAN */
476 static int hf_ulp_lTE = -1; /* BOOLEAN */
477 static int hf_ulp_wIMAX = -1; /* BOOLEAN */
478 static int hf_ulp_historic = -1; /* BOOLEAN */
479 static int hf_ulp_nonServing = -1; /* BOOLEAN */
480 static int hf_ulp_uTRANGPSReferenceTime = -1; /* BOOLEAN */
481 static int hf_ulp_uTRANGANSSReferenceTime = -1; /* BOOLEAN */
482 static int hf_ulp_apTP = -1; /* BOOLEAN */
483 static int hf_ulp_apAG = -1; /* BOOLEAN */
484 static int hf_ulp_apSN = -1; /* BOOLEAN */
485 static int hf_ulp_apDevType = -1; /* BOOLEAN */
486 static int hf_ulp_apRSSI = -1; /* BOOLEAN */
487 static int hf_ulp_apChanFreq = -1; /* BOOLEAN */
488 static int hf_ulp_apRTD = -1; /* BOOLEAN */
489 static int hf_ulp_setTP = -1; /* BOOLEAN */
490 static int hf_ulp_setAG = -1; /* BOOLEAN */
491 static int hf_ulp_setSN = -1; /* BOOLEAN */
492 static int hf_ulp_setRSSI = -1; /* BOOLEAN */
493 static int hf_ulp_apRepLoc = -1; /* BOOLEAN */
494 static int hf_ulp_supportedWLANApDataList = -1; /* SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData */
495 static int hf_ulp_supportedWLANApDataList_item = -1; /* SupportedWLANApData */
496 static int hf_ulp_supportedWLANapsChannel11a = -1; /* SupportedWLANApsChannel11a */
497 static int hf_ulp_supportedWLANapsChannel11bg = -1; /* SupportedWLANApsChannel11bg */
498 static int hf_ulp_ch34 = -1; /* BOOLEAN */
499 static int hf_ulp_ch36 = -1; /* BOOLEAN */
500 static int hf_ulp_ch38 = -1; /* BOOLEAN */
501 static int hf_ulp_ch40 = -1; /* BOOLEAN */
502 static int hf_ulp_ch42 = -1; /* BOOLEAN */
503 static int hf_ulp_ch44 = -1; /* BOOLEAN */
504 static int hf_ulp_ch46 = -1; /* BOOLEAN */
505 static int hf_ulp_ch48 = -1; /* BOOLEAN */
506 static int hf_ulp_ch52 = -1; /* BOOLEAN */
507 static int hf_ulp_ch56 = -1; /* BOOLEAN */
508 static int hf_ulp_ch60 = -1; /* BOOLEAN */
509 static int hf_ulp_ch64 = -1; /* BOOLEAN */
510 static int hf_ulp_ch149 = -1; /* BOOLEAN */
511 static int hf_ulp_ch153 = -1; /* BOOLEAN */
512 static int hf_ulp_ch157 = -1; /* BOOLEAN */
513 static int hf_ulp_ch161 = -1; /* BOOLEAN */
514 static int hf_ulp_ch1 = -1; /* BOOLEAN */
515 static int hf_ulp_ch2 = -1; /* BOOLEAN */
516 static int hf_ulp_ch3 = -1; /* BOOLEAN */
517 static int hf_ulp_ch4 = -1; /* BOOLEAN */
518 static int hf_ulp_ch5 = -1; /* BOOLEAN */
519 static int hf_ulp_ch6 = -1; /* BOOLEAN */
520 static int hf_ulp_ch7 = -1; /* BOOLEAN */
521 static int hf_ulp_ch8 = -1; /* BOOLEAN */
522 static int hf_ulp_ch9 = -1; /* BOOLEAN */
523 static int hf_ulp_ch10 = -1; /* BOOLEAN */
524 static int hf_ulp_ch11 = -1; /* BOOLEAN */
525 static int hf_ulp_ch12 = -1; /* BOOLEAN */
526 static int hf_ulp_ch13 = -1; /* BOOLEAN */
527 static int hf_ulp_ch14 = -1; /* BOOLEAN */
528 static int hf_ulp_apDevType_01 = -1; /* T_apDevType */
529 static int hf_ulp_mRL = -1; /* BOOLEAN */
530 static int hf_ulp_hrpdCell = -1; /* HrpdCellInformation */
531 static int hf_ulp_umbCell = -1; /* UmbCellInformation */
532 static int hf_ulp_lteCell = -1; /* LteCellInformation */
533 static int hf_ulp_wlanAP = -1; /* WlanAPInformation */
534 static int hf_ulp_wimaxBS = -1; /* WimaxBSInformation */
535 static int hf_ulp_cellGlobalIdEUTRA = -1; /* CellGlobalIdEUTRA */
536 static int hf_ulp_physCellId = -1; /* PhysCellId */
537 static int hf_ulp_trackingAreaCode = -1; /* TrackingAreaCode */
538 static int hf_ulp_rsrpResult = -1; /* RSRP_Range */
539 static int hf_ulp_rsrqResult = -1; /* RSRQ_Range */
540 static int hf_ulp_tA_02 = -1; /* INTEGER_0_1282 */
541 static int hf_ulp_measResultListEUTRA = -1; /* MeasResultListEUTRA */
542 static int hf_ulp_MeasResultListEUTRA_item = -1; /* MeasResultEUTRA */
543 static int hf_ulp_cgi_Info = -1; /* T_cgi_Info */
544 static int hf_ulp_cellGlobalId = -1; /* CellGlobalIdEUTRA */
545 static int hf_ulp_measResult = -1; /* T_measResult */
546 static int hf_ulp_plmn_Identity = -1; /* PLMN_Identity */
547 static int hf_ulp_cellIdentity_01 = -1; /* CellIdentity */
548 static int hf_ulp_mcc = -1; /* MCC */
549 static int hf_ulp_mnc = -1; /* MNC */
550 static int hf_ulp_MCC_item = -1; /* MCC_MNC_Digit */
551 static int hf_ulp_MNC_item = -1; /* MCC_MNC_Digit */
552 static int hf_ulp_apTransmitPower = -1; /* INTEGER_M127_128 */
553 static int hf_ulp_apAntennaGain = -1; /* INTEGER_M127_128 */
554 static int hf_ulp_apSignaltoNoise = -1; /* INTEGER_M127_128 */
555 static int hf_ulp_apDeviceType = -1; /* T_apDeviceType */
556 static int hf_ulp_apSignalStrength = -1; /* INTEGER_M127_128 */
557 static int hf_ulp_apChannelFrequency = -1; /* INTEGER_0_256 */
558 static int hf_ulp_apRoundTripDelay = -1; /* RTD */
559 static int hf_ulp_setTransmitPower = -1; /* INTEGER_M127_128 */
560 static int hf_ulp_setAntennaGain = -1; /* INTEGER_M127_128 */
561 static int hf_ulp_setSignaltoNoise = -1; /* INTEGER_M127_128 */
562 static int hf_ulp_setSignalStrength = -1; /* INTEGER_M127_128 */
563 static int hf_ulp_apReportedLocation = -1; /* ReportedLocation */
564 static int hf_ulp_rTDValue = -1; /* INTEGER_0_16777216 */
565 static int hf_ulp_rTDUnits = -1; /* RTDUnits */
566 static int hf_ulp_rTDAccuracy = -1; /* INTEGER_0_255 */
567 static int hf_ulp_locationEncodingDescriptor = -1; /* LocationEncodingDescriptor */
568 static int hf_ulp_locationData = -1; /* LocationData */
569 static int hf_ulp_locationAccuracy = -1; /* INTEGER_0_4294967295 */
570 static int hf_ulp_locationValue = -1; /* OCTET_STRING_SIZE_1_128 */
571 static int hf_ulp_wimaxBsID = -1; /* WimaxBsID */
572 static int hf_ulp_wimaxRTD = -1; /* WimaxRTD */
573 static int hf_ulp_wimaxNMRList = -1; /* WimaxNMRList */
574 static int hf_ulp_rTD = -1; /* INTEGER_0_65535 */
575 static int hf_ulp_rTDstd = -1; /* INTEGER_0_1023 */
576 static int hf_ulp_WimaxNMRList_item = -1; /* WimaxNMR */
577 static int hf_ulp_relDelay = -1; /* INTEGER_M32768_32767 */
578 static int hf_ulp_relDelaystd = -1; /* INTEGER_0_1023 */
579 static int hf_ulp_rSSI = -1; /* INTEGER_0_255 */
580 static int hf_ulp_rSSIstd = -1; /* INTEGER_0_63 */
581 static int hf_ulp_bSTxPower = -1; /* INTEGER_0_255 */
582 static int hf_ulp_cINR = -1; /* INTEGER_0_255 */
583 static int hf_ulp_cINRstd = -1; /* INTEGER_0_63 */
584 static int hf_ulp_bSLocation = -1; /* ReportedLocation */
585 static int hf_ulp_utran_GPSReferenceTime = -1; /* UTRAN_GPSReferenceTime */
586 static int hf_ulp_gpsReferenceTimeUncertainty = -1; /* INTEGER_0_127 */
587 static int hf_ulp_utranGPSDriftRate = -1; /* UTRANGPSDriftRate */
588 static int hf_ulp_utran_GPSTimingOfCell = -1; /* T_utran_GPSTimingOfCell */
589 static int hf_ulp_ms_part = -1; /* INTEGER_0_1023 */
590 static int hf_ulp_ls_part = -1; /* INTEGER_0_4294967295 */
591 static int hf_ulp_modeSpecificInfo_01 = -1; /* T_modeSpecificInfo_01 */
592 static int hf_ulp_fdd_01 = -1; /* T_fdd_01 */
593 static int hf_ulp_referenceIdentity = -1; /* PrimaryCPICH_Info */
594 static int hf_ulp_tdd_01 = -1; /* T_tdd_01 */
595 static int hf_ulp_referenceIdentity_01 = -1; /* CellParametersID */
596 static int hf_ulp_sfn = -1; /* INTEGER_0_4095 */
597 static int hf_ulp_set_GPSTimingOfCell = -1; /* T_set_GPSTimingOfCell */
598 static int hf_ulp_ms_part_01 = -1; /* INTEGER_0_16383 */
599 static int hf_ulp_modeSpecificInfo_02 = -1; /* T_modeSpecificInfo_02 */
600 static int hf_ulp_fdd_02 = -1; /* T_fdd_02 */
601 static int hf_ulp_tdd_02 = -1; /* T_tdd_02 */
602 static int hf_ulp_ganssDay = -1; /* INTEGER_0_8191 */
603 static int hf_ulp_ganssTimeID = -1; /* INTEGER_0_15 */
604 static int hf_ulp_utran_GANSSReferenceTime = -1; /* UTRAN_GANSSReferenceTime */
605 static int hf_ulp_utranGANSSDriftRate = -1; /* UTRANGANSSDriftRate */
606 static int hf_ulp_ganssTOD = -1; /* INTEGER_0_86399 */
607 static int hf_ulp_utran_GANSSTimingOfCell = -1; /* INTEGER_0_3999999 */
608 static int hf_ulp_modeSpecificInfo_03 = -1; /* T_modeSpecificInfo_03 */
609 static int hf_ulp_fdd_03 = -1; /* T_fdd_03 */
610 static int hf_ulp_tdd_03 = -1; /* T_tdd_03 */
611 static int hf_ulp_ganss_TODUncertainty = -1; /* INTEGER_0_127 */
612 static int hf_ulp_set_GANSSReferenceTime = -1; /* SET_GANSSReferenceTime */
613 static int hf_ulp_set_GANSSTimingOfCell = -1; /* T_set_GANSSTimingOfCell */
614 static int hf_ulp_ms_part_02 = -1; /* INTEGER_0_80 */
615 static int hf_ulp_modeSpecificInfo_04 = -1; /* T_modeSpecificInfo_04 */
616 static int hf_ulp_fdd_04 = -1; /* T_fdd_04 */
617 static int hf_ulp_tdd_04 = -1; /* T_tdd_04 */
618 static int hf_ulp_gps = -1; /* BOOLEAN */
619 static int hf_ulp_galileo = -1; /* BOOLEAN */
620 static int hf_ulp_sbas = -1; /* BOOLEAN */
621 static int hf_ulp_modernized_gps = -1; /* BOOLEAN */
622 static int hf_ulp_qzss = -1; /* BOOLEAN */
623 static int hf_ulp_glonass = -1; /* BOOLEAN */
624 static int hf_ulp_rAND = -1; /* BIT_STRING_SIZE_128 */
625 static int hf_ulp_slpFQDN = -1; /* FQDN */
626 static int hf_ulp_ThirdParty_item = -1; /* ThirdPartyID */
627 static int hf_ulp_logicalName = -1; /* IA5String_SIZE_1_1000 */
628 static int hf_ulp_emailaddr = -1; /* IA5String_SIZE_1_1000 */
629 static int hf_ulp_sip_uri = -1; /* T_sip_uri */
630 static int hf_ulp_ims_public_identity = -1; /* T_ims_public_identity */
631 static int hf_ulp_min_01 = -1; /* BIT_STRING_SIZE_34 */
632 static int hf_ulp_uri = -1; /* T_uri */
633 static int hf_ulp_appProvider = -1; /* IA5String_SIZE_1_24 */
634 static int hf_ulp_appName = -1; /* IA5String_SIZE_1_32 */
635 static int hf_ulp_appVersion = -1; /* IA5String_SIZE_1_8 */
636 static int hf_ulp_minInt = -1; /* INTEGER_1_3600 */
637 static int hf_ulp_maxInt = -1; /* INTEGER_1_1440 */
638 static int hf_ulp_repMode_01 = -1; /* RepMode_cap */
639 static int hf_ulp_batchRepCap = -1; /* BatchRepCap */
640 static int hf_ulp_realtime = -1; /* BOOLEAN */
641 static int hf_ulp_quasirealtime = -1; /* BOOLEAN */
642 static int hf_ulp_batch = -1; /* BOOLEAN */
643 static int hf_ulp_report_position = -1; /* BOOLEAN */
644 static int hf_ulp_report_measurements = -1; /* BOOLEAN */
645 static int hf_ulp_max_num_positions = -1; /* INTEGER_1_1024 */
646 static int hf_ulp_max_num_measurements = -1; /* INTEGER_1_1024 */
647 static int hf_ulp_latitudeSign_01 = -1; /* T_latitudeSign_01 */
648 static int hf_ulp_coordinate = -1; /* Coordinate */
649 static int hf_ulp_radius = -1; /* INTEGER_1_1000000 */
650 static int hf_ulp_radius_min = -1; /* INTEGER_1_1000000 */
651 static int hf_ulp_radius_max = -1; /* INTEGER_1_1500000 */
652 static int hf_ulp_semiMajor = -1; /* INTEGER_1_1000000 */
653 static int hf_ulp_semiMajor_min = -1; /* INTEGER_1_1000000 */
654 static int hf_ulp_semiMajor_max = -1; /* INTEGER_1_1500000 */
655 static int hf_ulp_semiMinor = -1; /* INTEGER_1_1000000 */
656 static int hf_ulp_semiMinor_min = -1; /* INTEGER_1_1000000 */
657 static int hf_ulp_semiMinor_max = -1; /* INTEGER_1_1500000 */
658 static int hf_ulp_angle = -1; /* INTEGER_0_179 */
659 static int hf_ulp_polygonDescription = -1; /* PolygonDescription */
660 static int hf_ulp_polygonHysteresis = -1; /* INTEGER_1_100000 */
661 static int hf_ulp_PolygonDescription_item = -1; /* Coordinate */
662 /* named bits */
663 static int hf_ulp_GANSSSignals_signal1 = -1;
664 static int hf_ulp_GANSSSignals_signal2 = -1;
665 static int hf_ulp_GANSSSignals_signal3 = -1;
666 static int hf_ulp_GANSSSignals_signal4 = -1;
667 static int hf_ulp_GANSSSignals_signal5 = -1;
668 static int hf_ulp_GANSSSignals_signal6 = -1;
669 static int hf_ulp_GANSSSignals_signal7 = -1;
670 static int hf_ulp_GANSSSignals_signal8 = -1;
672 /*--- End of included file: packet-ulp-hf.c ---*/
673 #line 64 "../../asn1/ulp/packet-ulp-template.c"
675 /* Initialize the subtree pointers */
676 static gint ett_ulp = -1;
678 /*--- Included file: packet-ulp-ett.c ---*/
679 #line 1 "../../asn1/ulp/packet-ulp-ett.c"
680 static gint ett_ulp_ULP_PDU = -1;
681 static gint ett_ulp_UlpMessage = -1;
682 static gint ett_ulp_SUPLINIT = -1;
683 static gint ett_ulp_Notification = -1;
684 static gint ett_ulp_SUPLSTART = -1;
685 static gint ett_ulp_SETCapabilities = -1;
686 static gint ett_ulp_PosTechnology = -1;
687 static gint ett_ulp_PosProtocol = -1;
688 static gint ett_ulp_SUPLRESPONSE = -1;
689 static gint ett_ulp_SETAuthKey = -1;
690 static gint ett_ulp_SUPLPOSINIT = -1;
691 static gint ett_ulp_RequestedAssistData = -1;
692 static gint ett_ulp_NavigationModel = -1;
693 static gint ett_ulp_SatelliteInfo = -1;
694 static gint ett_ulp_SatelliteInfoElement = -1;
695 static gint ett_ulp_SUPLPOS = -1;
696 static gint ett_ulp_PosPayLoad = -1;
697 static gint ett_ulp_SUPLEND = -1;
698 static gint ett_ulp_SUPLAUTHREQ = -1;
699 static gint ett_ulp_SUPLAUTHRESP = -1;
700 static gint ett_ulp_Ver2_SUPLNOTIFY = -1;
701 static gint ett_ulp_Ver2_SUPLNOTIFYRESPONSE = -1;
702 static gint ett_ulp_Ver2_SUPLSETINIT = -1;
703 static gint ett_ulp_Ver2_SUPLTRIGGEREDSTART = -1;
704 static gint ett_ulp_TriggerParams = -1;
705 static gint ett_ulp_PeriodicParams = -1;
706 static gint ett_ulp_AreaEventParams = -1;
707 static gint ett_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList = -1;
708 static gint ett_ulp_RepeatedReportingParams = -1;
709 static gint ett_ulp_GeographicTargetAreaList = -1;
710 static gint ett_ulp_GeographicTargetArea = -1;
711 static gint ett_ulp_AreaIdList = -1;
712 static gint ett_ulp_AreaIdSet = -1;
713 static gint ett_ulp_AreaId = -1;
714 static gint ett_ulp_GSMAreaId = -1;
715 static gint ett_ulp_WCDMAAreaId = -1;
716 static gint ett_ulp_CDMAAreaId = -1;
717 static gint ett_ulp_HRPDAreaId = -1;
718 static gint ett_ulp_UMBAreaId = -1;
719 static gint ett_ulp_LTEAreaId = -1;
720 static gint ett_ulp_WLANAreaId = -1;
721 static gint ett_ulp_WimaxAreaId = -1;
722 static gint ett_ulp_GeoAreaMappingList = -1;
723 static gint ett_ulp_Ver2_SUPLTRIGGEREDRESPONSE = -1;
724 static gint ett_ulp_ReportingMode = -1;
725 static gint ett_ulp_BatchRepConditions = -1;
726 static gint ett_ulp_BatchRepType = -1;
727 static gint ett_ulp_Ver2_SUPLREPORT = -1;
728 static gint ett_ulp_SessionList = -1;
729 static gint ett_ulp_SessionInformation = -1;
730 static gint ett_ulp_ReportDataList = -1;
731 static gint ett_ulp_ReportData = -1;
732 static gint ett_ulp_PositionData = -1;
733 static gint ett_ulp_GANSSsignalsInfo = -1;
734 static gint ett_ulp_GANSSSignalsDescription = -1;
735 static gint ett_ulp_TimeStamp = -1;
736 static gint ett_ulp_Ver2_SUPLTRIGGEREDSTOP = -1;
737 static gint ett_ulp_Ver2_SUPL_INIT_extension = -1;
738 static gint ett_ulp_HistoricReporting = -1;
739 static gint ett_ulp_ReportingCriteria = -1;
740 static gint ett_ulp_TimeWindow = -1;
741 static gint ett_ulp_ProtectionLevel = -1;
742 static gint ett_ulp_BasicProtectionParams = -1;
743 static gint ett_ulp_Ver2_SUPL_START_extension = -1;
744 static gint ett_ulp_Ver2_SUPL_RESPONSE_extension = -1;
745 static gint ett_ulp_Ver2_SUPL_POS_INIT_extension = -1;
746 static gint ett_ulp_Ver2_SUPL_POS_extension = -1;
747 static gint ett_ulp_Ver2_SUPL_END_extension = -1;
748 static gint ett_ulp_Ver2_Notification_extension = -1;
749 static gint ett_ulp_Ver2_SETCapabilities_extension = -1;
750 static gint ett_ulp_ServiceCapabilities = -1;
751 static gint ett_ulp_ServicesSupported = -1;
752 static gint ett_ulp_EventTriggerCapabilities = -1;
753 static gint ett_ulp_GeoAreaShapesSupported = -1;
754 static gint ett_ulp_SessionCapabilities = -1;
755 static gint ett_ulp_SupportedBearers = -1;
756 static gint ett_ulp_Ver2_PosProtocol_extension = -1;
757 static gint ett_ulp_PosProtocolVersion3GPP = -1;
758 static gint ett_ulp_PosProtocolVersion3GPP2 = -1;
759 static gint ett_ulp_Supported3GPP2PosProtocolVersion = -1;
760 static gint ett_ulp_Ver2_PosTechnology_extension = -1;
761 static gint ett_ulp_GANSSPositionMethods = -1;
762 static gint ett_ulp_GANSSPositionMethod = -1;
763 static gint ett_ulp_GANSSPositioningMethodTypes = -1;
764 static gint ett_ulp_Ver2_RequestedAssistData_extension = -1;
765 static gint ett_ulp_GanssRequestedCommonAssistanceDataList = -1;
766 static gint ett_ulp_GanssRequestedGenericAssistanceDataList = -1;
767 static gint ett_ulp_GanssReqGenericData = -1;
768 static gint ett_ulp_GanssNavigationModelData = -1;
769 static gint ett_ulp_SatellitesListRelatedDataList = -1;
770 static gint ett_ulp_SatellitesListRelatedData = -1;
771 static gint ett_ulp_GanssDataBits = -1;
772 static gint ett_ulp_ReqDataBitAssistanceList = -1;
773 static gint ett_ulp_T_ganssDataBitSatList = -1;
774 static gint ett_ulp_GanssAdditionalDataChoices = -1;
775 static gint ett_ulp_ExtendedEphemeris = -1;
776 static gint ett_ulp_ExtendedEphCheck = -1;
777 static gint ett_ulp_GanssExtendedEphCheck = -1;
778 static gint ett_ulp_GPSTime = -1;
779 static gint ett_ulp_GANSSextEphTime = -1;
780 static gint ett_ulp_Ver2_PosPayLoad_extension = -1;
781 static gint ett_ulp_T_lPPPayload = -1;
782 static gint ett_ulp_T_tIA801Payload = -1;
783 static gint ett_ulp_Version = -1;
784 static gint ett_ulp_SessionID = -1;
785 static gint ett_ulp_SetSessionID = -1;
786 static gint ett_ulp_SETId = -1;
787 static gint ett_ulp_SlpSessionID = -1;
788 static gint ett_ulp_IPAddress = -1;
789 static gint ett_ulp_SLPAddress = -1;
790 static gint ett_ulp_LocationId = -1;
791 static gint ett_ulp_CellInfo = -1;
792 static gint ett_ulp_Position = -1;
793 static gint ett_ulp_PositionEstimate = -1;
794 static gint ett_ulp_T_uncertainty = -1;
795 static gint ett_ulp_AltitudeInfo = -1;
796 static gint ett_ulp_CdmaCellInformation = -1;
797 static gint ett_ulp_GsmCellInformation = -1;
798 static gint ett_ulp_WcdmaCellInformation = -1;
799 static gint ett_ulp_TimingAdvance = -1;
800 static gint ett_ulp_FrequencyInfo = -1;
801 static gint ett_ulp_FrequencySpecificInfo = -1;
802 static gint ett_ulp_FrequencyInfoFDD = -1;
803 static gint ett_ulp_FrequencyInfoTDD = -1;
804 static gint ett_ulp_NMR = -1;
805 static gint ett_ulp_NMRelement = -1;
806 static gint ett_ulp_MeasuredResultsList = -1;
807 static gint ett_ulp_MeasuredResults = -1;
808 static gint ett_ulp_CellMeasuredResultsList = -1;
809 static gint ett_ulp_CellMeasuredResults = -1;
810 static gint ett_ulp_T_modeSpecificInfo = -1;
811 static gint ett_ulp_T_fdd = -1;
812 static gint ett_ulp_T_tdd = -1;
813 static gint ett_ulp_TimeslotISCP_List = -1;
814 static gint ett_ulp_PrimaryCPICH_Info = -1;
815 static gint ett_ulp_QoP = -1;
816 static gint ett_ulp_Velocity = -1;
817 static gint ett_ulp_Horvel = -1;
818 static gint ett_ulp_Horandvervel = -1;
819 static gint ett_ulp_Horveluncert = -1;
820 static gint ett_ulp_Horandveruncert = -1;
821 static gint ett_ulp_MultipleLocationIds = -1;
822 static gint ett_ulp_LocationIdData = -1;
823 static gint ett_ulp_SupportedNetworkInformation = -1;
824 static gint ett_ulp_SupportedWLANInfo = -1;
825 static gint ett_ulp_SupportedWLANApsList = -1;
826 static gint ett_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData = -1;
827 static gint ett_ulp_SupportedWLANApsChannel11a = -1;
828 static gint ett_ulp_SupportedWLANApsChannel11bg = -1;
829 static gint ett_ulp_SupportedWLANApData = -1;
830 static gint ett_ulp_SupportedWCDMAInfo = -1;
831 static gint ett_ulp_Ver2_CellInfo_extension = -1;
832 static gint ett_ulp_HrpdCellInformation = -1;
833 static gint ett_ulp_UmbCellInformation = -1;
834 static gint ett_ulp_LteCellInformation = -1;
835 static gint ett_ulp_MeasResultListEUTRA = -1;
836 static gint ett_ulp_MeasResultEUTRA = -1;
837 static gint ett_ulp_T_cgi_Info = -1;
838 static gint ett_ulp_T_measResult = -1;
839 static gint ett_ulp_CellGlobalIdEUTRA = -1;
840 static gint ett_ulp_PLMN_Identity = -1;
841 static gint ett_ulp_MCC = -1;
842 static gint ett_ulp_MNC = -1;
843 static gint ett_ulp_WlanAPInformation = -1;
844 static gint ett_ulp_RTD = -1;
845 static gint ett_ulp_ReportedLocation = -1;
846 static gint ett_ulp_LocationData = -1;
847 static gint ett_ulp_WimaxBSInformation = -1;
848 static gint ett_ulp_WimaxBsID = -1;
849 static gint ett_ulp_WimaxRTD = -1;
850 static gint ett_ulp_WimaxNMRList = -1;
851 static gint ett_ulp_WimaxNMR = -1;
852 static gint ett_ulp_UTRAN_GPSReferenceTimeAssistance = -1;
853 static gint ett_ulp_UTRAN_GPSReferenceTime = -1;
854 static gint ett_ulp_T_utran_GPSTimingOfCell = -1;
855 static gint ett_ulp_T_modeSpecificInfo_01 = -1;
856 static gint ett_ulp_T_fdd_01 = -1;
857 static gint ett_ulp_T_tdd_01 = -1;
858 static gint ett_ulp_UTRAN_GPSReferenceTimeResult = -1;
859 static gint ett_ulp_T_set_GPSTimingOfCell = -1;
860 static gint ett_ulp_T_modeSpecificInfo_02 = -1;
861 static gint ett_ulp_T_fdd_02 = -1;
862 static gint ett_ulp_T_tdd_02 = -1;
863 static gint ett_ulp_UTRAN_GANSSReferenceTimeAssistance = -1;
864 static gint ett_ulp_UTRAN_GANSSReferenceTime = -1;
865 static gint ett_ulp_T_modeSpecificInfo_03 = -1;
866 static gint ett_ulp_T_fdd_03 = -1;
867 static gint ett_ulp_T_tdd_03 = -1;
868 static gint ett_ulp_UTRAN_GANSSReferenceTimeResult = -1;
869 static gint ett_ulp_SET_GANSSReferenceTime = -1;
870 static gint ett_ulp_T_set_GANSSTimingOfCell = -1;
871 static gint ett_ulp_T_modeSpecificInfo_04 = -1;
872 static gint ett_ulp_T_fdd_04 = -1;
873 static gint ett_ulp_T_tdd_04 = -1;
874 static gint ett_ulp_GNSSPosTechnology = -1;
875 static gint ett_ulp_GANSSSignals = -1;
876 static gint ett_ulp_SPCTID = -1;
877 static gint ett_ulp_ThirdParty = -1;
878 static gint ett_ulp_ThirdPartyID = -1;
879 static gint ett_ulp_ApplicationID = -1;
880 static gint ett_ulp_ReportingCap = -1;
881 static gint ett_ulp_RepMode_cap = -1;
882 static gint ett_ulp_BatchRepCap = -1;
883 static gint ett_ulp_Coordinate = -1;
884 static gint ett_ulp_CircularArea = -1;
885 static gint ett_ulp_EllipticalArea = -1;
886 static gint ett_ulp_PolygonArea = -1;
887 static gint ett_ulp_PolygonDescription = -1;
889 /*--- End of included file: packet-ulp-ett.c ---*/
890 #line 68 "../../asn1/ulp/packet-ulp-template.c"
892 /* Include constants */
894 /*--- Included file: packet-ulp-val.h ---*/
895 #line 1 "../../asn1/ulp/packet-ulp-val.h"
896 #define maxReqLength 50
897 #define maxClientLength 50
898 #define maxNumGeoArea 32
899 #define maxAreaId 256
900 #define maxAreaIdList 32
901 #define maxnumSessions 64
902 #define maxGANSS 16
903 #define maxGANSSSat 32
904 #define maxCellMeas 32
905 #define maxFreq 8
906 #define maxTS 14
907 #define maxLidSize 64
908 #define maxWLANApDataSize 128
909 #define maxCellReport 8
910 #define maxWimaxBSMeas 32
912 /*--- End of included file: packet-ulp-val.h ---*/
913 #line 71 "../../asn1/ulp/packet-ulp-template.c"
917 /*--- Included file: packet-ulp-fn.c ---*/
918 #line 1 "../../asn1/ulp/packet-ulp-fn.c"
921 static int
922 dissect_ulp_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
923 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
924 0U, 65535U, NULL, FALSE);
926 return offset;
931 static int
932 dissect_ulp_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
933 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
934 0U, 255U, NULL, FALSE);
936 return offset;
940 static const per_sequence_t Version_sequence[] = {
941 { &hf_ulp_maj , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
942 { &hf_ulp_min , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
943 { &hf_ulp_servind , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
944 { NULL, 0, 0, NULL }
947 static int
948 dissect_ulp_Version(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
949 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
950 ett_ulp_Version, Version_sequence);
952 return offset;
957 static int
958 dissect_ulp_OCTET_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
959 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
960 8, 8, FALSE, NULL);
962 return offset;
967 static int
968 dissect_ulp_BIT_STRING_SIZE_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
969 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
970 34, 34, FALSE, NULL);
972 return offset;
977 static int
978 dissect_ulp_IA5String_SIZE_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
979 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
980 1, 1000, FALSE);
982 return offset;
987 static int
988 dissect_ulp_OCTET_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
989 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
990 4, 4, FALSE, NULL);
992 return offset;
997 static int
998 dissect_ulp_OCTET_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
999 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1000 16, 16, FALSE, NULL);
1002 return offset;
1006 static const value_string ulp_IPAddress_vals[] = {
1007 { 0, "ipv4Address" },
1008 { 1, "ipv6Address" },
1009 { 0, NULL }
1012 static const per_choice_t IPAddress_choice[] = {
1013 { 0, &hf_ulp_ipv4Address , ASN1_NO_EXTENSIONS , dissect_ulp_OCTET_STRING_SIZE_4 },
1014 { 1, &hf_ulp_ipv6Address , ASN1_NO_EXTENSIONS , dissect_ulp_OCTET_STRING_SIZE_16 },
1015 { 0, NULL, 0, NULL }
1018 static int
1019 dissect_ulp_IPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1020 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1021 ett_ulp_IPAddress, IPAddress_choice,
1022 NULL);
1024 return offset;
1028 static const value_string ulp_SETId_vals[] = {
1029 { 0, "msisdn" },
1030 { 1, "mdn" },
1031 { 2, "min" },
1032 { 3, "imsi" },
1033 { 4, "nai" },
1034 { 5, "iPAddress" },
1035 { 0, NULL }
1038 static const per_choice_t SETId_choice[] = {
1039 { 0, &hf_ulp_msisdn , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_8 },
1040 { 1, &hf_ulp_mdn , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_8 },
1041 { 2, &hf_ulp_minsi , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_34 },
1042 { 3, &hf_ulp_imsi , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_8 },
1043 { 4, &hf_ulp_nai , ASN1_EXTENSION_ROOT , dissect_ulp_IA5String_SIZE_1_1000 },
1044 { 5, &hf_ulp_iPAddress , ASN1_EXTENSION_ROOT , dissect_ulp_IPAddress },
1045 { 0, NULL, 0, NULL }
1048 static int
1049 dissect_ulp_SETId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1050 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1051 ett_ulp_SETId, SETId_choice,
1052 NULL);
1054 return offset;
1058 static const per_sequence_t SetSessionID_sequence[] = {
1059 { &hf_ulp_sessionId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
1060 { &hf_ulp_setId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SETId },
1061 { NULL, 0, 0, NULL }
1064 static int
1065 dissect_ulp_SetSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1066 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1067 ett_ulp_SetSessionID, SetSessionID_sequence);
1069 return offset;
1074 static int
1075 dissect_ulp_FQDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1076 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1077 1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-", 64,
1078 NULL);
1080 return offset;
1084 static const value_string ulp_SLPAddress_vals[] = {
1085 { 0, "iPAddress" },
1086 { 1, "fQDN" },
1087 { 0, NULL }
1090 static const per_choice_t SLPAddress_choice[] = {
1091 { 0, &hf_ulp_iPAddress , ASN1_EXTENSION_ROOT , dissect_ulp_IPAddress },
1092 { 1, &hf_ulp_fQDN , ASN1_EXTENSION_ROOT , dissect_ulp_FQDN },
1093 { 0, NULL, 0, NULL }
1096 static int
1097 dissect_ulp_SLPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1098 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1099 ett_ulp_SLPAddress, SLPAddress_choice,
1100 NULL);
1102 return offset;
1106 static const per_sequence_t SlpSessionID_sequence[] = {
1107 { &hf_ulp_sessionSlpID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_4 },
1108 { &hf_ulp_slpId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SLPAddress },
1109 { NULL, 0, 0, NULL }
1112 static int
1113 dissect_ulp_SlpSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1114 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1115 ett_ulp_SlpSessionID, SlpSessionID_sequence);
1117 return offset;
1121 static const per_sequence_t SessionID_sequence[] = {
1122 { &hf_ulp_setSessionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_SetSessionID },
1123 { &hf_ulp_slpSessionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_SlpSessionID },
1124 { NULL, 0, 0, NULL }
1127 static int
1128 dissect_ulp_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1129 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1130 ett_ulp_SessionID, SessionID_sequence);
1132 return offset;
1136 static const value_string ulp_PosMethod_vals[] = {
1137 { 0, "agpsSETassisted" },
1138 { 1, "agpsSETbased" },
1139 { 2, "agpsSETassistedpref" },
1140 { 3, "agpsSETbasedpref" },
1141 { 4, "autonomousGPS" },
1142 { 5, "aFLT" },
1143 { 6, "eCID" },
1144 { 7, "eOTD" },
1145 { 8, "oTDOA" },
1146 { 9, "noPosition" },
1147 { 10, "ver2-historicalDataRetrieval" },
1148 { 11, "ver2-agnssSETassisted" },
1149 { 12, "ver2-agnssSETbased" },
1150 { 13, "ver2-agnssSETassistedpref" },
1151 { 14, "ver2-agnssSETbasedpref" },
1152 { 15, "ver2-autonomousGNSS" },
1153 { 16, "ver2-sessioninfoquery" },
1154 { 0, NULL }
1158 static int
1159 dissect_ulp_PosMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1160 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1161 10, NULL, TRUE, 7, NULL);
1163 return offset;
1167 static const value_string ulp_NotificationType_vals[] = {
1168 { 0, "noNotificationNoVerification" },
1169 { 1, "notificationOnly" },
1170 { 2, "notificationAndVerficationAllowedNA" },
1171 { 3, "notificationAndVerficationDeniedNA" },
1172 { 4, "privacyOverride" },
1173 { 0, NULL }
1177 static int
1178 dissect_ulp_NotificationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1179 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1180 5, NULL, TRUE, 0, NULL);
1182 return offset;
1186 static const value_string ulp_EncodingType_vals[] = {
1187 { 0, "ucs2" },
1188 { 1, "gsmDefault" },
1189 { 2, "utf8" },
1190 { 0, NULL }
1194 static int
1195 dissect_ulp_EncodingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1196 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1197 3, NULL, TRUE, 0, NULL);
1199 return offset;
1204 static int
1205 dissect_ulp_OCTET_STRING_SIZE_1_maxReqLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1206 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1207 1, maxReqLength, FALSE, NULL);
1209 return offset;
1213 static const value_string ulp_FormatIndicator_vals[] = {
1214 { 0, "logicalName" },
1215 { 1, "e-mailAddress" },
1216 { 2, "msisdn" },
1217 { 3, "url" },
1218 { 4, "sipUrl" },
1219 { 5, "min" },
1220 { 6, "mdn" },
1221 { 7, "iMSPublicidentity" },
1222 { 0, NULL }
1226 static int
1227 dissect_ulp_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1228 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1229 8, NULL, TRUE, 0, NULL);
1231 return offset;
1236 static int
1237 dissect_ulp_OCTET_STRING_SIZE_1_maxClientLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1238 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1239 1, maxClientLength, FALSE, NULL);
1241 return offset;
1246 static int
1247 dissect_ulp_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1248 offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1250 return offset;
1254 static const per_sequence_t Ver2_Notification_extension_sequence[] = {
1255 { &hf_ulp_emergencyCallLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NULL },
1256 { NULL, 0, 0, NULL }
1259 static int
1260 dissect_ulp_Ver2_Notification_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1261 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1262 ett_ulp_Ver2_Notification_extension, Ver2_Notification_extension_sequence);
1264 return offset;
1268 static const per_sequence_t Notification_sequence[] = {
1269 { &hf_ulp_notificationType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_NotificationType },
1270 { &hf_ulp_encodingType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_EncodingType },
1271 { &hf_ulp_requestorId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_OCTET_STRING_SIZE_1_maxReqLength },
1272 { &hf_ulp_requestorIdType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_FormatIndicator },
1273 { &hf_ulp_clientName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_OCTET_STRING_SIZE_1_maxClientLength },
1274 { &hf_ulp_clientNameType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_FormatIndicator },
1275 { &hf_ulp_ver2_Notification_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_Notification_extension },
1276 { NULL, 0, 0, NULL }
1279 static int
1280 dissect_ulp_Notification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1281 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1282 ett_ulp_Notification, Notification_sequence);
1284 return offset;
1289 static int
1290 dissect_ulp_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1291 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1292 0U, 127U, NULL, FALSE);
1294 return offset;
1299 static int
1300 dissect_ulp_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1301 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1302 0U, 7U, NULL, FALSE);
1304 return offset;
1308 static const per_sequence_t QoP_sequence[] = {
1309 { &hf_ulp_horacc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
1310 { &hf_ulp_veracc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
1311 { &hf_ulp_maxLocAge , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
1312 { &hf_ulp_delay , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
1313 { NULL, 0, 0, NULL }
1316 static int
1317 dissect_ulp_QoP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1318 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1319 ett_ulp_QoP, QoP_sequence);
1321 return offset;
1325 static const value_string ulp_SLPMode_vals[] = {
1326 { 0, "proxy" },
1327 { 1, "nonProxy" },
1328 { 0, NULL }
1332 static int
1333 dissect_ulp_SLPMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1334 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1335 2, NULL, FALSE, 0, NULL);
1337 return offset;
1342 static int
1343 dissect_ulp_MAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1344 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1345 64, 64, FALSE, NULL);
1347 return offset;
1352 static int
1353 dissect_ulp_KeyIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1354 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1355 128, 128, FALSE, NULL);
1357 return offset;
1361 static const value_string ulp_NotificationMode_vals[] = {
1362 { 0, "normal" },
1363 { 1, "basedOnLocation" },
1364 { 0, NULL }
1368 static int
1369 dissect_ulp_NotificationMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1370 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1371 2, NULL, TRUE, 0, NULL);
1373 return offset;
1378 static int
1379 dissect_ulp_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1380 offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
1382 return offset;
1386 static const per_sequence_t SupportedWLANInfo_sequence[] = {
1387 { &hf_ulp_apTP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1388 { &hf_ulp_apAG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1389 { &hf_ulp_apSN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1390 { &hf_ulp_apDevType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1391 { &hf_ulp_apRSSI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1392 { &hf_ulp_apChanFreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1393 { &hf_ulp_apRTD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1394 { &hf_ulp_setTP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1395 { &hf_ulp_setAG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1396 { &hf_ulp_setSN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1397 { &hf_ulp_setRSSI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1398 { &hf_ulp_apRepLoc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1399 { NULL, 0, 0, NULL }
1402 static int
1403 dissect_ulp_SupportedWLANInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1404 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1405 ett_ulp_SupportedWLANInfo, SupportedWLANInfo_sequence);
1407 return offset;
1412 static int
1413 dissect_ulp_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1414 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1415 48, 48, FALSE, NULL);
1417 return offset;
1421 static const value_string ulp_T_apDevType_vals[] = {
1422 { 0, "wlan802-11a" },
1423 { 1, "wlan802-11b" },
1424 { 2, "wlan802-11g" },
1425 { 0, NULL }
1429 static int
1430 dissect_ulp_T_apDevType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1431 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1432 3, NULL, TRUE, 0, NULL);
1434 return offset;
1438 static const per_sequence_t SupportedWLANApData_sequence[] = {
1439 { &hf_ulp_apMACAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_48 },
1440 { &hf_ulp_apDevType_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_apDevType },
1441 { NULL, 0, 0, NULL }
1444 static int
1445 dissect_ulp_SupportedWLANApData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1446 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1447 ett_ulp_SupportedWLANApData, SupportedWLANApData_sequence);
1449 return offset;
1453 static const per_sequence_t SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData_sequence_of[1] = {
1454 { &hf_ulp_supportedWLANApDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SupportedWLANApData },
1457 static int
1458 dissect_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1459 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1460 ett_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData, SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData_sequence_of,
1461 1, maxWLANApDataSize, FALSE);
1463 return offset;
1467 static const per_sequence_t SupportedWLANApsChannel11a_sequence[] = {
1468 { &hf_ulp_ch34 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1469 { &hf_ulp_ch36 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1470 { &hf_ulp_ch38 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1471 { &hf_ulp_ch40 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1472 { &hf_ulp_ch42 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1473 { &hf_ulp_ch44 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1474 { &hf_ulp_ch46 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1475 { &hf_ulp_ch48 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1476 { &hf_ulp_ch52 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1477 { &hf_ulp_ch56 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1478 { &hf_ulp_ch60 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1479 { &hf_ulp_ch64 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1480 { &hf_ulp_ch149 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1481 { &hf_ulp_ch153 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1482 { &hf_ulp_ch157 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1483 { &hf_ulp_ch161 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1484 { NULL, 0, 0, NULL }
1487 static int
1488 dissect_ulp_SupportedWLANApsChannel11a(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1489 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1490 ett_ulp_SupportedWLANApsChannel11a, SupportedWLANApsChannel11a_sequence);
1492 return offset;
1496 static const per_sequence_t SupportedWLANApsChannel11bg_sequence[] = {
1497 { &hf_ulp_ch1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1498 { &hf_ulp_ch2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1499 { &hf_ulp_ch3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1500 { &hf_ulp_ch4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1501 { &hf_ulp_ch5 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1502 { &hf_ulp_ch6 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1503 { &hf_ulp_ch7 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1504 { &hf_ulp_ch8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1505 { &hf_ulp_ch9 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1506 { &hf_ulp_ch10 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1507 { &hf_ulp_ch11 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1508 { &hf_ulp_ch12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1509 { &hf_ulp_ch13 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1510 { &hf_ulp_ch14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1511 { NULL, 0, 0, NULL }
1514 static int
1515 dissect_ulp_SupportedWLANApsChannel11bg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1516 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1517 ett_ulp_SupportedWLANApsChannel11bg, SupportedWLANApsChannel11bg_sequence);
1519 return offset;
1523 static const per_sequence_t SupportedWLANApsList_sequence[] = {
1524 { &hf_ulp_supportedWLANApDataList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData },
1525 { &hf_ulp_supportedWLANapsChannel11a, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANApsChannel11a },
1526 { &hf_ulp_supportedWLANapsChannel11bg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANApsChannel11bg },
1527 { NULL, 0, 0, NULL }
1530 static int
1531 dissect_ulp_SupportedWLANApsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1532 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1533 ett_ulp_SupportedWLANApsList, SupportedWLANApsList_sequence);
1535 return offset;
1539 static const per_sequence_t SupportedWCDMAInfo_sequence[] = {
1540 { &hf_ulp_mRL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1541 { NULL, 0, 0, NULL }
1544 static int
1545 dissect_ulp_SupportedWCDMAInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1546 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1547 ett_ulp_SupportedWCDMAInfo, SupportedWCDMAInfo_sequence);
1549 return offset;
1553 static const per_sequence_t SupportedNetworkInformation_sequence[] = {
1554 { &hf_ulp_wLAN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1555 { &hf_ulp_supportedWLANInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANInfo },
1556 { &hf_ulp_supportedWLANApsList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANApsList },
1557 { &hf_ulp_gSM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1558 { &hf_ulp_wCDMA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1559 { &hf_ulp_supportedWCDMAInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWCDMAInfo },
1560 { &hf_ulp_cDMA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1561 { &hf_ulp_hRDP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1562 { &hf_ulp_uMB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1563 { &hf_ulp_lTE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1564 { &hf_ulp_wIMAX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1565 { &hf_ulp_historic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1566 { &hf_ulp_nonServing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1567 { &hf_ulp_uTRANGPSReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1568 { &hf_ulp_uTRANGANSSReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1569 { NULL, 0, 0, NULL }
1572 static int
1573 dissect_ulp_SupportedNetworkInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1574 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1575 ett_ulp_SupportedNetworkInformation, SupportedNetworkInformation_sequence);
1577 return offset;
1581 static const value_string ulp_TriggerType_vals[] = {
1582 { 0, "periodic" },
1583 { 1, "areaEvent" },
1584 { 0, NULL }
1588 static int
1589 dissect_ulp_TriggerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1590 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1591 2, NULL, TRUE, 0, NULL);
1593 return offset;
1597 static const value_string ulp_AllowedReportingType_vals[] = {
1598 { 0, "positionsOnly" },
1599 { 1, "measurementsOnly" },
1600 { 2, "positionsAndMeasurements" },
1601 { 0, NULL }
1605 static int
1606 dissect_ulp_AllowedReportingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1607 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1608 3, NULL, TRUE, 0, NULL);
1610 return offset;
1615 static int
1616 dissect_ulp_INTEGER_M525600_M1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1617 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1618 -525600, -1, NULL, FALSE);
1620 return offset;
1625 static int
1626 dissect_ulp_INTEGER_M525599_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1627 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1628 -525599, 0U, NULL, FALSE);
1630 return offset;
1634 static const per_sequence_t TimeWindow_sequence[] = {
1635 { &hf_ulp_startTime_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_M525600_M1 },
1636 { &hf_ulp_stopTime_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_M525599_0 },
1637 { NULL, 0, 0, NULL }
1640 static int
1641 dissect_ulp_TimeWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1642 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1643 ett_ulp_TimeWindow, TimeWindow_sequence);
1645 return offset;
1650 static int
1651 dissect_ulp_INTEGER_1_65536(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1652 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1653 1U, 65536U, NULL, FALSE);
1655 return offset;
1660 static int
1661 dissect_ulp_INTEGER_1_86400(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1662 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1663 1U, 86400U, NULL, FALSE);
1665 return offset;
1669 static const per_sequence_t ReportingCriteria_sequence[] = {
1670 { &hf_ulp_timeWindow , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TimeWindow },
1671 { &hf_ulp_maxNumberofReports, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_65536 },
1672 { &hf_ulp_minTimeInterval , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_86400 },
1673 { NULL, 0, 0, NULL }
1676 static int
1677 dissect_ulp_ReportingCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1678 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1679 ett_ulp_ReportingCriteria, ReportingCriteria_sequence);
1681 return offset;
1685 static const per_sequence_t HistoricReporting_sequence[] = {
1686 { &hf_ulp_allowedReportingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_AllowedReportingType },
1687 { &hf_ulp_reportingCriteria, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingCriteria },
1688 { NULL, 0, 0, NULL }
1691 static int
1692 dissect_ulp_HistoricReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1693 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1694 ett_ulp_HistoricReporting, HistoricReporting_sequence);
1696 return offset;
1700 static const value_string ulp_ProtLevel_vals[] = {
1701 { 0, "nullProtection" },
1702 { 1, "basicProtection" },
1703 { 0, NULL }
1707 static int
1708 dissect_ulp_ProtLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1709 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1710 2, NULL, TRUE, 0, NULL);
1712 return offset;
1717 static int
1718 dissect_ulp_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1719 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1720 32, 32, FALSE, NULL);
1722 return offset;
1726 static const per_sequence_t BasicProtectionParams_sequence[] = {
1727 { &hf_ulp_keyIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_8 },
1728 { &hf_ulp_basicReplayCounter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
1729 { &hf_ulp_basicMAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_32 },
1730 { NULL, 0, 0, NULL }
1733 static int
1734 dissect_ulp_BasicProtectionParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1735 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1736 ett_ulp_BasicProtectionParams, BasicProtectionParams_sequence);
1738 return offset;
1742 static const per_sequence_t ProtectionLevel_sequence[] = {
1743 { &hf_ulp_protlevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_ProtLevel },
1744 { &hf_ulp_basicProtectionParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BasicProtectionParams },
1745 { NULL, 0, 0, NULL }
1748 static int
1749 dissect_ulp_ProtectionLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1750 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1751 ett_ulp_ProtectionLevel, ProtectionLevel_sequence);
1753 return offset;
1757 static const per_sequence_t GNSSPosTechnology_sequence[] = {
1758 { &hf_ulp_gps , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1759 { &hf_ulp_galileo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1760 { &hf_ulp_sbas , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1761 { &hf_ulp_modernized_gps , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1762 { &hf_ulp_qzss , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1763 { &hf_ulp_glonass , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1764 { NULL, 0, 0, NULL }
1767 static int
1768 dissect_ulp_GNSSPosTechnology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1769 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1770 ett_ulp_GNSSPosTechnology, GNSSPosTechnology_sequence);
1772 return offset;
1776 static const per_sequence_t Ver2_SUPL_INIT_extension_sequence[] = {
1777 { &hf_ulp_notificationMode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NotificationMode },
1778 { &hf_ulp_supportedNetworkInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedNetworkInformation },
1779 { &hf_ulp_triggerType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerType },
1780 { &hf_ulp_e_SLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
1781 { &hf_ulp_historicReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_HistoricReporting },
1782 { &hf_ulp_protectionLevel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ProtectionLevel },
1783 { &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
1784 { &hf_ulp_minimumMajorVersion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
1785 { NULL, 0, 0, NULL }
1788 static int
1789 dissect_ulp_Ver2_SUPL_INIT_extension(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_ulp_Ver2_SUPL_INIT_extension, Ver2_SUPL_INIT_extension_sequence);
1793 return offset;
1797 static const per_sequence_t SUPLINIT_sequence[] = {
1798 { &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosMethod },
1799 { &hf_ulp_notification , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Notification },
1800 { &hf_ulp_sLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
1801 { &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
1802 { &hf_ulp_sLPMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SLPMode },
1803 { &hf_ulp_mAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MAC },
1804 { &hf_ulp_keyIdentity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_KeyIdentity },
1805 { &hf_ulp_ver2_SUPL_INIT_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_INIT_extension },
1806 { NULL, 0, 0, NULL }
1809 static int
1810 dissect_ulp_SUPLINIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1811 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1812 ett_ulp_SUPLINIT, SUPLINIT_sequence);
1814 return offset;
1819 static int
1820 dissect_ulp_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1821 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1822 0U, 15U, NULL, FALSE);
1824 return offset;
1829 static int
1830 dissect_ulp_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1831 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1832 3, 3, FALSE, NULL);
1834 return offset;
1838 static const per_sequence_t GANSSPositioningMethodTypes_sequence[] = {
1839 { &hf_ulp_setAssisted , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1840 { &hf_ulp_setBased , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1841 { &hf_ulp_autonomous , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1842 { NULL, 0, 0, NULL }
1845 static int
1846 dissect_ulp_GANSSPositioningMethodTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1847 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1848 ett_ulp_GANSSPositioningMethodTypes, GANSSPositioningMethodTypes_sequence);
1850 return offset;
1855 static int
1856 dissect_ulp_GANSSSignals(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1857 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1858 1, 8, FALSE, NULL);
1860 return offset;
1864 static const per_sequence_t GANSSPositionMethod_sequence[] = {
1865 { &hf_ulp_ganssId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
1866 { &hf_ulp_ganssSBASid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_3 },
1867 { &hf_ulp_gANSSPositioningMethodTypes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSPositioningMethodTypes },
1868 { &hf_ulp_gANSSSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignals },
1869 { NULL, 0, 0, NULL }
1872 static int
1873 dissect_ulp_GANSSPositionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1874 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1875 ett_ulp_GANSSPositionMethod, GANSSPositionMethod_sequence);
1877 return offset;
1881 static const per_sequence_t GANSSPositionMethods_sequence_of[1] = {
1882 { &hf_ulp_GANSSPositionMethods_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSPositionMethod },
1885 static int
1886 dissect_ulp_GANSSPositionMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1887 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1888 ett_ulp_GANSSPositionMethods, GANSSPositionMethods_sequence_of,
1889 1, 16, FALSE);
1891 return offset;
1895 static const per_sequence_t Ver2_PosTechnology_extension_sequence[] = {
1896 { &hf_ulp_gANSSPositionMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GANSSPositionMethods },
1897 { NULL, 0, 0, NULL }
1900 static int
1901 dissect_ulp_Ver2_PosTechnology_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1902 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1903 ett_ulp_Ver2_PosTechnology_extension, Ver2_PosTechnology_extension_sequence);
1905 return offset;
1909 static const per_sequence_t PosTechnology_sequence[] = {
1910 { &hf_ulp_agpsSETassisted , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1911 { &hf_ulp_agpsSETBased , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1912 { &hf_ulp_autonomousGPS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1913 { &hf_ulp_aFLT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1914 { &hf_ulp_eCID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1915 { &hf_ulp_eOTD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1916 { &hf_ulp_oTDOA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
1917 { &hf_ulp_ver2_PosTechnology_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_PosTechnology_extension },
1918 { NULL, 0, 0, NULL }
1921 static int
1922 dissect_ulp_PosTechnology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1923 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1924 ett_ulp_PosTechnology, PosTechnology_sequence);
1926 return offset;
1930 static const value_string ulp_PrefMethod_vals[] = {
1931 { 0, "agpsSETassistedPreferred" },
1932 { 1, "agpsSETBasedPreferred" },
1933 { 2, "noPreference" },
1934 { 0, NULL }
1938 static int
1939 dissect_ulp_PrefMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1940 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1941 3, NULL, FALSE, 0, NULL);
1943 return offset;
1947 static const per_sequence_t PosProtocolVersion3GPP_sequence[] = {
1948 { &hf_ulp_majorVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
1949 { &hf_ulp_technicalVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
1950 { &hf_ulp_editorialVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
1951 { NULL, 0, 0, NULL }
1954 static int
1955 dissect_ulp_PosProtocolVersion3GPP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1956 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1957 ett_ulp_PosProtocolVersion3GPP, PosProtocolVersion3GPP_sequence);
1959 return offset;
1964 static int
1965 dissect_ulp_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1966 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1967 6, 6, FALSE, NULL);
1969 return offset;
1973 static const per_sequence_t Supported3GPP2PosProtocolVersion_sequence[] = {
1974 { &hf_ulp_revisionNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_6 },
1975 { &hf_ulp_pointReleaseNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
1976 { &hf_ulp_internalEditLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
1977 { NULL, 0, 0, NULL }
1980 static int
1981 dissect_ulp_Supported3GPP2PosProtocolVersion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1982 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1983 ett_ulp_Supported3GPP2PosProtocolVersion, Supported3GPP2PosProtocolVersion_sequence);
1985 return offset;
1989 static const per_sequence_t PosProtocolVersion3GPP2_sequence_of[1] = {
1990 { &hf_ulp_PosProtocolVersion3GPP2_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Supported3GPP2PosProtocolVersion },
1993 static int
1994 dissect_ulp_PosProtocolVersion3GPP2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1995 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1996 ett_ulp_PosProtocolVersion3GPP2, PosProtocolVersion3GPP2_sequence_of,
1997 1, 8, FALSE);
1999 return offset;
2003 static const per_sequence_t Ver2_PosProtocol_extension_sequence[] = {
2004 { &hf_ulp_lpp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2005 { &hf_ulp_posProtocolVersionRRLP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP },
2006 { &hf_ulp_posProtocolVersionRRC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP },
2007 { &hf_ulp_posProtocolVersionTIA801, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP2 },
2008 { &hf_ulp_posProtocolVersionLPP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP },
2009 { NULL, 0, 0, NULL }
2012 static int
2013 dissect_ulp_Ver2_PosProtocol_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2014 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2015 ett_ulp_Ver2_PosProtocol_extension, Ver2_PosProtocol_extension_sequence);
2017 return offset;
2021 static const per_sequence_t PosProtocol_sequence[] = {
2022 { &hf_ulp_tia801 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2023 { &hf_ulp_rrlp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2024 { &hf_ulp_rrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2025 { &hf_ulp_ver2_PosProtocol_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_PosProtocol_extension },
2026 { NULL, 0, 0, NULL }
2029 static int
2030 dissect_ulp_PosProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2031 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2032 ett_ulp_PosProtocol, PosProtocol_sequence);
2034 return offset;
2038 static const per_sequence_t ServicesSupported_sequence[] = {
2039 { &hf_ulp_periodicTrigger , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2040 { &hf_ulp_areaEventTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2041 { NULL, 0, 0, NULL }
2044 static int
2045 dissect_ulp_ServicesSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2046 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2047 ett_ulp_ServicesSupported, ServicesSupported_sequence);
2049 return offset;
2054 static int
2055 dissect_ulp_INTEGER_1_3600(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2056 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2057 1U, 3600U, NULL, FALSE);
2059 return offset;
2064 static int
2065 dissect_ulp_INTEGER_1_1440(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2066 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2067 1U, 1440U, NULL, FALSE);
2069 return offset;
2073 static const per_sequence_t RepMode_cap_sequence[] = {
2074 { &hf_ulp_realtime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2075 { &hf_ulp_quasirealtime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2076 { &hf_ulp_batch , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2077 { NULL, 0, 0, NULL }
2080 static int
2081 dissect_ulp_RepMode_cap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2082 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2083 ett_ulp_RepMode_cap, RepMode_cap_sequence);
2085 return offset;
2090 static int
2091 dissect_ulp_INTEGER_1_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2092 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2093 1U, 1024U, NULL, FALSE);
2095 return offset;
2099 static const per_sequence_t BatchRepCap_sequence[] = {
2100 { &hf_ulp_report_position , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2101 { &hf_ulp_report_measurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2102 { &hf_ulp_max_num_positions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1024 },
2103 { &hf_ulp_max_num_measurements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1024 },
2104 { NULL, 0, 0, NULL }
2107 static int
2108 dissect_ulp_BatchRepCap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2109 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2110 ett_ulp_BatchRepCap, BatchRepCap_sequence);
2112 return offset;
2116 static const per_sequence_t ReportingCap_sequence[] = {
2117 { &hf_ulp_minInt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_3600 },
2118 { &hf_ulp_maxInt , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1440 },
2119 { &hf_ulp_repMode_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_RepMode_cap },
2120 { &hf_ulp_batchRepCap , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BatchRepCap },
2121 { NULL, 0, 0, NULL }
2124 static int
2125 dissect_ulp_ReportingCap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2126 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2127 ett_ulp_ReportingCap, ReportingCap_sequence);
2129 return offset;
2133 static const per_sequence_t GeoAreaShapesSupported_sequence[] = {
2134 { &hf_ulp_ellipticalArea_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2135 { &hf_ulp_polygonArea_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2136 { NULL, 0, 0, NULL }
2139 static int
2140 dissect_ulp_GeoAreaShapesSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2141 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2142 ett_ulp_GeoAreaShapesSupported, GeoAreaShapesSupported_sequence);
2144 return offset;
2149 static int
2150 dissect_ulp_INTEGER_0_maxNumGeoArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2151 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2152 0U, maxNumGeoArea, NULL, FALSE);
2154 return offset;
2159 static int
2160 dissect_ulp_INTEGER_0_maxAreaIdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2161 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2162 0U, maxAreaIdList, NULL, FALSE);
2164 return offset;
2169 static int
2170 dissect_ulp_INTEGER_0_maxAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2171 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2172 0U, maxAreaId, NULL, FALSE);
2174 return offset;
2178 static const per_sequence_t EventTriggerCapabilities_sequence[] = {
2179 { &hf_ulp_geoAreaShapesSupported, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GeoAreaShapesSupported },
2180 { &hf_ulp_maxNumGeoAreaSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_maxNumGeoArea },
2181 { &hf_ulp_maxAreaIdListSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_maxAreaIdList },
2182 { &hf_ulp_maxAreaIdSupportedPerList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_maxAreaId },
2183 { NULL, 0, 0, NULL }
2186 static int
2187 dissect_ulp_EventTriggerCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2188 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2189 ett_ulp_EventTriggerCapabilities, EventTriggerCapabilities_sequence);
2191 return offset;
2196 static int
2197 dissect_ulp_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2198 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2199 1U, 128U, NULL, FALSE);
2201 return offset;
2206 static int
2207 dissect_ulp_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2208 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2209 1U, 32U, NULL, FALSE);
2211 return offset;
2215 static const per_sequence_t SessionCapabilities_sequence[] = {
2216 { &hf_ulp_maxNumberTotalSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_128 },
2217 { &hf_ulp_maxNumberPeriodicSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_32 },
2218 { &hf_ulp_maxNumberTriggeredSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_32 },
2219 { NULL, 0, 0, NULL }
2222 static int
2223 dissect_ulp_SessionCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2224 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2225 ett_ulp_SessionCapabilities, SessionCapabilities_sequence);
2227 return offset;
2231 static const per_sequence_t ServiceCapabilities_sequence[] = {
2232 { &hf_ulp_servicesSupported, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_ServicesSupported },
2233 { &hf_ulp_reportingCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingCap },
2234 { &hf_ulp_eventTriggerCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_EventTriggerCapabilities },
2235 { &hf_ulp_sessionCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SessionCapabilities },
2236 { NULL, 0, 0, NULL }
2239 static int
2240 dissect_ulp_ServiceCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2241 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2242 ett_ulp_ServiceCapabilities, ServiceCapabilities_sequence);
2244 return offset;
2248 static const per_sequence_t SupportedBearers_sequence[] = {
2249 { &hf_ulp_gsm , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2250 { &hf_ulp_wcdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2251 { &hf_ulp_lte , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2252 { &hf_ulp_cdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2253 { &hf_ulp_hprd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2254 { &hf_ulp_umb , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2255 { &hf_ulp_wlan , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2256 { &hf_ulp_wiMAX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
2257 { NULL, 0, 0, NULL }
2260 static int
2261 dissect_ulp_SupportedBearers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2262 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2263 ett_ulp_SupportedBearers, SupportedBearers_sequence);
2265 return offset;
2269 static const per_sequence_t Ver2_SETCapabilities_extension_sequence[] = {
2270 { &hf_ulp_serviceCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ServiceCapabilities },
2271 { &hf_ulp_supportedBearers, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_SupportedBearers },
2272 { NULL, 0, 0, NULL }
2275 static int
2276 dissect_ulp_Ver2_SETCapabilities_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2277 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2278 ett_ulp_Ver2_SETCapabilities_extension, Ver2_SETCapabilities_extension_sequence);
2280 return offset;
2284 static const per_sequence_t SETCapabilities_sequence[] = {
2285 { &hf_ulp_posTechnology , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosTechnology },
2286 { &hf_ulp_prefMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PrefMethod },
2287 { &hf_ulp_posProtocol , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosProtocol },
2288 { &hf_ulp_ver2_SETCapabilities_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SETCapabilities_extension },
2289 { NULL, 0, 0, NULL }
2292 static int
2293 dissect_ulp_SETCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2294 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2295 ett_ulp_SETCapabilities, SETCapabilities_sequence);
2297 return offset;
2302 static int
2303 dissect_ulp_INTEGER_0_999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2304 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2305 0U, 999U, NULL, FALSE);
2307 return offset;
2312 static int
2313 dissect_ulp_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2314 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2315 0U, 1023U, NULL, FALSE);
2317 return offset;
2322 static int
2323 dissect_ulp_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2324 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2325 0U, 63U, NULL, FALSE);
2327 return offset;
2331 static const per_sequence_t NMRelement_sequence[] = {
2332 { &hf_ulp_aRFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
2333 { &hf_ulp_bSIC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
2334 { &hf_ulp_rxLev , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
2335 { NULL, 0, 0, NULL }
2338 static int
2339 dissect_ulp_NMRelement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2340 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2341 ett_ulp_NMRelement, NMRelement_sequence);
2343 return offset;
2347 static const per_sequence_t NMR_sequence_of[1] = {
2348 { &hf_ulp_NMR_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_NMRelement },
2351 static int
2352 dissect_ulp_NMR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2353 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2354 ett_ulp_NMR, NMR_sequence_of,
2355 1, 15, FALSE);
2357 return offset;
2361 static const per_sequence_t GsmCellInformation_sequence[] = {
2362 { &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
2363 { &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
2364 { &hf_ulp_refLAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
2365 { &hf_ulp_refCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
2366 { &hf_ulp_nMR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NMR },
2367 { &hf_ulp_tA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
2368 { NULL, 0, 0, NULL }
2371 static int
2372 dissect_ulp_GsmCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2373 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2374 ett_ulp_GsmCellInformation, GsmCellInformation_sequence);
2376 return offset;
2381 static int
2382 dissect_ulp_INTEGER_0_268435455(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2383 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2384 0U, 268435455U, NULL, FALSE);
2386 return offset;
2391 static int
2392 dissect_ulp_UARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2393 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2394 0U, 16383U, NULL, FALSE);
2396 return offset;
2400 static const per_sequence_t FrequencyInfoFDD_sequence[] = {
2401 { &hf_ulp_uarfcn_UL , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UARFCN },
2402 { &hf_ulp_uarfcn_DL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_UARFCN },
2403 { NULL, 0, 0, NULL }
2406 static int
2407 dissect_ulp_FrequencyInfoFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2408 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2409 ett_ulp_FrequencyInfoFDD, FrequencyInfoFDD_sequence);
2411 return offset;
2415 static const per_sequence_t FrequencyInfoTDD_sequence[] = {
2416 { &hf_ulp_uarfcn_Nt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_UARFCN },
2417 { NULL, 0, 0, NULL }
2420 static int
2421 dissect_ulp_FrequencyInfoTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2422 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2423 ett_ulp_FrequencyInfoTDD, FrequencyInfoTDD_sequence);
2425 return offset;
2429 static const value_string ulp_FrequencySpecificInfo_vals[] = {
2430 { 0, "fdd" },
2431 { 1, "tdd" },
2432 { 0, NULL }
2435 static const per_choice_t FrequencySpecificInfo_choice[] = {
2436 { 0, &hf_ulp_fdd_fr , ASN1_EXTENSION_ROOT , dissect_ulp_FrequencyInfoFDD },
2437 { 1, &hf_ulp_tdd_fr , ASN1_EXTENSION_ROOT , dissect_ulp_FrequencyInfoTDD },
2438 { 0, NULL, 0, NULL }
2441 static int
2442 dissect_ulp_FrequencySpecificInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2443 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2444 ett_ulp_FrequencySpecificInfo, FrequencySpecificInfo_choice,
2445 NULL);
2447 return offset;
2451 static const per_sequence_t FrequencyInfo_sequence[] = {
2452 { &hf_ulp_modeSpecificFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_FrequencySpecificInfo },
2453 { NULL, 0, 0, NULL }
2456 static int
2457 dissect_ulp_FrequencyInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2458 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2459 ett_ulp_FrequencyInfo, FrequencyInfo_sequence);
2461 return offset;
2466 static int
2467 dissect_ulp_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2468 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2469 0U, 511U, NULL, FALSE);
2471 return offset;
2476 static int
2477 dissect_ulp_UTRA_CarrierRSSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2478 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2479 0U, 127U, NULL, FALSE);
2481 return offset;
2485 static const per_sequence_t PrimaryCPICH_Info_sequence[] = {
2486 { &hf_ulp_primaryScramblingCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_511 },
2487 { NULL, 0, 0, NULL }
2490 static int
2491 dissect_ulp_PrimaryCPICH_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2492 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2493 ett_ulp_PrimaryCPICH_Info, PrimaryCPICH_Info_sequence);
2495 return offset;
2500 static int
2501 dissect_ulp_CPICH_Ec_N0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2502 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2503 0U, 63U, NULL, FALSE);
2505 return offset;
2510 static int
2511 dissect_ulp_CPICH_RSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2512 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2513 0U, 127U, NULL, FALSE);
2515 return offset;
2520 static int
2521 dissect_ulp_Pathloss(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2522 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2523 46U, 173U, NULL, FALSE);
2525 return offset;
2529 static const per_sequence_t T_fdd_sequence[] = {
2530 { &hf_ulp_primaryCPICH_Info, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
2531 { &hf_ulp_cpich_Ec_N0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_CPICH_Ec_N0 },
2532 { &hf_ulp_cpich_RSCP , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_CPICH_RSCP },
2533 { &hf_ulp_pathloss , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_Pathloss },
2534 { NULL, 0, 0, NULL }
2537 static int
2538 dissect_ulp_T_fdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2539 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2540 ett_ulp_T_fdd, T_fdd_sequence);
2542 return offset;
2547 static int
2548 dissect_ulp_CellParametersID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2549 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2550 0U, 127U, NULL, FALSE);
2552 return offset;
2557 static int
2558 dissect_ulp_TGSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2559 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2560 0U, 14U, NULL, FALSE);
2562 return offset;
2567 static int
2568 dissect_ulp_PrimaryCCPCH_RSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2569 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2570 0U, 127U, NULL, FALSE);
2572 return offset;
2577 static int
2578 dissect_ulp_TimeslotISCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2579 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2580 0U, 127U, NULL, FALSE);
2582 return offset;
2586 static const per_sequence_t TimeslotISCP_List_sequence_of[1] = {
2587 { &hf_ulp_TimeslotISCP_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_TimeslotISCP },
2590 static int
2591 dissect_ulp_TimeslotISCP_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2592 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2593 ett_ulp_TimeslotISCP_List, TimeslotISCP_List_sequence_of,
2594 1, maxTS, FALSE);
2596 return offset;
2600 static const per_sequence_t T_tdd_sequence[] = {
2601 { &hf_ulp_cellParametersID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
2602 { &hf_ulp_proposedTGSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_TGSN },
2603 { &hf_ulp_primaryCCPCH_RSCP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_PrimaryCCPCH_RSCP },
2604 { &hf_ulp_pathloss , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_Pathloss },
2605 { &hf_ulp_timeslotISCP_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_TimeslotISCP_List },
2606 { NULL, 0, 0, NULL }
2609 static int
2610 dissect_ulp_T_tdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2611 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2612 ett_ulp_T_tdd, T_tdd_sequence);
2614 return offset;
2618 static const value_string ulp_T_modeSpecificInfo_vals[] = {
2619 { 0, "fdd" },
2620 { 1, "tdd" },
2621 { 0, NULL }
2624 static const per_choice_t T_modeSpecificInfo_choice[] = {
2625 { 0, &hf_ulp_fdd , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd },
2626 { 1, &hf_ulp_tdd , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd },
2627 { 0, NULL, 0, NULL }
2630 static int
2631 dissect_ulp_T_modeSpecificInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2632 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2633 ett_ulp_T_modeSpecificInfo, T_modeSpecificInfo_choice,
2634 NULL);
2636 return offset;
2640 static const per_sequence_t CellMeasuredResults_sequence[] = {
2641 { &hf_ulp_cellIdentity , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_268435455 },
2642 { &hf_ulp_modeSpecificInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_modeSpecificInfo },
2643 { NULL, 0, 0, NULL }
2646 static int
2647 dissect_ulp_CellMeasuredResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2648 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2649 ett_ulp_CellMeasuredResults, CellMeasuredResults_sequence);
2651 return offset;
2655 static const per_sequence_t CellMeasuredResultsList_sequence_of[1] = {
2656 { &hf_ulp_CellMeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellMeasuredResults },
2659 static int
2660 dissect_ulp_CellMeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2661 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2662 ett_ulp_CellMeasuredResultsList, CellMeasuredResultsList_sequence_of,
2663 1, maxCellMeas, FALSE);
2665 return offset;
2669 static const per_sequence_t MeasuredResults_sequence[] = {
2670 { &hf_ulp_frequencyInfo , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_FrequencyInfo },
2671 { &hf_ulp_utra_CarrierRSSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_UTRA_CarrierRSSI },
2672 { &hf_ulp_cellMeasuredResultsList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_CellMeasuredResultsList },
2673 { NULL, 0, 0, NULL }
2676 static int
2677 dissect_ulp_MeasuredResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2678 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2679 ett_ulp_MeasuredResults, MeasuredResults_sequence);
2681 return offset;
2685 static const per_sequence_t MeasuredResultsList_sequence_of[1] = {
2686 { &hf_ulp_MeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MeasuredResults },
2689 static int
2690 dissect_ulp_MeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2691 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2692 ett_ulp_MeasuredResultsList, MeasuredResultsList_sequence_of,
2693 1, maxFreq, FALSE);
2695 return offset;
2700 static int
2701 dissect_ulp_INTEGER_0_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2702 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2703 0U, 8191U, NULL, FALSE);
2705 return offset;
2709 static const value_string ulp_TAResolution_vals[] = {
2710 { 0, "res10chip" },
2711 { 1, "res05chip" },
2712 { 2, "res0125chip" },
2713 { 0, NULL }
2717 static int
2718 dissect_ulp_TAResolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2719 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2720 3, NULL, TRUE, 0, NULL);
2722 return offset;
2726 static const value_string ulp_ChipRate_vals[] = {
2727 { 0, "tdd128" },
2728 { 1, "tdd384" },
2729 { 2, "tdd768" },
2730 { 0, NULL }
2734 static int
2735 dissect_ulp_ChipRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2736 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2737 3, NULL, TRUE, 0, NULL);
2739 return offset;
2743 static const per_sequence_t TimingAdvance_sequence[] = {
2744 { &hf_ulp_tA_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8191 },
2745 { &hf_ulp_tAResolution , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TAResolution },
2746 { &hf_ulp_chipRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ChipRate },
2747 { NULL, 0, 0, NULL }
2750 static int
2751 dissect_ulp_TimingAdvance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2752 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2753 ett_ulp_TimingAdvance, TimingAdvance_sequence);
2755 return offset;
2759 static const per_sequence_t WcdmaCellInformation_sequence[] = {
2760 { &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
2761 { &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
2762 { &hf_ulp_refUC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_268435455 },
2763 { &hf_ulp_frequencyInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_FrequencyInfo },
2764 { &hf_ulp_primaryScramblingCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_511 },
2765 { &hf_ulp_measuredResultsList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MeasuredResultsList },
2766 { &hf_ulp_cellParametersId, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
2767 { &hf_ulp_timingAdvance , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_TimingAdvance },
2768 { NULL, 0, 0, NULL }
2771 static int
2772 dissect_ulp_WcdmaCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2773 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2774 ett_ulp_WcdmaCellInformation, WcdmaCellInformation_sequence);
2776 return offset;
2781 static int
2782 dissect_ulp_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2783 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2784 0U, 32767U, NULL, FALSE);
2786 return offset;
2791 static int
2792 dissect_ulp_INTEGER_0_4194303(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2793 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2794 0U, 4194303U, NULL, FALSE);
2796 return offset;
2801 static int
2802 dissect_ulp_INTEGER_0_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2803 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2804 0U, 8388607U, NULL, FALSE);
2806 return offset;
2810 static const per_sequence_t CdmaCellInformation_sequence[] = {
2811 { &hf_ulp_refNID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
2812 { &hf_ulp_refSID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_32767 },
2813 { &hf_ulp_refBASEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
2814 { &hf_ulp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
2815 { &hf_ulp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
2816 { &hf_ulp_refREFPN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_511 },
2817 { &hf_ulp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
2818 { &hf_ulp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
2819 { NULL, 0, 0, NULL }
2822 static int
2823 dissect_ulp_CdmaCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2824 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2825 ett_ulp_CdmaCellInformation, CdmaCellInformation_sequence);
2827 return offset;
2832 static int
2833 dissect_ulp_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2834 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2835 128, 128, FALSE, NULL);
2837 return offset;
2841 static const per_sequence_t HrpdCellInformation_sequence[] = {
2842 { &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_128 },
2843 { &hf_ulp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
2844 { &hf_ulp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
2845 { &hf_ulp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
2846 { &hf_ulp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
2847 { NULL, 0, 0, NULL }
2850 static int
2851 dissect_ulp_HrpdCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2852 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2853 ett_ulp_HrpdCellInformation, HrpdCellInformation_sequence);
2855 return offset;
2859 static const per_sequence_t UmbCellInformation_sequence[] = {
2860 { &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_128 },
2861 { &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
2862 { &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
2863 { &hf_ulp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
2864 { &hf_ulp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
2865 { &hf_ulp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
2866 { &hf_ulp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
2867 { NULL, 0, 0, NULL }
2870 static int
2871 dissect_ulp_UmbCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2872 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2873 ett_ulp_UmbCellInformation, UmbCellInformation_sequence);
2875 return offset;
2880 static int
2881 dissect_ulp_MCC_MNC_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2882 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2883 0U, 9U, NULL, FALSE);
2885 return offset;
2889 static const per_sequence_t MCC_sequence_of[1] = {
2890 { &hf_ulp_MCC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MCC_MNC_Digit },
2893 static int
2894 dissect_ulp_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2895 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2896 ett_ulp_MCC, MCC_sequence_of,
2897 3, 3, FALSE);
2899 return offset;
2903 static const per_sequence_t MNC_sequence_of[1] = {
2904 { &hf_ulp_MNC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MCC_MNC_Digit },
2907 static int
2908 dissect_ulp_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2909 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2910 ett_ulp_MNC, MNC_sequence_of,
2911 2, 3, FALSE);
2913 return offset;
2917 static const per_sequence_t PLMN_Identity_sequence[] = {
2918 { &hf_ulp_mcc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_MCC },
2919 { &hf_ulp_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MNC },
2920 { NULL, 0, 0, NULL }
2923 static int
2924 dissect_ulp_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2925 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2926 ett_ulp_PLMN_Identity, PLMN_Identity_sequence);
2928 return offset;
2933 static int
2934 dissect_ulp_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2935 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2936 28, 28, FALSE, NULL);
2938 return offset;
2942 static const per_sequence_t CellGlobalIdEUTRA_sequence[] = {
2943 { &hf_ulp_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PLMN_Identity },
2944 { &hf_ulp_cellIdentity_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_CellIdentity },
2945 { NULL, 0, 0, NULL }
2948 static int
2949 dissect_ulp_CellGlobalIdEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2950 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2951 ett_ulp_CellGlobalIdEUTRA, CellGlobalIdEUTRA_sequence);
2953 return offset;
2958 static int
2959 dissect_ulp_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2960 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2961 0U, 503U, NULL, FALSE);
2963 return offset;
2968 static int
2969 dissect_ulp_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2970 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2971 16, 16, FALSE, NULL);
2973 return offset;
2978 static int
2979 dissect_ulp_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2980 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2981 0U, 97U, NULL, FALSE);
2983 return offset;
2988 static int
2989 dissect_ulp_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2990 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2991 0U, 34U, NULL, FALSE);
2993 return offset;
2998 static int
2999 dissect_ulp_INTEGER_0_1282(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3000 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3001 0U, 1282U, NULL, FALSE);
3003 return offset;
3007 static const per_sequence_t T_cgi_Info_sequence[] = {
3008 { &hf_ulp_cellGlobalId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellGlobalIdEUTRA },
3009 { &hf_ulp_trackingAreaCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_TrackingAreaCode },
3010 { NULL, 0, 0, NULL }
3013 static int
3014 dissect_ulp_T_cgi_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3015 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3016 ett_ulp_T_cgi_Info, T_cgi_Info_sequence);
3018 return offset;
3022 static const per_sequence_t T_measResult_sequence[] = {
3023 { &hf_ulp_rsrpResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRP_Range },
3024 { &hf_ulp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRQ_Range },
3025 { NULL, 0, 0, NULL }
3028 static int
3029 dissect_ulp_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3030 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3031 ett_ulp_T_measResult, T_measResult_sequence);
3033 return offset;
3037 static const per_sequence_t MeasResultEUTRA_sequence[] = {
3038 { &hf_ulp_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PhysCellId },
3039 { &hf_ulp_cgi_Info , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_T_cgi_Info },
3040 { &hf_ulp_measResult , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_measResult },
3041 { NULL, 0, 0, NULL }
3044 static int
3045 dissect_ulp_MeasResultEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3046 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3047 ett_ulp_MeasResultEUTRA, MeasResultEUTRA_sequence);
3049 return offset;
3053 static const per_sequence_t MeasResultListEUTRA_sequence_of[1] = {
3054 { &hf_ulp_MeasResultListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MeasResultEUTRA },
3057 static int
3058 dissect_ulp_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3059 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3060 ett_ulp_MeasResultListEUTRA, MeasResultListEUTRA_sequence_of,
3061 1, maxCellReport, FALSE);
3063 return offset;
3067 static const per_sequence_t LteCellInformation_sequence[] = {
3068 { &hf_ulp_cellGlobalIdEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_CellGlobalIdEUTRA },
3069 { &hf_ulp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PhysCellId },
3070 { &hf_ulp_trackingAreaCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_TrackingAreaCode },
3071 { &hf_ulp_rsrpResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRP_Range },
3072 { &hf_ulp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRQ_Range },
3073 { &hf_ulp_tA_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1282 },
3074 { &hf_ulp_measResultListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MeasResultListEUTRA },
3075 { NULL, 0, 0, NULL }
3078 static int
3079 dissect_ulp_LteCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3080 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3081 ett_ulp_LteCellInformation, LteCellInformation_sequence);
3083 return offset;
3088 static int
3089 dissect_ulp_INTEGER_M127_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3090 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3091 -127, 128U, NULL, FALSE);
3093 return offset;
3097 static const value_string ulp_T_apDeviceType_vals[] = {
3098 { 0, "wlan802-11a" },
3099 { 1, "wlan802-11b" },
3100 { 2, "wlan802-11g" },
3101 { 0, NULL }
3105 static int
3106 dissect_ulp_T_apDeviceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3107 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3108 3, NULL, TRUE, 0, NULL);
3110 return offset;
3115 static int
3116 dissect_ulp_INTEGER_0_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3117 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3118 0U, 256U, NULL, FALSE);
3120 return offset;
3125 static int
3126 dissect_ulp_INTEGER_0_16777216(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3127 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3128 0U, 16777216U, NULL, FALSE);
3130 return offset;
3134 static const value_string ulp_RTDUnits_vals[] = {
3135 { 0, "microseconds" },
3136 { 1, "hundredsofnanoseconds" },
3137 { 2, "tensofnanoseconds" },
3138 { 3, "nanoseconds" },
3139 { 4, "tenthsofnanoseconds" },
3140 { 0, NULL }
3144 static int
3145 dissect_ulp_RTDUnits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3146 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3147 5, NULL, TRUE, 0, NULL);
3149 return offset;
3153 static const per_sequence_t RTD_sequence[] = {
3154 { &hf_ulp_rTDValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_16777216 },
3155 { &hf_ulp_rTDUnits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_RTDUnits },
3156 { &hf_ulp_rTDAccuracy , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
3157 { NULL, 0, 0, NULL }
3160 static int
3161 dissect_ulp_RTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3162 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3163 ett_ulp_RTD, RTD_sequence);
3165 return offset;
3169 static const value_string ulp_LocationEncodingDescriptor_vals[] = {
3170 { 0, "lCI" },
3171 { 1, "aSN1" },
3172 { 0, NULL }
3176 static int
3177 dissect_ulp_LocationEncodingDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3178 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3179 2, NULL, TRUE, 0, NULL);
3181 return offset;
3186 static int
3187 dissect_ulp_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3188 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3189 0U, 4294967295U, NULL, FALSE);
3191 return offset;
3196 static int
3197 dissect_ulp_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_) {
3198 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3199 1, 128, FALSE, NULL);
3201 return offset;
3205 static const per_sequence_t LocationData_sequence[] = {
3206 { &hf_ulp_locationAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_4294967295 },
3207 { &hf_ulp_locationValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_1_128 },
3208 { NULL, 0, 0, NULL }
3211 static int
3212 dissect_ulp_LocationData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3213 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3214 ett_ulp_LocationData, LocationData_sequence);
3216 return offset;
3220 static const per_sequence_t ReportedLocation_sequence[] = {
3221 { &hf_ulp_locationEncodingDescriptor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationEncodingDescriptor },
3222 { &hf_ulp_locationData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationData },
3223 { NULL, 0, 0, NULL }
3226 static int
3227 dissect_ulp_ReportedLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3228 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3229 ett_ulp_ReportedLocation, ReportedLocation_sequence);
3231 return offset;
3235 static const per_sequence_t WlanAPInformation_sequence[] = {
3236 { &hf_ulp_apMACAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_48 },
3237 { &hf_ulp_apTransmitPower , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3238 { &hf_ulp_apAntennaGain , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3239 { &hf_ulp_apSignaltoNoise , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3240 { &hf_ulp_apDeviceType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_apDeviceType },
3241 { &hf_ulp_apSignalStrength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3242 { &hf_ulp_apChannelFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_256 },
3243 { &hf_ulp_apRoundTripDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RTD },
3244 { &hf_ulp_setTransmitPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3245 { &hf_ulp_setAntennaGain , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3246 { &hf_ulp_setSignaltoNoise, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3247 { &hf_ulp_setSignalStrength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M127_128 },
3248 { &hf_ulp_apReportedLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportedLocation },
3249 { NULL, 0, 0, NULL }
3252 static int
3253 dissect_ulp_WlanAPInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3254 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3255 ett_ulp_WlanAPInformation, WlanAPInformation_sequence);
3257 return offset;
3262 static int
3263 dissect_ulp_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3264 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3265 24, 24, FALSE, NULL);
3267 return offset;
3271 static const per_sequence_t WimaxBsID_sequence[] = {
3272 { &hf_ulp_bsID_MSB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_24 },
3273 { &hf_ulp_bsID_LSB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_24 },
3274 { NULL, 0, 0, NULL }
3277 static int
3278 dissect_ulp_WimaxBsID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3279 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3280 ett_ulp_WimaxBsID, WimaxBsID_sequence);
3282 return offset;
3286 static const per_sequence_t WimaxRTD_sequence[] = {
3287 { &hf_ulp_rTD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
3288 { &hf_ulp_rTDstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1023 },
3289 { NULL, 0, 0, NULL }
3292 static int
3293 dissect_ulp_WimaxRTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3294 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3295 ett_ulp_WimaxRTD, WimaxRTD_sequence);
3297 return offset;
3302 static int
3303 dissect_ulp_INTEGER_M32768_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3304 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3305 -32768, 32767U, NULL, FALSE);
3307 return offset;
3311 static const per_sequence_t WimaxNMR_sequence[] = {
3312 { &hf_ulp_wimaxBsID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_WimaxBsID },
3313 { &hf_ulp_relDelay , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M32768_32767 },
3314 { &hf_ulp_relDelaystd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1023 },
3315 { &hf_ulp_rSSI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
3316 { &hf_ulp_rSSIstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_63 },
3317 { &hf_ulp_bSTxPower , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
3318 { &hf_ulp_cINR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
3319 { &hf_ulp_cINRstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_63 },
3320 { &hf_ulp_bSLocation , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportedLocation },
3321 { NULL, 0, 0, NULL }
3324 static int
3325 dissect_ulp_WimaxNMR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3326 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3327 ett_ulp_WimaxNMR, WimaxNMR_sequence);
3329 return offset;
3333 static const per_sequence_t WimaxNMRList_sequence_of[1] = {
3334 { &hf_ulp_WimaxNMRList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_WimaxNMR },
3337 static int
3338 dissect_ulp_WimaxNMRList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3339 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3340 ett_ulp_WimaxNMRList, WimaxNMRList_sequence_of,
3341 1, maxWimaxBSMeas, FALSE);
3343 return offset;
3347 static const per_sequence_t WimaxBSInformation_sequence[] = {
3348 { &hf_ulp_wimaxBsID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_WimaxBsID },
3349 { &hf_ulp_wimaxRTD , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_WimaxRTD },
3350 { &hf_ulp_wimaxNMRList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_WimaxNMRList },
3351 { NULL, 0, 0, NULL }
3354 static int
3355 dissect_ulp_WimaxBSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3356 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3357 ett_ulp_WimaxBSInformation, WimaxBSInformation_sequence);
3359 return offset;
3363 static const value_string ulp_Ver2_CellInfo_extension_vals[] = {
3364 { 0, "hrpdCell" },
3365 { 1, "umbCell" },
3366 { 2, "lteCell" },
3367 { 3, "wlanAP" },
3368 { 4, "wimaxBS" },
3369 { 0, NULL }
3372 static const per_choice_t Ver2_CellInfo_extension_choice[] = {
3373 { 0, &hf_ulp_hrpdCell , ASN1_EXTENSION_ROOT , dissect_ulp_HrpdCellInformation },
3374 { 1, &hf_ulp_umbCell , ASN1_EXTENSION_ROOT , dissect_ulp_UmbCellInformation },
3375 { 2, &hf_ulp_lteCell , ASN1_EXTENSION_ROOT , dissect_ulp_LteCellInformation },
3376 { 3, &hf_ulp_wlanAP , ASN1_EXTENSION_ROOT , dissect_ulp_WlanAPInformation },
3377 { 4, &hf_ulp_wimaxBS , ASN1_EXTENSION_ROOT , dissect_ulp_WimaxBSInformation },
3378 { 0, NULL, 0, NULL }
3381 static int
3382 dissect_ulp_Ver2_CellInfo_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3383 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3384 ett_ulp_Ver2_CellInfo_extension, Ver2_CellInfo_extension_choice,
3385 NULL);
3387 return offset;
3391 static const value_string ulp_CellInfo_vals[] = {
3392 { 0, "gsmCell" },
3393 { 1, "wcdmaCell" },
3394 { 2, "cdmaCell" },
3395 { 3, "ver2-CellInfo-extension" },
3396 { 0, NULL }
3399 static const per_choice_t CellInfo_choice[] = {
3400 { 0, &hf_ulp_gsmCell , ASN1_EXTENSION_ROOT , dissect_ulp_GsmCellInformation },
3401 { 1, &hf_ulp_wcdmaCell , ASN1_EXTENSION_ROOT , dissect_ulp_WcdmaCellInformation },
3402 { 2, &hf_ulp_cdmaCell , ASN1_EXTENSION_ROOT , dissect_ulp_CdmaCellInformation },
3403 { 3, &hf_ulp_ver2_CellInfo_extension, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_CellInfo_extension },
3404 { 0, NULL, 0, NULL }
3407 static int
3408 dissect_ulp_CellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3409 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3410 ett_ulp_CellInfo, CellInfo_choice,
3411 NULL);
3413 return offset;
3417 static const value_string ulp_Status_vals[] = {
3418 { 0, "stale" },
3419 { 1, "current" },
3420 { 2, "unknown" },
3421 { 0, NULL }
3425 static int
3426 dissect_ulp_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3427 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3428 3, NULL, TRUE, 0, NULL);
3430 return offset;
3434 static const per_sequence_t LocationId_sequence[] = {
3435 { &hf_ulp_cellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_CellInfo },
3436 { &hf_ulp_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_Status },
3437 { NULL, 0, 0, NULL }
3440 static int
3441 dissect_ulp_LocationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3442 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3443 ett_ulp_LocationId, LocationId_sequence);
3445 return offset;
3450 static int
3451 dissect_ulp_RelativeTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3452 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3453 0U, 65535U, NULL, FALSE);
3455 return offset;
3459 static const per_sequence_t LocationIdData_sequence[] = {
3460 { &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
3461 { &hf_ulp_relativetimestamp, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RelativeTime },
3462 { &hf_ulp_servingFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
3463 { NULL, 0, 0, NULL }
3466 static int
3467 dissect_ulp_LocationIdData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3468 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3469 ett_ulp_LocationIdData, LocationIdData_sequence);
3471 return offset;
3475 static const per_sequence_t MultipleLocationIds_sequence_of[1] = {
3476 { &hf_ulp_MultipleLocationIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_LocationIdData },
3479 static int
3480 dissect_ulp_MultipleLocationIds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3481 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3482 ett_ulp_MultipleLocationIds, MultipleLocationIds_sequence_of,
3483 1, maxLidSize, FALSE);
3485 return offset;
3490 static int
3491 dissect_ulp_T_sip_uri(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3492 #line 73 "../../asn1/ulp/ulp.cnf"
3493 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
3494 1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%#@?", 72,
3495 NULL);
3498 return offset;
3503 static int
3504 dissect_ulp_T_ims_public_identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3505 #line 78 "../../asn1/ulp/ulp.cnf"
3506 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
3507 1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%#@?", 72,
3508 NULL);
3511 return offset;
3516 static int
3517 dissect_ulp_T_uri(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3518 #line 83 "../../asn1/ulp/ulp.cnf"
3519 offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
3520 1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./-_~%#", 69,
3521 NULL);
3526 return offset;
3530 static const value_string ulp_ThirdPartyID_vals[] = {
3531 { 0, "logicalName" },
3532 { 1, "msisdn" },
3533 { 2, "emailaddr" },
3534 { 3, "sip-uri" },
3535 { 4, "ims-public-identity" },
3536 { 5, "min" },
3537 { 6, "mdn" },
3538 { 7, "uri" },
3539 { 0, NULL }
3542 static const per_choice_t ThirdPartyID_choice[] = {
3543 { 0, &hf_ulp_logicalName , ASN1_EXTENSION_ROOT , dissect_ulp_IA5String_SIZE_1_1000 },
3544 { 1, &hf_ulp_msisdn , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_8 },
3545 { 2, &hf_ulp_emailaddr , ASN1_EXTENSION_ROOT , dissect_ulp_IA5String_SIZE_1_1000 },
3546 { 3, &hf_ulp_sip_uri , ASN1_EXTENSION_ROOT , dissect_ulp_T_sip_uri },
3547 { 4, &hf_ulp_ims_public_identity, ASN1_EXTENSION_ROOT , dissect_ulp_T_ims_public_identity },
3548 { 5, &hf_ulp_min_01 , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_34 },
3549 { 6, &hf_ulp_mdn , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_8 },
3550 { 7, &hf_ulp_uri , ASN1_EXTENSION_ROOT , dissect_ulp_T_uri },
3551 { 0, NULL, 0, NULL }
3554 static int
3555 dissect_ulp_ThirdPartyID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3556 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3557 ett_ulp_ThirdPartyID, ThirdPartyID_choice,
3558 NULL);
3560 return offset;
3564 static const per_sequence_t ThirdParty_sequence_of[1] = {
3565 { &hf_ulp_ThirdParty_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_ThirdPartyID },
3568 static int
3569 dissect_ulp_ThirdParty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3570 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3571 ett_ulp_ThirdParty, ThirdParty_sequence_of,
3572 1, 64, FALSE);
3574 return offset;
3579 static int
3580 dissect_ulp_IA5String_SIZE_1_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3581 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3582 1, 24, FALSE);
3584 return offset;
3589 static int
3590 dissect_ulp_IA5String_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3591 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3592 1, 32, FALSE);
3594 return offset;
3599 static int
3600 dissect_ulp_IA5String_SIZE_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3601 offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3602 1, 8, FALSE);
3604 return offset;
3608 static const per_sequence_t ApplicationID_sequence[] = {
3609 { &hf_ulp_appProvider , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_IA5String_SIZE_1_24 },
3610 { &hf_ulp_appName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_IA5String_SIZE_1_32 },
3611 { &hf_ulp_appVersion , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_IA5String_SIZE_1_8 },
3612 { NULL, 0, 0, NULL }
3615 static int
3616 dissect_ulp_ApplicationID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3617 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3618 ett_ulp_ApplicationID, ApplicationID_sequence);
3620 return offset;
3625 static int
3626 dissect_ulp_UTCTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3627 offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
3628 NO_BOUND, NO_BOUND, FALSE);
3630 return offset;
3634 static const value_string ulp_T_latitudeSign_vals[] = {
3635 { 0, "north" },
3636 { 1, "south" },
3637 { 0, NULL }
3641 static int
3642 dissect_ulp_T_latitudeSign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3643 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3644 2, NULL, FALSE, 0, NULL);
3646 return offset;
3651 static int
3652 dissect_ulp_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3653 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3654 -8388608, 8388607U, NULL, FALSE);
3656 return offset;
3661 static int
3662 dissect_ulp_INTEGER_0_180(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3663 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3664 0U, 180U, NULL, FALSE);
3666 return offset;
3670 static const per_sequence_t T_uncertainty_sequence[] = {
3671 { &hf_ulp_uncertaintySemiMajor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
3672 { &hf_ulp_uncertaintySemiMinor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
3673 { &hf_ulp_orientationMajorAxis, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_180 },
3674 { NULL, 0, 0, NULL }
3677 static int
3678 dissect_ulp_T_uncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3679 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3680 ett_ulp_T_uncertainty, T_uncertainty_sequence);
3682 return offset;
3687 static int
3688 dissect_ulp_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3689 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3690 0U, 100U, NULL, FALSE);
3692 return offset;
3696 static const value_string ulp_T_altitudeDirection_vals[] = {
3697 { 0, "height" },
3698 { 1, "depth" },
3699 { 0, NULL }
3703 static int
3704 dissect_ulp_T_altitudeDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3705 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3706 2, NULL, FALSE, 0, NULL);
3708 return offset;
3712 static const per_sequence_t AltitudeInfo_sequence[] = {
3713 { &hf_ulp_altitudeDirection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_altitudeDirection },
3714 { &hf_ulp_altitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_32767 },
3715 { &hf_ulp_altUncertainty , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
3716 { NULL, 0, 0, NULL }
3719 static int
3720 dissect_ulp_AltitudeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3721 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3722 ett_ulp_AltitudeInfo, AltitudeInfo_sequence);
3724 return offset;
3728 static const per_sequence_t PositionEstimate_sequence[] = {
3729 { &hf_ulp_latitudeSign , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_latitudeSign },
3730 { &hf_ulp_latitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
3731 { &hf_ulp_longitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_M8388608_8388607 },
3732 { &hf_ulp_uncertainty , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_uncertainty },
3733 { &hf_ulp_confidence , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_100 },
3734 { &hf_ulp_altitudeInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_AltitudeInfo },
3735 { NULL, 0, 0, NULL }
3738 static int
3739 dissect_ulp_PositionEstimate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3740 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3741 ett_ulp_PositionEstimate, PositionEstimate_sequence);
3743 return offset;
3748 static int
3749 dissect_ulp_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3750 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3751 9, 9, FALSE, NULL);
3753 return offset;
3758 static int
3759 dissect_ulp_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3760 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3761 16, 16, FALSE, NULL);
3763 return offset;
3767 static const per_sequence_t Horvel_sequence[] = {
3768 { &hf_ulp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_9 },
3769 { &hf_ulp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_16 },
3770 { NULL, 0, 0, NULL }
3773 static int
3774 dissect_ulp_Horvel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3775 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3776 ett_ulp_Horvel, Horvel_sequence);
3778 return offset;
3783 static int
3784 dissect_ulp_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3785 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3786 1, 1, FALSE, NULL);
3788 return offset;
3793 static int
3794 dissect_ulp_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3795 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3796 8, 8, FALSE, NULL);
3798 return offset;
3802 static const per_sequence_t Horandvervel_sequence[] = {
3803 { &hf_ulp_verdirect , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_1 },
3804 { &hf_ulp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_9 },
3805 { &hf_ulp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_16 },
3806 { &hf_ulp_verspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_8 },
3807 { NULL, 0, 0, NULL }
3810 static int
3811 dissect_ulp_Horandvervel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3812 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3813 ett_ulp_Horandvervel, Horandvervel_sequence);
3815 return offset;
3819 static const per_sequence_t Horveluncert_sequence[] = {
3820 { &hf_ulp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_9 },
3821 { &hf_ulp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_16 },
3822 { &hf_ulp_uncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_8 },
3823 { NULL, 0, 0, NULL }
3826 static int
3827 dissect_ulp_Horveluncert(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3828 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3829 ett_ulp_Horveluncert, Horveluncert_sequence);
3831 return offset;
3835 static const per_sequence_t Horandveruncert_sequence[] = {
3836 { &hf_ulp_verdirect , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_1 },
3837 { &hf_ulp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_9 },
3838 { &hf_ulp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_16 },
3839 { &hf_ulp_verspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_8 },
3840 { &hf_ulp_horuncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_8 },
3841 { &hf_ulp_veruncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_8 },
3842 { NULL, 0, 0, NULL }
3845 static int
3846 dissect_ulp_Horandveruncert(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3847 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3848 ett_ulp_Horandveruncert, Horandveruncert_sequence);
3850 return offset;
3854 static const value_string ulp_Velocity_vals[] = {
3855 { 0, "horvel" },
3856 { 1, "horandvervel" },
3857 { 2, "horveluncert" },
3858 { 3, "horandveruncert" },
3859 { 0, NULL }
3862 static const per_choice_t Velocity_choice[] = {
3863 { 0, &hf_ulp_horvel , ASN1_EXTENSION_ROOT , dissect_ulp_Horvel },
3864 { 1, &hf_ulp_horandvervel , ASN1_EXTENSION_ROOT , dissect_ulp_Horandvervel },
3865 { 2, &hf_ulp_horveluncert , ASN1_EXTENSION_ROOT , dissect_ulp_Horveluncert },
3866 { 3, &hf_ulp_horandveruncert , ASN1_EXTENSION_ROOT , dissect_ulp_Horandveruncert },
3867 { 0, NULL, 0, NULL }
3870 static int
3871 dissect_ulp_Velocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3872 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3873 ett_ulp_Velocity, Velocity_choice,
3874 NULL);
3876 return offset;
3880 static const per_sequence_t Position_sequence[] = {
3881 { &hf_ulp_timestamp_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_UTCTime },
3882 { &hf_ulp_positionEstimate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PositionEstimate },
3883 { &hf_ulp_velocity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Velocity },
3884 { NULL, 0, 0, NULL }
3887 static int
3888 dissect_ulp_Position(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3889 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3890 ett_ulp_Position, Position_sequence);
3892 return offset;
3896 static const per_sequence_t Ver2_SUPL_START_extension_sequence[] = {
3897 { &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
3898 { &hf_ulp_thirdParty , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ThirdParty },
3899 { &hf_ulp_applicationID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ApplicationID },
3900 { &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
3901 { NULL, 0, 0, NULL }
3904 static int
3905 dissect_ulp_Ver2_SUPL_START_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3906 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3907 ett_ulp_Ver2_SUPL_START_extension, Ver2_SUPL_START_extension_sequence);
3909 return offset;
3913 static const per_sequence_t SUPLSTART_sequence[] = {
3914 { &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETCapabilities },
3915 { &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
3916 { &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
3917 { &hf_ulp_ver2_SUPL_START_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_START_extension },
3918 { NULL, 0, 0, NULL }
3921 static int
3922 dissect_ulp_SUPLSTART(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3923 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3924 ett_ulp_SUPLSTART, SUPLSTART_sequence);
3926 return offset;
3931 static int
3932 dissect_ulp_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3933 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3934 256, 256, FALSE, NULL);
3936 return offset;
3940 static const value_string ulp_SETAuthKey_vals[] = {
3941 { 0, "shortKey" },
3942 { 1, "longKey" },
3943 { 0, NULL }
3946 static const per_choice_t SETAuthKey_choice[] = {
3947 { 0, &hf_ulp_shortKey , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_128 },
3948 { 1, &hf_ulp_longKey , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_256 },
3949 { 0, NULL, 0, NULL }
3952 static int
3953 dissect_ulp_SETAuthKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3954 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3955 ett_ulp_SETAuthKey, SETAuthKey_choice,
3956 NULL);
3958 return offset;
3963 static int
3964 dissect_ulp_KeyIdentity4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3965 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3966 128, 128, FALSE, NULL);
3968 return offset;
3973 static int
3974 dissect_ulp_SPCSETKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3975 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3976 128, 128, FALSE, NULL);
3978 return offset;
3982 static const per_sequence_t SPCTID_sequence[] = {
3983 { &hf_ulp_rAND , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_128 },
3984 { &hf_ulp_slpFQDN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_FQDN },
3985 { NULL, 0, 0, NULL }
3988 static int
3989 dissect_ulp_SPCTID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3990 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3991 ett_ulp_SPCTID, SPCTID_sequence);
3993 return offset;
3998 static int
3999 dissect_ulp_SPCSETKeylifetime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4000 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4001 1U, 24U, NULL, FALSE);
4003 return offset;
4007 static const per_sequence_t Ver2_SUPL_RESPONSE_extension_sequence[] = {
4008 { &hf_ulp_supportedNetworkInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedNetworkInformation },
4009 { &hf_ulp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKey },
4010 { &hf_ulp_sPCTID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCTID },
4011 { &hf_ulp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKeylifetime },
4012 { &hf_ulp_initialApproximateposition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
4013 { &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
4014 { NULL, 0, 0, NULL }
4017 static int
4018 dissect_ulp_Ver2_SUPL_RESPONSE_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4019 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4020 ett_ulp_Ver2_SUPL_RESPONSE_extension, Ver2_SUPL_RESPONSE_extension_sequence);
4022 return offset;
4026 static const per_sequence_t SUPLRESPONSE_sequence[] = {
4027 { &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosMethod },
4028 { &hf_ulp_sLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
4029 { &hf_ulp_sETAuthKey , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETAuthKey },
4030 { &hf_ulp_keyIdentity4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_KeyIdentity4 },
4031 { &hf_ulp_ver2_SUPL_RESPONSE_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_RESPONSE_extension },
4032 { NULL, 0, 0, NULL }
4035 static int
4036 dissect_ulp_SUPLRESPONSE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4037 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4038 ett_ulp_SUPLRESPONSE, SUPLRESPONSE_sequence);
4040 return offset;
4045 static int
4046 dissect_ulp_INTEGER_0_167(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4047 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4048 0U, 167U, NULL, FALSE);
4050 return offset;
4055 static int
4056 dissect_ulp_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4057 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4058 0U, 31U, NULL, FALSE);
4060 return offset;
4065 static int
4066 dissect_ulp_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4067 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4068 0U, 10U, NULL, FALSE);
4070 return offset;
4074 static const per_sequence_t SatelliteInfoElement_sequence[] = {
4075 { &hf_ulp_satId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
4076 { &hf_ulp_iODE , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
4077 { NULL, 0, 0, NULL }
4080 static int
4081 dissect_ulp_SatelliteInfoElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4082 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4083 ett_ulp_SatelliteInfoElement, SatelliteInfoElement_sequence);
4085 return offset;
4089 static const per_sequence_t SatelliteInfo_sequence_of[1] = {
4090 { &hf_ulp_SatelliteInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SatelliteInfoElement },
4093 static int
4094 dissect_ulp_SatelliteInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4095 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4096 ett_ulp_SatelliteInfo, SatelliteInfo_sequence_of,
4097 1, 31, FALSE);
4099 return offset;
4103 static const per_sequence_t NavigationModel_sequence[] = {
4104 { &hf_ulp_gpsWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
4105 { &hf_ulp_gpsToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_167 },
4106 { &hf_ulp_nSAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_31 },
4107 { &hf_ulp_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_10 },
4108 { &hf_ulp_satInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SatelliteInfo },
4109 { NULL, 0, 0, NULL }
4112 static int
4113 dissect_ulp_NavigationModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4114 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4115 ett_ulp_NavigationModel, NavigationModel_sequence);
4117 return offset;
4121 static const per_sequence_t GanssRequestedCommonAssistanceDataList_sequence[] = {
4122 { &hf_ulp_ganssReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4123 { &hf_ulp_ganssIonosphericModel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4124 { &hf_ulp_ganssAdditionalIonosphericModelForDataID00, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4125 { &hf_ulp_ganssAdditionalIonosphericModelForDataID11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4126 { &hf_ulp_ganssEarthOrientationParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4127 { NULL, 0, 0, NULL }
4130 static int
4131 dissect_ulp_GanssRequestedCommonAssistanceDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4132 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4133 ett_ulp_GanssRequestedCommonAssistanceDataList, GanssRequestedCommonAssistanceDataList_sequence);
4135 return offset;
4140 static int
4141 dissect_ulp_DGANSS_Sig_Id_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4142 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4143 8, 8, FALSE, NULL);
4145 return offset;
4150 static int
4151 dissect_ulp_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4152 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4153 0U, 4095U, NULL, FALSE);
4155 return offset;
4159 static const per_sequence_t SatellitesListRelatedData_sequence[] = {
4160 { &hf_ulp_satId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
4161 { &hf_ulp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
4162 { NULL, 0, 0, NULL }
4165 static int
4166 dissect_ulp_SatellitesListRelatedData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4167 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4168 ett_ulp_SatellitesListRelatedData, SatellitesListRelatedData_sequence);
4170 return offset;
4174 static const per_sequence_t SatellitesListRelatedDataList_sequence_of[1] = {
4175 { &hf_ulp_SatellitesListRelatedDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SatellitesListRelatedData },
4178 static int
4179 dissect_ulp_SatellitesListRelatedDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4180 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4181 ett_ulp_SatellitesListRelatedDataList, SatellitesListRelatedDataList_sequence_of,
4182 0, maxGANSSSat, FALSE);
4184 return offset;
4188 static const per_sequence_t GanssNavigationModelData_sequence[] = {
4189 { &hf_ulp_ganssWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
4190 { &hf_ulp_ganssToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_167 },
4191 { &hf_ulp_t_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
4192 { &hf_ulp_satellitesListRelatedDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SatellitesListRelatedDataList },
4193 { NULL, 0, 0, NULL }
4196 static int
4197 dissect_ulp_GanssNavigationModelData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4198 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4199 ett_ulp_GanssNavigationModelData, GanssNavigationModelData_sequence);
4201 return offset;
4206 static int
4207 dissect_ulp_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4208 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4209 0U, 59U, NULL, FALSE);
4211 return offset;
4215 static const per_sequence_t T_ganssDataBitSatList_sequence_of[1] = {
4216 { &hf_ulp_ganssDataBitSatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
4219 static int
4220 dissect_ulp_T_ganssDataBitSatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4221 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4222 ett_ulp_T_ganssDataBitSatList, T_ganssDataBitSatList_sequence_of,
4223 1, maxGANSSSat, FALSE);
4225 return offset;
4229 static const per_sequence_t ReqDataBitAssistanceList_sequence[] = {
4230 { &hf_ulp_gnssSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignals },
4231 { &hf_ulp_ganssDataBitInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
4232 { &hf_ulp_ganssDataBitSatList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_ganssDataBitSatList },
4233 { NULL, 0, 0, NULL }
4236 static int
4237 dissect_ulp_ReqDataBitAssistanceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4238 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4239 ett_ulp_ReqDataBitAssistanceList, ReqDataBitAssistanceList_sequence);
4241 return offset;
4245 static const per_sequence_t GanssDataBits_sequence[] = {
4246 { &hf_ulp_ganssTODmin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_59 },
4247 { &hf_ulp_reqDataBitAssistanceList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_ReqDataBitAssistanceList },
4248 { NULL, 0, 0, NULL }
4251 static int
4252 dissect_ulp_GanssDataBits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4253 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4254 ett_ulp_GanssDataBits, GanssDataBits_sequence);
4256 return offset;
4260 static const per_sequence_t GanssAdditionalDataChoices_sequence[] = {
4261 { &hf_ulp_orbitModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
4262 { &hf_ulp_clockModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
4263 { &hf_ulp_utcModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
4264 { &hf_ulp_almanacModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
4265 { NULL, 0, 0, NULL }
4268 static int
4269 dissect_ulp_GanssAdditionalDataChoices(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4270 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4271 ett_ulp_GanssAdditionalDataChoices, GanssAdditionalDataChoices_sequence);
4273 return offset;
4278 static int
4279 dissect_ulp_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4280 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4281 1U, 256U, NULL, FALSE);
4283 return offset;
4287 static const per_sequence_t ExtendedEphemeris_sequence[] = {
4288 { &hf_ulp_validity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_256 },
4289 { NULL, 0, 0, NULL }
4292 static int
4293 dissect_ulp_ExtendedEphemeris(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4294 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4295 ett_ulp_ExtendedEphemeris, ExtendedEphemeris_sequence);
4297 return offset;
4302 static int
4303 dissect_ulp_INTEGER_0_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4304 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4305 0U, 23U, NULL, FALSE);
4307 return offset;
4311 static const per_sequence_t GANSSextEphTime_sequence[] = {
4312 { &hf_ulp_gANSSday , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8191 },
4313 { &hf_ulp_gANSSTODhour , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_23 },
4314 { NULL, 0, 0, NULL }
4317 static int
4318 dissect_ulp_GANSSextEphTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4319 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4320 ett_ulp_GANSSextEphTime, GANSSextEphTime_sequence);
4322 return offset;
4326 static const per_sequence_t GanssExtendedEphCheck_sequence[] = {
4327 { &hf_ulp_beginTime_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSextEphTime },
4328 { &hf_ulp_endTime_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSextEphTime },
4329 { NULL, 0, 0, NULL }
4332 static int
4333 dissect_ulp_GanssExtendedEphCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4334 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4335 ett_ulp_GanssExtendedEphCheck, GanssExtendedEphCheck_sequence);
4337 return offset;
4341 static const per_sequence_t GanssReqGenericData_sequence[] = {
4342 { &hf_ulp_ganssId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
4343 { &hf_ulp_ganssSBASid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_3 },
4344 { &hf_ulp_ganssRealTimeIntegrity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4345 { &hf_ulp_ganssDifferentialCorrection, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_DGANSS_Sig_Id_Req },
4346 { &hf_ulp_ganssAlmanac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4347 { &hf_ulp_ganssNavigationModelData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssNavigationModelData },
4348 { &hf_ulp_ganssTimeModels , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_16 },
4349 { &hf_ulp_ganssReferenceMeasurementInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4350 { &hf_ulp_ganssDataBits , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssDataBits },
4351 { &hf_ulp_ganssUTCModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4352 { &hf_ulp_ganssAdditionalDataChoices, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssAdditionalDataChoices },
4353 { &hf_ulp_ganssAuxiliaryInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4354 { &hf_ulp_ganssExtendedEphemeris, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ExtendedEphemeris },
4355 { &hf_ulp_ganssExtendedEphemerisCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssExtendedEphCheck },
4356 { NULL, 0, 0, NULL }
4359 static int
4360 dissect_ulp_GanssReqGenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4361 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4362 ett_ulp_GanssReqGenericData, GanssReqGenericData_sequence);
4364 return offset;
4368 static const per_sequence_t GanssRequestedGenericAssistanceDataList_sequence_of[1] = {
4369 { &hf_ulp_GanssRequestedGenericAssistanceDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GanssReqGenericData },
4372 static int
4373 dissect_ulp_GanssRequestedGenericAssistanceDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4374 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4375 ett_ulp_GanssRequestedGenericAssistanceDataList, GanssRequestedGenericAssistanceDataList_sequence_of,
4376 1, maxGANSS, FALSE);
4378 return offset;
4382 static const per_sequence_t GPSTime_sequence[] = {
4383 { &hf_ulp_gPSWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
4384 { &hf_ulp_gPSTOWhour , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_167 },
4385 { NULL, 0, 0, NULL }
4388 static int
4389 dissect_ulp_GPSTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4390 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4391 ett_ulp_GPSTime, GPSTime_sequence);
4393 return offset;
4397 static const per_sequence_t ExtendedEphCheck_sequence[] = {
4398 { &hf_ulp_beginTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GPSTime },
4399 { &hf_ulp_endTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GPSTime },
4400 { NULL, 0, 0, NULL }
4403 static int
4404 dissect_ulp_ExtendedEphCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4405 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4406 ett_ulp_ExtendedEphCheck, ExtendedEphCheck_sequence);
4408 return offset;
4412 static const per_sequence_t Ver2_RequestedAssistData_extension_sequence[] = {
4413 { &hf_ulp_ganssRequestedCommonAssistanceDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssRequestedCommonAssistanceDataList },
4414 { &hf_ulp_ganssRequestedGenericAssistanceDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssRequestedGenericAssistanceDataList },
4415 { &hf_ulp_extendedEphemeris, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ExtendedEphemeris },
4416 { &hf_ulp_extendedEphemerisCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ExtendedEphCheck },
4417 { NULL, 0, 0, NULL }
4420 static int
4421 dissect_ulp_Ver2_RequestedAssistData_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4422 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4423 ett_ulp_Ver2_RequestedAssistData_extension, Ver2_RequestedAssistData_extension_sequence);
4425 return offset;
4429 static const per_sequence_t RequestedAssistData_sequence[] = {
4430 { &hf_ulp_almanacRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4431 { &hf_ulp_utcModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4432 { &hf_ulp_ionosphericModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4433 { &hf_ulp_dgpsCorrectionsRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4434 { &hf_ulp_referenceLocationRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4435 { &hf_ulp_referenceTimeRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4436 { &hf_ulp_acquisitionAssistanceRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4437 { &hf_ulp_realTimeIntegrityRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4438 { &hf_ulp_navigationModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
4439 { &hf_ulp_navigationModelData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NavigationModel },
4440 { &hf_ulp_ver2_RequestedAssistData_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_RequestedAssistData_extension },
4441 { NULL, 0, 0, NULL }
4444 static int
4445 dissect_ulp_RequestedAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4446 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4447 ett_ulp_RequestedAssistData, RequestedAssistData_sequence);
4449 return offset;
4454 static int
4455 dissect_ulp_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_) {
4456 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4457 1, 8192, FALSE, NULL);
4459 return offset;
4464 static int
4465 dissect_ulp_T_rrlpPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4466 #line 54 "../../asn1/ulp/ulp.cnf"
4467 tvbuff_t *rrlp_tvb;
4469 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4470 1, 8192, FALSE, &rrlp_tvb);
4473 if (rrlp_tvb && rrlp_handle) {
4474 call_dissector(rrlp_handle, rrlp_tvb, actx->pinfo, tree);
4479 return offset;
4484 static int
4485 dissect_ulp_T_lPPPayload_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4486 #line 63 "../../asn1/ulp/ulp.cnf"
4487 tvbuff_t *lpp_tvb;
4489 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4490 1, 60000, FALSE, &lpp_tvb);
4493 if (lpp_tvb && lpp_handle) {
4494 call_dissector(lpp_handle, lpp_tvb, actx->pinfo, tree);
4499 return offset;
4503 static const per_sequence_t T_lPPPayload_sequence_of[1] = {
4504 { &hf_ulp_lPPPayload_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_lPPPayload_item },
4507 static int
4508 dissect_ulp_T_lPPPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4509 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4510 ett_ulp_T_lPPPayload, T_lPPPayload_sequence_of,
4511 1, 3, FALSE);
4513 return offset;
4518 static int
4519 dissect_ulp_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_) {
4520 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4521 1, 60000, FALSE, NULL);
4523 return offset;
4527 static const per_sequence_t T_tIA801Payload_sequence_of[1] = {
4528 { &hf_ulp_tIA801Payload_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_1_60000 },
4531 static int
4532 dissect_ulp_T_tIA801Payload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4533 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4534 ett_ulp_T_tIA801Payload, T_tIA801Payload_sequence_of,
4535 1, 3, FALSE);
4537 return offset;
4541 static const per_sequence_t Ver2_PosPayLoad_extension_sequence[] = {
4542 { &hf_ulp_lPPPayload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_lPPPayload },
4543 { &hf_ulp_tIA801Payload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_tIA801Payload },
4544 { NULL, 0, 0, NULL }
4547 static int
4548 dissect_ulp_Ver2_PosPayLoad_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4549 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4550 ett_ulp_Ver2_PosPayLoad_extension, Ver2_PosPayLoad_extension_sequence);
4552 return offset;
4556 static const value_string ulp_PosPayLoad_vals[] = {
4557 { 0, "tia801payload" },
4558 { 1, "rrcPayload" },
4559 { 2, "rrlpPayload" },
4560 { 3, "ver2-PosPayLoad-extension" },
4561 { 0, NULL }
4564 static const per_choice_t PosPayLoad_choice[] = {
4565 { 0, &hf_ulp_tia801payload , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_1_8192 },
4566 { 1, &hf_ulp_rrcPayload , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_1_8192 },
4567 { 2, &hf_ulp_rrlpPayload , ASN1_EXTENSION_ROOT , dissect_ulp_T_rrlpPayload },
4568 { 3, &hf_ulp_ver2_PosPayLoad_extension, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_PosPayLoad_extension },
4569 { 0, NULL, 0, NULL }
4572 static int
4573 dissect_ulp_PosPayLoad(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4574 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4575 ett_ulp_PosPayLoad, PosPayLoad_choice,
4576 NULL);
4578 return offset;
4582 static const per_sequence_t T_utran_GPSTimingOfCell_sequence[] = {
4583 { &hf_ulp_ms_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
4584 { &hf_ulp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4294967295 },
4585 { NULL, 0, 0, NULL }
4588 static int
4589 dissect_ulp_T_utran_GPSTimingOfCell(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_ulp_T_utran_GPSTimingOfCell, T_utran_GPSTimingOfCell_sequence);
4593 return offset;
4597 static const per_sequence_t T_fdd_01_sequence[] = {
4598 { &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
4599 { NULL, 0, 0, NULL }
4602 static int
4603 dissect_ulp_T_fdd_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4604 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4605 ett_ulp_T_fdd_01, T_fdd_01_sequence);
4607 return offset;
4611 static const per_sequence_t T_tdd_01_sequence[] = {
4612 { &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
4613 { NULL, 0, 0, NULL }
4616 static int
4617 dissect_ulp_T_tdd_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4618 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4619 ett_ulp_T_tdd_01, T_tdd_01_sequence);
4621 return offset;
4625 static const value_string ulp_T_modeSpecificInfo_01_vals[] = {
4626 { 0, "fdd" },
4627 { 1, "tdd" },
4628 { 0, NULL }
4631 static const per_choice_t T_modeSpecificInfo_01_choice[] = {
4632 { 0, &hf_ulp_fdd_01 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_01 },
4633 { 1, &hf_ulp_tdd_01 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_01 },
4634 { 0, NULL, 0, NULL }
4637 static int
4638 dissect_ulp_T_modeSpecificInfo_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4639 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4640 ett_ulp_T_modeSpecificInfo_01, T_modeSpecificInfo_01_choice,
4641 NULL);
4643 return offset;
4647 static const per_sequence_t UTRAN_GPSReferenceTime_sequence[] = {
4648 { &hf_ulp_utran_GPSTimingOfCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_utran_GPSTimingOfCell },
4649 { &hf_ulp_modeSpecificInfo_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_01 },
4650 { &hf_ulp_sfn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
4651 { NULL, 0, 0, NULL }
4654 static int
4655 dissect_ulp_UTRAN_GPSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4656 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4657 ett_ulp_UTRAN_GPSReferenceTime, UTRAN_GPSReferenceTime_sequence);
4659 return offset;
4663 static const value_string ulp_UTRANGPSDriftRate_vals[] = {
4664 { 0, "utran-GPSDrift0" },
4665 { 1, "utran-GPSDrift1" },
4666 { 2, "utran-GPSDrift2" },
4667 { 3, "utran-GPSDrift5" },
4668 { 4, "utran-GPSDrift10" },
4669 { 5, "utran-GPSDrift15" },
4670 { 6, "utran-GPSDrift25" },
4671 { 7, "utran-GPSDrift50" },
4672 { 8, "utran-GPSDrift-1" },
4673 { 9, "utran-GPSDrift-2" },
4674 { 10, "utran-GPSDrift-5" },
4675 { 11, "utran-GPSDrift-10" },
4676 { 12, "utran-GPSDrift-15" },
4677 { 13, "utran-GPSDrift-25" },
4678 { 14, "utran-GPSDrift-50" },
4679 { 0, NULL }
4683 static int
4684 dissect_ulp_UTRANGPSDriftRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4685 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4686 15, NULL, FALSE, 0, NULL);
4688 return offset;
4692 static const per_sequence_t UTRAN_GPSReferenceTimeAssistance_sequence[] = {
4693 { &hf_ulp_utran_GPSReferenceTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_UTRAN_GPSReferenceTime },
4694 { &hf_ulp_gpsReferenceTimeUncertainty, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
4695 { &hf_ulp_utranGPSDriftRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_UTRANGPSDriftRate },
4696 { NULL, 0, 0, NULL }
4699 static int
4700 dissect_ulp_UTRAN_GPSReferenceTimeAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4701 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4702 ett_ulp_UTRAN_GPSReferenceTimeAssistance, UTRAN_GPSReferenceTimeAssistance_sequence);
4704 return offset;
4709 static int
4710 dissect_ulp_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4711 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4712 0U, 16383U, NULL, FALSE);
4714 return offset;
4718 static const per_sequence_t T_set_GPSTimingOfCell_sequence[] = {
4719 { &hf_ulp_ms_part_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_16383 },
4720 { &hf_ulp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4294967295 },
4721 { NULL, 0, 0, NULL }
4724 static int
4725 dissect_ulp_T_set_GPSTimingOfCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4726 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4727 ett_ulp_T_set_GPSTimingOfCell, T_set_GPSTimingOfCell_sequence);
4729 return offset;
4733 static const per_sequence_t T_fdd_02_sequence[] = {
4734 { &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
4735 { NULL, 0, 0, NULL }
4738 static int
4739 dissect_ulp_T_fdd_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4740 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4741 ett_ulp_T_fdd_02, T_fdd_02_sequence);
4743 return offset;
4747 static const per_sequence_t T_tdd_02_sequence[] = {
4748 { &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
4749 { NULL, 0, 0, NULL }
4752 static int
4753 dissect_ulp_T_tdd_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4754 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4755 ett_ulp_T_tdd_02, T_tdd_02_sequence);
4757 return offset;
4761 static const value_string ulp_T_modeSpecificInfo_02_vals[] = {
4762 { 0, "fdd" },
4763 { 1, "tdd" },
4764 { 0, NULL }
4767 static const per_choice_t T_modeSpecificInfo_02_choice[] = {
4768 { 0, &hf_ulp_fdd_02 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_02 },
4769 { 1, &hf_ulp_tdd_02 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_02 },
4770 { 0, NULL, 0, NULL }
4773 static int
4774 dissect_ulp_T_modeSpecificInfo_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4775 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4776 ett_ulp_T_modeSpecificInfo_02, T_modeSpecificInfo_02_choice,
4777 NULL);
4779 return offset;
4783 static const per_sequence_t UTRAN_GPSReferenceTimeResult_sequence[] = {
4784 { &hf_ulp_set_GPSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_set_GPSTimingOfCell },
4785 { &hf_ulp_modeSpecificInfo_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_02 },
4786 { &hf_ulp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
4787 { &hf_ulp_gpsReferenceTimeUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
4788 { NULL, 0, 0, NULL }
4791 static int
4792 dissect_ulp_UTRAN_GPSReferenceTimeResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4793 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4794 ett_ulp_UTRAN_GPSReferenceTimeResult, UTRAN_GPSReferenceTimeResult_sequence);
4796 return offset;
4801 static int
4802 dissect_ulp_INTEGER_0_86399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4803 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4804 0U, 86399U, NULL, FALSE);
4806 return offset;
4811 static int
4812 dissect_ulp_INTEGER_0_3999999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4813 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4814 0U, 3999999U, NULL, FALSE);
4816 return offset;
4820 static const per_sequence_t T_fdd_03_sequence[] = {
4821 { &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
4822 { NULL, 0, 0, NULL }
4825 static int
4826 dissect_ulp_T_fdd_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4827 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4828 ett_ulp_T_fdd_03, T_fdd_03_sequence);
4830 return offset;
4834 static const per_sequence_t T_tdd_03_sequence[] = {
4835 { &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
4836 { NULL, 0, 0, NULL }
4839 static int
4840 dissect_ulp_T_tdd_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4841 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4842 ett_ulp_T_tdd_03, T_tdd_03_sequence);
4844 return offset;
4848 static const value_string ulp_T_modeSpecificInfo_03_vals[] = {
4849 { 0, "fdd" },
4850 { 1, "tdd" },
4851 { 0, NULL }
4854 static const per_choice_t T_modeSpecificInfo_03_choice[] = {
4855 { 0, &hf_ulp_fdd_03 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_03 },
4856 { 1, &hf_ulp_tdd_03 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_03 },
4857 { 0, NULL, 0, NULL }
4860 static int
4861 dissect_ulp_T_modeSpecificInfo_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4862 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4863 ett_ulp_T_modeSpecificInfo_03, T_modeSpecificInfo_03_choice,
4864 NULL);
4866 return offset;
4870 static const per_sequence_t UTRAN_GANSSReferenceTime_sequence[] = {
4871 { &hf_ulp_ganssTOD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_86399 },
4872 { &hf_ulp_utran_GANSSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_3999999 },
4873 { &hf_ulp_modeSpecificInfo_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_03 },
4874 { &hf_ulp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
4875 { &hf_ulp_ganss_TODUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
4876 { NULL, 0, 0, NULL }
4879 static int
4880 dissect_ulp_UTRAN_GANSSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4881 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4882 ett_ulp_UTRAN_GANSSReferenceTime, UTRAN_GANSSReferenceTime_sequence);
4884 return offset;
4888 static const value_string ulp_UTRANGANSSDriftRate_vals[] = {
4889 { 0, "utran-GANSSDrift0" },
4890 { 1, "utran-GANSSDrift1" },
4891 { 2, "utran-GANSSDrift2" },
4892 { 3, "utran-GANSSDrift5" },
4893 { 4, "utran-GANSSDrift10" },
4894 { 5, "utran-GANSSDrift15" },
4895 { 6, "utran-GANSSDrift25" },
4896 { 7, "utran-GANSSDrift50" },
4897 { 8, "utran-GANSSDrift-1" },
4898 { 9, "utran-GANSSDrift-2" },
4899 { 10, "utran-GANSSDrift-5" },
4900 { 11, "utran-GANSSDrift-10" },
4901 { 12, "utran-GANSSDrift-15" },
4902 { 13, "utran-GANSSDrift-25" },
4903 { 14, "utran-GANSSDrift-50" },
4904 { 0, NULL }
4908 static int
4909 dissect_ulp_UTRANGANSSDriftRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4910 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4911 15, NULL, FALSE, 0, NULL);
4913 return offset;
4917 static const per_sequence_t UTRAN_GANSSReferenceTimeAssistance_sequence[] = {
4918 { &hf_ulp_ganssDay , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_8191 },
4919 { &hf_ulp_ganssTimeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
4920 { &hf_ulp_utran_GANSSReferenceTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_UTRAN_GANSSReferenceTime },
4921 { &hf_ulp_utranGANSSDriftRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_UTRANGANSSDriftRate },
4922 { NULL, 0, 0, NULL }
4925 static int
4926 dissect_ulp_UTRAN_GANSSReferenceTimeAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4927 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4928 ett_ulp_UTRAN_GANSSReferenceTimeAssistance, UTRAN_GANSSReferenceTimeAssistance_sequence);
4930 return offset;
4935 static int
4936 dissect_ulp_INTEGER_0_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4937 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4938 0U, 80U, NULL, FALSE);
4940 return offset;
4944 static const per_sequence_t T_set_GANSSTimingOfCell_sequence[] = {
4945 { &hf_ulp_ms_part_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_80 },
4946 { &hf_ulp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4294967295 },
4947 { NULL, 0, 0, NULL }
4950 static int
4951 dissect_ulp_T_set_GANSSTimingOfCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4952 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4953 ett_ulp_T_set_GANSSTimingOfCell, T_set_GANSSTimingOfCell_sequence);
4955 return offset;
4959 static const per_sequence_t T_fdd_04_sequence[] = {
4960 { &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
4961 { NULL, 0, 0, NULL }
4964 static int
4965 dissect_ulp_T_fdd_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4966 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4967 ett_ulp_T_fdd_04, T_fdd_04_sequence);
4969 return offset;
4973 static const per_sequence_t T_tdd_04_sequence[] = {
4974 { &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
4975 { NULL, 0, 0, NULL }
4978 static int
4979 dissect_ulp_T_tdd_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4980 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4981 ett_ulp_T_tdd_04, T_tdd_04_sequence);
4983 return offset;
4987 static const value_string ulp_T_modeSpecificInfo_04_vals[] = {
4988 { 0, "fdd" },
4989 { 1, "tdd" },
4990 { 0, NULL }
4993 static const per_choice_t T_modeSpecificInfo_04_choice[] = {
4994 { 0, &hf_ulp_fdd_04 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_04 },
4995 { 1, &hf_ulp_tdd_04 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_04 },
4996 { 0, NULL, 0, NULL }
4999 static int
5000 dissect_ulp_T_modeSpecificInfo_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5001 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5002 ett_ulp_T_modeSpecificInfo_04, T_modeSpecificInfo_04_choice,
5003 NULL);
5005 return offset;
5009 static const per_sequence_t SET_GANSSReferenceTime_sequence[] = {
5010 { &hf_ulp_set_GANSSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_set_GANSSTimingOfCell },
5011 { &hf_ulp_modeSpecificInfo_04, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_04 },
5012 { &hf_ulp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
5013 { &hf_ulp_ganss_TODUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
5014 { NULL, 0, 0, NULL }
5017 static int
5018 dissect_ulp_SET_GANSSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5019 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5020 ett_ulp_SET_GANSSReferenceTime, SET_GANSSReferenceTime_sequence);
5022 return offset;
5026 static const per_sequence_t UTRAN_GANSSReferenceTimeResult_sequence[] = {
5027 { &hf_ulp_ganssTimeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
5028 { &hf_ulp_set_GANSSReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SET_GANSSReferenceTime },
5029 { NULL, 0, 0, NULL }
5032 static int
5033 dissect_ulp_UTRAN_GANSSReferenceTimeResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5034 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5035 ett_ulp_UTRAN_GANSSReferenceTimeResult, UTRAN_GANSSReferenceTimeResult_sequence);
5037 return offset;
5041 static const per_sequence_t Ver2_SUPL_POS_extension_sequence[] = {
5042 { &hf_ulp_utran_GPSReferenceTimeAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GPSReferenceTimeAssistance },
5043 { &hf_ulp_utran_GPSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GPSReferenceTimeResult },
5044 { &hf_ulp_utran_GANSSReferenceTimeAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GANSSReferenceTimeAssistance },
5045 { &hf_ulp_utran_GANSSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GANSSReferenceTimeResult },
5046 { NULL, 0, 0, NULL }
5049 static int
5050 dissect_ulp_Ver2_SUPL_POS_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5051 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5052 ett_ulp_Ver2_SUPL_POS_extension, Ver2_SUPL_POS_extension_sequence);
5054 return offset;
5058 static const per_sequence_t SUPLPOS_sequence[] = {
5059 { &hf_ulp_posPayLoad , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosPayLoad },
5060 { &hf_ulp_velocity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Velocity },
5061 { &hf_ulp_ver2_SUPL_POS_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_POS_extension },
5062 { NULL, 0, 0, NULL }
5065 static int
5066 dissect_ulp_SUPLPOS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5067 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5068 ett_ulp_SUPLPOS, SUPLPOS_sequence);
5070 return offset;
5075 static int
5076 dissect_ulp_Ver(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5077 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5078 64, 64, FALSE, NULL);
5080 return offset;
5084 static const per_sequence_t Ver2_SUPL_POS_INIT_extension_sequence[] = {
5085 { &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
5086 { &hf_ulp_utran_GPSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GPSReferenceTimeResult },
5087 { &hf_ulp_utran_GANSSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GANSSReferenceTimeResult },
5088 { NULL, 0, 0, NULL }
5091 static int
5092 dissect_ulp_Ver2_SUPL_POS_INIT_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5093 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5094 ett_ulp_Ver2_SUPL_POS_INIT_extension, Ver2_SUPL_POS_INIT_extension_sequence);
5096 return offset;
5100 static const per_sequence_t SUPLPOSINIT_sequence[] = {
5101 { &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETCapabilities },
5102 { &hf_ulp_requestedAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RequestedAssistData },
5103 { &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
5104 { &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
5105 { &hf_ulp_sUPLPOS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SUPLPOS },
5106 { &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
5107 { &hf_ulp_ver2_SUPL_POS_INIT_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_POS_INIT_extension },
5108 { NULL, 0, 0, NULL }
5111 static int
5112 dissect_ulp_SUPLPOSINIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5113 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5114 ett_ulp_SUPLPOSINIT, SUPLPOSINIT_sequence);
5116 return offset;
5120 static const value_string ulp_StatusCode_vals[] = {
5121 { 0, "unspecified" },
5122 { 1, "systemFailure" },
5123 { 2, "unexpectedMessage" },
5124 { 3, "protocolError" },
5125 { 4, "dataMissing" },
5126 { 5, "unexpectedDataValue" },
5127 { 6, "posMethodFailure" },
5128 { 7, "posMethodMismatch" },
5129 { 8, "posProtocolMismatch" },
5130 { 9, "targetSETnotReachable" },
5131 { 10, "versionNotSupported" },
5132 { 11, "resourceShortage" },
5133 { 12, "invalidSessionId" },
5134 { 13, "nonProxyModeNotSupported" },
5135 { 14, "proxyModeNotSupported" },
5136 { 15, "positioningNotPermitted" },
5137 { 16, "authNetFailure" },
5138 { 17, "authSuplinitFailure" },
5139 { 100, "consentDeniedByUser" },
5140 { 101, "consentGrantedByUser" },
5141 { 18, "ver2-incompatibleProtectionLevel" },
5142 { 19, "ver2-serviceNotSupported" },
5143 { 20, "ver2-insufficientInterval" },
5144 { 21, "ver2-noSUPLCoverage" },
5145 { 102, "ver2-sessionStopped" },
5146 { 0, NULL }
5149 static guint32 StatusCode_value_map[20+5] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 100, 101, 18, 19, 20, 21, 102};
5151 static int
5152 dissect_ulp_StatusCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5153 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5154 20, NULL, TRUE, 5, StatusCode_value_map);
5156 return offset;
5160 static const per_sequence_t Ver2_SUPL_END_extension_sequence[] = {
5161 { &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETCapabilities },
5162 { NULL, 0, 0, NULL }
5165 static int
5166 dissect_ulp_Ver2_SUPL_END_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5167 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5168 ett_ulp_Ver2_SUPL_END_extension, Ver2_SUPL_END_extension_sequence);
5170 return offset;
5174 static const per_sequence_t SUPLEND_sequence[] = {
5175 { &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
5176 { &hf_ulp_statusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_StatusCode },
5177 { &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
5178 { &hf_ulp_ver2_SUPL_END_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_END_extension },
5179 { NULL, 0, 0, NULL }
5182 static int
5183 dissect_ulp_SUPLEND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5184 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5185 ett_ulp_SUPLEND, SUPLEND_sequence);
5187 return offset;
5191 static const per_sequence_t SUPLAUTHREQ_sequence[] = {
5192 { &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
5193 { &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETCapabilities },
5194 { NULL, 0, 0, NULL }
5197 static int
5198 dissect_ulp_SUPLAUTHREQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5199 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5200 ett_ulp_SUPLAUTHREQ, SUPLAUTHREQ_sequence);
5202 return offset;
5206 static const per_sequence_t SUPLAUTHRESP_sequence[] = {
5207 { &hf_ulp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SPCSETKey },
5208 { &hf_ulp_sPCTID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SPCTID },
5209 { &hf_ulp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKeylifetime },
5210 { NULL, 0, 0, NULL }
5213 static int
5214 dissect_ulp_SUPLAUTHRESP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5215 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5216 ett_ulp_SUPLAUTHRESP, SUPLAUTHRESP_sequence);
5218 return offset;
5223 static int
5224 dissect_ulp_INTEGER_1_8639999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5225 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5226 1U, 8639999U, NULL, FALSE);
5228 return offset;
5233 static int
5234 dissect_ulp_INTEGER_0_2678400(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5235 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5236 0U, 2678400U, NULL, FALSE);
5238 return offset;
5242 static const per_sequence_t PeriodicParams_sequence[] = {
5243 { &hf_ulp_numberOfFixes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_8639999 },
5244 { &hf_ulp_intervalBetweenFixes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_8639999 },
5245 { &hf_ulp_startTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_2678400 },
5246 { NULL, 0, 0, NULL }
5249 static int
5250 dissect_ulp_PeriodicParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5251 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5252 ett_ulp_PeriodicParams, PeriodicParams_sequence);
5254 return offset;
5258 static const value_string ulp_AreaEventType_vals[] = {
5259 { 0, "enteringArea" },
5260 { 1, "insideArea" },
5261 { 2, "outsideArea" },
5262 { 3, "leavingArea" },
5263 { 0, NULL }
5267 static int
5268 dissect_ulp_AreaEventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5269 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5270 4, NULL, TRUE, 0, NULL);
5272 return offset;
5277 static int
5278 dissect_ulp_INTEGER_1_604800(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5279 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5280 1U, 604800U, NULL, FALSE);
5282 return offset;
5286 static const per_sequence_t RepeatedReportingParams_sequence[] = {
5287 { &hf_ulp_minimumIntervalTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_604800 },
5288 { &hf_ulp_maximumNumberOfReports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_1024 },
5289 { NULL, 0, 0, NULL }
5292 static int
5293 dissect_ulp_RepeatedReportingParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5294 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5295 ett_ulp_RepeatedReportingParams, RepeatedReportingParams_sequence);
5297 return offset;
5302 static int
5303 dissect_ulp_INTEGER_0_11318399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5304 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5305 0U, 11318399U, NULL, FALSE);
5307 return offset;
5311 static const value_string ulp_T_latitudeSign_01_vals[] = {
5312 { 0, "north" },
5313 { 1, "south" },
5314 { 0, NULL }
5318 static int
5319 dissect_ulp_T_latitudeSign_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5320 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5321 2, NULL, FALSE, 0, NULL);
5323 return offset;
5327 static const per_sequence_t Coordinate_sequence[] = {
5328 { &hf_ulp_latitudeSign_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_latitudeSign_01 },
5329 { &hf_ulp_latitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
5330 { &hf_ulp_longitude , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_M8388608_8388607 },
5331 { NULL, 0, 0, NULL }
5334 static int
5335 dissect_ulp_Coordinate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5336 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5337 ett_ulp_Coordinate, Coordinate_sequence);
5339 return offset;
5344 static int
5345 dissect_ulp_INTEGER_1_1000000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5346 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5347 1U, 1000000U, NULL, FALSE);
5349 return offset;
5354 static int
5355 dissect_ulp_INTEGER_1_1500000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5356 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5357 1U, 1500000U, NULL, FALSE);
5359 return offset;
5363 static const per_sequence_t CircularArea_sequence[] = {
5364 { &hf_ulp_coordinate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Coordinate },
5365 { &hf_ulp_radius , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_1000000 },
5366 { &hf_ulp_radius_min , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1000000 },
5367 { &hf_ulp_radius_max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1500000 },
5368 { NULL, 0, 0, NULL }
5371 static int
5372 dissect_ulp_CircularArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5373 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5374 ett_ulp_CircularArea, CircularArea_sequence);
5376 return offset;
5381 static int
5382 dissect_ulp_INTEGER_0_179(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5383 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5384 0U, 179U, NULL, FALSE);
5386 return offset;
5390 static const per_sequence_t EllipticalArea_sequence[] = {
5391 { &hf_ulp_coordinate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Coordinate },
5392 { &hf_ulp_semiMajor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_1000000 },
5393 { &hf_ulp_semiMajor_min , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1000000 },
5394 { &hf_ulp_semiMajor_max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1500000 },
5395 { &hf_ulp_semiMinor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_1000000 },
5396 { &hf_ulp_semiMinor_min , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1000000 },
5397 { &hf_ulp_semiMinor_max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1500000 },
5398 { &hf_ulp_angle , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_179 },
5399 { NULL, 0, 0, NULL }
5402 static int
5403 dissect_ulp_EllipticalArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5404 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5405 ett_ulp_EllipticalArea, EllipticalArea_sequence);
5407 return offset;
5411 static const per_sequence_t PolygonDescription_sequence_of[1] = {
5412 { &hf_ulp_PolygonDescription_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Coordinate },
5415 static int
5416 dissect_ulp_PolygonDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5417 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5418 ett_ulp_PolygonDescription, PolygonDescription_sequence_of,
5419 3, 15, FALSE);
5421 return offset;
5426 static int
5427 dissect_ulp_INTEGER_1_100000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5428 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5429 1U, 100000U, NULL, FALSE);
5431 return offset;
5435 static const per_sequence_t PolygonArea_sequence[] = {
5436 { &hf_ulp_polygonDescription, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PolygonDescription },
5437 { &hf_ulp_polygonHysteresis, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_100000 },
5438 { NULL, 0, 0, NULL }
5441 static int
5442 dissect_ulp_PolygonArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5443 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5444 ett_ulp_PolygonArea, PolygonArea_sequence);
5446 return offset;
5450 static const value_string ulp_GeographicTargetArea_vals[] = {
5451 { 0, "circularArea" },
5452 { 1, "ellipticalArea" },
5453 { 2, "polygonArea" },
5454 { 0, NULL }
5457 static const per_choice_t GeographicTargetArea_choice[] = {
5458 { 0, &hf_ulp_circularArea , ASN1_EXTENSION_ROOT , dissect_ulp_CircularArea },
5459 { 1, &hf_ulp_ellipticalArea , ASN1_EXTENSION_ROOT , dissect_ulp_EllipticalArea },
5460 { 2, &hf_ulp_polygonArea , ASN1_EXTENSION_ROOT , dissect_ulp_PolygonArea },
5461 { 0, NULL, 0, NULL }
5464 static int
5465 dissect_ulp_GeographicTargetArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5466 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5467 ett_ulp_GeographicTargetArea, GeographicTargetArea_choice,
5468 NULL);
5470 return offset;
5474 static const per_sequence_t GeographicTargetAreaList_sequence_of[1] = {
5475 { &hf_ulp_GeographicTargetAreaList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GeographicTargetArea },
5478 static int
5479 dissect_ulp_GeographicTargetAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5480 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5481 ett_ulp_GeographicTargetAreaList, GeographicTargetAreaList_sequence_of,
5482 1, maxNumGeoArea, FALSE);
5484 return offset;
5488 static const per_sequence_t GSMAreaId_sequence[] = {
5489 { &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5490 { &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5491 { &hf_ulp_refLAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
5492 { &hf_ulp_refCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
5493 { NULL, 0, 0, NULL }
5496 static int
5497 dissect_ulp_GSMAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5498 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5499 ett_ulp_GSMAreaId, GSMAreaId_sequence);
5501 return offset;
5505 static const per_sequence_t WCDMAAreaId_sequence[] = {
5506 { &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5507 { &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5508 { &hf_ulp_refLAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
5509 { &hf_ulp_refUC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_268435455 },
5510 { NULL, 0, 0, NULL }
5513 static int
5514 dissect_ulp_WCDMAAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5515 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5516 ett_ulp_WCDMAAreaId, WCDMAAreaId_sequence);
5518 return offset;
5522 static const per_sequence_t CDMAAreaId_sequence[] = {
5523 { &hf_ulp_refSID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
5524 { &hf_ulp_refNID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_32767 },
5525 { &hf_ulp_refBASEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
5526 { NULL, 0, 0, NULL }
5529 static int
5530 dissect_ulp_CDMAAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5531 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5532 ett_ulp_CDMAAreaId, CDMAAreaId_sequence);
5534 return offset;
5538 static const per_sequence_t HRPDAreaId_sequence[] = {
5539 { &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_128 },
5540 { NULL, 0, 0, NULL }
5543 static int
5544 dissect_ulp_HRPDAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5545 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5546 ett_ulp_HRPDAreaId, HRPDAreaId_sequence);
5548 return offset;
5552 static const per_sequence_t UMBAreaId_sequence[] = {
5553 { &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5554 { &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5555 { &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_128 },
5556 { NULL, 0, 0, NULL }
5559 static int
5560 dissect_ulp_UMBAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5561 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5562 ett_ulp_UMBAreaId, UMBAreaId_sequence);
5564 return offset;
5569 static int
5570 dissect_ulp_BIT_STRING_SIZE_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5571 offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5572 29, 29, FALSE, NULL);
5574 return offset;
5578 static const per_sequence_t LTEAreaId_sequence[] = {
5579 { &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5580 { &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
5581 { &hf_ulp_refCI_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_29 },
5582 { NULL, 0, 0, NULL }
5585 static int
5586 dissect_ulp_LTEAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5587 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5588 ett_ulp_LTEAreaId, LTEAreaId_sequence);
5590 return offset;
5594 static const per_sequence_t WLANAreaId_sequence[] = {
5595 { &hf_ulp_apMACAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_48 },
5596 { NULL, 0, 0, NULL }
5599 static int
5600 dissect_ulp_WLANAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5601 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5602 ett_ulp_WLANAreaId, WLANAreaId_sequence);
5604 return offset;
5608 static const per_sequence_t WimaxAreaId_sequence[] = {
5609 { &hf_ulp_bsID_MSB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_24 },
5610 { &hf_ulp_bsID_LSB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_24 },
5611 { NULL, 0, 0, NULL }
5614 static int
5615 dissect_ulp_WimaxAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5616 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5617 ett_ulp_WimaxAreaId, WimaxAreaId_sequence);
5619 return offset;
5623 static const value_string ulp_AreaId_vals[] = {
5624 { 0, "gSMAreaId" },
5625 { 1, "wCDMAAreaId" },
5626 { 2, "cDMAAreaId" },
5627 { 3, "hRPDAreaId" },
5628 { 4, "uMBAreaId" },
5629 { 5, "lTEAreaId" },
5630 { 6, "wLANAreaId" },
5631 { 7, "wiMAXAreaId" },
5632 { 0, NULL }
5635 static const per_choice_t AreaId_choice[] = {
5636 { 0, &hf_ulp_gSMAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_GSMAreaId },
5637 { 1, &hf_ulp_wCDMAAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_WCDMAAreaId },
5638 { 2, &hf_ulp_cDMAAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_CDMAAreaId },
5639 { 3, &hf_ulp_hRPDAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_HRPDAreaId },
5640 { 4, &hf_ulp_uMBAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_UMBAreaId },
5641 { 5, &hf_ulp_lTEAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_LTEAreaId },
5642 { 6, &hf_ulp_wLANAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_WLANAreaId },
5643 { 7, &hf_ulp_wiMAXAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_WimaxAreaId },
5644 { 0, NULL, 0, NULL }
5647 static int
5648 dissect_ulp_AreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5649 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5650 ett_ulp_AreaId, AreaId_choice,
5651 NULL);
5653 return offset;
5657 static const per_sequence_t AreaIdSet_sequence_of[1] = {
5658 { &hf_ulp_AreaIdSet_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_AreaId },
5661 static int
5662 dissect_ulp_AreaIdSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5663 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5664 ett_ulp_AreaIdSet, AreaIdSet_sequence_of,
5665 1, maxAreaId, FALSE);
5667 return offset;
5671 static const value_string ulp_AreaIdSetType_vals[] = {
5672 { 0, "border" },
5673 { 1, "within" },
5674 { 0, NULL }
5678 static int
5679 dissect_ulp_AreaIdSetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5680 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5681 2, NULL, TRUE, 0, NULL);
5683 return offset;
5688 static int
5689 dissect_ulp_GeoAreaIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5690 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5691 1U, maxNumGeoArea, NULL, FALSE);
5693 return offset;
5697 static const per_sequence_t GeoAreaMappingList_sequence_of[1] = {
5698 { &hf_ulp_GeoAreaMappingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GeoAreaIndex },
5701 static int
5702 dissect_ulp_GeoAreaMappingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5703 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5704 ett_ulp_GeoAreaMappingList, GeoAreaMappingList_sequence_of,
5705 1, maxNumGeoArea, FALSE);
5707 return offset;
5711 static const per_sequence_t AreaIdList_sequence[] = {
5712 { &hf_ulp_areaIdSet , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_AreaIdSet },
5713 { &hf_ulp_areaIdSetType , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_AreaIdSetType },
5714 { &hf_ulp_geoAreaMappingList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_GeoAreaMappingList },
5715 { NULL, 0, 0, NULL }
5718 static int
5719 dissect_ulp_AreaIdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5720 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5721 ett_ulp_AreaIdList, AreaIdList_sequence);
5723 return offset;
5727 static const per_sequence_t SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList_sequence_of[1] = {
5728 { &hf_ulp_areaIdLists_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_AreaIdList },
5731 static int
5732 dissect_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5733 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5734 ett_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList, SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList_sequence_of,
5735 1, maxAreaIdList, FALSE);
5737 return offset;
5741 static const per_sequence_t AreaEventParams_sequence[] = {
5742 { &hf_ulp_areaEventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_AreaEventType },
5743 { &hf_ulp_locationEstimate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
5744 { &hf_ulp_repeatedReportingParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RepeatedReportingParams },
5745 { &hf_ulp_startTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_2678400 },
5746 { &hf_ulp_stopTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_11318399 },
5747 { &hf_ulp_geographicTargetAreaList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GeographicTargetAreaList },
5748 { &hf_ulp_areaIdLists , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList },
5749 { NULL, 0, 0, NULL }
5752 static int
5753 dissect_ulp_AreaEventParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5754 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5755 ett_ulp_AreaEventParams, AreaEventParams_sequence);
5757 return offset;
5761 static const value_string ulp_TriggerParams_vals[] = {
5762 { 0, "periodicParams" },
5763 { 1, "areaEventParams" },
5764 { 0, NULL }
5767 static const per_choice_t TriggerParams_choice[] = {
5768 { 0, &hf_ulp_periodicParams , ASN1_EXTENSION_ROOT , dissect_ulp_PeriodicParams },
5769 { 1, &hf_ulp_areaEventParams , ASN1_EXTENSION_ROOT , dissect_ulp_AreaEventParams },
5770 { 0, NULL, 0, NULL }
5773 static int
5774 dissect_ulp_TriggerParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5775 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5776 ett_ulp_TriggerParams, TriggerParams_choice,
5777 NULL);
5779 return offset;
5783 static const value_string ulp_CauseCode_vals[] = {
5784 { 0, "servingNetWorkNotInAreaIdList" },
5785 { 1, "sETCapabilitiesChanged" },
5786 { 2, "noSUPLCoverage" },
5787 { 0, NULL }
5791 static int
5792 dissect_ulp_CauseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5793 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5794 3, NULL, TRUE, 0, NULL);
5796 return offset;
5800 static const per_sequence_t Ver2_SUPLTRIGGEREDSTART_sequence[] = {
5801 { &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETCapabilities },
5802 { &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
5803 { &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
5804 { &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
5805 { &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
5806 { &hf_ulp_thirdParty , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ThirdParty },
5807 { &hf_ulp_applicationID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ApplicationID },
5808 { &hf_ulp_triggerType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerType },
5809 { &hf_ulp_triggerParams , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerParams },
5810 { &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
5811 { &hf_ulp_reportingCap , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingCap },
5812 { &hf_ulp_causeCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_CauseCode },
5813 { NULL, 0, 0, NULL }
5816 static int
5817 dissect_ulp_Ver2_SUPLTRIGGEREDSTART(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5818 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5819 ett_ulp_Ver2_SUPLTRIGGEREDSTART, Ver2_SUPLTRIGGEREDSTART_sequence);
5821 return offset;
5825 static const value_string ulp_RepMode_vals[] = {
5826 { 1, "realtime" },
5827 { 2, "quasirealtime" },
5828 { 3, "batch" },
5829 { 0, NULL }
5832 static guint32 RepMode_value_map[3+0] = {1, 2, 3};
5834 static int
5835 dissect_ulp_RepMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5836 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5837 3, NULL, TRUE, 0, RepMode_value_map);
5839 return offset;
5844 static int
5845 dissect_ulp_INTEGER_1_2048(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5846 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5847 1U, 2048U, NULL, FALSE);
5849 return offset;
5853 static const value_string ulp_BatchRepConditions_vals[] = {
5854 { 0, "num-interval" },
5855 { 1, "num-minutes" },
5856 { 2, "endofsession" },
5857 { 0, NULL }
5860 static const per_choice_t BatchRepConditions_choice[] = {
5861 { 0, &hf_ulp_num_interval , ASN1_EXTENSION_ROOT , dissect_ulp_INTEGER_1_1024 },
5862 { 1, &hf_ulp_num_minutes , ASN1_EXTENSION_ROOT , dissect_ulp_INTEGER_1_2048 },
5863 { 2, &hf_ulp_endofsession , ASN1_EXTENSION_ROOT , dissect_ulp_NULL },
5864 { 0, NULL, 0, NULL }
5867 static int
5868 dissect_ulp_BatchRepConditions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5869 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5870 ett_ulp_BatchRepConditions, BatchRepConditions_choice,
5871 NULL);
5873 return offset;
5877 static const per_sequence_t BatchRepType_sequence[] = {
5878 { &hf_ulp_reportPosition , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
5879 { &hf_ulp_reportMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
5880 { &hf_ulp_intermediateReports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
5881 { &hf_ulp_discardOldest , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BOOLEAN },
5882 { NULL, 0, 0, NULL }
5885 static int
5886 dissect_ulp_BatchRepType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5887 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5888 ett_ulp_BatchRepType, BatchRepType_sequence);
5890 return offset;
5894 static const per_sequence_t ReportingMode_sequence[] = {
5895 { &hf_ulp_repMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_RepMode },
5896 { &hf_ulp_batchRepConditions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BatchRepConditions },
5897 { &hf_ulp_batchRepType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BatchRepType },
5898 { NULL, 0, 0, NULL }
5901 static int
5902 dissect_ulp_ReportingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5903 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5904 ett_ulp_ReportingMode, ReportingMode_sequence);
5906 return offset;
5910 static const per_sequence_t Ver2_SUPLTRIGGEREDRESPONSE_sequence[] = {
5911 { &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosMethod },
5912 { &hf_ulp_triggerParams , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerParams },
5913 { &hf_ulp_sLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
5914 { &hf_ulp_supportedNetworkInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedNetworkInformation },
5915 { &hf_ulp_reportingMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingMode },
5916 { &hf_ulp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKey },
5917 { &hf_ulp_sPCTID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCTID },
5918 { &hf_ulp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKeylifetime },
5919 { &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
5920 { NULL, 0, 0, NULL }
5923 static int
5924 dissect_ulp_Ver2_SUPLTRIGGEREDRESPONSE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5925 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5926 ett_ulp_Ver2_SUPLTRIGGEREDRESPONSE, Ver2_SUPLTRIGGEREDRESPONSE_sequence);
5928 return offset;
5932 static const per_sequence_t Ver2_SUPLTRIGGEREDSTOP_sequence[] = {
5933 { &hf_ulp_statusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_StatusCode },
5934 { NULL, 0, 0, NULL }
5937 static int
5938 dissect_ulp_Ver2_SUPLTRIGGEREDSTOP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5939 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5940 ett_ulp_Ver2_SUPLTRIGGEREDSTOP, Ver2_SUPLTRIGGEREDSTOP_sequence);
5942 return offset;
5946 static const per_sequence_t Ver2_SUPLNOTIFY_sequence[] = {
5947 { &hf_ulp_notification , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_Notification },
5948 { NULL, 0, 0, NULL }
5951 static int
5952 dissect_ulp_Ver2_SUPLNOTIFY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5953 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5954 ett_ulp_Ver2_SUPLNOTIFY, Ver2_SUPLNOTIFY_sequence);
5956 return offset;
5960 static const value_string ulp_NotificationResponse_vals[] = {
5961 { 0, "allowed" },
5962 { 1, "notAllowed" },
5963 { 0, NULL }
5967 static int
5968 dissect_ulp_NotificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5969 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5970 2, NULL, TRUE, 0, NULL);
5972 return offset;
5976 static const per_sequence_t Ver2_SUPLNOTIFYRESPONSE_sequence[] = {
5977 { &hf_ulp_notificationResponse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NotificationResponse },
5978 { NULL, 0, 0, NULL }
5981 static int
5982 dissect_ulp_Ver2_SUPLNOTIFYRESPONSE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5983 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5984 ett_ulp_Ver2_SUPLNOTIFYRESPONSE, Ver2_SUPLNOTIFYRESPONSE_sequence);
5986 return offset;
5990 static const per_sequence_t Ver2_SUPLSETINIT_sequence[] = {
5991 { &hf_ulp_targetSETID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETId },
5992 { &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
5993 { &hf_ulp_applicationID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ApplicationID },
5994 { NULL, 0, 0, NULL }
5997 static int
5998 dissect_ulp_Ver2_SUPLSETINIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5999 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6000 ett_ulp_Ver2_SUPLSETINIT, Ver2_SUPLSETINIT_sequence);
6002 return offset;
6006 static const per_sequence_t SessionInformation_sequence[] = {
6007 { &hf_ulp_sessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SessionID },
6008 { NULL, 0, 0, NULL }
6011 static int
6012 dissect_ulp_SessionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6013 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6014 ett_ulp_SessionInformation, SessionInformation_sequence);
6016 return offset;
6020 static const per_sequence_t SessionList_sequence_of[1] = {
6021 { &hf_ulp_SessionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SessionInformation },
6024 static int
6025 dissect_ulp_SessionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6026 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6027 ett_ulp_SessionList, SessionList_sequence_of,
6028 1, maxnumSessions, FALSE);
6030 return offset;
6034 static const per_sequence_t GANSSSignalsDescription_sequence[] = {
6035 { &hf_ulp_ganssId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
6036 { &hf_ulp_gANSSSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignals },
6037 { NULL, 0, 0, NULL }
6040 static int
6041 dissect_ulp_GANSSSignalsDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6042 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6043 ett_ulp_GANSSSignalsDescription, GANSSSignalsDescription_sequence);
6045 return offset;
6049 static const per_sequence_t GANSSsignalsInfo_sequence_of[1] = {
6050 { &hf_ulp_GANSSsignalsInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignalsDescription },
6053 static int
6054 dissect_ulp_GANSSsignalsInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6055 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6056 ett_ulp_GANSSsignalsInfo, GANSSsignalsInfo_sequence_of,
6057 1, maxGANSS, FALSE);
6059 return offset;
6063 static const per_sequence_t PositionData_sequence[] = {
6064 { &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_Position },
6065 { &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosMethod },
6066 { &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
6067 { &hf_ulp_ganssSignalsInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GANSSsignalsInfo },
6068 { NULL, 0, 0, NULL }
6071 static int
6072 dissect_ulp_PositionData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6073 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6074 ett_ulp_PositionData, PositionData_sequence);
6076 return offset;
6080 static const value_string ulp_ResultCode_vals[] = {
6081 { 1, "outofradiocoverage" },
6082 { 2, "noposition" },
6083 { 3, "nomeasurement" },
6084 { 4, "nopositionnomeasurement" },
6085 { 5, "outofmemory" },
6086 { 6, "outofmemoryintermediatereporting" },
6087 { 7, "other" },
6088 { 0, NULL }
6091 static guint32 ResultCode_value_map[7+0] = {1, 2, 3, 4, 5, 6, 7};
6093 static int
6094 dissect_ulp_ResultCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6095 offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6096 7, NULL, TRUE, 0, ResultCode_value_map);
6098 return offset;
6103 static int
6104 dissect_ulp_INTEGER_0_31536000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6105 offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6106 0U, 31536000U, NULL, FALSE);
6108 return offset;
6112 static const value_string ulp_TimeStamp_vals[] = {
6113 { 0, "absoluteTime" },
6114 { 1, "relativeTime" },
6115 { 0, NULL }
6118 static const per_choice_t TimeStamp_choice[] = {
6119 { 0, &hf_ulp_absoluteTime , ASN1_NO_EXTENSIONS , dissect_ulp_UTCTime },
6120 { 1, &hf_ulp_relativeTime , ASN1_NO_EXTENSIONS , dissect_ulp_INTEGER_0_31536000 },
6121 { 0, NULL, 0, NULL }
6124 static int
6125 dissect_ulp_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6126 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6127 ett_ulp_TimeStamp, TimeStamp_choice,
6128 NULL);
6130 return offset;
6134 static const per_sequence_t ReportData_sequence[] = {
6135 { &hf_ulp_positionData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PositionData },
6136 { &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
6137 { &hf_ulp_resultCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ResultCode },
6138 { &hf_ulp_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TimeStamp },
6139 { NULL, 0, 0, NULL }
6142 static int
6143 dissect_ulp_ReportData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6144 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6145 ett_ulp_ReportData, ReportData_sequence);
6147 return offset;
6151 static const per_sequence_t ReportDataList_sequence_of[1] = {
6152 { &hf_ulp_ReportDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_ReportData },
6155 static int
6156 dissect_ulp_ReportDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6157 offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6158 ett_ulp_ReportDataList, ReportDataList_sequence_of,
6159 1, 1024, FALSE);
6161 return offset;
6165 static const per_sequence_t Ver2_SUPLREPORT_sequence[] = {
6166 { &hf_ulp_sessionList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SessionList },
6167 { &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETCapabilities },
6168 { &hf_ulp_reportDataList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportDataList },
6169 { &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
6170 { &hf_ulp_moreComponents , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NULL },
6171 { NULL, 0, 0, NULL }
6174 static int
6175 dissect_ulp_Ver2_SUPLREPORT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6176 offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6177 ett_ulp_Ver2_SUPLREPORT, Ver2_SUPLREPORT_sequence);
6179 return offset;
6183 static const value_string ulp_UlpMessage_vals[] = {
6184 { 0, "msSUPLINIT" },
6185 { 1, "msSUPLSTART" },
6186 { 2, "msSUPLRESPONSE" },
6187 { 3, "msSUPLPOSINIT" },
6188 { 4, "msSUPLPOS" },
6189 { 5, "msSUPLEND" },
6190 { 6, "msSUPLAUTHREQ" },
6191 { 7, "msSUPLAUTHRESP" },
6192 { 8, "msSUPLTRIGGEREDSTART" },
6193 { 9, "msSUPLTRIGGEREDRESPONSE" },
6194 { 10, "msSUPLTRIGGEREDSTOP" },
6195 { 11, "msSUPLNOTIFY" },
6196 { 12, "msSUPLNOTIFYRESPONSE" },
6197 { 13, "msSUPLSETINIT" },
6198 { 14, "msSUPLREPORT" },
6199 { 0, NULL }
6202 static const per_choice_t UlpMessage_choice[] = {
6203 { 0, &hf_ulp_msSUPLINIT , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLINIT },
6204 { 1, &hf_ulp_msSUPLSTART , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLSTART },
6205 { 2, &hf_ulp_msSUPLRESPONSE , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLRESPONSE },
6206 { 3, &hf_ulp_msSUPLPOSINIT , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLPOSINIT },
6207 { 4, &hf_ulp_msSUPLPOS , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLPOS },
6208 { 5, &hf_ulp_msSUPLEND , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLEND },
6209 { 6, &hf_ulp_msSUPLAUTHREQ , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLAUTHREQ },
6210 { 7, &hf_ulp_msSUPLAUTHRESP , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLAUTHRESP },
6211 { 8, &hf_ulp_msSUPLTRIGGEREDSTART, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLTRIGGEREDSTART },
6212 { 9, &hf_ulp_msSUPLTRIGGEREDRESPONSE, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLTRIGGEREDRESPONSE },
6213 { 10, &hf_ulp_msSUPLTRIGGEREDSTOP, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLTRIGGEREDSTOP },
6214 { 11, &hf_ulp_msSUPLNOTIFY , ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLNOTIFY },
6215 { 12, &hf_ulp_msSUPLNOTIFYRESPONSE, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLNOTIFYRESPONSE },
6216 { 13, &hf_ulp_msSUPLSETINIT , ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLSETINIT },
6217 { 14, &hf_ulp_msSUPLREPORT , ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLREPORT },
6218 { 0, NULL, 0, NULL }
6221 static int
6222 dissect_ulp_UlpMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6223 #line 44 "../../asn1/ulp/ulp.cnf"
6225 guint32 UlpMessage;
6227 offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6228 ett_ulp_UlpMessage, UlpMessage_choice,
6229 &UlpMessage);
6232 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(UlpMessage,ulp_UlpMessage_vals,"Unknown"));
6236 return offset;
6240 static const per_sequence_t ULP_PDU_sequence[] = {
6241 { &hf_ulp_length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
6242 { &hf_ulp_version , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Version },
6243 { &hf_ulp_sessionID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SessionID },
6244 { &hf_ulp_message , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_UlpMessage },
6245 { NULL, 0, 0, NULL }
6248 static int
6249 dissect_ulp_ULP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6250 #line 29 "../../asn1/ulp/ulp.cnf"
6251 proto_item *it;
6252 proto_tree *ulp_tree;
6254 it = proto_tree_add_item(tree, proto_ulp, tvb, 0, -1, ENC_NA);
6255 ulp_tree = proto_item_add_subtree(it, ett_ulp);
6257 col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
6258 col_clear(actx->pinfo->cinfo, COL_INFO);
6260 #line 40 "../../asn1/ulp/ulp.cnf"
6261 offset = dissect_per_sequence(tvb, offset, actx, ulp_tree, hf_index,
6262 ett_ulp_ULP_PDU, ULP_PDU_sequence);
6266 return offset;
6269 /*--- PDUs ---*/
6271 static int dissect_ULP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
6272 int offset = 0;
6273 asn1_ctx_t asn1_ctx;
6274 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
6275 offset = dissect_ulp_ULP_PDU(tvb, offset, &asn1_ctx, tree, hf_ulp_ULP_PDU_PDU);
6276 offset += 7; offset >>= 3;
6277 return offset;
6281 /*--- End of included file: packet-ulp-fn.c ---*/
6282 #line 74 "../../asn1/ulp/packet-ulp-template.c"
6285 static guint
6286 get_ulp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
6288 /* PDU length = Message length */
6289 return tvb_get_ntohs(tvb,offset);
6292 static int
6293 dissect_ulp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
6295 tcp_dissect_pdus(tvb, pinfo, tree, ulp_desegment, ULP_HEADER_SIZE,
6296 get_ulp_pdu_len, dissect_ULP_PDU_PDU, data);
6297 return tvb_length(tvb);
6300 void proto_reg_handoff_ulp(void);
6302 /*--- proto_register_ulp -------------------------------------------*/
6303 void proto_register_ulp(void) {
6305 /* List of fields */
6306 static hf_register_info hf[] = {
6309 /*--- Included file: packet-ulp-hfarr.c ---*/
6310 #line 1 "../../asn1/ulp/packet-ulp-hfarr.c"
6311 { &hf_ulp_ULP_PDU_PDU,
6312 { "ULP-PDU", "ulp.ULP_PDU_element",
6313 FT_NONE, BASE_NONE, NULL, 0,
6314 NULL, HFILL }},
6315 { &hf_ulp_length,
6316 { "length", "ulp.length",
6317 FT_UINT32, BASE_DEC, NULL, 0,
6318 "INTEGER_0_65535", HFILL }},
6319 { &hf_ulp_version,
6320 { "version", "ulp.version_element",
6321 FT_NONE, BASE_NONE, NULL, 0,
6322 NULL, HFILL }},
6323 { &hf_ulp_sessionID,
6324 { "sessionID", "ulp.sessionID_element",
6325 FT_NONE, BASE_NONE, NULL, 0,
6326 NULL, HFILL }},
6327 { &hf_ulp_message,
6328 { "message", "ulp.message",
6329 FT_UINT32, BASE_DEC, VALS(ulp_UlpMessage_vals), 0,
6330 "UlpMessage", HFILL }},
6331 { &hf_ulp_msSUPLINIT,
6332 { "msSUPLINIT", "ulp.msSUPLINIT_element",
6333 FT_NONE, BASE_NONE, NULL, 0,
6334 "SUPLINIT", HFILL }},
6335 { &hf_ulp_msSUPLSTART,
6336 { "msSUPLSTART", "ulp.msSUPLSTART_element",
6337 FT_NONE, BASE_NONE, NULL, 0,
6338 "SUPLSTART", HFILL }},
6339 { &hf_ulp_msSUPLRESPONSE,
6340 { "msSUPLRESPONSE", "ulp.msSUPLRESPONSE_element",
6341 FT_NONE, BASE_NONE, NULL, 0,
6342 "SUPLRESPONSE", HFILL }},
6343 { &hf_ulp_msSUPLPOSINIT,
6344 { "msSUPLPOSINIT", "ulp.msSUPLPOSINIT_element",
6345 FT_NONE, BASE_NONE, NULL, 0,
6346 "SUPLPOSINIT", HFILL }},
6347 { &hf_ulp_msSUPLPOS,
6348 { "msSUPLPOS", "ulp.msSUPLPOS_element",
6349 FT_NONE, BASE_NONE, NULL, 0,
6350 "SUPLPOS", HFILL }},
6351 { &hf_ulp_msSUPLEND,
6352 { "msSUPLEND", "ulp.msSUPLEND_element",
6353 FT_NONE, BASE_NONE, NULL, 0,
6354 "SUPLEND", HFILL }},
6355 { &hf_ulp_msSUPLAUTHREQ,
6356 { "msSUPLAUTHREQ", "ulp.msSUPLAUTHREQ_element",
6357 FT_NONE, BASE_NONE, NULL, 0,
6358 "SUPLAUTHREQ", HFILL }},
6359 { &hf_ulp_msSUPLAUTHRESP,
6360 { "msSUPLAUTHRESP", "ulp.msSUPLAUTHRESP_element",
6361 FT_NONE, BASE_NONE, NULL, 0,
6362 "SUPLAUTHRESP", HFILL }},
6363 { &hf_ulp_msSUPLTRIGGEREDSTART,
6364 { "msSUPLTRIGGEREDSTART", "ulp.msSUPLTRIGGEREDSTART_element",
6365 FT_NONE, BASE_NONE, NULL, 0,
6366 "Ver2_SUPLTRIGGEREDSTART", HFILL }},
6367 { &hf_ulp_msSUPLTRIGGEREDRESPONSE,
6368 { "msSUPLTRIGGEREDRESPONSE", "ulp.msSUPLTRIGGEREDRESPONSE_element",
6369 FT_NONE, BASE_NONE, NULL, 0,
6370 "Ver2_SUPLTRIGGEREDRESPONSE", HFILL }},
6371 { &hf_ulp_msSUPLTRIGGEREDSTOP,
6372 { "msSUPLTRIGGEREDSTOP", "ulp.msSUPLTRIGGEREDSTOP_element",
6373 FT_NONE, BASE_NONE, NULL, 0,
6374 "Ver2_SUPLTRIGGEREDSTOP", HFILL }},
6375 { &hf_ulp_msSUPLNOTIFY,
6376 { "msSUPLNOTIFY", "ulp.msSUPLNOTIFY_element",
6377 FT_NONE, BASE_NONE, NULL, 0,
6378 "Ver2_SUPLNOTIFY", HFILL }},
6379 { &hf_ulp_msSUPLNOTIFYRESPONSE,
6380 { "msSUPLNOTIFYRESPONSE", "ulp.msSUPLNOTIFYRESPONSE_element",
6381 FT_NONE, BASE_NONE, NULL, 0,
6382 "Ver2_SUPLNOTIFYRESPONSE", HFILL }},
6383 { &hf_ulp_msSUPLSETINIT,
6384 { "msSUPLSETINIT", "ulp.msSUPLSETINIT_element",
6385 FT_NONE, BASE_NONE, NULL, 0,
6386 "Ver2_SUPLSETINIT", HFILL }},
6387 { &hf_ulp_msSUPLREPORT,
6388 { "msSUPLREPORT", "ulp.msSUPLREPORT_element",
6389 FT_NONE, BASE_NONE, NULL, 0,
6390 "Ver2_SUPLREPORT", HFILL }},
6391 { &hf_ulp_posMethod,
6392 { "posMethod", "ulp.posMethod",
6393 FT_UINT32, BASE_DEC, VALS(ulp_PosMethod_vals), 0,
6394 NULL, HFILL }},
6395 { &hf_ulp_notification,
6396 { "notification", "ulp.notification_element",
6397 FT_NONE, BASE_NONE, NULL, 0,
6398 NULL, HFILL }},
6399 { &hf_ulp_sLPAddress,
6400 { "sLPAddress", "ulp.sLPAddress",
6401 FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
6402 NULL, HFILL }},
6403 { &hf_ulp_qoP,
6404 { "qoP", "ulp.qoP_element",
6405 FT_NONE, BASE_NONE, NULL, 0,
6406 NULL, HFILL }},
6407 { &hf_ulp_sLPMode,
6408 { "sLPMode", "ulp.sLPMode",
6409 FT_UINT32, BASE_DEC, VALS(ulp_SLPMode_vals), 0,
6410 NULL, HFILL }},
6411 { &hf_ulp_mAC,
6412 { "mAC", "ulp.mAC",
6413 FT_BYTES, BASE_NONE, NULL, 0,
6414 NULL, HFILL }},
6415 { &hf_ulp_keyIdentity,
6416 { "keyIdentity", "ulp.keyIdentity",
6417 FT_BYTES, BASE_NONE, NULL, 0,
6418 NULL, HFILL }},
6419 { &hf_ulp_ver2_SUPL_INIT_extension,
6420 { "ver2-SUPL-INIT-extension", "ulp.ver2_SUPL_INIT_extension_element",
6421 FT_NONE, BASE_NONE, NULL, 0,
6422 NULL, HFILL }},
6423 { &hf_ulp_notificationType,
6424 { "notificationType", "ulp.notificationType",
6425 FT_UINT32, BASE_DEC, VALS(ulp_NotificationType_vals), 0,
6426 NULL, HFILL }},
6427 { &hf_ulp_encodingType,
6428 { "encodingType", "ulp.encodingType",
6429 FT_UINT32, BASE_DEC, VALS(ulp_EncodingType_vals), 0,
6430 NULL, HFILL }},
6431 { &hf_ulp_requestorId,
6432 { "requestorId", "ulp.requestorId",
6433 FT_BYTES, BASE_NONE, NULL, 0,
6434 "OCTET_STRING_SIZE_1_maxReqLength", HFILL }},
6435 { &hf_ulp_requestorIdType,
6436 { "requestorIdType", "ulp.requestorIdType",
6437 FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
6438 "FormatIndicator", HFILL }},
6439 { &hf_ulp_clientName,
6440 { "clientName", "ulp.clientName",
6441 FT_BYTES, BASE_NONE, NULL, 0,
6442 "OCTET_STRING_SIZE_1_maxClientLength", HFILL }},
6443 { &hf_ulp_clientNameType,
6444 { "clientNameType", "ulp.clientNameType",
6445 FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
6446 "FormatIndicator", HFILL }},
6447 { &hf_ulp_ver2_Notification_extension,
6448 { "ver2-Notification-extension", "ulp.ver2_Notification_extension_element",
6449 FT_NONE, BASE_NONE, NULL, 0,
6450 NULL, HFILL }},
6451 { &hf_ulp_sETCapabilities,
6452 { "sETCapabilities", "ulp.sETCapabilities_element",
6453 FT_NONE, BASE_NONE, NULL, 0,
6454 NULL, HFILL }},
6455 { &hf_ulp_locationId,
6456 { "locationId", "ulp.locationId_element",
6457 FT_NONE, BASE_NONE, NULL, 0,
6458 NULL, HFILL }},
6459 { &hf_ulp_ver2_SUPL_START_extension,
6460 { "ver2-SUPL-START-extension", "ulp.ver2_SUPL_START_extension_element",
6461 FT_NONE, BASE_NONE, NULL, 0,
6462 NULL, HFILL }},
6463 { &hf_ulp_posTechnology,
6464 { "posTechnology", "ulp.posTechnology_element",
6465 FT_NONE, BASE_NONE, NULL, 0,
6466 NULL, HFILL }},
6467 { &hf_ulp_prefMethod,
6468 { "prefMethod", "ulp.prefMethod",
6469 FT_UINT32, BASE_DEC, VALS(ulp_PrefMethod_vals), 0,
6470 NULL, HFILL }},
6471 { &hf_ulp_posProtocol,
6472 { "posProtocol", "ulp.posProtocol_element",
6473 FT_NONE, BASE_NONE, NULL, 0,
6474 NULL, HFILL }},
6475 { &hf_ulp_ver2_SETCapabilities_extension,
6476 { "ver2-SETCapabilities-extension", "ulp.ver2_SETCapabilities_extension_element",
6477 FT_NONE, BASE_NONE, NULL, 0,
6478 NULL, HFILL }},
6479 { &hf_ulp_agpsSETassisted,
6480 { "agpsSETassisted", "ulp.agpsSETassisted",
6481 FT_BOOLEAN, BASE_NONE, NULL, 0,
6482 "BOOLEAN", HFILL }},
6483 { &hf_ulp_agpsSETBased,
6484 { "agpsSETBased", "ulp.agpsSETBased",
6485 FT_BOOLEAN, BASE_NONE, NULL, 0,
6486 "BOOLEAN", HFILL }},
6487 { &hf_ulp_autonomousGPS,
6488 { "autonomousGPS", "ulp.autonomousGPS",
6489 FT_BOOLEAN, BASE_NONE, NULL, 0,
6490 "BOOLEAN", HFILL }},
6491 { &hf_ulp_aFLT,
6492 { "aFLT", "ulp.aFLT",
6493 FT_BOOLEAN, BASE_NONE, NULL, 0,
6494 "BOOLEAN", HFILL }},
6495 { &hf_ulp_eCID,
6496 { "eCID", "ulp.eCID",
6497 FT_BOOLEAN, BASE_NONE, NULL, 0,
6498 "BOOLEAN", HFILL }},
6499 { &hf_ulp_eOTD,
6500 { "eOTD", "ulp.eOTD",
6501 FT_BOOLEAN, BASE_NONE, NULL, 0,
6502 "BOOLEAN", HFILL }},
6503 { &hf_ulp_oTDOA,
6504 { "oTDOA", "ulp.oTDOA",
6505 FT_BOOLEAN, BASE_NONE, NULL, 0,
6506 "BOOLEAN", HFILL }},
6507 { &hf_ulp_ver2_PosTechnology_extension,
6508 { "ver2-PosTechnology-extension", "ulp.ver2_PosTechnology_extension_element",
6509 FT_NONE, BASE_NONE, NULL, 0,
6510 NULL, HFILL }},
6511 { &hf_ulp_tia801,
6512 { "tia801", "ulp.tia801",
6513 FT_BOOLEAN, BASE_NONE, NULL, 0,
6514 "BOOLEAN", HFILL }},
6515 { &hf_ulp_rrlp,
6516 { "rrlp", "ulp.rrlp",
6517 FT_BOOLEAN, BASE_NONE, NULL, 0,
6518 "BOOLEAN", HFILL }},
6519 { &hf_ulp_rrc,
6520 { "rrc", "ulp.rrc",
6521 FT_BOOLEAN, BASE_NONE, NULL, 0,
6522 "BOOLEAN", HFILL }},
6523 { &hf_ulp_ver2_PosProtocol_extension,
6524 { "ver2-PosProtocol-extension", "ulp.ver2_PosProtocol_extension_element",
6525 FT_NONE, BASE_NONE, NULL, 0,
6526 NULL, HFILL }},
6527 { &hf_ulp_sETAuthKey,
6528 { "sETAuthKey", "ulp.sETAuthKey",
6529 FT_UINT32, BASE_DEC, VALS(ulp_SETAuthKey_vals), 0,
6530 NULL, HFILL }},
6531 { &hf_ulp_keyIdentity4,
6532 { "keyIdentity4", "ulp.keyIdentity4",
6533 FT_BYTES, BASE_NONE, NULL, 0,
6534 NULL, HFILL }},
6535 { &hf_ulp_ver2_SUPL_RESPONSE_extension,
6536 { "ver2-SUPL-RESPONSE-extension", "ulp.ver2_SUPL_RESPONSE_extension_element",
6537 FT_NONE, BASE_NONE, NULL, 0,
6538 NULL, HFILL }},
6539 { &hf_ulp_shortKey,
6540 { "shortKey", "ulp.shortKey",
6541 FT_BYTES, BASE_NONE, NULL, 0,
6542 "BIT_STRING_SIZE_128", HFILL }},
6543 { &hf_ulp_longKey,
6544 { "longKey", "ulp.longKey",
6545 FT_BYTES, BASE_NONE, NULL, 0,
6546 "BIT_STRING_SIZE_256", HFILL }},
6547 { &hf_ulp_requestedAssistData,
6548 { "requestedAssistData", "ulp.requestedAssistData_element",
6549 FT_NONE, BASE_NONE, NULL, 0,
6550 NULL, HFILL }},
6551 { &hf_ulp_position,
6552 { "position", "ulp.position_element",
6553 FT_NONE, BASE_NONE, NULL, 0,
6554 NULL, HFILL }},
6555 { &hf_ulp_sUPLPOS,
6556 { "sUPLPOS", "ulp.sUPLPOS_element",
6557 FT_NONE, BASE_NONE, NULL, 0,
6558 NULL, HFILL }},
6559 { &hf_ulp_ver,
6560 { "ver", "ulp.ver",
6561 FT_BYTES, BASE_NONE, NULL, 0,
6562 NULL, HFILL }},
6563 { &hf_ulp_ver2_SUPL_POS_INIT_extension,
6564 { "ver2-SUPL-POS-INIT-extension", "ulp.ver2_SUPL_POS_INIT_extension_element",
6565 FT_NONE, BASE_NONE, NULL, 0,
6566 NULL, HFILL }},
6567 { &hf_ulp_almanacRequested,
6568 { "almanacRequested", "ulp.almanacRequested",
6569 FT_BOOLEAN, BASE_NONE, NULL, 0,
6570 "BOOLEAN", HFILL }},
6571 { &hf_ulp_utcModelRequested,
6572 { "utcModelRequested", "ulp.utcModelRequested",
6573 FT_BOOLEAN, BASE_NONE, NULL, 0,
6574 "BOOLEAN", HFILL }},
6575 { &hf_ulp_ionosphericModelRequested,
6576 { "ionosphericModelRequested", "ulp.ionosphericModelRequested",
6577 FT_BOOLEAN, BASE_NONE, NULL, 0,
6578 "BOOLEAN", HFILL }},
6579 { &hf_ulp_dgpsCorrectionsRequested,
6580 { "dgpsCorrectionsRequested", "ulp.dgpsCorrectionsRequested",
6581 FT_BOOLEAN, BASE_NONE, NULL, 0,
6582 "BOOLEAN", HFILL }},
6583 { &hf_ulp_referenceLocationRequested,
6584 { "referenceLocationRequested", "ulp.referenceLocationRequested",
6585 FT_BOOLEAN, BASE_NONE, NULL, 0,
6586 "BOOLEAN", HFILL }},
6587 { &hf_ulp_referenceTimeRequested,
6588 { "referenceTimeRequested", "ulp.referenceTimeRequested",
6589 FT_BOOLEAN, BASE_NONE, NULL, 0,
6590 "BOOLEAN", HFILL }},
6591 { &hf_ulp_acquisitionAssistanceRequested,
6592 { "acquisitionAssistanceRequested", "ulp.acquisitionAssistanceRequested",
6593 FT_BOOLEAN, BASE_NONE, NULL, 0,
6594 "BOOLEAN", HFILL }},
6595 { &hf_ulp_realTimeIntegrityRequested,
6596 { "realTimeIntegrityRequested", "ulp.realTimeIntegrityRequested",
6597 FT_BOOLEAN, BASE_NONE, NULL, 0,
6598 "BOOLEAN", HFILL }},
6599 { &hf_ulp_navigationModelRequested,
6600 { "navigationModelRequested", "ulp.navigationModelRequested",
6601 FT_BOOLEAN, BASE_NONE, NULL, 0,
6602 "BOOLEAN", HFILL }},
6603 { &hf_ulp_navigationModelData,
6604 { "navigationModelData", "ulp.navigationModelData_element",
6605 FT_NONE, BASE_NONE, NULL, 0,
6606 "NavigationModel", HFILL }},
6607 { &hf_ulp_ver2_RequestedAssistData_extension,
6608 { "ver2-RequestedAssistData-extension", "ulp.ver2_RequestedAssistData_extension_element",
6609 FT_NONE, BASE_NONE, NULL, 0,
6610 NULL, HFILL }},
6611 { &hf_ulp_gpsWeek,
6612 { "gpsWeek", "ulp.gpsWeek",
6613 FT_UINT32, BASE_DEC, NULL, 0,
6614 "INTEGER_0_1023", HFILL }},
6615 { &hf_ulp_gpsToe,
6616 { "gpsToe", "ulp.gpsToe",
6617 FT_UINT32, BASE_DEC, NULL, 0,
6618 "INTEGER_0_167", HFILL }},
6619 { &hf_ulp_nSAT,
6620 { "nSAT", "ulp.nSAT",
6621 FT_UINT32, BASE_DEC, NULL, 0,
6622 "INTEGER_0_31", HFILL }},
6623 { &hf_ulp_toeLimit,
6624 { "toeLimit", "ulp.toeLimit",
6625 FT_UINT32, BASE_DEC, NULL, 0,
6626 "INTEGER_0_10", HFILL }},
6627 { &hf_ulp_satInfo,
6628 { "satInfo", "ulp.satInfo",
6629 FT_UINT32, BASE_DEC, NULL, 0,
6630 "SatelliteInfo", HFILL }},
6631 { &hf_ulp_SatelliteInfo_item,
6632 { "SatelliteInfoElement", "ulp.SatelliteInfoElement_element",
6633 FT_NONE, BASE_NONE, NULL, 0,
6634 NULL, HFILL }},
6635 { &hf_ulp_satId,
6636 { "satId", "ulp.satId",
6637 FT_UINT32, BASE_DEC, NULL, 0,
6638 "INTEGER_0_63", HFILL }},
6639 { &hf_ulp_iODE,
6640 { "iODE", "ulp.iODE",
6641 FT_UINT32, BASE_DEC, NULL, 0,
6642 "INTEGER_0_255", HFILL }},
6643 { &hf_ulp_posPayLoad,
6644 { "posPayLoad", "ulp.posPayLoad",
6645 FT_UINT32, BASE_DEC, VALS(ulp_PosPayLoad_vals), 0,
6646 NULL, HFILL }},
6647 { &hf_ulp_velocity,
6648 { "velocity", "ulp.velocity",
6649 FT_UINT32, BASE_DEC, VALS(ulp_Velocity_vals), 0,
6650 NULL, HFILL }},
6651 { &hf_ulp_ver2_SUPL_POS_extension,
6652 { "ver2-SUPL-POS-extension", "ulp.ver2_SUPL_POS_extension_element",
6653 FT_NONE, BASE_NONE, NULL, 0,
6654 NULL, HFILL }},
6655 { &hf_ulp_tia801payload,
6656 { "tia801payload", "ulp.tia801payload",
6657 FT_BYTES, BASE_NONE, NULL, 0,
6658 "OCTET_STRING_SIZE_1_8192", HFILL }},
6659 { &hf_ulp_rrcPayload,
6660 { "rrcPayload", "ulp.rrcPayload",
6661 FT_BYTES, BASE_NONE, NULL, 0,
6662 "OCTET_STRING_SIZE_1_8192", HFILL }},
6663 { &hf_ulp_rrlpPayload,
6664 { "rrlpPayload", "ulp.rrlpPayload",
6665 FT_BYTES, BASE_NONE, NULL, 0,
6666 NULL, HFILL }},
6667 { &hf_ulp_ver2_PosPayLoad_extension,
6668 { "ver2-PosPayLoad-extension", "ulp.ver2_PosPayLoad_extension_element",
6669 FT_NONE, BASE_NONE, NULL, 0,
6670 NULL, HFILL }},
6671 { &hf_ulp_statusCode,
6672 { "statusCode", "ulp.statusCode",
6673 FT_UINT32, BASE_DEC, VALS(ulp_StatusCode_vals), 0,
6674 NULL, HFILL }},
6675 { &hf_ulp_ver2_SUPL_END_extension,
6676 { "ver2-SUPL-END-extension", "ulp.ver2_SUPL_END_extension_element",
6677 FT_NONE, BASE_NONE, NULL, 0,
6678 NULL, HFILL }},
6679 { &hf_ulp_sPCSETKey,
6680 { "sPCSETKey", "ulp.sPCSETKey",
6681 FT_BYTES, BASE_NONE, NULL, 0,
6682 NULL, HFILL }},
6683 { &hf_ulp_sPCTID,
6684 { "sPCTID", "ulp.sPCTID_element",
6685 FT_NONE, BASE_NONE, NULL, 0,
6686 NULL, HFILL }},
6687 { &hf_ulp_sPCSETKeylifetime,
6688 { "sPCSETKeylifetime", "ulp.sPCSETKeylifetime",
6689 FT_UINT32, BASE_DEC, NULL, 0,
6690 NULL, HFILL }},
6691 { &hf_ulp_notificationResponse,
6692 { "notificationResponse", "ulp.notificationResponse",
6693 FT_UINT32, BASE_DEC, VALS(ulp_NotificationResponse_vals), 0,
6694 NULL, HFILL }},
6695 { &hf_ulp_targetSETID,
6696 { "targetSETID", "ulp.targetSETID",
6697 FT_UINT32, BASE_DEC, VALS(ulp_SETId_vals), 0,
6698 "SETId", HFILL }},
6699 { &hf_ulp_applicationID,
6700 { "applicationID", "ulp.applicationID_element",
6701 FT_NONE, BASE_NONE, NULL, 0,
6702 NULL, HFILL }},
6703 { &hf_ulp_multipleLocationIds,
6704 { "multipleLocationIds", "ulp.multipleLocationIds",
6705 FT_UINT32, BASE_DEC, NULL, 0,
6706 NULL, HFILL }},
6707 { &hf_ulp_thirdParty,
6708 { "thirdParty", "ulp.thirdParty",
6709 FT_UINT32, BASE_DEC, NULL, 0,
6710 NULL, HFILL }},
6711 { &hf_ulp_triggerType,
6712 { "triggerType", "ulp.triggerType",
6713 FT_UINT32, BASE_DEC, VALS(ulp_TriggerType_vals), 0,
6714 NULL, HFILL }},
6715 { &hf_ulp_triggerParams,
6716 { "triggerParams", "ulp.triggerParams",
6717 FT_UINT32, BASE_DEC, VALS(ulp_TriggerParams_vals), 0,
6718 NULL, HFILL }},
6719 { &hf_ulp_reportingCap,
6720 { "reportingCap", "ulp.reportingCap_element",
6721 FT_NONE, BASE_NONE, NULL, 0,
6722 NULL, HFILL }},
6723 { &hf_ulp_causeCode,
6724 { "causeCode", "ulp.causeCode",
6725 FT_UINT32, BASE_DEC, VALS(ulp_CauseCode_vals), 0,
6726 NULL, HFILL }},
6727 { &hf_ulp_periodicParams,
6728 { "periodicParams", "ulp.periodicParams_element",
6729 FT_NONE, BASE_NONE, NULL, 0,
6730 NULL, HFILL }},
6731 { &hf_ulp_areaEventParams,
6732 { "areaEventParams", "ulp.areaEventParams_element",
6733 FT_NONE, BASE_NONE, NULL, 0,
6734 NULL, HFILL }},
6735 { &hf_ulp_numberOfFixes,
6736 { "numberOfFixes", "ulp.numberOfFixes",
6737 FT_UINT32, BASE_DEC, NULL, 0,
6738 "INTEGER_1_8639999", HFILL }},
6739 { &hf_ulp_intervalBetweenFixes,
6740 { "intervalBetweenFixes", "ulp.intervalBetweenFixes",
6741 FT_UINT32, BASE_DEC, NULL, 0,
6742 "INTEGER_1_8639999", HFILL }},
6743 { &hf_ulp_startTime,
6744 { "startTime", "ulp.startTime",
6745 FT_UINT32, BASE_DEC, NULL, 0,
6746 "INTEGER_0_2678400", HFILL }},
6747 { &hf_ulp_areaEventType,
6748 { "areaEventType", "ulp.areaEventType",
6749 FT_UINT32, BASE_DEC, VALS(ulp_AreaEventType_vals), 0,
6750 NULL, HFILL }},
6751 { &hf_ulp_locationEstimate,
6752 { "locationEstimate", "ulp.locationEstimate",
6753 FT_BOOLEAN, BASE_NONE, NULL, 0,
6754 "BOOLEAN", HFILL }},
6755 { &hf_ulp_repeatedReportingParams,
6756 { "repeatedReportingParams", "ulp.repeatedReportingParams_element",
6757 FT_NONE, BASE_NONE, NULL, 0,
6758 NULL, HFILL }},
6759 { &hf_ulp_stopTime,
6760 { "stopTime", "ulp.stopTime",
6761 FT_UINT32, BASE_DEC, NULL, 0,
6762 "INTEGER_0_11318399", HFILL }},
6763 { &hf_ulp_geographicTargetAreaList,
6764 { "geographicTargetAreaList", "ulp.geographicTargetAreaList",
6765 FT_UINT32, BASE_DEC, NULL, 0,
6766 NULL, HFILL }},
6767 { &hf_ulp_areaIdLists,
6768 { "areaIdLists", "ulp.areaIdLists",
6769 FT_UINT32, BASE_DEC, NULL, 0,
6770 "SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList", HFILL }},
6771 { &hf_ulp_areaIdLists_item,
6772 { "AreaIdList", "ulp.AreaIdList_element",
6773 FT_NONE, BASE_NONE, NULL, 0,
6774 NULL, HFILL }},
6775 { &hf_ulp_minimumIntervalTime,
6776 { "minimumIntervalTime", "ulp.minimumIntervalTime",
6777 FT_UINT32, BASE_DEC, NULL, 0,
6778 "INTEGER_1_604800", HFILL }},
6779 { &hf_ulp_maximumNumberOfReports,
6780 { "maximumNumberOfReports", "ulp.maximumNumberOfReports",
6781 FT_UINT32, BASE_DEC, NULL, 0,
6782 "INTEGER_1_1024", HFILL }},
6783 { &hf_ulp_GeographicTargetAreaList_item,
6784 { "GeographicTargetArea", "ulp.GeographicTargetArea",
6785 FT_UINT32, BASE_DEC, VALS(ulp_GeographicTargetArea_vals), 0,
6786 NULL, HFILL }},
6787 { &hf_ulp_circularArea,
6788 { "circularArea", "ulp.circularArea_element",
6789 FT_NONE, BASE_NONE, NULL, 0,
6790 NULL, HFILL }},
6791 { &hf_ulp_ellipticalArea,
6792 { "ellipticalArea", "ulp.ellipticalArea_element",
6793 FT_NONE, BASE_NONE, NULL, 0,
6794 NULL, HFILL }},
6795 { &hf_ulp_polygonArea,
6796 { "polygonArea", "ulp.polygonArea_element",
6797 FT_NONE, BASE_NONE, NULL, 0,
6798 NULL, HFILL }},
6799 { &hf_ulp_areaIdSet,
6800 { "areaIdSet", "ulp.areaIdSet",
6801 FT_UINT32, BASE_DEC, NULL, 0,
6802 NULL, HFILL }},
6803 { &hf_ulp_areaIdSetType,
6804 { "areaIdSetType", "ulp.areaIdSetType",
6805 FT_UINT32, BASE_DEC, VALS(ulp_AreaIdSetType_vals), 0,
6806 NULL, HFILL }},
6807 { &hf_ulp_geoAreaMappingList,
6808 { "geoAreaMappingList", "ulp.geoAreaMappingList",
6809 FT_UINT32, BASE_DEC, NULL, 0,
6810 NULL, HFILL }},
6811 { &hf_ulp_AreaIdSet_item,
6812 { "AreaId", "ulp.AreaId",
6813 FT_UINT32, BASE_DEC, VALS(ulp_AreaId_vals), 0,
6814 NULL, HFILL }},
6815 { &hf_ulp_gSMAreaId,
6816 { "gSMAreaId", "ulp.gSMAreaId_element",
6817 FT_NONE, BASE_NONE, NULL, 0,
6818 NULL, HFILL }},
6819 { &hf_ulp_wCDMAAreaId,
6820 { "wCDMAAreaId", "ulp.wCDMAAreaId_element",
6821 FT_NONE, BASE_NONE, NULL, 0,
6822 NULL, HFILL }},
6823 { &hf_ulp_cDMAAreaId,
6824 { "cDMAAreaId", "ulp.cDMAAreaId_element",
6825 FT_NONE, BASE_NONE, NULL, 0,
6826 NULL, HFILL }},
6827 { &hf_ulp_hRPDAreaId,
6828 { "hRPDAreaId", "ulp.hRPDAreaId_element",
6829 FT_NONE, BASE_NONE, NULL, 0,
6830 NULL, HFILL }},
6831 { &hf_ulp_uMBAreaId,
6832 { "uMBAreaId", "ulp.uMBAreaId_element",
6833 FT_NONE, BASE_NONE, NULL, 0,
6834 NULL, HFILL }},
6835 { &hf_ulp_lTEAreaId,
6836 { "lTEAreaId", "ulp.lTEAreaId_element",
6837 FT_NONE, BASE_NONE, NULL, 0,
6838 NULL, HFILL }},
6839 { &hf_ulp_wLANAreaId,
6840 { "wLANAreaId", "ulp.wLANAreaId_element",
6841 FT_NONE, BASE_NONE, NULL, 0,
6842 NULL, HFILL }},
6843 { &hf_ulp_wiMAXAreaId,
6844 { "wiMAXAreaId", "ulp.wiMAXAreaId_element",
6845 FT_NONE, BASE_NONE, NULL, 0,
6846 NULL, HFILL }},
6847 { &hf_ulp_refMCC,
6848 { "refMCC", "ulp.refMCC",
6849 FT_UINT32, BASE_DEC, NULL, 0,
6850 "INTEGER_0_999", HFILL }},
6851 { &hf_ulp_refMNC,
6852 { "refMNC", "ulp.refMNC",
6853 FT_UINT32, BASE_DEC, NULL, 0,
6854 "INTEGER_0_999", HFILL }},
6855 { &hf_ulp_refLAC,
6856 { "refLAC", "ulp.refLAC",
6857 FT_UINT32, BASE_DEC, NULL, 0,
6858 "INTEGER_0_65535", HFILL }},
6859 { &hf_ulp_refCI,
6860 { "refCI", "ulp.refCI",
6861 FT_UINT32, BASE_DEC, NULL, 0,
6862 "INTEGER_0_65535", HFILL }},
6863 { &hf_ulp_refUC,
6864 { "refUC", "ulp.refUC",
6865 FT_UINT32, BASE_DEC, NULL, 0,
6866 "INTEGER_0_268435455", HFILL }},
6867 { &hf_ulp_refSID,
6868 { "refSID", "ulp.refSID",
6869 FT_UINT32, BASE_DEC, NULL, 0,
6870 "INTEGER_0_65535", HFILL }},
6871 { &hf_ulp_refNID,
6872 { "refNID", "ulp.refNID",
6873 FT_UINT32, BASE_DEC, NULL, 0,
6874 "INTEGER_0_32767", HFILL }},
6875 { &hf_ulp_refBASEID,
6876 { "refBASEID", "ulp.refBASEID",
6877 FT_UINT32, BASE_DEC, NULL, 0,
6878 "INTEGER_0_65535", HFILL }},
6879 { &hf_ulp_refSECTORID,
6880 { "refSECTORID", "ulp.refSECTORID",
6881 FT_BYTES, BASE_NONE, NULL, 0,
6882 "BIT_STRING_SIZE_128", HFILL }},
6883 { &hf_ulp_refCI_01,
6884 { "refCI", "ulp.refCI",
6885 FT_BYTES, BASE_NONE, NULL, 0,
6886 "BIT_STRING_SIZE_29", HFILL }},
6887 { &hf_ulp_apMACAddress,
6888 { "apMACAddress", "ulp.apMACAddress",
6889 FT_BYTES, BASE_NONE, NULL, 0,
6890 "BIT_STRING_SIZE_48", HFILL }},
6891 { &hf_ulp_bsID_MSB,
6892 { "bsID-MSB", "ulp.bsID_MSB",
6893 FT_BYTES, BASE_NONE, NULL, 0,
6894 "BIT_STRING_SIZE_24", HFILL }},
6895 { &hf_ulp_bsID_LSB,
6896 { "bsID-LSB", "ulp.bsID_LSB",
6897 FT_BYTES, BASE_NONE, NULL, 0,
6898 "BIT_STRING_SIZE_24", HFILL }},
6899 { &hf_ulp_GeoAreaMappingList_item,
6900 { "GeoAreaIndex", "ulp.GeoAreaIndex",
6901 FT_UINT32, BASE_DEC, NULL, 0,
6902 NULL, HFILL }},
6903 { &hf_ulp_supportedNetworkInformation,
6904 { "supportedNetworkInformation", "ulp.supportedNetworkInformation_element",
6905 FT_NONE, BASE_NONE, NULL, 0,
6906 NULL, HFILL }},
6907 { &hf_ulp_reportingMode,
6908 { "reportingMode", "ulp.reportingMode_element",
6909 FT_NONE, BASE_NONE, NULL, 0,
6910 NULL, HFILL }},
6911 { &hf_ulp_gnssPosTechnology,
6912 { "gnssPosTechnology", "ulp.gnssPosTechnology_element",
6913 FT_NONE, BASE_NONE, NULL, 0,
6914 NULL, HFILL }},
6915 { &hf_ulp_repMode,
6916 { "repMode", "ulp.repMode",
6917 FT_UINT32, BASE_DEC, VALS(ulp_RepMode_vals), 0,
6918 NULL, HFILL }},
6919 { &hf_ulp_batchRepConditions,
6920 { "batchRepConditions", "ulp.batchRepConditions",
6921 FT_UINT32, BASE_DEC, VALS(ulp_BatchRepConditions_vals), 0,
6922 NULL, HFILL }},
6923 { &hf_ulp_batchRepType,
6924 { "batchRepType", "ulp.batchRepType_element",
6925 FT_NONE, BASE_NONE, NULL, 0,
6926 NULL, HFILL }},
6927 { &hf_ulp_num_interval,
6928 { "num-interval", "ulp.num_interval",
6929 FT_UINT32, BASE_DEC, NULL, 0,
6930 "INTEGER_1_1024", HFILL }},
6931 { &hf_ulp_num_minutes,
6932 { "num-minutes", "ulp.num_minutes",
6933 FT_UINT32, BASE_DEC, NULL, 0,
6934 "INTEGER_1_2048", HFILL }},
6935 { &hf_ulp_endofsession,
6936 { "endofsession", "ulp.endofsession_element",
6937 FT_NONE, BASE_NONE, NULL, 0,
6938 NULL, HFILL }},
6939 { &hf_ulp_reportPosition,
6940 { "reportPosition", "ulp.reportPosition",
6941 FT_BOOLEAN, BASE_NONE, NULL, 0,
6942 "BOOLEAN", HFILL }},
6943 { &hf_ulp_reportMeasurements,
6944 { "reportMeasurements", "ulp.reportMeasurements",
6945 FT_BOOLEAN, BASE_NONE, NULL, 0,
6946 "BOOLEAN", HFILL }},
6947 { &hf_ulp_intermediateReports,
6948 { "intermediateReports", "ulp.intermediateReports",
6949 FT_BOOLEAN, BASE_NONE, NULL, 0,
6950 "BOOLEAN", HFILL }},
6951 { &hf_ulp_discardOldest,
6952 { "discardOldest", "ulp.discardOldest",
6953 FT_BOOLEAN, BASE_NONE, NULL, 0,
6954 "BOOLEAN", HFILL }},
6955 { &hf_ulp_sessionList,
6956 { "sessionList", "ulp.sessionList",
6957 FT_UINT32, BASE_DEC, NULL, 0,
6958 NULL, HFILL }},
6959 { &hf_ulp_reportDataList,
6960 { "reportDataList", "ulp.reportDataList",
6961 FT_UINT32, BASE_DEC, NULL, 0,
6962 NULL, HFILL }},
6963 { &hf_ulp_moreComponents,
6964 { "moreComponents", "ulp.moreComponents_element",
6965 FT_NONE, BASE_NONE, NULL, 0,
6966 NULL, HFILL }},
6967 { &hf_ulp_SessionList_item,
6968 { "SessionInformation", "ulp.SessionInformation_element",
6969 FT_NONE, BASE_NONE, NULL, 0,
6970 NULL, HFILL }},
6971 { &hf_ulp_ReportDataList_item,
6972 { "ReportData", "ulp.ReportData_element",
6973 FT_NONE, BASE_NONE, NULL, 0,
6974 NULL, HFILL }},
6975 { &hf_ulp_positionData,
6976 { "positionData", "ulp.positionData_element",
6977 FT_NONE, BASE_NONE, NULL, 0,
6978 NULL, HFILL }},
6979 { &hf_ulp_resultCode,
6980 { "resultCode", "ulp.resultCode",
6981 FT_UINT32, BASE_DEC, VALS(ulp_ResultCode_vals), 0,
6982 NULL, HFILL }},
6983 { &hf_ulp_timestamp,
6984 { "timestamp", "ulp.timestamp",
6985 FT_UINT32, BASE_DEC, VALS(ulp_TimeStamp_vals), 0,
6986 NULL, HFILL }},
6987 { &hf_ulp_ganssSignalsInfo,
6988 { "ganssSignalsInfo", "ulp.ganssSignalsInfo",
6989 FT_UINT32, BASE_DEC, NULL, 0,
6990 NULL, HFILL }},
6991 { &hf_ulp_GANSSsignalsInfo_item,
6992 { "GANSSSignalsDescription", "ulp.GANSSSignalsDescription_element",
6993 FT_NONE, BASE_NONE, NULL, 0,
6994 NULL, HFILL }},
6995 { &hf_ulp_ganssId,
6996 { "ganssId", "ulp.ganssId",
6997 FT_UINT32, BASE_DEC, NULL, 0,
6998 "INTEGER_0_15", HFILL }},
6999 { &hf_ulp_gANSSSignals,
7000 { "gANSSSignals", "ulp.gANSSSignals",
7001 FT_BYTES, BASE_NONE, NULL, 0,
7002 NULL, HFILL }},
7003 { &hf_ulp_absoluteTime,
7004 { "absoluteTime", "ulp.absoluteTime",
7005 FT_STRING, BASE_NONE, NULL, 0,
7006 "UTCTime", HFILL }},
7007 { &hf_ulp_relativeTime,
7008 { "relativeTime", "ulp.relativeTime",
7009 FT_UINT32, BASE_DEC, NULL, 0,
7010 "INTEGER_0_31536000", HFILL }},
7011 { &hf_ulp_notificationMode,
7012 { "notificationMode", "ulp.notificationMode",
7013 FT_UINT32, BASE_DEC, VALS(ulp_NotificationMode_vals), 0,
7014 NULL, HFILL }},
7015 { &hf_ulp_e_SLPAddress,
7016 { "e-SLPAddress", "ulp.e_SLPAddress",
7017 FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
7018 "SLPAddress", HFILL }},
7019 { &hf_ulp_historicReporting,
7020 { "historicReporting", "ulp.historicReporting_element",
7021 FT_NONE, BASE_NONE, NULL, 0,
7022 NULL, HFILL }},
7023 { &hf_ulp_protectionLevel,
7024 { "protectionLevel", "ulp.protectionLevel_element",
7025 FT_NONE, BASE_NONE, NULL, 0,
7026 NULL, HFILL }},
7027 { &hf_ulp_minimumMajorVersion,
7028 { "minimumMajorVersion", "ulp.minimumMajorVersion",
7029 FT_UINT32, BASE_DEC, NULL, 0,
7030 "INTEGER_0_255", HFILL }},
7031 { &hf_ulp_allowedReportingType,
7032 { "allowedReportingType", "ulp.allowedReportingType",
7033 FT_UINT32, BASE_DEC, VALS(ulp_AllowedReportingType_vals), 0,
7034 NULL, HFILL }},
7035 { &hf_ulp_reportingCriteria,
7036 { "reportingCriteria", "ulp.reportingCriteria_element",
7037 FT_NONE, BASE_NONE, NULL, 0,
7038 NULL, HFILL }},
7039 { &hf_ulp_timeWindow,
7040 { "timeWindow", "ulp.timeWindow_element",
7041 FT_NONE, BASE_NONE, NULL, 0,
7042 NULL, HFILL }},
7043 { &hf_ulp_maxNumberofReports,
7044 { "maxNumberofReports", "ulp.maxNumberofReports",
7045 FT_UINT32, BASE_DEC, NULL, 0,
7046 "INTEGER_1_65536", HFILL }},
7047 { &hf_ulp_minTimeInterval,
7048 { "minTimeInterval", "ulp.minTimeInterval",
7049 FT_UINT32, BASE_DEC, NULL, 0,
7050 "INTEGER_1_86400", HFILL }},
7051 { &hf_ulp_startTime_01,
7052 { "startTime", "ulp.startTime",
7053 FT_INT32, BASE_DEC, NULL, 0,
7054 "INTEGER_M525600_M1", HFILL }},
7055 { &hf_ulp_stopTime_01,
7056 { "stopTime", "ulp.stopTime",
7057 FT_INT32, BASE_DEC, NULL, 0,
7058 "INTEGER_M525599_0", HFILL }},
7059 { &hf_ulp_protlevel,
7060 { "protlevel", "ulp.protlevel",
7061 FT_UINT32, BASE_DEC, VALS(ulp_ProtLevel_vals), 0,
7062 NULL, HFILL }},
7063 { &hf_ulp_basicProtectionParams,
7064 { "basicProtectionParams", "ulp.basicProtectionParams_element",
7065 FT_NONE, BASE_NONE, NULL, 0,
7066 NULL, HFILL }},
7067 { &hf_ulp_keyIdentifier,
7068 { "keyIdentifier", "ulp.keyIdentifier",
7069 FT_BYTES, BASE_NONE, NULL, 0,
7070 "OCTET_STRING_SIZE_8", HFILL }},
7071 { &hf_ulp_basicReplayCounter,
7072 { "basicReplayCounter", "ulp.basicReplayCounter",
7073 FT_UINT32, BASE_DEC, NULL, 0,
7074 "INTEGER_0_65535", HFILL }},
7075 { &hf_ulp_basicMAC,
7076 { "basicMAC", "ulp.basicMAC",
7077 FT_BYTES, BASE_NONE, NULL, 0,
7078 "BIT_STRING_SIZE_32", HFILL }},
7079 { &hf_ulp_initialApproximateposition,
7080 { "initialApproximateposition", "ulp.initialApproximateposition_element",
7081 FT_NONE, BASE_NONE, NULL, 0,
7082 "Position", HFILL }},
7083 { &hf_ulp_utran_GPSReferenceTimeResult,
7084 { "utran-GPSReferenceTimeResult", "ulp.utran_GPSReferenceTimeResult_element",
7085 FT_NONE, BASE_NONE, NULL, 0,
7086 NULL, HFILL }},
7087 { &hf_ulp_utran_GANSSReferenceTimeResult,
7088 { "utran-GANSSReferenceTimeResult", "ulp.utran_GANSSReferenceTimeResult_element",
7089 FT_NONE, BASE_NONE, NULL, 0,
7090 NULL, HFILL }},
7091 { &hf_ulp_utran_GPSReferenceTimeAssistance,
7092 { "utran-GPSReferenceTimeAssistance", "ulp.utran_GPSReferenceTimeAssistance_element",
7093 FT_NONE, BASE_NONE, NULL, 0,
7094 NULL, HFILL }},
7095 { &hf_ulp_utran_GANSSReferenceTimeAssistance,
7096 { "utran-GANSSReferenceTimeAssistance", "ulp.utran_GANSSReferenceTimeAssistance_element",
7097 FT_NONE, BASE_NONE, NULL, 0,
7098 NULL, HFILL }},
7099 { &hf_ulp_emergencyCallLocation,
7100 { "emergencyCallLocation", "ulp.emergencyCallLocation_element",
7101 FT_NONE, BASE_NONE, NULL, 0,
7102 NULL, HFILL }},
7103 { &hf_ulp_serviceCapabilities,
7104 { "serviceCapabilities", "ulp.serviceCapabilities_element",
7105 FT_NONE, BASE_NONE, NULL, 0,
7106 NULL, HFILL }},
7107 { &hf_ulp_supportedBearers,
7108 { "supportedBearers", "ulp.supportedBearers_element",
7109 FT_NONE, BASE_NONE, NULL, 0,
7110 NULL, HFILL }},
7111 { &hf_ulp_servicesSupported,
7112 { "servicesSupported", "ulp.servicesSupported_element",
7113 FT_NONE, BASE_NONE, NULL, 0,
7114 NULL, HFILL }},
7115 { &hf_ulp_reportingCapabilities,
7116 { "reportingCapabilities", "ulp.reportingCapabilities_element",
7117 FT_NONE, BASE_NONE, NULL, 0,
7118 "ReportingCap", HFILL }},
7119 { &hf_ulp_eventTriggerCapabilities,
7120 { "eventTriggerCapabilities", "ulp.eventTriggerCapabilities_element",
7121 FT_NONE, BASE_NONE, NULL, 0,
7122 NULL, HFILL }},
7123 { &hf_ulp_sessionCapabilities,
7124 { "sessionCapabilities", "ulp.sessionCapabilities_element",
7125 FT_NONE, BASE_NONE, NULL, 0,
7126 NULL, HFILL }},
7127 { &hf_ulp_periodicTrigger,
7128 { "periodicTrigger", "ulp.periodicTrigger",
7129 FT_BOOLEAN, BASE_NONE, NULL, 0,
7130 "BOOLEAN", HFILL }},
7131 { &hf_ulp_areaEventTrigger,
7132 { "areaEventTrigger", "ulp.areaEventTrigger",
7133 FT_BOOLEAN, BASE_NONE, NULL, 0,
7134 "BOOLEAN", HFILL }},
7135 { &hf_ulp_geoAreaShapesSupported,
7136 { "geoAreaShapesSupported", "ulp.geoAreaShapesSupported_element",
7137 FT_NONE, BASE_NONE, NULL, 0,
7138 NULL, HFILL }},
7139 { &hf_ulp_maxNumGeoAreaSupported,
7140 { "maxNumGeoAreaSupported", "ulp.maxNumGeoAreaSupported",
7141 FT_UINT32, BASE_DEC, NULL, 0,
7142 "INTEGER_0_maxNumGeoArea", HFILL }},
7143 { &hf_ulp_maxAreaIdListSupported,
7144 { "maxAreaIdListSupported", "ulp.maxAreaIdListSupported",
7145 FT_UINT32, BASE_DEC, NULL, 0,
7146 "INTEGER_0_maxAreaIdList", HFILL }},
7147 { &hf_ulp_maxAreaIdSupportedPerList,
7148 { "maxAreaIdSupportedPerList", "ulp.maxAreaIdSupportedPerList",
7149 FT_UINT32, BASE_DEC, NULL, 0,
7150 "INTEGER_0_maxAreaId", HFILL }},
7151 { &hf_ulp_ellipticalArea_01,
7152 { "ellipticalArea", "ulp.ellipticalArea",
7153 FT_BOOLEAN, BASE_NONE, NULL, 0,
7154 "BOOLEAN", HFILL }},
7155 { &hf_ulp_polygonArea_01,
7156 { "polygonArea", "ulp.polygonArea",
7157 FT_BOOLEAN, BASE_NONE, NULL, 0,
7158 "BOOLEAN", HFILL }},
7159 { &hf_ulp_maxNumberTotalSessions,
7160 { "maxNumberTotalSessions", "ulp.maxNumberTotalSessions",
7161 FT_UINT32, BASE_DEC, NULL, 0,
7162 "INTEGER_1_128", HFILL }},
7163 { &hf_ulp_maxNumberPeriodicSessions,
7164 { "maxNumberPeriodicSessions", "ulp.maxNumberPeriodicSessions",
7165 FT_UINT32, BASE_DEC, NULL, 0,
7166 "INTEGER_1_32", HFILL }},
7167 { &hf_ulp_maxNumberTriggeredSessions,
7168 { "maxNumberTriggeredSessions", "ulp.maxNumberTriggeredSessions",
7169 FT_UINT32, BASE_DEC, NULL, 0,
7170 "INTEGER_1_32", HFILL }},
7171 { &hf_ulp_gsm,
7172 { "gsm", "ulp.gsm",
7173 FT_BOOLEAN, BASE_NONE, NULL, 0,
7174 "BOOLEAN", HFILL }},
7175 { &hf_ulp_wcdma,
7176 { "wcdma", "ulp.wcdma",
7177 FT_BOOLEAN, BASE_NONE, NULL, 0,
7178 "BOOLEAN", HFILL }},
7179 { &hf_ulp_lte,
7180 { "lte", "ulp.lte",
7181 FT_BOOLEAN, BASE_NONE, NULL, 0,
7182 "BOOLEAN", HFILL }},
7183 { &hf_ulp_cdma,
7184 { "cdma", "ulp.cdma",
7185 FT_BOOLEAN, BASE_NONE, NULL, 0,
7186 "BOOLEAN", HFILL }},
7187 { &hf_ulp_hprd,
7188 { "hprd", "ulp.hprd",
7189 FT_BOOLEAN, BASE_NONE, NULL, 0,
7190 "BOOLEAN", HFILL }},
7191 { &hf_ulp_umb,
7192 { "umb", "ulp.umb",
7193 FT_BOOLEAN, BASE_NONE, NULL, 0,
7194 "BOOLEAN", HFILL }},
7195 { &hf_ulp_wlan,
7196 { "wlan", "ulp.wlan",
7197 FT_BOOLEAN, BASE_NONE, NULL, 0,
7198 "BOOLEAN", HFILL }},
7199 { &hf_ulp_wiMAX,
7200 { "wiMAX", "ulp.wiMAX",
7201 FT_BOOLEAN, BASE_NONE, NULL, 0,
7202 "BOOLEAN", HFILL }},
7203 { &hf_ulp_lpp,
7204 { "lpp", "ulp.lpp",
7205 FT_BOOLEAN, BASE_NONE, NULL, 0,
7206 "BOOLEAN", HFILL }},
7207 { &hf_ulp_posProtocolVersionRRLP,
7208 { "posProtocolVersionRRLP", "ulp.posProtocolVersionRRLP_element",
7209 FT_NONE, BASE_NONE, NULL, 0,
7210 "PosProtocolVersion3GPP", HFILL }},
7211 { &hf_ulp_posProtocolVersionRRC,
7212 { "posProtocolVersionRRC", "ulp.posProtocolVersionRRC_element",
7213 FT_NONE, BASE_NONE, NULL, 0,
7214 "PosProtocolVersion3GPP", HFILL }},
7215 { &hf_ulp_posProtocolVersionTIA801,
7216 { "posProtocolVersionTIA801", "ulp.posProtocolVersionTIA801",
7217 FT_UINT32, BASE_DEC, NULL, 0,
7218 "PosProtocolVersion3GPP2", HFILL }},
7219 { &hf_ulp_posProtocolVersionLPP,
7220 { "posProtocolVersionLPP", "ulp.posProtocolVersionLPP_element",
7221 FT_NONE, BASE_NONE, NULL, 0,
7222 "PosProtocolVersion3GPP", HFILL }},
7223 { &hf_ulp_majorVersionField,
7224 { "majorVersionField", "ulp.majorVersionField",
7225 FT_UINT32, BASE_DEC, NULL, 0,
7226 "INTEGER_0_255", HFILL }},
7227 { &hf_ulp_technicalVersionField,
7228 { "technicalVersionField", "ulp.technicalVersionField",
7229 FT_UINT32, BASE_DEC, NULL, 0,
7230 "INTEGER_0_255", HFILL }},
7231 { &hf_ulp_editorialVersionField,
7232 { "editorialVersionField", "ulp.editorialVersionField",
7233 FT_UINT32, BASE_DEC, NULL, 0,
7234 "INTEGER_0_255", HFILL }},
7235 { &hf_ulp_PosProtocolVersion3GPP2_item,
7236 { "Supported3GPP2PosProtocolVersion", "ulp.Supported3GPP2PosProtocolVersion_element",
7237 FT_NONE, BASE_NONE, NULL, 0,
7238 NULL, HFILL }},
7239 { &hf_ulp_revisionNumber,
7240 { "revisionNumber", "ulp.revisionNumber",
7241 FT_BYTES, BASE_NONE, NULL, 0,
7242 "BIT_STRING_SIZE_6", HFILL }},
7243 { &hf_ulp_pointReleaseNumber,
7244 { "pointReleaseNumber", "ulp.pointReleaseNumber",
7245 FT_UINT32, BASE_DEC, NULL, 0,
7246 "INTEGER_0_255", HFILL }},
7247 { &hf_ulp_internalEditLevel,
7248 { "internalEditLevel", "ulp.internalEditLevel",
7249 FT_UINT32, BASE_DEC, NULL, 0,
7250 "INTEGER_0_255", HFILL }},
7251 { &hf_ulp_gANSSPositionMethods,
7252 { "gANSSPositionMethods", "ulp.gANSSPositionMethods",
7253 FT_UINT32, BASE_DEC, NULL, 0,
7254 NULL, HFILL }},
7255 { &hf_ulp_GANSSPositionMethods_item,
7256 { "GANSSPositionMethod", "ulp.GANSSPositionMethod_element",
7257 FT_NONE, BASE_NONE, NULL, 0,
7258 NULL, HFILL }},
7259 { &hf_ulp_ganssSBASid,
7260 { "ganssSBASid", "ulp.ganssSBASid",
7261 FT_BYTES, BASE_NONE, NULL, 0,
7262 "BIT_STRING_SIZE_3", HFILL }},
7263 { &hf_ulp_gANSSPositioningMethodTypes,
7264 { "gANSSPositioningMethodTypes", "ulp.gANSSPositioningMethodTypes_element",
7265 FT_NONE, BASE_NONE, NULL, 0,
7266 NULL, HFILL }},
7267 { &hf_ulp_setAssisted,
7268 { "setAssisted", "ulp.setAssisted",
7269 FT_BOOLEAN, BASE_NONE, NULL, 0,
7270 "BOOLEAN", HFILL }},
7271 { &hf_ulp_setBased,
7272 { "setBased", "ulp.setBased",
7273 FT_BOOLEAN, BASE_NONE, NULL, 0,
7274 "BOOLEAN", HFILL }},
7275 { &hf_ulp_autonomous,
7276 { "autonomous", "ulp.autonomous",
7277 FT_BOOLEAN, BASE_NONE, NULL, 0,
7278 "BOOLEAN", HFILL }},
7279 { &hf_ulp_ganssRequestedCommonAssistanceDataList,
7280 { "ganssRequestedCommonAssistanceDataList", "ulp.ganssRequestedCommonAssistanceDataList_element",
7281 FT_NONE, BASE_NONE, NULL, 0,
7282 NULL, HFILL }},
7283 { &hf_ulp_ganssRequestedGenericAssistanceDataList,
7284 { "ganssRequestedGenericAssistanceDataList", "ulp.ganssRequestedGenericAssistanceDataList",
7285 FT_UINT32, BASE_DEC, NULL, 0,
7286 NULL, HFILL }},
7287 { &hf_ulp_extendedEphemeris,
7288 { "extendedEphemeris", "ulp.extendedEphemeris_element",
7289 FT_NONE, BASE_NONE, NULL, 0,
7290 NULL, HFILL }},
7291 { &hf_ulp_extendedEphemerisCheck,
7292 { "extendedEphemerisCheck", "ulp.extendedEphemerisCheck_element",
7293 FT_NONE, BASE_NONE, NULL, 0,
7294 "ExtendedEphCheck", HFILL }},
7295 { &hf_ulp_ganssReferenceTime,
7296 { "ganssReferenceTime", "ulp.ganssReferenceTime",
7297 FT_BOOLEAN, BASE_NONE, NULL, 0,
7298 "BOOLEAN", HFILL }},
7299 { &hf_ulp_ganssIonosphericModel,
7300 { "ganssIonosphericModel", "ulp.ganssIonosphericModel",
7301 FT_BOOLEAN, BASE_NONE, NULL, 0,
7302 "BOOLEAN", HFILL }},
7303 { &hf_ulp_ganssAdditionalIonosphericModelForDataID00,
7304 { "ganssAdditionalIonosphericModelForDataID00", "ulp.ganssAdditionalIonosphericModelForDataID00",
7305 FT_BOOLEAN, BASE_NONE, NULL, 0,
7306 "BOOLEAN", HFILL }},
7307 { &hf_ulp_ganssAdditionalIonosphericModelForDataID11,
7308 { "ganssAdditionalIonosphericModelForDataID11", "ulp.ganssAdditionalIonosphericModelForDataID11",
7309 FT_BOOLEAN, BASE_NONE, NULL, 0,
7310 "BOOLEAN", HFILL }},
7311 { &hf_ulp_ganssEarthOrientationParameters,
7312 { "ganssEarthOrientationParameters", "ulp.ganssEarthOrientationParameters",
7313 FT_BOOLEAN, BASE_NONE, NULL, 0,
7314 "BOOLEAN", HFILL }},
7315 { &hf_ulp_GanssRequestedGenericAssistanceDataList_item,
7316 { "GanssReqGenericData", "ulp.GanssReqGenericData_element",
7317 FT_NONE, BASE_NONE, NULL, 0,
7318 NULL, HFILL }},
7319 { &hf_ulp_ganssRealTimeIntegrity,
7320 { "ganssRealTimeIntegrity", "ulp.ganssRealTimeIntegrity",
7321 FT_BOOLEAN, BASE_NONE, NULL, 0,
7322 "BOOLEAN", HFILL }},
7323 { &hf_ulp_ganssDifferentialCorrection,
7324 { "ganssDifferentialCorrection", "ulp.ganssDifferentialCorrection",
7325 FT_BYTES, BASE_NONE, NULL, 0,
7326 "DGANSS_Sig_Id_Req", HFILL }},
7327 { &hf_ulp_ganssAlmanac,
7328 { "ganssAlmanac", "ulp.ganssAlmanac",
7329 FT_BOOLEAN, BASE_NONE, NULL, 0,
7330 "BOOLEAN", HFILL }},
7331 { &hf_ulp_ganssNavigationModelData,
7332 { "ganssNavigationModelData", "ulp.ganssNavigationModelData_element",
7333 FT_NONE, BASE_NONE, NULL, 0,
7334 NULL, HFILL }},
7335 { &hf_ulp_ganssTimeModels,
7336 { "ganssTimeModels", "ulp.ganssTimeModels",
7337 FT_BYTES, BASE_NONE, NULL, 0,
7338 "BIT_STRING_SIZE_16", HFILL }},
7339 { &hf_ulp_ganssReferenceMeasurementInfo,
7340 { "ganssReferenceMeasurementInfo", "ulp.ganssReferenceMeasurementInfo",
7341 FT_BOOLEAN, BASE_NONE, NULL, 0,
7342 "BOOLEAN", HFILL }},
7343 { &hf_ulp_ganssDataBits,
7344 { "ganssDataBits", "ulp.ganssDataBits_element",
7345 FT_NONE, BASE_NONE, NULL, 0,
7346 NULL, HFILL }},
7347 { &hf_ulp_ganssUTCModel,
7348 { "ganssUTCModel", "ulp.ganssUTCModel",
7349 FT_BOOLEAN, BASE_NONE, NULL, 0,
7350 "BOOLEAN", HFILL }},
7351 { &hf_ulp_ganssAdditionalDataChoices,
7352 { "ganssAdditionalDataChoices", "ulp.ganssAdditionalDataChoices_element",
7353 FT_NONE, BASE_NONE, NULL, 0,
7354 NULL, HFILL }},
7355 { &hf_ulp_ganssAuxiliaryInformation,
7356 { "ganssAuxiliaryInformation", "ulp.ganssAuxiliaryInformation",
7357 FT_BOOLEAN, BASE_NONE, NULL, 0,
7358 "BOOLEAN", HFILL }},
7359 { &hf_ulp_ganssExtendedEphemeris,
7360 { "ganssExtendedEphemeris", "ulp.ganssExtendedEphemeris_element",
7361 FT_NONE, BASE_NONE, NULL, 0,
7362 "ExtendedEphemeris", HFILL }},
7363 { &hf_ulp_ganssExtendedEphemerisCheck,
7364 { "ganssExtendedEphemerisCheck", "ulp.ganssExtendedEphemerisCheck_element",
7365 FT_NONE, BASE_NONE, NULL, 0,
7366 "GanssExtendedEphCheck", HFILL }},
7367 { &hf_ulp_ganssWeek,
7368 { "ganssWeek", "ulp.ganssWeek",
7369 FT_UINT32, BASE_DEC, NULL, 0,
7370 "INTEGER_0_4095", HFILL }},
7371 { &hf_ulp_ganssToe,
7372 { "ganssToe", "ulp.ganssToe",
7373 FT_UINT32, BASE_DEC, NULL, 0,
7374 "INTEGER_0_167", HFILL }},
7375 { &hf_ulp_t_toeLimit,
7376 { "t-toeLimit", "ulp.t_toeLimit",
7377 FT_UINT32, BASE_DEC, NULL, 0,
7378 "INTEGER_0_15", HFILL }},
7379 { &hf_ulp_satellitesListRelatedDataList,
7380 { "satellitesListRelatedDataList", "ulp.satellitesListRelatedDataList",
7381 FT_UINT32, BASE_DEC, NULL, 0,
7382 NULL, HFILL }},
7383 { &hf_ulp_SatellitesListRelatedDataList_item,
7384 { "SatellitesListRelatedData", "ulp.SatellitesListRelatedData_element",
7385 FT_NONE, BASE_NONE, NULL, 0,
7386 NULL, HFILL }},
7387 { &hf_ulp_iod,
7388 { "iod", "ulp.iod",
7389 FT_UINT32, BASE_DEC, NULL, 0,
7390 "INTEGER_0_1023", HFILL }},
7391 { &hf_ulp_ganssTODmin,
7392 { "ganssTODmin", "ulp.ganssTODmin",
7393 FT_UINT32, BASE_DEC, NULL, 0,
7394 "INTEGER_0_59", HFILL }},
7395 { &hf_ulp_reqDataBitAssistanceList,
7396 { "reqDataBitAssistanceList", "ulp.reqDataBitAssistanceList_element",
7397 FT_NONE, BASE_NONE, NULL, 0,
7398 NULL, HFILL }},
7399 { &hf_ulp_gnssSignals,
7400 { "gnssSignals", "ulp.gnssSignals",
7401 FT_BYTES, BASE_NONE, NULL, 0,
7402 "GANSSSignals", HFILL }},
7403 { &hf_ulp_ganssDataBitInterval,
7404 { "ganssDataBitInterval", "ulp.ganssDataBitInterval",
7405 FT_UINT32, BASE_DEC, NULL, 0,
7406 "INTEGER_0_15", HFILL }},
7407 { &hf_ulp_ganssDataBitSatList,
7408 { "ganssDataBitSatList", "ulp.ganssDataBitSatList",
7409 FT_UINT32, BASE_DEC, NULL, 0,
7410 NULL, HFILL }},
7411 { &hf_ulp_ganssDataBitSatList_item,
7412 { "ganssDataBitSatList item", "ulp.ganssDataBitSatList_item",
7413 FT_UINT32, BASE_DEC, NULL, 0,
7414 "INTEGER_0_63", HFILL }},
7415 { &hf_ulp_orbitModelID,
7416 { "orbitModelID", "ulp.orbitModelID",
7417 FT_UINT32, BASE_DEC, NULL, 0,
7418 "INTEGER_0_7", HFILL }},
7419 { &hf_ulp_clockModelID,
7420 { "clockModelID", "ulp.clockModelID",
7421 FT_UINT32, BASE_DEC, NULL, 0,
7422 "INTEGER_0_7", HFILL }},
7423 { &hf_ulp_utcModelID,
7424 { "utcModelID", "ulp.utcModelID",
7425 FT_UINT32, BASE_DEC, NULL, 0,
7426 "INTEGER_0_7", HFILL }},
7427 { &hf_ulp_almanacModelID,
7428 { "almanacModelID", "ulp.almanacModelID",
7429 FT_UINT32, BASE_DEC, NULL, 0,
7430 "INTEGER_0_7", HFILL }},
7431 { &hf_ulp_validity,
7432 { "validity", "ulp.validity",
7433 FT_UINT32, BASE_DEC, NULL, 0,
7434 "INTEGER_1_256", HFILL }},
7435 { &hf_ulp_beginTime,
7436 { "beginTime", "ulp.beginTime_element",
7437 FT_NONE, BASE_NONE, NULL, 0,
7438 "GPSTime", HFILL }},
7439 { &hf_ulp_endTime,
7440 { "endTime", "ulp.endTime_element",
7441 FT_NONE, BASE_NONE, NULL, 0,
7442 "GPSTime", HFILL }},
7443 { &hf_ulp_beginTime_01,
7444 { "beginTime", "ulp.beginTime_element",
7445 FT_NONE, BASE_NONE, NULL, 0,
7446 "GANSSextEphTime", HFILL }},
7447 { &hf_ulp_endTime_01,
7448 { "endTime", "ulp.endTime_element",
7449 FT_NONE, BASE_NONE, NULL, 0,
7450 "GANSSextEphTime", HFILL }},
7451 { &hf_ulp_gPSWeek,
7452 { "gPSWeek", "ulp.gPSWeek",
7453 FT_UINT32, BASE_DEC, NULL, 0,
7454 "INTEGER_0_1023", HFILL }},
7455 { &hf_ulp_gPSTOWhour,
7456 { "gPSTOWhour", "ulp.gPSTOWhour",
7457 FT_UINT32, BASE_DEC, NULL, 0,
7458 "INTEGER_0_167", HFILL }},
7459 { &hf_ulp_gANSSday,
7460 { "gANSSday", "ulp.gANSSday",
7461 FT_UINT32, BASE_DEC, NULL, 0,
7462 "INTEGER_0_8191", HFILL }},
7463 { &hf_ulp_gANSSTODhour,
7464 { "gANSSTODhour", "ulp.gANSSTODhour",
7465 FT_UINT32, BASE_DEC, NULL, 0,
7466 "INTEGER_0_23", HFILL }},
7467 { &hf_ulp_lPPPayload,
7468 { "lPPPayload", "ulp.lPPPayload",
7469 FT_UINT32, BASE_DEC, NULL, 0,
7470 NULL, HFILL }},
7471 { &hf_ulp_lPPPayload_item,
7472 { "lPPPayload item", "ulp.lPPPayload_item",
7473 FT_BYTES, BASE_NONE, NULL, 0,
7474 NULL, HFILL }},
7475 { &hf_ulp_tIA801Payload,
7476 { "tIA801Payload", "ulp.tIA801Payload",
7477 FT_UINT32, BASE_DEC, NULL, 0,
7478 NULL, HFILL }},
7479 { &hf_ulp_tIA801Payload_item,
7480 { "tIA801Payload item", "ulp.tIA801Payload_item",
7481 FT_BYTES, BASE_NONE, NULL, 0,
7482 "OCTET_STRING_SIZE_1_60000", HFILL }},
7483 { &hf_ulp_maj,
7484 { "maj", "ulp.maj",
7485 FT_UINT32, BASE_DEC, NULL, 0,
7486 "INTEGER_0_255", HFILL }},
7487 { &hf_ulp_min,
7488 { "min", "ulp.min",
7489 FT_UINT32, BASE_DEC, NULL, 0,
7490 "INTEGER_0_255", HFILL }},
7491 { &hf_ulp_servind,
7492 { "servind", "ulp.servind",
7493 FT_UINT32, BASE_DEC, NULL, 0,
7494 "INTEGER_0_255", HFILL }},
7495 { &hf_ulp_setSessionID,
7496 { "setSessionID", "ulp.setSessionID_element",
7497 FT_NONE, BASE_NONE, NULL, 0,
7498 NULL, HFILL }},
7499 { &hf_ulp_slpSessionID,
7500 { "slpSessionID", "ulp.slpSessionID_element",
7501 FT_NONE, BASE_NONE, NULL, 0,
7502 NULL, HFILL }},
7503 { &hf_ulp_sessionId,
7504 { "sessionId", "ulp.sessionId",
7505 FT_UINT32, BASE_DEC, NULL, 0,
7506 "INTEGER_0_65535", HFILL }},
7507 { &hf_ulp_setId,
7508 { "setId", "ulp.setId",
7509 FT_UINT32, BASE_DEC, VALS(ulp_SETId_vals), 0,
7510 NULL, HFILL }},
7511 { &hf_ulp_msisdn,
7512 { "msisdn", "ulp.msisdn",
7513 FT_BYTES, BASE_NONE, NULL, 0,
7514 "OCTET_STRING_SIZE_8", HFILL }},
7515 { &hf_ulp_mdn,
7516 { "mdn", "ulp.mdn",
7517 FT_BYTES, BASE_NONE, NULL, 0,
7518 "OCTET_STRING_SIZE_8", HFILL }},
7519 { &hf_ulp_minsi,
7520 { "min", "ulp.min",
7521 FT_BYTES, BASE_NONE, NULL, 0,
7522 "BIT_STRING_SIZE_34", HFILL }},
7523 { &hf_ulp_imsi,
7524 { "imsi", "ulp.imsi",
7525 FT_BYTES, BASE_NONE, NULL, 0,
7526 "OCTET_STRING_SIZE_8", HFILL }},
7527 { &hf_ulp_nai,
7528 { "nai", "ulp.nai",
7529 FT_STRING, BASE_NONE, NULL, 0,
7530 "IA5String_SIZE_1_1000", HFILL }},
7531 { &hf_ulp_iPAddress,
7532 { "iPAddress", "ulp.iPAddress",
7533 FT_UINT32, BASE_DEC, VALS(ulp_IPAddress_vals), 0,
7534 NULL, HFILL }},
7535 { &hf_ulp_sessionSlpID,
7536 { "sessionID", "ulp.sessionID",
7537 FT_BYTES, BASE_NONE, NULL, 0,
7538 "OCTET_STRING_SIZE_4", HFILL }},
7539 { &hf_ulp_slpId,
7540 { "slpId", "ulp.slpId",
7541 FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
7542 "SLPAddress", HFILL }},
7543 { &hf_ulp_ipv4Address,
7544 { "ipv4Address", "ulp.ipv4Address",
7545 FT_IPv4, BASE_NONE, NULL, 0,
7546 "OCTET_STRING_SIZE_4", HFILL }},
7547 { &hf_ulp_ipv6Address,
7548 { "ipv6Address", "ulp.ipv6Address",
7549 FT_IPv6, BASE_NONE, NULL, 0,
7550 "OCTET_STRING_SIZE_16", HFILL }},
7551 { &hf_ulp_fQDN,
7552 { "fQDN", "ulp.fQDN",
7553 FT_STRING, BASE_NONE, NULL, 0,
7554 NULL, HFILL }},
7555 { &hf_ulp_cellInfo,
7556 { "cellInfo", "ulp.cellInfo",
7557 FT_UINT32, BASE_DEC, VALS(ulp_CellInfo_vals), 0,
7558 NULL, HFILL }},
7559 { &hf_ulp_status,
7560 { "status", "ulp.status",
7561 FT_UINT32, BASE_DEC, VALS(ulp_Status_vals), 0,
7562 NULL, HFILL }},
7563 { &hf_ulp_gsmCell,
7564 { "gsmCell", "ulp.gsmCell_element",
7565 FT_NONE, BASE_NONE, NULL, 0,
7566 "GsmCellInformation", HFILL }},
7567 { &hf_ulp_wcdmaCell,
7568 { "wcdmaCell", "ulp.wcdmaCell_element",
7569 FT_NONE, BASE_NONE, NULL, 0,
7570 "WcdmaCellInformation", HFILL }},
7571 { &hf_ulp_cdmaCell,
7572 { "cdmaCell", "ulp.cdmaCell_element",
7573 FT_NONE, BASE_NONE, NULL, 0,
7574 "CdmaCellInformation", HFILL }},
7575 { &hf_ulp_ver2_CellInfo_extension,
7576 { "ver2-CellInfo-extension", "ulp.ver2_CellInfo_extension",
7577 FT_UINT32, BASE_DEC, VALS(ulp_Ver2_CellInfo_extension_vals), 0,
7578 NULL, HFILL }},
7579 { &hf_ulp_timestamp_01,
7580 { "timestamp", "ulp.timestamp",
7581 FT_STRING, BASE_NONE, NULL, 0,
7582 "UTCTime", HFILL }},
7583 { &hf_ulp_positionEstimate,
7584 { "positionEstimate", "ulp.positionEstimate_element",
7585 FT_NONE, BASE_NONE, NULL, 0,
7586 NULL, HFILL }},
7587 { &hf_ulp_latitudeSign,
7588 { "latitudeSign", "ulp.latitudeSign",
7589 FT_UINT32, BASE_DEC, VALS(ulp_T_latitudeSign_vals), 0,
7590 NULL, HFILL }},
7591 { &hf_ulp_latitude,
7592 { "latitude", "ulp.latitude",
7593 FT_UINT32, BASE_DEC, NULL, 0,
7594 "INTEGER_0_8388607", HFILL }},
7595 { &hf_ulp_longitude,
7596 { "longitude", "ulp.longitude",
7597 FT_INT32, BASE_DEC, NULL, 0,
7598 "INTEGER_M8388608_8388607", HFILL }},
7599 { &hf_ulp_uncertainty,
7600 { "uncertainty", "ulp.uncertainty_element",
7601 FT_NONE, BASE_NONE, NULL, 0,
7602 NULL, HFILL }},
7603 { &hf_ulp_uncertaintySemiMajor,
7604 { "uncertaintySemiMajor", "ulp.uncertaintySemiMajor",
7605 FT_UINT32, BASE_DEC, NULL, 0,
7606 "INTEGER_0_127", HFILL }},
7607 { &hf_ulp_uncertaintySemiMinor,
7608 { "uncertaintySemiMinor", "ulp.uncertaintySemiMinor",
7609 FT_UINT32, BASE_DEC, NULL, 0,
7610 "INTEGER_0_127", HFILL }},
7611 { &hf_ulp_orientationMajorAxis,
7612 { "orientationMajorAxis", "ulp.orientationMajorAxis",
7613 FT_UINT32, BASE_DEC, NULL, 0,
7614 "INTEGER_0_180", HFILL }},
7615 { &hf_ulp_confidence,
7616 { "confidence", "ulp.confidence",
7617 FT_UINT32, BASE_DEC, NULL, 0,
7618 "INTEGER_0_100", HFILL }},
7619 { &hf_ulp_altitudeInfo,
7620 { "altitudeInfo", "ulp.altitudeInfo_element",
7621 FT_NONE, BASE_NONE, NULL, 0,
7622 NULL, HFILL }},
7623 { &hf_ulp_altitudeDirection,
7624 { "altitudeDirection", "ulp.altitudeDirection",
7625 FT_UINT32, BASE_DEC, VALS(ulp_T_altitudeDirection_vals), 0,
7626 NULL, HFILL }},
7627 { &hf_ulp_altitude,
7628 { "altitude", "ulp.altitude",
7629 FT_UINT32, BASE_DEC, NULL, 0,
7630 "INTEGER_0_32767", HFILL }},
7631 { &hf_ulp_altUncertainty,
7632 { "altUncertainty", "ulp.altUncertainty",
7633 FT_UINT32, BASE_DEC, NULL, 0,
7634 "INTEGER_0_127", HFILL }},
7635 { &hf_ulp_refNID_01,
7636 { "refNID", "ulp.refNID",
7637 FT_UINT32, BASE_DEC, NULL, 0,
7638 "INTEGER_0_65535", HFILL }},
7639 { &hf_ulp_refSID_01,
7640 { "refSID", "ulp.refSID",
7641 FT_UINT32, BASE_DEC, NULL, 0,
7642 "INTEGER_0_32767", HFILL }},
7643 { &hf_ulp_refBASELAT,
7644 { "refBASELAT", "ulp.refBASELAT",
7645 FT_UINT32, BASE_DEC, NULL, 0,
7646 "INTEGER_0_4194303", HFILL }},
7647 { &hf_ulp_reBASELONG,
7648 { "reBASELONG", "ulp.reBASELONG",
7649 FT_UINT32, BASE_DEC, NULL, 0,
7650 "INTEGER_0_8388607", HFILL }},
7651 { &hf_ulp_refREFPN,
7652 { "refREFPN", "ulp.refREFPN",
7653 FT_UINT32, BASE_DEC, NULL, 0,
7654 "INTEGER_0_511", HFILL }},
7655 { &hf_ulp_refWeekNumber,
7656 { "refWeekNumber", "ulp.refWeekNumber",
7657 FT_UINT32, BASE_DEC, NULL, 0,
7658 "INTEGER_0_65535", HFILL }},
7659 { &hf_ulp_refSeconds,
7660 { "refSeconds", "ulp.refSeconds",
7661 FT_UINT32, BASE_DEC, NULL, 0,
7662 "INTEGER_0_4194303", HFILL }},
7663 { &hf_ulp_nMR,
7664 { "nMR", "ulp.nMR",
7665 FT_UINT32, BASE_DEC, NULL, 0,
7666 NULL, HFILL }},
7667 { &hf_ulp_tA,
7668 { "tA", "ulp.tA",
7669 FT_UINT32, BASE_DEC, NULL, 0,
7670 "INTEGER_0_255", HFILL }},
7671 { &hf_ulp_frequencyInfo,
7672 { "frequencyInfo", "ulp.frequencyInfo_element",
7673 FT_NONE, BASE_NONE, NULL, 0,
7674 NULL, HFILL }},
7675 { &hf_ulp_primaryScramblingCode,
7676 { "primaryScramblingCode", "ulp.primaryScramblingCode",
7677 FT_UINT32, BASE_DEC, NULL, 0,
7678 "INTEGER_0_511", HFILL }},
7679 { &hf_ulp_measuredResultsList,
7680 { "measuredResultsList", "ulp.measuredResultsList",
7681 FT_UINT32, BASE_DEC, NULL, 0,
7682 NULL, HFILL }},
7683 { &hf_ulp_cellParametersId,
7684 { "cellParametersId", "ulp.cellParametersId",
7685 FT_UINT32, BASE_DEC, NULL, 0,
7686 "INTEGER_0_127", HFILL }},
7687 { &hf_ulp_timingAdvance,
7688 { "timingAdvance", "ulp.timingAdvance_element",
7689 FT_NONE, BASE_NONE, NULL, 0,
7690 NULL, HFILL }},
7691 { &hf_ulp_tA_01,
7692 { "tA", "ulp.tA",
7693 FT_UINT32, BASE_DEC, NULL, 0,
7694 "INTEGER_0_8191", HFILL }},
7695 { &hf_ulp_tAResolution,
7696 { "tAResolution", "ulp.tAResolution",
7697 FT_UINT32, BASE_DEC, VALS(ulp_TAResolution_vals), 0,
7698 NULL, HFILL }},
7699 { &hf_ulp_chipRate,
7700 { "chipRate", "ulp.chipRate",
7701 FT_UINT32, BASE_DEC, VALS(ulp_ChipRate_vals), 0,
7702 NULL, HFILL }},
7703 { &hf_ulp_modeSpecificFrequencyInfo,
7704 { "modeSpecificInfo", "ulp.modeSpecificInfo",
7705 FT_UINT32, BASE_DEC, VALS(ulp_FrequencySpecificInfo_vals), 0,
7706 "FrequencySpecificInfo", HFILL }},
7707 { &hf_ulp_fdd_fr,
7708 { "fdd", "ulp.fdd_element",
7709 FT_NONE, BASE_NONE, NULL, 0,
7710 "FrequencyInfoFDD", HFILL }},
7711 { &hf_ulp_tdd_fr,
7712 { "tdd", "ulp.tdd_element",
7713 FT_NONE, BASE_NONE, NULL, 0,
7714 "FrequencyInfoTDD", HFILL }},
7715 { &hf_ulp_uarfcn_UL,
7716 { "uarfcn-UL", "ulp.uarfcn_UL",
7717 FT_UINT32, BASE_DEC, NULL, 0,
7718 "UARFCN", HFILL }},
7719 { &hf_ulp_uarfcn_DL,
7720 { "uarfcn-DL", "ulp.uarfcn_DL",
7721 FT_UINT32, BASE_DEC, NULL, 0,
7722 "UARFCN", HFILL }},
7723 { &hf_ulp_uarfcn_Nt,
7724 { "uarfcn-Nt", "ulp.uarfcn_Nt",
7725 FT_UINT32, BASE_DEC, NULL, 0,
7726 "UARFCN", HFILL }},
7727 { &hf_ulp_NMR_item,
7728 { "NMRelement", "ulp.NMRelement_element",
7729 FT_NONE, BASE_NONE, NULL, 0,
7730 NULL, HFILL }},
7731 { &hf_ulp_aRFCN,
7732 { "aRFCN", "ulp.aRFCN",
7733 FT_UINT32, BASE_DEC, NULL, 0,
7734 "INTEGER_0_1023", HFILL }},
7735 { &hf_ulp_bSIC,
7736 { "bSIC", "ulp.bSIC",
7737 FT_UINT32, BASE_DEC, NULL, 0,
7738 "INTEGER_0_63", HFILL }},
7739 { &hf_ulp_rxLev,
7740 { "rxLev", "ulp.rxLev",
7741 FT_UINT32, BASE_DEC, NULL, 0,
7742 "INTEGER_0_63", HFILL }},
7743 { &hf_ulp_MeasuredResultsList_item,
7744 { "MeasuredResults", "ulp.MeasuredResults_element",
7745 FT_NONE, BASE_NONE, NULL, 0,
7746 NULL, HFILL }},
7747 { &hf_ulp_utra_CarrierRSSI,
7748 { "utra-CarrierRSSI", "ulp.utra_CarrierRSSI",
7749 FT_UINT32, BASE_DEC, NULL, 0,
7750 NULL, HFILL }},
7751 { &hf_ulp_cellMeasuredResultsList,
7752 { "cellMeasuredResultsList", "ulp.cellMeasuredResultsList",
7753 FT_UINT32, BASE_DEC, NULL, 0,
7754 NULL, HFILL }},
7755 { &hf_ulp_CellMeasuredResultsList_item,
7756 { "CellMeasuredResults", "ulp.CellMeasuredResults_element",
7757 FT_NONE, BASE_NONE, NULL, 0,
7758 NULL, HFILL }},
7759 { &hf_ulp_cellIdentity,
7760 { "cellIdentity", "ulp.cellIdentity",
7761 FT_UINT32, BASE_DEC, NULL, 0,
7762 "INTEGER_0_268435455", HFILL }},
7763 { &hf_ulp_modeSpecificInfo,
7764 { "modeSpecificInfo", "ulp.modeSpecificInfo",
7765 FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_vals), 0,
7766 NULL, HFILL }},
7767 { &hf_ulp_fdd,
7768 { "fdd", "ulp.fdd_element",
7769 FT_NONE, BASE_NONE, NULL, 0,
7770 NULL, HFILL }},
7771 { &hf_ulp_primaryCPICH_Info,
7772 { "primaryCPICH-Info", "ulp.primaryCPICH_Info_element",
7773 FT_NONE, BASE_NONE, NULL, 0,
7774 NULL, HFILL }},
7775 { &hf_ulp_cpich_Ec_N0,
7776 { "cpich-Ec-N0", "ulp.cpich_Ec_N0",
7777 FT_UINT32, BASE_DEC, NULL, 0,
7778 NULL, HFILL }},
7779 { &hf_ulp_cpich_RSCP,
7780 { "cpich-RSCP", "ulp.cpich_RSCP",
7781 FT_UINT32, BASE_DEC, NULL, 0,
7782 NULL, HFILL }},
7783 { &hf_ulp_pathloss,
7784 { "pathloss", "ulp.pathloss",
7785 FT_UINT32, BASE_DEC, NULL, 0,
7786 NULL, HFILL }},
7787 { &hf_ulp_tdd,
7788 { "tdd", "ulp.tdd_element",
7789 FT_NONE, BASE_NONE, NULL, 0,
7790 NULL, HFILL }},
7791 { &hf_ulp_cellParametersID,
7792 { "cellParametersID", "ulp.cellParametersID",
7793 FT_UINT32, BASE_DEC, NULL, 0,
7794 NULL, HFILL }},
7795 { &hf_ulp_proposedTGSN,
7796 { "proposedTGSN", "ulp.proposedTGSN",
7797 FT_UINT32, BASE_DEC, NULL, 0,
7798 "TGSN", HFILL }},
7799 { &hf_ulp_primaryCCPCH_RSCP,
7800 { "primaryCCPCH-RSCP", "ulp.primaryCCPCH_RSCP",
7801 FT_UINT32, BASE_DEC, NULL, 0,
7802 NULL, HFILL }},
7803 { &hf_ulp_timeslotISCP_List,
7804 { "timeslotISCP-List", "ulp.timeslotISCP_List",
7805 FT_UINT32, BASE_DEC, NULL, 0,
7806 NULL, HFILL }},
7807 { &hf_ulp_TimeslotISCP_List_item,
7808 { "TimeslotISCP", "ulp.TimeslotISCP",
7809 FT_UINT32, BASE_DEC, NULL, 0,
7810 NULL, HFILL }},
7811 { &hf_ulp_horacc,
7812 { "horacc", "ulp.horacc",
7813 FT_UINT32, BASE_DEC, NULL, 0,
7814 "INTEGER_0_127", HFILL }},
7815 { &hf_ulp_veracc,
7816 { "veracc", "ulp.veracc",
7817 FT_UINT32, BASE_DEC, NULL, 0,
7818 "INTEGER_0_127", HFILL }},
7819 { &hf_ulp_maxLocAge,
7820 { "maxLocAge", "ulp.maxLocAge",
7821 FT_UINT32, BASE_DEC, NULL, 0,
7822 "INTEGER_0_65535", HFILL }},
7823 { &hf_ulp_delay,
7824 { "delay", "ulp.delay",
7825 FT_UINT32, BASE_DEC, NULL, 0,
7826 "INTEGER_0_7", HFILL }},
7827 { &hf_ulp_horvel,
7828 { "horvel", "ulp.horvel_element",
7829 FT_NONE, BASE_NONE, NULL, 0,
7830 NULL, HFILL }},
7831 { &hf_ulp_horandvervel,
7832 { "horandvervel", "ulp.horandvervel_element",
7833 FT_NONE, BASE_NONE, NULL, 0,
7834 NULL, HFILL }},
7835 { &hf_ulp_horveluncert,
7836 { "horveluncert", "ulp.horveluncert_element",
7837 FT_NONE, BASE_NONE, NULL, 0,
7838 NULL, HFILL }},
7839 { &hf_ulp_horandveruncert,
7840 { "horandveruncert", "ulp.horandveruncert_element",
7841 FT_NONE, BASE_NONE, NULL, 0,
7842 NULL, HFILL }},
7843 { &hf_ulp_bearing,
7844 { "bearing", "ulp.bearing",
7845 FT_BYTES, BASE_NONE, NULL, 0,
7846 "BIT_STRING_SIZE_9", HFILL }},
7847 { &hf_ulp_horspeed,
7848 { "horspeed", "ulp.horspeed",
7849 FT_BYTES, BASE_NONE, NULL, 0,
7850 "BIT_STRING_SIZE_16", HFILL }},
7851 { &hf_ulp_verdirect,
7852 { "verdirect", "ulp.verdirect",
7853 FT_BYTES, BASE_NONE, NULL, 0,
7854 "BIT_STRING_SIZE_1", HFILL }},
7855 { &hf_ulp_verspeed,
7856 { "verspeed", "ulp.verspeed",
7857 FT_BYTES, BASE_NONE, NULL, 0,
7858 "BIT_STRING_SIZE_8", HFILL }},
7859 { &hf_ulp_uncertspeed,
7860 { "uncertspeed", "ulp.uncertspeed",
7861 FT_BYTES, BASE_NONE, NULL, 0,
7862 "BIT_STRING_SIZE_8", HFILL }},
7863 { &hf_ulp_horuncertspeed,
7864 { "horuncertspeed", "ulp.horuncertspeed",
7865 FT_BYTES, BASE_NONE, NULL, 0,
7866 "BIT_STRING_SIZE_8", HFILL }},
7867 { &hf_ulp_veruncertspeed,
7868 { "veruncertspeed", "ulp.veruncertspeed",
7869 FT_BYTES, BASE_NONE, NULL, 0,
7870 "BIT_STRING_SIZE_8", HFILL }},
7871 { &hf_ulp_MultipleLocationIds_item,
7872 { "LocationIdData", "ulp.LocationIdData_element",
7873 FT_NONE, BASE_NONE, NULL, 0,
7874 NULL, HFILL }},
7875 { &hf_ulp_relativetimestamp,
7876 { "relativetimestamp", "ulp.relativetimestamp",
7877 FT_UINT32, BASE_DEC, NULL, 0,
7878 "RelativeTime", HFILL }},
7879 { &hf_ulp_servingFlag,
7880 { "servingFlag", "ulp.servingFlag",
7881 FT_BOOLEAN, BASE_NONE, NULL, 0,
7882 "BOOLEAN", HFILL }},
7883 { &hf_ulp_wLAN,
7884 { "wLAN", "ulp.wLAN",
7885 FT_BOOLEAN, BASE_NONE, NULL, 0,
7886 "BOOLEAN", HFILL }},
7887 { &hf_ulp_supportedWLANInfo,
7888 { "supportedWLANInfo", "ulp.supportedWLANInfo_element",
7889 FT_NONE, BASE_NONE, NULL, 0,
7890 NULL, HFILL }},
7891 { &hf_ulp_supportedWLANApsList,
7892 { "supportedWLANApsList", "ulp.supportedWLANApsList_element",
7893 FT_NONE, BASE_NONE, NULL, 0,
7894 NULL, HFILL }},
7895 { &hf_ulp_gSM,
7896 { "gSM", "ulp.gSM",
7897 FT_BOOLEAN, BASE_NONE, NULL, 0,
7898 "BOOLEAN", HFILL }},
7899 { &hf_ulp_wCDMA,
7900 { "wCDMA", "ulp.wCDMA",
7901 FT_BOOLEAN, BASE_NONE, NULL, 0,
7902 "BOOLEAN", HFILL }},
7903 { &hf_ulp_supportedWCDMAInfo,
7904 { "supportedWCDMAInfo", "ulp.supportedWCDMAInfo_element",
7905 FT_NONE, BASE_NONE, NULL, 0,
7906 NULL, HFILL }},
7907 { &hf_ulp_cDMA,
7908 { "cDMA", "ulp.cDMA",
7909 FT_BOOLEAN, BASE_NONE, NULL, 0,
7910 "BOOLEAN", HFILL }},
7911 { &hf_ulp_hRDP,
7912 { "hRDP", "ulp.hRDP",
7913 FT_BOOLEAN, BASE_NONE, NULL, 0,
7914 "BOOLEAN", HFILL }},
7915 { &hf_ulp_uMB,
7916 { "uMB", "ulp.uMB",
7917 FT_BOOLEAN, BASE_NONE, NULL, 0,
7918 "BOOLEAN", HFILL }},
7919 { &hf_ulp_lTE,
7920 { "lTE", "ulp.lTE",
7921 FT_BOOLEAN, BASE_NONE, NULL, 0,
7922 "BOOLEAN", HFILL }},
7923 { &hf_ulp_wIMAX,
7924 { "wIMAX", "ulp.wIMAX",
7925 FT_BOOLEAN, BASE_NONE, NULL, 0,
7926 "BOOLEAN", HFILL }},
7927 { &hf_ulp_historic,
7928 { "historic", "ulp.historic",
7929 FT_BOOLEAN, BASE_NONE, NULL, 0,
7930 "BOOLEAN", HFILL }},
7931 { &hf_ulp_nonServing,
7932 { "nonServing", "ulp.nonServing",
7933 FT_BOOLEAN, BASE_NONE, NULL, 0,
7934 "BOOLEAN", HFILL }},
7935 { &hf_ulp_uTRANGPSReferenceTime,
7936 { "uTRANGPSReferenceTime", "ulp.uTRANGPSReferenceTime",
7937 FT_BOOLEAN, BASE_NONE, NULL, 0,
7938 "BOOLEAN", HFILL }},
7939 { &hf_ulp_uTRANGANSSReferenceTime,
7940 { "uTRANGANSSReferenceTime", "ulp.uTRANGANSSReferenceTime",
7941 FT_BOOLEAN, BASE_NONE, NULL, 0,
7942 "BOOLEAN", HFILL }},
7943 { &hf_ulp_apTP,
7944 { "apTP", "ulp.apTP",
7945 FT_BOOLEAN, BASE_NONE, NULL, 0,
7946 "BOOLEAN", HFILL }},
7947 { &hf_ulp_apAG,
7948 { "apAG", "ulp.apAG",
7949 FT_BOOLEAN, BASE_NONE, NULL, 0,
7950 "BOOLEAN", HFILL }},
7951 { &hf_ulp_apSN,
7952 { "apSN", "ulp.apSN",
7953 FT_BOOLEAN, BASE_NONE, NULL, 0,
7954 "BOOLEAN", HFILL }},
7955 { &hf_ulp_apDevType,
7956 { "apDevType", "ulp.apDevType",
7957 FT_BOOLEAN, BASE_NONE, NULL, 0,
7958 "BOOLEAN", HFILL }},
7959 { &hf_ulp_apRSSI,
7960 { "apRSSI", "ulp.apRSSI",
7961 FT_BOOLEAN, BASE_NONE, NULL, 0,
7962 "BOOLEAN", HFILL }},
7963 { &hf_ulp_apChanFreq,
7964 { "apChanFreq", "ulp.apChanFreq",
7965 FT_BOOLEAN, BASE_NONE, NULL, 0,
7966 "BOOLEAN", HFILL }},
7967 { &hf_ulp_apRTD,
7968 { "apRTD", "ulp.apRTD",
7969 FT_BOOLEAN, BASE_NONE, NULL, 0,
7970 "BOOLEAN", HFILL }},
7971 { &hf_ulp_setTP,
7972 { "setTP", "ulp.setTP",
7973 FT_BOOLEAN, BASE_NONE, NULL, 0,
7974 "BOOLEAN", HFILL }},
7975 { &hf_ulp_setAG,
7976 { "setAG", "ulp.setAG",
7977 FT_BOOLEAN, BASE_NONE, NULL, 0,
7978 "BOOLEAN", HFILL }},
7979 { &hf_ulp_setSN,
7980 { "setSN", "ulp.setSN",
7981 FT_BOOLEAN, BASE_NONE, NULL, 0,
7982 "BOOLEAN", HFILL }},
7983 { &hf_ulp_setRSSI,
7984 { "setRSSI", "ulp.setRSSI",
7985 FT_BOOLEAN, BASE_NONE, NULL, 0,
7986 "BOOLEAN", HFILL }},
7987 { &hf_ulp_apRepLoc,
7988 { "apRepLoc", "ulp.apRepLoc",
7989 FT_BOOLEAN, BASE_NONE, NULL, 0,
7990 "BOOLEAN", HFILL }},
7991 { &hf_ulp_supportedWLANApDataList,
7992 { "supportedWLANApDataList", "ulp.supportedWLANApDataList",
7993 FT_UINT32, BASE_DEC, NULL, 0,
7994 "SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData", HFILL }},
7995 { &hf_ulp_supportedWLANApDataList_item,
7996 { "SupportedWLANApData", "ulp.SupportedWLANApData_element",
7997 FT_NONE, BASE_NONE, NULL, 0,
7998 NULL, HFILL }},
7999 { &hf_ulp_supportedWLANapsChannel11a,
8000 { "supportedWLANapsChannel11a", "ulp.supportedWLANapsChannel11a_element",
8001 FT_NONE, BASE_NONE, NULL, 0,
8002 NULL, HFILL }},
8003 { &hf_ulp_supportedWLANapsChannel11bg,
8004 { "supportedWLANapsChannel11bg", "ulp.supportedWLANapsChannel11bg_element",
8005 FT_NONE, BASE_NONE, NULL, 0,
8006 NULL, HFILL }},
8007 { &hf_ulp_ch34,
8008 { "ch34", "ulp.ch34",
8009 FT_BOOLEAN, BASE_NONE, NULL, 0,
8010 "BOOLEAN", HFILL }},
8011 { &hf_ulp_ch36,
8012 { "ch36", "ulp.ch36",
8013 FT_BOOLEAN, BASE_NONE, NULL, 0,
8014 "BOOLEAN", HFILL }},
8015 { &hf_ulp_ch38,
8016 { "ch38", "ulp.ch38",
8017 FT_BOOLEAN, BASE_NONE, NULL, 0,
8018 "BOOLEAN", HFILL }},
8019 { &hf_ulp_ch40,
8020 { "ch40", "ulp.ch40",
8021 FT_BOOLEAN, BASE_NONE, NULL, 0,
8022 "BOOLEAN", HFILL }},
8023 { &hf_ulp_ch42,
8024 { "ch42", "ulp.ch42",
8025 FT_BOOLEAN, BASE_NONE, NULL, 0,
8026 "BOOLEAN", HFILL }},
8027 { &hf_ulp_ch44,
8028 { "ch44", "ulp.ch44",
8029 FT_BOOLEAN, BASE_NONE, NULL, 0,
8030 "BOOLEAN", HFILL }},
8031 { &hf_ulp_ch46,
8032 { "ch46", "ulp.ch46",
8033 FT_BOOLEAN, BASE_NONE, NULL, 0,
8034 "BOOLEAN", HFILL }},
8035 { &hf_ulp_ch48,
8036 { "ch48", "ulp.ch48",
8037 FT_BOOLEAN, BASE_NONE, NULL, 0,
8038 "BOOLEAN", HFILL }},
8039 { &hf_ulp_ch52,
8040 { "ch52", "ulp.ch52",
8041 FT_BOOLEAN, BASE_NONE, NULL, 0,
8042 "BOOLEAN", HFILL }},
8043 { &hf_ulp_ch56,
8044 { "ch56", "ulp.ch56",
8045 FT_BOOLEAN, BASE_NONE, NULL, 0,
8046 "BOOLEAN", HFILL }},
8047 { &hf_ulp_ch60,
8048 { "ch60", "ulp.ch60",
8049 FT_BOOLEAN, BASE_NONE, NULL, 0,
8050 "BOOLEAN", HFILL }},
8051 { &hf_ulp_ch64,
8052 { "ch64", "ulp.ch64",
8053 FT_BOOLEAN, BASE_NONE, NULL, 0,
8054 "BOOLEAN", HFILL }},
8055 { &hf_ulp_ch149,
8056 { "ch149", "ulp.ch149",
8057 FT_BOOLEAN, BASE_NONE, NULL, 0,
8058 "BOOLEAN", HFILL }},
8059 { &hf_ulp_ch153,
8060 { "ch153", "ulp.ch153",
8061 FT_BOOLEAN, BASE_NONE, NULL, 0,
8062 "BOOLEAN", HFILL }},
8063 { &hf_ulp_ch157,
8064 { "ch157", "ulp.ch157",
8065 FT_BOOLEAN, BASE_NONE, NULL, 0,
8066 "BOOLEAN", HFILL }},
8067 { &hf_ulp_ch161,
8068 { "ch161", "ulp.ch161",
8069 FT_BOOLEAN, BASE_NONE, NULL, 0,
8070 "BOOLEAN", HFILL }},
8071 { &hf_ulp_ch1,
8072 { "ch1", "ulp.ch1",
8073 FT_BOOLEAN, BASE_NONE, NULL, 0,
8074 "BOOLEAN", HFILL }},
8075 { &hf_ulp_ch2,
8076 { "ch2", "ulp.ch2",
8077 FT_BOOLEAN, BASE_NONE, NULL, 0,
8078 "BOOLEAN", HFILL }},
8079 { &hf_ulp_ch3,
8080 { "ch3", "ulp.ch3",
8081 FT_BOOLEAN, BASE_NONE, NULL, 0,
8082 "BOOLEAN", HFILL }},
8083 { &hf_ulp_ch4,
8084 { "ch4", "ulp.ch4",
8085 FT_BOOLEAN, BASE_NONE, NULL, 0,
8086 "BOOLEAN", HFILL }},
8087 { &hf_ulp_ch5,
8088 { "ch5", "ulp.ch5",
8089 FT_BOOLEAN, BASE_NONE, NULL, 0,
8090 "BOOLEAN", HFILL }},
8091 { &hf_ulp_ch6,
8092 { "ch6", "ulp.ch6",
8093 FT_BOOLEAN, BASE_NONE, NULL, 0,
8094 "BOOLEAN", HFILL }},
8095 { &hf_ulp_ch7,
8096 { "ch7", "ulp.ch7",
8097 FT_BOOLEAN, BASE_NONE, NULL, 0,
8098 "BOOLEAN", HFILL }},
8099 { &hf_ulp_ch8,
8100 { "ch8", "ulp.ch8",
8101 FT_BOOLEAN, BASE_NONE, NULL, 0,
8102 "BOOLEAN", HFILL }},
8103 { &hf_ulp_ch9,
8104 { "ch9", "ulp.ch9",
8105 FT_BOOLEAN, BASE_NONE, NULL, 0,
8106 "BOOLEAN", HFILL }},
8107 { &hf_ulp_ch10,
8108 { "ch10", "ulp.ch10",
8109 FT_BOOLEAN, BASE_NONE, NULL, 0,
8110 "BOOLEAN", HFILL }},
8111 { &hf_ulp_ch11,
8112 { "ch11", "ulp.ch11",
8113 FT_BOOLEAN, BASE_NONE, NULL, 0,
8114 "BOOLEAN", HFILL }},
8115 { &hf_ulp_ch12,
8116 { "ch12", "ulp.ch12",
8117 FT_BOOLEAN, BASE_NONE, NULL, 0,
8118 "BOOLEAN", HFILL }},
8119 { &hf_ulp_ch13,
8120 { "ch13", "ulp.ch13",
8121 FT_BOOLEAN, BASE_NONE, NULL, 0,
8122 "BOOLEAN", HFILL }},
8123 { &hf_ulp_ch14,
8124 { "ch14", "ulp.ch14",
8125 FT_BOOLEAN, BASE_NONE, NULL, 0,
8126 "BOOLEAN", HFILL }},
8127 { &hf_ulp_apDevType_01,
8128 { "apDevType", "ulp.apDevType",
8129 FT_UINT32, BASE_DEC, VALS(ulp_T_apDevType_vals), 0,
8130 NULL, HFILL }},
8131 { &hf_ulp_mRL,
8132 { "mRL", "ulp.mRL",
8133 FT_BOOLEAN, BASE_NONE, NULL, 0,
8134 "BOOLEAN", HFILL }},
8135 { &hf_ulp_hrpdCell,
8136 { "hrpdCell", "ulp.hrpdCell_element",
8137 FT_NONE, BASE_NONE, NULL, 0,
8138 "HrpdCellInformation", HFILL }},
8139 { &hf_ulp_umbCell,
8140 { "umbCell", "ulp.umbCell_element",
8141 FT_NONE, BASE_NONE, NULL, 0,
8142 "UmbCellInformation", HFILL }},
8143 { &hf_ulp_lteCell,
8144 { "lteCell", "ulp.lteCell_element",
8145 FT_NONE, BASE_NONE, NULL, 0,
8146 "LteCellInformation", HFILL }},
8147 { &hf_ulp_wlanAP,
8148 { "wlanAP", "ulp.wlanAP_element",
8149 FT_NONE, BASE_NONE, NULL, 0,
8150 "WlanAPInformation", HFILL }},
8151 { &hf_ulp_wimaxBS,
8152 { "wimaxBS", "ulp.wimaxBS_element",
8153 FT_NONE, BASE_NONE, NULL, 0,
8154 "WimaxBSInformation", HFILL }},
8155 { &hf_ulp_cellGlobalIdEUTRA,
8156 { "cellGlobalIdEUTRA", "ulp.cellGlobalIdEUTRA_element",
8157 FT_NONE, BASE_NONE, NULL, 0,
8158 NULL, HFILL }},
8159 { &hf_ulp_physCellId,
8160 { "physCellId", "ulp.physCellId",
8161 FT_UINT32, BASE_DEC, NULL, 0,
8162 NULL, HFILL }},
8163 { &hf_ulp_trackingAreaCode,
8164 { "trackingAreaCode", "ulp.trackingAreaCode",
8165 FT_BYTES, BASE_NONE, NULL, 0,
8166 NULL, HFILL }},
8167 { &hf_ulp_rsrpResult,
8168 { "rsrpResult", "ulp.rsrpResult",
8169 FT_UINT32, BASE_DEC, NULL, 0,
8170 "RSRP_Range", HFILL }},
8171 { &hf_ulp_rsrqResult,
8172 { "rsrqResult", "ulp.rsrqResult",
8173 FT_UINT32, BASE_DEC, NULL, 0,
8174 "RSRQ_Range", HFILL }},
8175 { &hf_ulp_tA_02,
8176 { "tA", "ulp.tA",
8177 FT_UINT32, BASE_DEC, NULL, 0,
8178 "INTEGER_0_1282", HFILL }},
8179 { &hf_ulp_measResultListEUTRA,
8180 { "measResultListEUTRA", "ulp.measResultListEUTRA",
8181 FT_UINT32, BASE_DEC, NULL, 0,
8182 NULL, HFILL }},
8183 { &hf_ulp_MeasResultListEUTRA_item,
8184 { "MeasResultEUTRA", "ulp.MeasResultEUTRA_element",
8185 FT_NONE, BASE_NONE, NULL, 0,
8186 NULL, HFILL }},
8187 { &hf_ulp_cgi_Info,
8188 { "cgi-Info", "ulp.cgi_Info_element",
8189 FT_NONE, BASE_NONE, NULL, 0,
8190 NULL, HFILL }},
8191 { &hf_ulp_cellGlobalId,
8192 { "cellGlobalId", "ulp.cellGlobalId_element",
8193 FT_NONE, BASE_NONE, NULL, 0,
8194 "CellGlobalIdEUTRA", HFILL }},
8195 { &hf_ulp_measResult,
8196 { "measResult", "ulp.measResult_element",
8197 FT_NONE, BASE_NONE, NULL, 0,
8198 NULL, HFILL }},
8199 { &hf_ulp_plmn_Identity,
8200 { "plmn-Identity", "ulp.plmn_Identity_element",
8201 FT_NONE, BASE_NONE, NULL, 0,
8202 NULL, HFILL }},
8203 { &hf_ulp_cellIdentity_01,
8204 { "cellIdentity", "ulp.cellIdentity",
8205 FT_BYTES, BASE_NONE, NULL, 0,
8206 NULL, HFILL }},
8207 { &hf_ulp_mcc,
8208 { "mcc", "ulp.mcc",
8209 FT_UINT32, BASE_DEC, NULL, 0,
8210 NULL, HFILL }},
8211 { &hf_ulp_mnc,
8212 { "mnc", "ulp.mnc",
8213 FT_UINT32, BASE_DEC, NULL, 0,
8214 NULL, HFILL }},
8215 { &hf_ulp_MCC_item,
8216 { "MCC-MNC-Digit", "ulp.MCC_MNC_Digit",
8217 FT_UINT32, BASE_DEC, NULL, 0,
8218 NULL, HFILL }},
8219 { &hf_ulp_MNC_item,
8220 { "MCC-MNC-Digit", "ulp.MCC_MNC_Digit",
8221 FT_UINT32, BASE_DEC, NULL, 0,
8222 NULL, HFILL }},
8223 { &hf_ulp_apTransmitPower,
8224 { "apTransmitPower", "ulp.apTransmitPower",
8225 FT_INT32, BASE_DEC, NULL, 0,
8226 "INTEGER_M127_128", HFILL }},
8227 { &hf_ulp_apAntennaGain,
8228 { "apAntennaGain", "ulp.apAntennaGain",
8229 FT_INT32, BASE_DEC, NULL, 0,
8230 "INTEGER_M127_128", HFILL }},
8231 { &hf_ulp_apSignaltoNoise,
8232 { "apSignaltoNoise", "ulp.apSignaltoNoise",
8233 FT_INT32, BASE_DEC, NULL, 0,
8234 "INTEGER_M127_128", HFILL }},
8235 { &hf_ulp_apDeviceType,
8236 { "apDeviceType", "ulp.apDeviceType",
8237 FT_UINT32, BASE_DEC, VALS(ulp_T_apDeviceType_vals), 0,
8238 NULL, HFILL }},
8239 { &hf_ulp_apSignalStrength,
8240 { "apSignalStrength", "ulp.apSignalStrength",
8241 FT_INT32, BASE_DEC, NULL, 0,
8242 "INTEGER_M127_128", HFILL }},
8243 { &hf_ulp_apChannelFrequency,
8244 { "apChannelFrequency", "ulp.apChannelFrequency",
8245 FT_UINT32, BASE_DEC, NULL, 0,
8246 "INTEGER_0_256", HFILL }},
8247 { &hf_ulp_apRoundTripDelay,
8248 { "apRoundTripDelay", "ulp.apRoundTripDelay_element",
8249 FT_NONE, BASE_NONE, NULL, 0,
8250 "RTD", HFILL }},
8251 { &hf_ulp_setTransmitPower,
8252 { "setTransmitPower", "ulp.setTransmitPower",
8253 FT_INT32, BASE_DEC, NULL, 0,
8254 "INTEGER_M127_128", HFILL }},
8255 { &hf_ulp_setAntennaGain,
8256 { "setAntennaGain", "ulp.setAntennaGain",
8257 FT_INT32, BASE_DEC, NULL, 0,
8258 "INTEGER_M127_128", HFILL }},
8259 { &hf_ulp_setSignaltoNoise,
8260 { "setSignaltoNoise", "ulp.setSignaltoNoise",
8261 FT_INT32, BASE_DEC, NULL, 0,
8262 "INTEGER_M127_128", HFILL }},
8263 { &hf_ulp_setSignalStrength,
8264 { "setSignalStrength", "ulp.setSignalStrength",
8265 FT_INT32, BASE_DEC, NULL, 0,
8266 "INTEGER_M127_128", HFILL }},
8267 { &hf_ulp_apReportedLocation,
8268 { "apReportedLocation", "ulp.apReportedLocation_element",
8269 FT_NONE, BASE_NONE, NULL, 0,
8270 "ReportedLocation", HFILL }},
8271 { &hf_ulp_rTDValue,
8272 { "rTDValue", "ulp.rTDValue",
8273 FT_UINT32, BASE_DEC, NULL, 0,
8274 "INTEGER_0_16777216", HFILL }},
8275 { &hf_ulp_rTDUnits,
8276 { "rTDUnits", "ulp.rTDUnits",
8277 FT_UINT32, BASE_DEC, VALS(ulp_RTDUnits_vals), 0,
8278 NULL, HFILL }},
8279 { &hf_ulp_rTDAccuracy,
8280 { "rTDAccuracy", "ulp.rTDAccuracy",
8281 FT_UINT32, BASE_DEC, NULL, 0,
8282 "INTEGER_0_255", HFILL }},
8283 { &hf_ulp_locationEncodingDescriptor,
8284 { "locationEncodingDescriptor", "ulp.locationEncodingDescriptor",
8285 FT_UINT32, BASE_DEC, VALS(ulp_LocationEncodingDescriptor_vals), 0,
8286 NULL, HFILL }},
8287 { &hf_ulp_locationData,
8288 { "locationData", "ulp.locationData_element",
8289 FT_NONE, BASE_NONE, NULL, 0,
8290 NULL, HFILL }},
8291 { &hf_ulp_locationAccuracy,
8292 { "locationAccuracy", "ulp.locationAccuracy",
8293 FT_UINT32, BASE_DEC, NULL, 0,
8294 "INTEGER_0_4294967295", HFILL }},
8295 { &hf_ulp_locationValue,
8296 { "locationValue", "ulp.locationValue",
8297 FT_BYTES, BASE_NONE, NULL, 0,
8298 "OCTET_STRING_SIZE_1_128", HFILL }},
8299 { &hf_ulp_wimaxBsID,
8300 { "wimaxBsID", "ulp.wimaxBsID_element",
8301 FT_NONE, BASE_NONE, NULL, 0,
8302 NULL, HFILL }},
8303 { &hf_ulp_wimaxRTD,
8304 { "wimaxRTD", "ulp.wimaxRTD_element",
8305 FT_NONE, BASE_NONE, NULL, 0,
8306 NULL, HFILL }},
8307 { &hf_ulp_wimaxNMRList,
8308 { "wimaxNMRList", "ulp.wimaxNMRList",
8309 FT_UINT32, BASE_DEC, NULL, 0,
8310 NULL, HFILL }},
8311 { &hf_ulp_rTD,
8312 { "rTD", "ulp.rTD",
8313 FT_UINT32, BASE_DEC, NULL, 0,
8314 "INTEGER_0_65535", HFILL }},
8315 { &hf_ulp_rTDstd,
8316 { "rTDstd", "ulp.rTDstd",
8317 FT_UINT32, BASE_DEC, NULL, 0,
8318 "INTEGER_0_1023", HFILL }},
8319 { &hf_ulp_WimaxNMRList_item,
8320 { "WimaxNMR", "ulp.WimaxNMR_element",
8321 FT_NONE, BASE_NONE, NULL, 0,
8322 NULL, HFILL }},
8323 { &hf_ulp_relDelay,
8324 { "relDelay", "ulp.relDelay",
8325 FT_INT32, BASE_DEC, NULL, 0,
8326 "INTEGER_M32768_32767", HFILL }},
8327 { &hf_ulp_relDelaystd,
8328 { "relDelaystd", "ulp.relDelaystd",
8329 FT_UINT32, BASE_DEC, NULL, 0,
8330 "INTEGER_0_1023", HFILL }},
8331 { &hf_ulp_rSSI,
8332 { "rSSI", "ulp.rSSI",
8333 FT_UINT32, BASE_DEC, NULL, 0,
8334 "INTEGER_0_255", HFILL }},
8335 { &hf_ulp_rSSIstd,
8336 { "rSSIstd", "ulp.rSSIstd",
8337 FT_UINT32, BASE_DEC, NULL, 0,
8338 "INTEGER_0_63", HFILL }},
8339 { &hf_ulp_bSTxPower,
8340 { "bSTxPower", "ulp.bSTxPower",
8341 FT_UINT32, BASE_DEC, NULL, 0,
8342 "INTEGER_0_255", HFILL }},
8343 { &hf_ulp_cINR,
8344 { "cINR", "ulp.cINR",
8345 FT_UINT32, BASE_DEC, NULL, 0,
8346 "INTEGER_0_255", HFILL }},
8347 { &hf_ulp_cINRstd,
8348 { "cINRstd", "ulp.cINRstd",
8349 FT_UINT32, BASE_DEC, NULL, 0,
8350 "INTEGER_0_63", HFILL }},
8351 { &hf_ulp_bSLocation,
8352 { "bSLocation", "ulp.bSLocation_element",
8353 FT_NONE, BASE_NONE, NULL, 0,
8354 "ReportedLocation", HFILL }},
8355 { &hf_ulp_utran_GPSReferenceTime,
8356 { "utran-GPSReferenceTime", "ulp.utran_GPSReferenceTime_element",
8357 FT_NONE, BASE_NONE, NULL, 0,
8358 NULL, HFILL }},
8359 { &hf_ulp_gpsReferenceTimeUncertainty,
8360 { "gpsReferenceTimeUncertainty", "ulp.gpsReferenceTimeUncertainty",
8361 FT_UINT32, BASE_DEC, NULL, 0,
8362 "INTEGER_0_127", HFILL }},
8363 { &hf_ulp_utranGPSDriftRate,
8364 { "utranGPSDriftRate", "ulp.utranGPSDriftRate",
8365 FT_UINT32, BASE_DEC, VALS(ulp_UTRANGPSDriftRate_vals), 0,
8366 NULL, HFILL }},
8367 { &hf_ulp_utran_GPSTimingOfCell,
8368 { "utran-GPSTimingOfCell", "ulp.utran_GPSTimingOfCell_element",
8369 FT_NONE, BASE_NONE, NULL, 0,
8370 NULL, HFILL }},
8371 { &hf_ulp_ms_part,
8372 { "ms-part", "ulp.ms_part",
8373 FT_UINT32, BASE_DEC, NULL, 0,
8374 "INTEGER_0_1023", HFILL }},
8375 { &hf_ulp_ls_part,
8376 { "ls-part", "ulp.ls_part",
8377 FT_UINT32, BASE_DEC, NULL, 0,
8378 "INTEGER_0_4294967295", HFILL }},
8379 { &hf_ulp_modeSpecificInfo_01,
8380 { "modeSpecificInfo", "ulp.modeSpecificInfo",
8381 FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_01_vals), 0,
8382 "T_modeSpecificInfo_01", HFILL }},
8383 { &hf_ulp_fdd_01,
8384 { "fdd", "ulp.fdd_element",
8385 FT_NONE, BASE_NONE, NULL, 0,
8386 "T_fdd_01", HFILL }},
8387 { &hf_ulp_referenceIdentity,
8388 { "referenceIdentity", "ulp.referenceIdentity_element",
8389 FT_NONE, BASE_NONE, NULL, 0,
8390 "PrimaryCPICH_Info", HFILL }},
8391 { &hf_ulp_tdd_01,
8392 { "tdd", "ulp.tdd_element",
8393 FT_NONE, BASE_NONE, NULL, 0,
8394 "T_tdd_01", HFILL }},
8395 { &hf_ulp_referenceIdentity_01,
8396 { "referenceIdentity", "ulp.referenceIdentity",
8397 FT_UINT32, BASE_DEC, NULL, 0,
8398 "CellParametersID", HFILL }},
8399 { &hf_ulp_sfn,
8400 { "sfn", "ulp.sfn",
8401 FT_UINT32, BASE_DEC, NULL, 0,
8402 "INTEGER_0_4095", HFILL }},
8403 { &hf_ulp_set_GPSTimingOfCell,
8404 { "set-GPSTimingOfCell", "ulp.set_GPSTimingOfCell_element",
8405 FT_NONE, BASE_NONE, NULL, 0,
8406 "T_set_GPSTimingOfCell", HFILL }},
8407 { &hf_ulp_ms_part_01,
8408 { "ms-part", "ulp.ms_part",
8409 FT_UINT32, BASE_DEC, NULL, 0,
8410 "INTEGER_0_16383", HFILL }},
8411 { &hf_ulp_modeSpecificInfo_02,
8412 { "modeSpecificInfo", "ulp.modeSpecificInfo",
8413 FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_02_vals), 0,
8414 "T_modeSpecificInfo_02", HFILL }},
8415 { &hf_ulp_fdd_02,
8416 { "fdd", "ulp.fdd_element",
8417 FT_NONE, BASE_NONE, NULL, 0,
8418 "T_fdd_02", HFILL }},
8419 { &hf_ulp_tdd_02,
8420 { "tdd", "ulp.tdd_element",
8421 FT_NONE, BASE_NONE, NULL, 0,
8422 "T_tdd_02", HFILL }},
8423 { &hf_ulp_ganssDay,
8424 { "ganssDay", "ulp.ganssDay",
8425 FT_UINT32, BASE_DEC, NULL, 0,
8426 "INTEGER_0_8191", HFILL }},
8427 { &hf_ulp_ganssTimeID,
8428 { "ganssTimeID", "ulp.ganssTimeID",
8429 FT_UINT32, BASE_DEC, NULL, 0,
8430 "INTEGER_0_15", HFILL }},
8431 { &hf_ulp_utran_GANSSReferenceTime,
8432 { "utran-GANSSReferenceTime", "ulp.utran_GANSSReferenceTime_element",
8433 FT_NONE, BASE_NONE, NULL, 0,
8434 NULL, HFILL }},
8435 { &hf_ulp_utranGANSSDriftRate,
8436 { "utranGANSSDriftRate", "ulp.utranGANSSDriftRate",
8437 FT_UINT32, BASE_DEC, VALS(ulp_UTRANGANSSDriftRate_vals), 0,
8438 NULL, HFILL }},
8439 { &hf_ulp_ganssTOD,
8440 { "ganssTOD", "ulp.ganssTOD",
8441 FT_UINT32, BASE_DEC, NULL, 0,
8442 "INTEGER_0_86399", HFILL }},
8443 { &hf_ulp_utran_GANSSTimingOfCell,
8444 { "utran-GANSSTimingOfCell", "ulp.utran_GANSSTimingOfCell",
8445 FT_UINT32, BASE_DEC, NULL, 0,
8446 "INTEGER_0_3999999", HFILL }},
8447 { &hf_ulp_modeSpecificInfo_03,
8448 { "modeSpecificInfo", "ulp.modeSpecificInfo",
8449 FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_03_vals), 0,
8450 "T_modeSpecificInfo_03", HFILL }},
8451 { &hf_ulp_fdd_03,
8452 { "fdd", "ulp.fdd_element",
8453 FT_NONE, BASE_NONE, NULL, 0,
8454 "T_fdd_03", HFILL }},
8455 { &hf_ulp_tdd_03,
8456 { "tdd", "ulp.tdd_element",
8457 FT_NONE, BASE_NONE, NULL, 0,
8458 "T_tdd_03", HFILL }},
8459 { &hf_ulp_ganss_TODUncertainty,
8460 { "ganss-TODUncertainty", "ulp.ganss_TODUncertainty",
8461 FT_UINT32, BASE_DEC, NULL, 0,
8462 "INTEGER_0_127", HFILL }},
8463 { &hf_ulp_set_GANSSReferenceTime,
8464 { "set-GANSSReferenceTime", "ulp.set_GANSSReferenceTime_element",
8465 FT_NONE, BASE_NONE, NULL, 0,
8466 NULL, HFILL }},
8467 { &hf_ulp_set_GANSSTimingOfCell,
8468 { "set-GANSSTimingOfCell", "ulp.set_GANSSTimingOfCell_element",
8469 FT_NONE, BASE_NONE, NULL, 0,
8470 "T_set_GANSSTimingOfCell", HFILL }},
8471 { &hf_ulp_ms_part_02,
8472 { "ms-part", "ulp.ms_part",
8473 FT_UINT32, BASE_DEC, NULL, 0,
8474 "INTEGER_0_80", HFILL }},
8475 { &hf_ulp_modeSpecificInfo_04,
8476 { "modeSpecificInfo", "ulp.modeSpecificInfo",
8477 FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_04_vals), 0,
8478 "T_modeSpecificInfo_04", HFILL }},
8479 { &hf_ulp_fdd_04,
8480 { "fdd", "ulp.fdd_element",
8481 FT_NONE, BASE_NONE, NULL, 0,
8482 "T_fdd_04", HFILL }},
8483 { &hf_ulp_tdd_04,
8484 { "tdd", "ulp.tdd_element",
8485 FT_NONE, BASE_NONE, NULL, 0,
8486 "T_tdd_04", HFILL }},
8487 { &hf_ulp_gps,
8488 { "gps", "ulp.gps",
8489 FT_BOOLEAN, BASE_NONE, NULL, 0,
8490 "BOOLEAN", HFILL }},
8491 { &hf_ulp_galileo,
8492 { "galileo", "ulp.galileo",
8493 FT_BOOLEAN, BASE_NONE, NULL, 0,
8494 "BOOLEAN", HFILL }},
8495 { &hf_ulp_sbas,
8496 { "sbas", "ulp.sbas",
8497 FT_BOOLEAN, BASE_NONE, NULL, 0,
8498 "BOOLEAN", HFILL }},
8499 { &hf_ulp_modernized_gps,
8500 { "modernized-gps", "ulp.modernized_gps",
8501 FT_BOOLEAN, BASE_NONE, NULL, 0,
8502 "BOOLEAN", HFILL }},
8503 { &hf_ulp_qzss,
8504 { "qzss", "ulp.qzss",
8505 FT_BOOLEAN, BASE_NONE, NULL, 0,
8506 "BOOLEAN", HFILL }},
8507 { &hf_ulp_glonass,
8508 { "glonass", "ulp.glonass",
8509 FT_BOOLEAN, BASE_NONE, NULL, 0,
8510 "BOOLEAN", HFILL }},
8511 { &hf_ulp_rAND,
8512 { "rAND", "ulp.rAND",
8513 FT_BYTES, BASE_NONE, NULL, 0,
8514 "BIT_STRING_SIZE_128", HFILL }},
8515 { &hf_ulp_slpFQDN,
8516 { "slpFQDN", "ulp.slpFQDN",
8517 FT_STRING, BASE_NONE, NULL, 0,
8518 "FQDN", HFILL }},
8519 { &hf_ulp_ThirdParty_item,
8520 { "ThirdPartyID", "ulp.ThirdPartyID",
8521 FT_UINT32, BASE_DEC, VALS(ulp_ThirdPartyID_vals), 0,
8522 NULL, HFILL }},
8523 { &hf_ulp_logicalName,
8524 { "logicalName", "ulp.logicalName",
8525 FT_STRING, BASE_NONE, NULL, 0,
8526 "IA5String_SIZE_1_1000", HFILL }},
8527 { &hf_ulp_emailaddr,
8528 { "emailaddr", "ulp.emailaddr",
8529 FT_STRING, BASE_NONE, NULL, 0,
8530 "IA5String_SIZE_1_1000", HFILL }},
8531 { &hf_ulp_sip_uri,
8532 { "sip-uri", "ulp.sip_uri",
8533 FT_STRING, BASE_NONE, NULL, 0,
8534 NULL, HFILL }},
8535 { &hf_ulp_ims_public_identity,
8536 { "ims-public-identity", "ulp.ims_public_identity",
8537 FT_STRING, BASE_NONE, NULL, 0,
8538 NULL, HFILL }},
8539 { &hf_ulp_min_01,
8540 { "min", "ulp.min",
8541 FT_BYTES, BASE_NONE, NULL, 0,
8542 "BIT_STRING_SIZE_34", HFILL }},
8543 { &hf_ulp_uri,
8544 { "uri", "ulp.uri",
8545 FT_STRING, BASE_NONE, NULL, 0,
8546 NULL, HFILL }},
8547 { &hf_ulp_appProvider,
8548 { "appProvider", "ulp.appProvider",
8549 FT_STRING, BASE_NONE, NULL, 0,
8550 "IA5String_SIZE_1_24", HFILL }},
8551 { &hf_ulp_appName,
8552 { "appName", "ulp.appName",
8553 FT_STRING, BASE_NONE, NULL, 0,
8554 "IA5String_SIZE_1_32", HFILL }},
8555 { &hf_ulp_appVersion,
8556 { "appVersion", "ulp.appVersion",
8557 FT_STRING, BASE_NONE, NULL, 0,
8558 "IA5String_SIZE_1_8", HFILL }},
8559 { &hf_ulp_minInt,
8560 { "minInt", "ulp.minInt",
8561 FT_UINT32, BASE_DEC, NULL, 0,
8562 "INTEGER_1_3600", HFILL }},
8563 { &hf_ulp_maxInt,
8564 { "maxInt", "ulp.maxInt",
8565 FT_UINT32, BASE_DEC, NULL, 0,
8566 "INTEGER_1_1440", HFILL }},
8567 { &hf_ulp_repMode_01,
8568 { "repMode", "ulp.repMode_element",
8569 FT_NONE, BASE_NONE, NULL, 0,
8570 "RepMode_cap", HFILL }},
8571 { &hf_ulp_batchRepCap,
8572 { "batchRepCap", "ulp.batchRepCap_element",
8573 FT_NONE, BASE_NONE, NULL, 0,
8574 NULL, HFILL }},
8575 { &hf_ulp_realtime,
8576 { "realtime", "ulp.realtime",
8577 FT_BOOLEAN, BASE_NONE, NULL, 0,
8578 "BOOLEAN", HFILL }},
8579 { &hf_ulp_quasirealtime,
8580 { "quasirealtime", "ulp.quasirealtime",
8581 FT_BOOLEAN, BASE_NONE, NULL, 0,
8582 "BOOLEAN", HFILL }},
8583 { &hf_ulp_batch,
8584 { "batch", "ulp.batch",
8585 FT_BOOLEAN, BASE_NONE, NULL, 0,
8586 "BOOLEAN", HFILL }},
8587 { &hf_ulp_report_position,
8588 { "report-position", "ulp.report_position",
8589 FT_BOOLEAN, BASE_NONE, NULL, 0,
8590 "BOOLEAN", HFILL }},
8591 { &hf_ulp_report_measurements,
8592 { "report-measurements", "ulp.report_measurements",
8593 FT_BOOLEAN, BASE_NONE, NULL, 0,
8594 "BOOLEAN", HFILL }},
8595 { &hf_ulp_max_num_positions,
8596 { "max-num-positions", "ulp.max_num_positions",
8597 FT_UINT32, BASE_DEC, NULL, 0,
8598 "INTEGER_1_1024", HFILL }},
8599 { &hf_ulp_max_num_measurements,
8600 { "max-num-measurements", "ulp.max_num_measurements",
8601 FT_UINT32, BASE_DEC, NULL, 0,
8602 "INTEGER_1_1024", HFILL }},
8603 { &hf_ulp_latitudeSign_01,
8604 { "latitudeSign", "ulp.latitudeSign",
8605 FT_UINT32, BASE_DEC, VALS(ulp_T_latitudeSign_01_vals), 0,
8606 "T_latitudeSign_01", HFILL }},
8607 { &hf_ulp_coordinate,
8608 { "coordinate", "ulp.coordinate_element",
8609 FT_NONE, BASE_NONE, NULL, 0,
8610 NULL, HFILL }},
8611 { &hf_ulp_radius,
8612 { "radius", "ulp.radius",
8613 FT_UINT32, BASE_DEC, NULL, 0,
8614 "INTEGER_1_1000000", HFILL }},
8615 { &hf_ulp_radius_min,
8616 { "radius-min", "ulp.radius_min",
8617 FT_UINT32, BASE_DEC, NULL, 0,
8618 "INTEGER_1_1000000", HFILL }},
8619 { &hf_ulp_radius_max,
8620 { "radius-max", "ulp.radius_max",
8621 FT_UINT32, BASE_DEC, NULL, 0,
8622 "INTEGER_1_1500000", HFILL }},
8623 { &hf_ulp_semiMajor,
8624 { "semiMajor", "ulp.semiMajor",
8625 FT_UINT32, BASE_DEC, NULL, 0,
8626 "INTEGER_1_1000000", HFILL }},
8627 { &hf_ulp_semiMajor_min,
8628 { "semiMajor-min", "ulp.semiMajor_min",
8629 FT_UINT32, BASE_DEC, NULL, 0,
8630 "INTEGER_1_1000000", HFILL }},
8631 { &hf_ulp_semiMajor_max,
8632 { "semiMajor-max", "ulp.semiMajor_max",
8633 FT_UINT32, BASE_DEC, NULL, 0,
8634 "INTEGER_1_1500000", HFILL }},
8635 { &hf_ulp_semiMinor,
8636 { "semiMinor", "ulp.semiMinor",
8637 FT_UINT32, BASE_DEC, NULL, 0,
8638 "INTEGER_1_1000000", HFILL }},
8639 { &hf_ulp_semiMinor_min,
8640 { "semiMinor-min", "ulp.semiMinor_min",
8641 FT_UINT32, BASE_DEC, NULL, 0,
8642 "INTEGER_1_1000000", HFILL }},
8643 { &hf_ulp_semiMinor_max,
8644 { "semiMinor-max", "ulp.semiMinor_max",
8645 FT_UINT32, BASE_DEC, NULL, 0,
8646 "INTEGER_1_1500000", HFILL }},
8647 { &hf_ulp_angle,
8648 { "angle", "ulp.angle",
8649 FT_UINT32, BASE_DEC, NULL, 0,
8650 "INTEGER_0_179", HFILL }},
8651 { &hf_ulp_polygonDescription,
8652 { "polygonDescription", "ulp.polygonDescription",
8653 FT_UINT32, BASE_DEC, NULL, 0,
8654 NULL, HFILL }},
8655 { &hf_ulp_polygonHysteresis,
8656 { "polygonHysteresis", "ulp.polygonHysteresis",
8657 FT_UINT32, BASE_DEC, NULL, 0,
8658 "INTEGER_1_100000", HFILL }},
8659 { &hf_ulp_PolygonDescription_item,
8660 { "Coordinate", "ulp.Coordinate_element",
8661 FT_NONE, BASE_NONE, NULL, 0,
8662 NULL, HFILL }},
8663 { &hf_ulp_GANSSSignals_signal1,
8664 { "signal1", "ulp.signal1",
8665 FT_BOOLEAN, 8, NULL, 0x80,
8666 NULL, HFILL }},
8667 { &hf_ulp_GANSSSignals_signal2,
8668 { "signal2", "ulp.signal2",
8669 FT_BOOLEAN, 8, NULL, 0x40,
8670 NULL, HFILL }},
8671 { &hf_ulp_GANSSSignals_signal3,
8672 { "signal3", "ulp.signal3",
8673 FT_BOOLEAN, 8, NULL, 0x20,
8674 NULL, HFILL }},
8675 { &hf_ulp_GANSSSignals_signal4,
8676 { "signal4", "ulp.signal4",
8677 FT_BOOLEAN, 8, NULL, 0x10,
8678 NULL, HFILL }},
8679 { &hf_ulp_GANSSSignals_signal5,
8680 { "signal5", "ulp.signal5",
8681 FT_BOOLEAN, 8, NULL, 0x08,
8682 NULL, HFILL }},
8683 { &hf_ulp_GANSSSignals_signal6,
8684 { "signal6", "ulp.signal6",
8685 FT_BOOLEAN, 8, NULL, 0x04,
8686 NULL, HFILL }},
8687 { &hf_ulp_GANSSSignals_signal7,
8688 { "signal7", "ulp.signal7",
8689 FT_BOOLEAN, 8, NULL, 0x02,
8690 NULL, HFILL }},
8691 { &hf_ulp_GANSSSignals_signal8,
8692 { "signal8", "ulp.signal8",
8693 FT_BOOLEAN, 8, NULL, 0x01,
8694 NULL, HFILL }},
8696 /*--- End of included file: packet-ulp-hfarr.c ---*/
8697 #line 100 "../../asn1/ulp/packet-ulp-template.c"
8700 /* List of subtrees */
8701 static gint *ett[] = {
8702 &ett_ulp,
8704 /*--- Included file: packet-ulp-ettarr.c ---*/
8705 #line 1 "../../asn1/ulp/packet-ulp-ettarr.c"
8706 &ett_ulp_ULP_PDU,
8707 &ett_ulp_UlpMessage,
8708 &ett_ulp_SUPLINIT,
8709 &ett_ulp_Notification,
8710 &ett_ulp_SUPLSTART,
8711 &ett_ulp_SETCapabilities,
8712 &ett_ulp_PosTechnology,
8713 &ett_ulp_PosProtocol,
8714 &ett_ulp_SUPLRESPONSE,
8715 &ett_ulp_SETAuthKey,
8716 &ett_ulp_SUPLPOSINIT,
8717 &ett_ulp_RequestedAssistData,
8718 &ett_ulp_NavigationModel,
8719 &ett_ulp_SatelliteInfo,
8720 &ett_ulp_SatelliteInfoElement,
8721 &ett_ulp_SUPLPOS,
8722 &ett_ulp_PosPayLoad,
8723 &ett_ulp_SUPLEND,
8724 &ett_ulp_SUPLAUTHREQ,
8725 &ett_ulp_SUPLAUTHRESP,
8726 &ett_ulp_Ver2_SUPLNOTIFY,
8727 &ett_ulp_Ver2_SUPLNOTIFYRESPONSE,
8728 &ett_ulp_Ver2_SUPLSETINIT,
8729 &ett_ulp_Ver2_SUPLTRIGGEREDSTART,
8730 &ett_ulp_TriggerParams,
8731 &ett_ulp_PeriodicParams,
8732 &ett_ulp_AreaEventParams,
8733 &ett_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList,
8734 &ett_ulp_RepeatedReportingParams,
8735 &ett_ulp_GeographicTargetAreaList,
8736 &ett_ulp_GeographicTargetArea,
8737 &ett_ulp_AreaIdList,
8738 &ett_ulp_AreaIdSet,
8739 &ett_ulp_AreaId,
8740 &ett_ulp_GSMAreaId,
8741 &ett_ulp_WCDMAAreaId,
8742 &ett_ulp_CDMAAreaId,
8743 &ett_ulp_HRPDAreaId,
8744 &ett_ulp_UMBAreaId,
8745 &ett_ulp_LTEAreaId,
8746 &ett_ulp_WLANAreaId,
8747 &ett_ulp_WimaxAreaId,
8748 &ett_ulp_GeoAreaMappingList,
8749 &ett_ulp_Ver2_SUPLTRIGGEREDRESPONSE,
8750 &ett_ulp_ReportingMode,
8751 &ett_ulp_BatchRepConditions,
8752 &ett_ulp_BatchRepType,
8753 &ett_ulp_Ver2_SUPLREPORT,
8754 &ett_ulp_SessionList,
8755 &ett_ulp_SessionInformation,
8756 &ett_ulp_ReportDataList,
8757 &ett_ulp_ReportData,
8758 &ett_ulp_PositionData,
8759 &ett_ulp_GANSSsignalsInfo,
8760 &ett_ulp_GANSSSignalsDescription,
8761 &ett_ulp_TimeStamp,
8762 &ett_ulp_Ver2_SUPLTRIGGEREDSTOP,
8763 &ett_ulp_Ver2_SUPL_INIT_extension,
8764 &ett_ulp_HistoricReporting,
8765 &ett_ulp_ReportingCriteria,
8766 &ett_ulp_TimeWindow,
8767 &ett_ulp_ProtectionLevel,
8768 &ett_ulp_BasicProtectionParams,
8769 &ett_ulp_Ver2_SUPL_START_extension,
8770 &ett_ulp_Ver2_SUPL_RESPONSE_extension,
8771 &ett_ulp_Ver2_SUPL_POS_INIT_extension,
8772 &ett_ulp_Ver2_SUPL_POS_extension,
8773 &ett_ulp_Ver2_SUPL_END_extension,
8774 &ett_ulp_Ver2_Notification_extension,
8775 &ett_ulp_Ver2_SETCapabilities_extension,
8776 &ett_ulp_ServiceCapabilities,
8777 &ett_ulp_ServicesSupported,
8778 &ett_ulp_EventTriggerCapabilities,
8779 &ett_ulp_GeoAreaShapesSupported,
8780 &ett_ulp_SessionCapabilities,
8781 &ett_ulp_SupportedBearers,
8782 &ett_ulp_Ver2_PosProtocol_extension,
8783 &ett_ulp_PosProtocolVersion3GPP,
8784 &ett_ulp_PosProtocolVersion3GPP2,
8785 &ett_ulp_Supported3GPP2PosProtocolVersion,
8786 &ett_ulp_Ver2_PosTechnology_extension,
8787 &ett_ulp_GANSSPositionMethods,
8788 &ett_ulp_GANSSPositionMethod,
8789 &ett_ulp_GANSSPositioningMethodTypes,
8790 &ett_ulp_Ver2_RequestedAssistData_extension,
8791 &ett_ulp_GanssRequestedCommonAssistanceDataList,
8792 &ett_ulp_GanssRequestedGenericAssistanceDataList,
8793 &ett_ulp_GanssReqGenericData,
8794 &ett_ulp_GanssNavigationModelData,
8795 &ett_ulp_SatellitesListRelatedDataList,
8796 &ett_ulp_SatellitesListRelatedData,
8797 &ett_ulp_GanssDataBits,
8798 &ett_ulp_ReqDataBitAssistanceList,
8799 &ett_ulp_T_ganssDataBitSatList,
8800 &ett_ulp_GanssAdditionalDataChoices,
8801 &ett_ulp_ExtendedEphemeris,
8802 &ett_ulp_ExtendedEphCheck,
8803 &ett_ulp_GanssExtendedEphCheck,
8804 &ett_ulp_GPSTime,
8805 &ett_ulp_GANSSextEphTime,
8806 &ett_ulp_Ver2_PosPayLoad_extension,
8807 &ett_ulp_T_lPPPayload,
8808 &ett_ulp_T_tIA801Payload,
8809 &ett_ulp_Version,
8810 &ett_ulp_SessionID,
8811 &ett_ulp_SetSessionID,
8812 &ett_ulp_SETId,
8813 &ett_ulp_SlpSessionID,
8814 &ett_ulp_IPAddress,
8815 &ett_ulp_SLPAddress,
8816 &ett_ulp_LocationId,
8817 &ett_ulp_CellInfo,
8818 &ett_ulp_Position,
8819 &ett_ulp_PositionEstimate,
8820 &ett_ulp_T_uncertainty,
8821 &ett_ulp_AltitudeInfo,
8822 &ett_ulp_CdmaCellInformation,
8823 &ett_ulp_GsmCellInformation,
8824 &ett_ulp_WcdmaCellInformation,
8825 &ett_ulp_TimingAdvance,
8826 &ett_ulp_FrequencyInfo,
8827 &ett_ulp_FrequencySpecificInfo,
8828 &ett_ulp_FrequencyInfoFDD,
8829 &ett_ulp_FrequencyInfoTDD,
8830 &ett_ulp_NMR,
8831 &ett_ulp_NMRelement,
8832 &ett_ulp_MeasuredResultsList,
8833 &ett_ulp_MeasuredResults,
8834 &ett_ulp_CellMeasuredResultsList,
8835 &ett_ulp_CellMeasuredResults,
8836 &ett_ulp_T_modeSpecificInfo,
8837 &ett_ulp_T_fdd,
8838 &ett_ulp_T_tdd,
8839 &ett_ulp_TimeslotISCP_List,
8840 &ett_ulp_PrimaryCPICH_Info,
8841 &ett_ulp_QoP,
8842 &ett_ulp_Velocity,
8843 &ett_ulp_Horvel,
8844 &ett_ulp_Horandvervel,
8845 &ett_ulp_Horveluncert,
8846 &ett_ulp_Horandveruncert,
8847 &ett_ulp_MultipleLocationIds,
8848 &ett_ulp_LocationIdData,
8849 &ett_ulp_SupportedNetworkInformation,
8850 &ett_ulp_SupportedWLANInfo,
8851 &ett_ulp_SupportedWLANApsList,
8852 &ett_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData,
8853 &ett_ulp_SupportedWLANApsChannel11a,
8854 &ett_ulp_SupportedWLANApsChannel11bg,
8855 &ett_ulp_SupportedWLANApData,
8856 &ett_ulp_SupportedWCDMAInfo,
8857 &ett_ulp_Ver2_CellInfo_extension,
8858 &ett_ulp_HrpdCellInformation,
8859 &ett_ulp_UmbCellInformation,
8860 &ett_ulp_LteCellInformation,
8861 &ett_ulp_MeasResultListEUTRA,
8862 &ett_ulp_MeasResultEUTRA,
8863 &ett_ulp_T_cgi_Info,
8864 &ett_ulp_T_measResult,
8865 &ett_ulp_CellGlobalIdEUTRA,
8866 &ett_ulp_PLMN_Identity,
8867 &ett_ulp_MCC,
8868 &ett_ulp_MNC,
8869 &ett_ulp_WlanAPInformation,
8870 &ett_ulp_RTD,
8871 &ett_ulp_ReportedLocation,
8872 &ett_ulp_LocationData,
8873 &ett_ulp_WimaxBSInformation,
8874 &ett_ulp_WimaxBsID,
8875 &ett_ulp_WimaxRTD,
8876 &ett_ulp_WimaxNMRList,
8877 &ett_ulp_WimaxNMR,
8878 &ett_ulp_UTRAN_GPSReferenceTimeAssistance,
8879 &ett_ulp_UTRAN_GPSReferenceTime,
8880 &ett_ulp_T_utran_GPSTimingOfCell,
8881 &ett_ulp_T_modeSpecificInfo_01,
8882 &ett_ulp_T_fdd_01,
8883 &ett_ulp_T_tdd_01,
8884 &ett_ulp_UTRAN_GPSReferenceTimeResult,
8885 &ett_ulp_T_set_GPSTimingOfCell,
8886 &ett_ulp_T_modeSpecificInfo_02,
8887 &ett_ulp_T_fdd_02,
8888 &ett_ulp_T_tdd_02,
8889 &ett_ulp_UTRAN_GANSSReferenceTimeAssistance,
8890 &ett_ulp_UTRAN_GANSSReferenceTime,
8891 &ett_ulp_T_modeSpecificInfo_03,
8892 &ett_ulp_T_fdd_03,
8893 &ett_ulp_T_tdd_03,
8894 &ett_ulp_UTRAN_GANSSReferenceTimeResult,
8895 &ett_ulp_SET_GANSSReferenceTime,
8896 &ett_ulp_T_set_GANSSTimingOfCell,
8897 &ett_ulp_T_modeSpecificInfo_04,
8898 &ett_ulp_T_fdd_04,
8899 &ett_ulp_T_tdd_04,
8900 &ett_ulp_GNSSPosTechnology,
8901 &ett_ulp_GANSSSignals,
8902 &ett_ulp_SPCTID,
8903 &ett_ulp_ThirdParty,
8904 &ett_ulp_ThirdPartyID,
8905 &ett_ulp_ApplicationID,
8906 &ett_ulp_ReportingCap,
8907 &ett_ulp_RepMode_cap,
8908 &ett_ulp_BatchRepCap,
8909 &ett_ulp_Coordinate,
8910 &ett_ulp_CircularArea,
8911 &ett_ulp_EllipticalArea,
8912 &ett_ulp_PolygonArea,
8913 &ett_ulp_PolygonDescription,
8915 /*--- End of included file: packet-ulp-ettarr.c ---*/
8916 #line 106 "../../asn1/ulp/packet-ulp-template.c"
8919 module_t *ulp_module;
8922 /* Register protocol */
8923 proto_ulp = proto_register_protocol(PNAME, PSNAME, PFNAME);
8924 new_register_dissector("ulp", dissect_ulp_tcp, proto_ulp);
8926 /* Register fields and subtrees */
8927 proto_register_field_array(proto_ulp, hf, array_length(hf));
8928 proto_register_subtree_array(ett, array_length(ett));
8930 ulp_module = prefs_register_protocol(proto_ulp,proto_reg_handoff_ulp);
8932 prefs_register_bool_preference(ulp_module, "desegment_ulp_messages",
8933 "Reassemble ULP messages spanning multiple TCP segments",
8934 "Whether the ULP dissector should reassemble messages spanning multiple TCP segments."
8935 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
8936 &ulp_desegment);
8938 /* Register a configuration option for port */
8939 prefs_register_uint_preference(ulp_module, "tcp.port",
8940 "ULP TCP Port",
8941 "Set the TCP port for ULP messages(IANA registered port is 7275)",
8943 &gbl_ulp_port);
8948 /*--- proto_reg_handoff_ulp ---------------------------------------*/
8949 void
8950 proto_reg_handoff_ulp(void)
8952 static gboolean initialized = FALSE;
8953 static dissector_handle_t ulp_handle;
8954 static guint local_ulp_port;
8956 if (!initialized) {
8957 ulp_handle = find_dissector("ulp");
8958 dissector_add_string("media_type","application/oma-supl-ulp", ulp_handle);
8959 rrlp_handle = find_dissector("rrlp");
8960 lpp_handle = find_dissector("lpp");
8961 initialized = TRUE;
8962 } else {
8963 dissector_delete_uint("tcp.port", local_ulp_port, ulp_handle);
8966 local_ulp_port = gbl_ulp_port;
8967 dissector_add_uint("tcp.port", gbl_ulp_port, ulp_handle);