wireshark/epan/dissectors/packet-ulp.c
Michael Mann 2eb7b05b8c Convert most UDP dissectors to use "auto" preferences.
Similar to the "tcp.port" changes in I99604f95d426ad345f4b494598d94178b886eb67,
convert dissectors that use "udp.port".

More cleanup done on dissectors that use both TCP and UDP dissector
tables, so that less preference callbacks exist.

Change-Id: If07be9b9e850c244336a7069599cd554ce312dd3
Reviewed-on: https://code.wireshark.org/review/18120
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-10-13 02:51:18 +00:00

10658 lines
410 KiB
C

/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-ulp.c */
/* asn2wrs.py -p ulp -c ./ulp.cnf -s ./packet-ulp-template -D . -O ../.. ULP.asn SUPL.asn ULP-Components.asn */
/* Input file: packet-ulp-template.c */
#line 1 "./asn1/ulp/packet-ulp-template.c"
/* packet-ulp.c
* Routines for OMA UserPlane Location Protocol packet dissection
* Copyright 2006, Anders Broman <anders.broman@ericsson.com>
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* ref OMA-TS-ULP-V2_0_2-20140708-A
* http://www.openmobilealliance.org
*/
#include "config.h"
#include "math.h"
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/asn1.h>
#include "packet-per.h"
#include "packet-tcp.h"
#include "packet-gsm_map.h"
#include "packet-e164.h"
#include "packet-e212.h"
#define PNAME "OMA UserPlane Location Protocol"
#define PSNAME "ULP"
#define PFNAME "ulp"
void proto_register_ulp(void);
static dissector_handle_t rrlp_handle;
static dissector_handle_t lpp_handle;
/* IANA Registered Ports
* oma-ulp 7275/tcp OMA UserPlane Location
* oma-ulp 7275/udp OMA UserPlane Location
*/
#define ULP_PORT 7275
/* Initialize the protocol and registered fields */
static int proto_ulp = -1;
#define ULP_HEADER_SIZE 2
static gboolean ulp_desegment = TRUE;
/*--- Included file: packet-ulp-hf.c ---*/
#line 1 "./asn1/ulp/packet-ulp-hf.c"
static int hf_ulp_ULP_PDU_PDU = -1; /* ULP_PDU */
static int hf_ulp_length = -1; /* INTEGER_0_65535 */
static int hf_ulp_version = -1; /* Version */
static int hf_ulp_sessionID = -1; /* SessionID */
static int hf_ulp_message = -1; /* UlpMessage */
static int hf_ulp_msSUPLINIT = -1; /* SUPLINIT */
static int hf_ulp_msSUPLSTART = -1; /* SUPLSTART */
static int hf_ulp_msSUPLRESPONSE = -1; /* SUPLRESPONSE */
static int hf_ulp_msSUPLPOSINIT = -1; /* SUPLPOSINIT */
static int hf_ulp_msSUPLPOS = -1; /* SUPLPOS */
static int hf_ulp_msSUPLEND = -1; /* SUPLEND */
static int hf_ulp_msSUPLAUTHREQ = -1; /* SUPLAUTHREQ */
static int hf_ulp_msSUPLAUTHRESP = -1; /* SUPLAUTHRESP */
static int hf_ulp_msSUPLTRIGGEREDSTART = -1; /* Ver2_SUPLTRIGGEREDSTART */
static int hf_ulp_msSUPLTRIGGEREDRESPONSE = -1; /* Ver2_SUPLTRIGGEREDRESPONSE */
static int hf_ulp_msSUPLTRIGGEREDSTOP = -1; /* Ver2_SUPLTRIGGEREDSTOP */
static int hf_ulp_msSUPLNOTIFY = -1; /* Ver2_SUPLNOTIFY */
static int hf_ulp_msSUPLNOTIFYRESPONSE = -1; /* Ver2_SUPLNOTIFYRESPONSE */
static int hf_ulp_msSUPLSETINIT = -1; /* Ver2_SUPLSETINIT */
static int hf_ulp_msSUPLREPORT = -1; /* Ver2_SUPLREPORT */
static int hf_ulp_posMethod = -1; /* PosMethod */
static int hf_ulp_notification = -1; /* Notification */
static int hf_ulp_sLPAddress = -1; /* SLPAddress */
static int hf_ulp_qoP = -1; /* QoP */
static int hf_ulp_sLPMode = -1; /* SLPMode */
static int hf_ulp_mac = -1; /* MAC */
static int hf_ulp_keyIdentity = -1; /* KeyIdentity */
static int hf_ulp_ver2_SUPL_INIT_extension = -1; /* Ver2_SUPL_INIT_extension */
static int hf_ulp_notificationType = -1; /* NotificationType */
static int hf_ulp_encodingType = -1; /* EncodingType */
static int hf_ulp_requestorId = -1; /* T_requestorId */
static int hf_ulp_requestorIdType = -1; /* FormatIndicator */
static int hf_ulp_clientName = -1; /* T_clientName */
static int hf_ulp_clientNameType = -1; /* FormatIndicator */
static int hf_ulp_ver2_Notification_extension = -1; /* Ver2_Notification_extension */
static int hf_ulp_sETCapabilities = -1; /* SETCapabilities */
static int hf_ulp_locationId = -1; /* LocationId */
static int hf_ulp_ver2_SUPL_START_extension = -1; /* Ver2_SUPL_START_extension */
static int hf_ulp_posTechnology = -1; /* PosTechnology */
static int hf_ulp_prefMethod = -1; /* PrefMethod */
static int hf_ulp_posProtocol = -1; /* PosProtocol */
static int hf_ulp_ver2_SETCapabilities_extension = -1; /* Ver2_SETCapabilities_extension */
static int hf_ulp_agpsSETassisted = -1; /* BOOLEAN */
static int hf_ulp_agpsSETBased = -1; /* BOOLEAN */
static int hf_ulp_autonomousGPS = -1; /* BOOLEAN */
static int hf_ulp_aflt = -1; /* BOOLEAN */
static int hf_ulp_ecid = -1; /* BOOLEAN */
static int hf_ulp_eotd = -1; /* BOOLEAN */
static int hf_ulp_otdoa = -1; /* BOOLEAN */
static int hf_ulp_ver2_PosTechnology_extension = -1; /* Ver2_PosTechnology_extension */
static int hf_ulp_tia801 = -1; /* BOOLEAN */
static int hf_ulp_rrlp = -1; /* BOOLEAN */
static int hf_ulp_rrc = -1; /* BOOLEAN */
static int hf_ulp_ver2_PosProtocol_extension = -1; /* Ver2_PosProtocol_extension */
static int hf_ulp_sETAuthKey = -1; /* SETAuthKey */
static int hf_ulp_keyIdentity4 = -1; /* KeyIdentity4 */
static int hf_ulp_ver2_SUPL_RESPONSE_extension = -1; /* Ver2_SUPL_RESPONSE_extension */
static int hf_ulp_shortKey = -1; /* BIT_STRING_SIZE_128 */
static int hf_ulp_longKey = -1; /* BIT_STRING_SIZE_256 */
static int hf_ulp_requestedAssistData = -1; /* RequestedAssistData */
static int hf_ulp_position = -1; /* Position */
static int hf_ulp_suplpos = -1; /* SUPLPOS */
static int hf_ulp_ver = -1; /* Ver */
static int hf_ulp_ver2_SUPL_POS_INIT_extension = -1; /* Ver2_SUPL_POS_INIT_extension */
static int hf_ulp_almanacRequested = -1; /* BOOLEAN */
static int hf_ulp_utcModelRequested = -1; /* BOOLEAN */
static int hf_ulp_ionosphericModelRequested = -1; /* BOOLEAN */
static int hf_ulp_dgpsCorrectionsRequested = -1; /* BOOLEAN */
static int hf_ulp_referenceLocationRequested = -1; /* BOOLEAN */
static int hf_ulp_referenceTimeRequested = -1; /* BOOLEAN */
static int hf_ulp_acquisitionAssistanceRequested = -1; /* BOOLEAN */
static int hf_ulp_realTimeIntegrityRequested = -1; /* BOOLEAN */
static int hf_ulp_navigationModelRequested = -1; /* BOOLEAN */
static int hf_ulp_navigationModelData = -1; /* NavigationModel */
static int hf_ulp_ver2_RequestedAssistData_extension = -1; /* Ver2_RequestedAssistData_extension */
static int hf_ulp_gpsWeek = -1; /* INTEGER_0_1023 */
static int hf_ulp_gpsToe = -1; /* T_gpsToe */
static int hf_ulp_nsat = -1; /* INTEGER_0_31 */
static int hf_ulp_toeLimit = -1; /* T_toeLimit */
static int hf_ulp_satInfo = -1; /* SatelliteInfo */
static int hf_ulp_SatelliteInfo_item = -1; /* SatelliteInfoElement */
static int hf_ulp_satId = -1; /* INTEGER_0_63 */
static int hf_ulp_iode = -1; /* INTEGER_0_255 */
static int hf_ulp_posPayLoad = -1; /* PosPayLoad */
static int hf_ulp_velocity = -1; /* Velocity */
static int hf_ulp_ver2_SUPL_POS_extension = -1; /* Ver2_SUPL_POS_extension */
static int hf_ulp_tia801payload = -1; /* OCTET_STRING_SIZE_1_8192 */
static int hf_ulp_rrcPayload = -1; /* OCTET_STRING_SIZE_1_8192 */
static int hf_ulp_rrlpPayload = -1; /* T_rrlpPayload */
static int hf_ulp_ver2_PosPayLoad_extension = -1; /* Ver2_PosPayLoad_extension */
static int hf_ulp_statusCode = -1; /* StatusCode */
static int hf_ulp_ver2_SUPL_END_extension = -1; /* Ver2_SUPL_END_extension */
static int hf_ulp_sPCSETKey = -1; /* SPCSETKey */
static int hf_ulp_spctid = -1; /* SPCTID */
static int hf_ulp_sPCSETKeylifetime = -1; /* SPCSETKeylifetime */
static int hf_ulp_notificationResponse = -1; /* NotificationResponse */
static int hf_ulp_targetSETID = -1; /* SETId */
static int hf_ulp_applicationID = -1; /* ApplicationID */
static int hf_ulp_multipleLocationIds = -1; /* MultipleLocationIds */
static int hf_ulp_thirdParty = -1; /* ThirdParty */
static int hf_ulp_triggerType = -1; /* TriggerType */
static int hf_ulp_triggerParams = -1; /* TriggerParams */
static int hf_ulp_reportingCap = -1; /* ReportingCap */
static int hf_ulp_causeCode = -1; /* CauseCode */
static int hf_ulp_periodicParams = -1; /* PeriodicParams */
static int hf_ulp_areaEventParams = -1; /* AreaEventParams */
static int hf_ulp_numberOfFixes = -1; /* INTEGER_1_8639999 */
static int hf_ulp_intervalBetweenFixes = -1; /* T_intervalBetweenFixes */
static int hf_ulp_startTime = -1; /* T_startTime */
static int hf_ulp_areaEventType = -1; /* AreaEventType */
static int hf_ulp_locationEstimate = -1; /* BOOLEAN */
static int hf_ulp_repeatedReportingParams = -1; /* RepeatedReportingParams */
static int hf_ulp_startTime_01 = -1; /* T_startTime_01 */
static int hf_ulp_stopTime = -1; /* T_stopTime */
static int hf_ulp_geographicTargetAreaList = -1; /* GeographicTargetAreaList */
static int hf_ulp_areaIdLists = -1; /* SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList */
static int hf_ulp_areaIdLists_item = -1; /* AreaIdList */
static int hf_ulp_minimumIntervalTime = -1; /* T_minimumIntervalTime */
static int hf_ulp_maximumNumberOfReports = -1; /* INTEGER_1_1024 */
static int hf_ulp_GeographicTargetAreaList_item = -1; /* GeographicTargetArea */
static int hf_ulp_circularArea = -1; /* CircularArea */
static int hf_ulp_ellipticalArea = -1; /* EllipticalArea */
static int hf_ulp_polygonArea = -1; /* PolygonArea */
static int hf_ulp_areaIdSet = -1; /* AreaIdSet */
static int hf_ulp_areaIdSetType = -1; /* AreaIdSetType */
static int hf_ulp_geoAreaMappingList = -1; /* GeoAreaMappingList */
static int hf_ulp_AreaIdSet_item = -1; /* AreaId */
static int hf_ulp_gSMAreaId = -1; /* GSMAreaId */
static int hf_ulp_wCDMAAreaId = -1; /* WCDMAAreaId */
static int hf_ulp_cDMAAreaId = -1; /* CDMAAreaId */
static int hf_ulp_hRPDAreaId = -1; /* HRPDAreaId */
static int hf_ulp_uMBAreaId = -1; /* UMBAreaId */
static int hf_ulp_lTEAreaId = -1; /* LTEAreaId */
static int hf_ulp_wLANAreaId = -1; /* WLANAreaId */
static int hf_ulp_wiMAXAreaId = -1; /* WimaxAreaId */
static int hf_ulp_refMCC = -1; /* INTEGER_0_999 */
static int hf_ulp_refMNC = -1; /* INTEGER_0_999 */
static int hf_ulp_refLAC = -1; /* INTEGER_0_65535 */
static int hf_ulp_refCI = -1; /* INTEGER_0_65535 */
static int hf_ulp_refUC = -1; /* INTEGER_0_268435455 */
static int hf_ulp_refSID = -1; /* INTEGER_0_65535 */
static int hf_ulp_refNID = -1; /* INTEGER_0_32767 */
static int hf_ulp_refBASEID = -1; /* INTEGER_0_65535 */
static int hf_ulp_refSECTORID = -1; /* BIT_STRING_SIZE_128 */
static int hf_ulp_refCI_01 = -1; /* BIT_STRING_SIZE_29 */
static int hf_ulp_apMACAddress = -1; /* T_apMACAddress */
static int hf_ulp_bsID_MSB = -1; /* BIT_STRING_SIZE_24 */
static int hf_ulp_bsID_LSB = -1; /* BIT_STRING_SIZE_24 */
static int hf_ulp_GeoAreaMappingList_item = -1; /* GeoAreaIndex */
static int hf_ulp_supportedNetworkInformation = -1; /* SupportedNetworkInformation */
static int hf_ulp_reportingMode = -1; /* ReportingMode */
static int hf_ulp_gnssPosTechnology = -1; /* GNSSPosTechnology */
static int hf_ulp_repMode = -1; /* RepModee */
static int hf_ulp_batchRepConditions = -1; /* BatchRepConditions */
static int hf_ulp_batchRepType = -1; /* BatchRepType */
static int hf_ulp_num_interval = -1; /* INTEGER_1_1024 */
static int hf_ulp_num_minutes = -1; /* INTEGER_1_2048 */
static int hf_ulp_endofsession = -1; /* NULL */
static int hf_ulp_reportPosition = -1; /* BOOLEAN */
static int hf_ulp_reportMeasurements = -1; /* BOOLEAN */
static int hf_ulp_intermediateReports = -1; /* BOOLEAN */
static int hf_ulp_discardOldest = -1; /* BOOLEAN */
static int hf_ulp_sessionList = -1; /* SessionList */
static int hf_ulp_reportDataList = -1; /* ReportDataList */
static int hf_ulp_moreComponents = -1; /* NULL */
static int hf_ulp_SessionList_item = -1; /* SessionInformation */
static int hf_ulp_ReportDataList_item = -1; /* ReportData */
static int hf_ulp_positionData = -1; /* PositionData */
static int hf_ulp_resultCode = -1; /* ResultCode */
static int hf_ulp_timestamp = -1; /* TimeStamp */
static int hf_ulp_ganssSignalsInfo = -1; /* GANSSsignalsInfo */
static int hf_ulp_GANSSsignalsInfo_item = -1; /* GANSSSignalsDescription */
static int hf_ulp_ganssId = -1; /* INTEGER_0_15 */
static int hf_ulp_gANSSSignals = -1; /* GANSSSignals */
static int hf_ulp_absoluteTime = -1; /* UTCTime */
static int hf_ulp_relativeTime = -1; /* T_relativeTime */
static int hf_ulp_notificationMode = -1; /* NotificationMode */
static int hf_ulp_e_SLPAddress = -1; /* SLPAddress */
static int hf_ulp_historicReporting = -1; /* HistoricReporting */
static int hf_ulp_protectionLevel = -1; /* ProtectionLevel */
static int hf_ulp_minimumMajorVersion = -1; /* INTEGER_0_255 */
static int hf_ulp_allowedReportingType = -1; /* AllowedReportingType */
static int hf_ulp_reportingCriteria = -1; /* ReportingCriteria */
static int hf_ulp_timeWindow = -1; /* TimeWindow */
static int hf_ulp_maxNumberofReports = -1; /* INTEGER_1_65536 */
static int hf_ulp_minTimeInterval = -1; /* T_minTimeInterval */
static int hf_ulp_startTime_02 = -1; /* T_startTime_02 */
static int hf_ulp_stopTime_01 = -1; /* T_stopTime_01 */
static int hf_ulp_protlevel = -1; /* ProtLevel */
static int hf_ulp_basicProtectionParams = -1; /* BasicProtectionParams */
static int hf_ulp_keyIdentifier = -1; /* OCTET_STRING_SIZE_8 */
static int hf_ulp_basicReplayCounter = -1; /* INTEGER_0_65535 */
static int hf_ulp_basicMAC = -1; /* BIT_STRING_SIZE_32 */
static int hf_ulp_initialApproximateposition = -1; /* Position */
static int hf_ulp_utran_GPSReferenceTimeResult = -1; /* UTRAN_GPSReferenceTimeResult */
static int hf_ulp_utran_GANSSReferenceTimeResult = -1; /* UTRAN_GANSSReferenceTimeResult */
static int hf_ulp_utran_GPSReferenceTimeAssistance = -1; /* UTRAN_GPSReferenceTimeAssistance */
static int hf_ulp_utran_GANSSReferenceTimeAssistance = -1; /* UTRAN_GANSSReferenceTimeAssistance */
static int hf_ulp_emergencyCallLocation = -1; /* NULL */
static int hf_ulp_serviceCapabilities = -1; /* ServiceCapabilities */
static int hf_ulp_supportedBearers = -1; /* SupportedBearers */
static int hf_ulp_servicesSupported = -1; /* ServicesSupported */
static int hf_ulp_reportingCapabilities = -1; /* ReportingCap */
static int hf_ulp_eventTriggerCapabilities = -1; /* EventTriggerCapabilities */
static int hf_ulp_sessionCapabilities = -1; /* SessionCapabilities */
static int hf_ulp_periodicTrigger = -1; /* BOOLEAN */
static int hf_ulp_areaEventTrigger = -1; /* BOOLEAN */
static int hf_ulp_geoAreaShapesSupported = -1; /* GeoAreaShapesSupported */
static int hf_ulp_maxNumGeoAreaSupported = -1; /* INTEGER_0_maxNumGeoArea */
static int hf_ulp_maxAreaIdListSupported = -1; /* INTEGER_0_maxAreaIdList */
static int hf_ulp_maxAreaIdSupportedPerList = -1; /* INTEGER_0_maxAreaId */
static int hf_ulp_ellipticalArea_01 = -1; /* BOOLEAN */
static int hf_ulp_polygonArea_01 = -1; /* BOOLEAN */
static int hf_ulp_maxNumberTotalSessions = -1; /* INTEGER_1_128 */
static int hf_ulp_maxNumberPeriodicSessions = -1; /* INTEGER_1_32 */
static int hf_ulp_maxNumberTriggeredSessions = -1; /* INTEGER_1_32 */
static int hf_ulp_gsm = -1; /* BOOLEAN */
static int hf_ulp_wcdma = -1; /* BOOLEAN */
static int hf_ulp_lte = -1; /* BOOLEAN */
static int hf_ulp_cdma = -1; /* BOOLEAN */
static int hf_ulp_hprd = -1; /* BOOLEAN */
static int hf_ulp_umb = -1; /* BOOLEAN */
static int hf_ulp_wlan = -1; /* BOOLEAN */
static int hf_ulp_wiMAX = -1; /* BOOLEAN */
static int hf_ulp_lpp = -1; /* BOOLEAN */
static int hf_ulp_posProtocolVersionRRLP = -1; /* PosProtocolVersion3GPP */
static int hf_ulp_posProtocolVersionRRC = -1; /* PosProtocolVersion3GPP */
static int hf_ulp_posProtocolVersionTIA801 = -1; /* PosProtocolVersion3GPP2 */
static int hf_ulp_posProtocolVersionLPP = -1; /* PosProtocolVersion3GPP */
static int hf_ulp_lppe = -1; /* BOOLEAN */
static int hf_ulp_posProtocolVersionLPPe = -1; /* PosProtocolVersionOMA */
static int hf_ulp_majorVersionField = -1; /* INTEGER_0_255 */
static int hf_ulp_technicalVersionField = -1; /* INTEGER_0_255 */
static int hf_ulp_editorialVersionField = -1; /* INTEGER_0_255 */
static int hf_ulp_PosProtocolVersion3GPP2_item = -1; /* Supported3GPP2PosProtocolVersion */
static int hf_ulp_revisionNumber = -1; /* BIT_STRING_SIZE_6 */
static int hf_ulp_pointReleaseNumber = -1; /* INTEGER_0_255 */
static int hf_ulp_internalEditLevel = -1; /* INTEGER_0_255 */
static int hf_ulp_minorVersionField = -1; /* INTEGER_0_255 */
static int hf_ulp_gANSSPositionMethods = -1; /* GANSSPositionMethods */
static int hf_ulp_GANSSPositionMethods_item = -1; /* GANSSPositionMethod */
static int hf_ulp_ganssSBASid = -1; /* T_ganssSBASid */
static int hf_ulp_gANSSPositioningMethodTypes = -1; /* GANSSPositioningMethodTypes */
static int hf_ulp_setAssisted = -1; /* BOOLEAN */
static int hf_ulp_setBased = -1; /* BOOLEAN */
static int hf_ulp_autonomous = -1; /* BOOLEAN */
static int hf_ulp_ganssRequestedCommonAssistanceDataList = -1; /* GanssRequestedCommonAssistanceDataList */
static int hf_ulp_ganssRequestedGenericAssistanceDataList = -1; /* GanssRequestedGenericAssistanceDataList */
static int hf_ulp_extendedEphemeris = -1; /* ExtendedEphemeris */
static int hf_ulp_extendedEphemerisCheck = -1; /* ExtendedEphCheck */
static int hf_ulp_ganssReferenceTime = -1; /* BOOLEAN */
static int hf_ulp_ganssIonosphericModel = -1; /* BOOLEAN */
static int hf_ulp_ganssAdditionalIonosphericModelForDataID00 = -1; /* BOOLEAN */
static int hf_ulp_ganssAdditionalIonosphericModelForDataID11 = -1; /* BOOLEAN */
static int hf_ulp_ganssEarthOrientationParameters = -1; /* BOOLEAN */
static int hf_ulp_ganssAdditionalIonosphericModelForDataID01 = -1; /* BOOLEAN */
static int hf_ulp_GanssRequestedGenericAssistanceDataList_item = -1; /* GanssReqGenericData */
static int hf_ulp_ganssId_01 = -1; /* T_ganssId */
static int hf_ulp_ganssSBASid_01 = -1; /* T_ganssSBASid_01 */
static int hf_ulp_ganssRealTimeIntegrity = -1; /* BOOLEAN */
static int hf_ulp_ganssDifferentialCorrection = -1; /* DGANSS_Sig_Id_Req */
static int hf_ulp_ganssAlmanac = -1; /* BOOLEAN */
static int hf_ulp_ganssNavigationModelData = -1; /* GanssNavigationModelData */
static int hf_ulp_ganssTimeModels = -1; /* T_ganssTimeModels */
static int hf_ulp_ganssReferenceMeasurementInfo = -1; /* BOOLEAN */
static int hf_ulp_ganssDataBits = -1; /* GanssDataBits */
static int hf_ulp_ganssUTCModel = -1; /* BOOLEAN */
static int hf_ulp_ganssAdditionalDataChoices = -1; /* GanssAdditionalDataChoices */
static int hf_ulp_ganssAuxiliaryInformation = -1; /* BOOLEAN */
static int hf_ulp_ganssExtendedEphemeris = -1; /* ExtendedEphemeris */
static int hf_ulp_ganssExtendedEphemerisCheck = -1; /* GanssExtendedEphCheck */
static int hf_ulp_bds_DifferentialCorrection = -1; /* BDS_Sig_Id_Req */
static int hf_ulp_bds_GridModelReq = -1; /* BOOLEAN */
static int hf_ulp_ganssWeek = -1; /* T_ganssWeek */
static int hf_ulp_ganssToe = -1; /* T_ganssToe */
static int hf_ulp_t_toeLimit = -1; /* T_t_toeLimit */
static int hf_ulp_satellitesListRelatedDataList = -1; /* SatellitesListRelatedDataList */
static int hf_ulp_SatellitesListRelatedDataList_item = -1; /* SatellitesListRelatedData */
static int hf_ulp_iod = -1; /* INTEGER_0_1023 */
static int hf_ulp_ganssTODmin = -1; /* T_ganssTODmin */
static int hf_ulp_reqDataBitAssistanceList = -1; /* ReqDataBitAssistanceList */
static int hf_ulp_gnssSignals = -1; /* GANSSSignals */
static int hf_ulp_ganssDataBitInterval = -1; /* INTEGER_0_15 */
static int hf_ulp_ganssDataBitSatList = -1; /* T_ganssDataBitSatList */
static int hf_ulp_ganssDataBitSatList_item = -1; /* INTEGER_0_63 */
static int hf_ulp_orbitModelID = -1; /* INTEGER_0_7 */
static int hf_ulp_clockModelID = -1; /* INTEGER_0_7 */
static int hf_ulp_utcModelID = -1; /* INTEGER_0_7 */
static int hf_ulp_almanacModelID = -1; /* INTEGER_0_7 */
static int hf_ulp_validity = -1; /* INTEGER_1_256 */
static int hf_ulp_beginTime = -1; /* GPSTime */
static int hf_ulp_endTime = -1; /* GPSTime */
static int hf_ulp_beginTime_01 = -1; /* GANSSextEphTime */
static int hf_ulp_endTime_01 = -1; /* GANSSextEphTime */
static int hf_ulp_gPSWeek = -1; /* INTEGER_0_1023 */
static int hf_ulp_gPSTOWhour = -1; /* INTEGER_0_167 */
static int hf_ulp_gANSSday = -1; /* INTEGER_0_8191 */
static int hf_ulp_gANSSTODhour = -1; /* INTEGER_0_23 */
static int hf_ulp_lPPPayload = -1; /* T_lPPPayload */
static int hf_ulp_lPPPayload_item = -1; /* T_lPPPayload_item */
static int hf_ulp_tia801Payload = -1; /* T_tia801Payload */
static int hf_ulp_tia801Payload_item = -1; /* OCTET_STRING_SIZE_1_60000 */
static int hf_ulp_maj = -1; /* INTEGER_0_255 */
static int hf_ulp_min = -1; /* INTEGER_0_255 */
static int hf_ulp_servind = -1; /* INTEGER_0_255 */
static int hf_ulp_setSessionID = -1; /* SetSessionID */
static int hf_ulp_slpSessionID = -1; /* SlpSessionID */
static int hf_ulp_sessionId = -1; /* INTEGER_0_65535 */
static int hf_ulp_setId = -1; /* SETId */
static int hf_ulp_msisdn = -1; /* T_msisdn */
static int hf_ulp_mdn = -1; /* T_mdn */
static int hf_ulp_minsi = -1; /* BIT_STRING_SIZE_34 */
static int hf_ulp_imsi = -1; /* T_imsi */
static int hf_ulp_nai = -1; /* IA5String_SIZE_1_1000 */
static int hf_ulp_iPAddress = -1; /* IPAddress */
static int hf_ulp_sessionSlpID = -1; /* OCTET_STRING_SIZE_4 */
static int hf_ulp_slpId = -1; /* SLPAddress */
static int hf_ulp_ipv4Address = -1; /* OCTET_STRING_SIZE_4 */
static int hf_ulp_ipv6Address = -1; /* OCTET_STRING_SIZE_16 */
static int hf_ulp_fqdn = -1; /* FQDN */
static int hf_ulp_cellInfo = -1; /* CellInfo */
static int hf_ulp_status = -1; /* Status */
static int hf_ulp_gsmCell = -1; /* GsmCellInformation */
static int hf_ulp_wcdmaCell = -1; /* WcdmaCellInformation */
static int hf_ulp_cdmaCell = -1; /* CdmaCellInformation */
static int hf_ulp_ver2_CellInfo_extension = -1; /* Ver2_CellInfo_extension */
static int hf_ulp_timestamp_01 = -1; /* UTCTime */
static int hf_ulp_positionEstimate = -1; /* PositionEstimate */
static int hf_ulp_latitudeSign = -1; /* T_latitudeSign */
static int hf_ulp_latitude = -1; /* INTEGER_0_8388607 */
static int hf_ulp_longitude = -1; /* INTEGER_M8388608_8388607 */
static int hf_ulp_uncertainty = -1; /* T_uncertainty */
static int hf_ulp_uncertaintySemiMajor = -1; /* INTEGER_0_127 */
static int hf_ulp_uncertaintySemiMinor = -1; /* INTEGER_0_127 */
static int hf_ulp_orientationMajorAxis = -1; /* T_orientationMajorAxis */
static int hf_ulp_confidence = -1; /* T_confidence */
static int hf_ulp_altitudeInfo = -1; /* AltitudeInfo */
static int hf_ulp_altitudeDirection = -1; /* T_altitudeDirection */
static int hf_ulp_altitude = -1; /* T_altitude */
static int hf_ulp_altUncertainty = -1; /* INTEGER_0_127 */
static int hf_ulp_refNID_01 = -1; /* INTEGER_0_65535 */
static int hf_ulp_refSID_01 = -1; /* INTEGER_0_32767 */
static int hf_ulp_refBASELAT = -1; /* INTEGER_0_4194303 */
static int hf_ulp_reBASELONG = -1; /* INTEGER_0_8388607 */
static int hf_ulp_refREFPN = -1; /* INTEGER_0_511 */
static int hf_ulp_refWeekNumber = -1; /* INTEGER_0_65535 */
static int hf_ulp_refSeconds = -1; /* INTEGER_0_4194303 */
static int hf_ulp_nmr = -1; /* NMR */
static int hf_ulp_ta = -1; /* INTEGER_0_255 */
static int hf_ulp_frequencyInfo = -1; /* FrequencyInfo */
static int hf_ulp_primaryScramblingCode = -1; /* INTEGER_0_511 */
static int hf_ulp_measuredResultsList = -1; /* MeasuredResultsList */
static int hf_ulp_cellParametersId = -1; /* INTEGER_0_127 */
static int hf_ulp_timingAdvance = -1; /* TimingAdvance */
static int hf_ulp_ta_01 = -1; /* INTEGER_0_8191 */
static int hf_ulp_tAResolution = -1; /* TAResolution */
static int hf_ulp_chipRate = -1; /* ChipRate */
static int hf_ulp_modeSpecificFrequencyInfo = -1; /* FrequencySpecificInfo */
static int hf_ulp_fdd_fr = -1; /* FrequencyInfoFDD */
static int hf_ulp_tdd_fr = -1; /* FrequencyInfoTDD */
static int hf_ulp_uarfcn_UL = -1; /* UARFCN */
static int hf_ulp_uarfcn_DL = -1; /* UARFCN */
static int hf_ulp_uarfcn_Nt = -1; /* UARFCN */
static int hf_ulp_NMR_item = -1; /* NMRelement */
static int hf_ulp_arfcn = -1; /* INTEGER_0_1023 */
static int hf_ulp_bsic = -1; /* INTEGER_0_63 */
static int hf_ulp_rxLev = -1; /* INTEGER_0_63 */
static int hf_ulp_MeasuredResultsList_item = -1; /* MeasuredResults */
static int hf_ulp_utra_CarrierRSSI = -1; /* UTRA_CarrierRSSI */
static int hf_ulp_cellMeasuredResultsList = -1; /* CellMeasuredResultsList */
static int hf_ulp_CellMeasuredResultsList_item = -1; /* CellMeasuredResults */
static int hf_ulp_cellIdentity = -1; /* INTEGER_0_268435455 */
static int hf_ulp_modeSpecificInfo = -1; /* T_modeSpecificInfo */
static int hf_ulp_fdd = -1; /* T_fdd */
static int hf_ulp_primaryCPICH_Info = -1; /* PrimaryCPICH_Info */
static int hf_ulp_cpich_Ec_N0 = -1; /* CPICH_Ec_N0 */
static int hf_ulp_cpich_RSCP = -1; /* CPICH_RSCP */
static int hf_ulp_pathloss = -1; /* Pathloss */
static int hf_ulp_tdd = -1; /* T_tdd */
static int hf_ulp_cellParametersID = -1; /* CellParametersID */
static int hf_ulp_proposedTGSN = -1; /* TGSN */
static int hf_ulp_primaryCCPCH_RSCP = -1; /* PrimaryCCPCH_RSCP */
static int hf_ulp_timeslotISCP_List = -1; /* TimeslotISCP_List */
static int hf_ulp_TimeslotISCP_List_item = -1; /* TimeslotISCP */
static int hf_ulp_horacc = -1; /* INTEGER_0_127 */
static int hf_ulp_veracc = -1; /* INTEGER_0_127 */
static int hf_ulp_maxLocAge = -1; /* T_maxLocAge */
static int hf_ulp_delay = -1; /* INTEGER_0_7 */
static int hf_ulp_horvel = -1; /* Horvel */
static int hf_ulp_horandvervel = -1; /* Horandvervel */
static int hf_ulp_horveluncert = -1; /* Horveluncert */
static int hf_ulp_horandveruncert = -1; /* Horandveruncert */
static int hf_ulp_bearing = -1; /* T_bearing */
static int hf_ulp_horspeed = -1; /* T_horspeed */
static int hf_ulp_verdirect = -1; /* T_verdirect */
static int hf_ulp_bearing_01 = -1; /* T_bearing_01 */
static int hf_ulp_horspeed_01 = -1; /* T_horspeed_01 */
static int hf_ulp_verspeed = -1; /* T_verspeed */
static int hf_ulp_bearing_02 = -1; /* T_bearing_02 */
static int hf_ulp_horspeed_02 = -1; /* T_horspeed_02 */
static int hf_ulp_uncertspeed = -1; /* T_uncertspeed */
static int hf_ulp_verdirect_01 = -1; /* T_verdirect_01 */
static int hf_ulp_bearing_03 = -1; /* T_bearing_03 */
static int hf_ulp_horspeed_03 = -1; /* T_horspeed_03 */
static int hf_ulp_verspeed_01 = -1; /* T_verspeed_01 */
static int hf_ulp_horuncertspeed = -1; /* T_horuncertspeed */
static int hf_ulp_veruncertspeed = -1; /* T_veruncertspeed */
static int hf_ulp_MultipleLocationIds_item = -1; /* LocationIdData */
static int hf_ulp_relativetimestamp = -1; /* RelativeTime */
static int hf_ulp_servingFlag = -1; /* BOOLEAN */
static int hf_ulp_supportedWLANInfo = -1; /* SupportedWLANInfo */
static int hf_ulp_supportedWLANApsList = -1; /* SupportedWLANApsList */
static int hf_ulp_supportedWCDMAInfo = -1; /* SupportedWCDMAInfo */
static int hf_ulp_hrdp = -1; /* BOOLEAN */
static int hf_ulp_wimax = -1; /* BOOLEAN */
static int hf_ulp_historic = -1; /* BOOLEAN */
static int hf_ulp_nonServing = -1; /* BOOLEAN */
static int hf_ulp_uTRANGPSReferenceTime = -1; /* BOOLEAN */
static int hf_ulp_uTRANGANSSReferenceTime = -1; /* BOOLEAN */
static int hf_ulp_apTP = -1; /* BOOLEAN */
static int hf_ulp_apAG = -1; /* BOOLEAN */
static int hf_ulp_apSN = -1; /* BOOLEAN */
static int hf_ulp_apDevType = -1; /* BOOLEAN */
static int hf_ulp_apRSSI = -1; /* BOOLEAN */
static int hf_ulp_apChanFreq = -1; /* BOOLEAN */
static int hf_ulp_apRTD = -1; /* BOOLEAN */
static int hf_ulp_setTP = -1; /* BOOLEAN */
static int hf_ulp_setAG = -1; /* BOOLEAN */
static int hf_ulp_setSN = -1; /* BOOLEAN */
static int hf_ulp_setRSSI = -1; /* BOOLEAN */
static int hf_ulp_apRepLoc = -1; /* BOOLEAN */
static int hf_ulp_supportedWLANApDataList = -1; /* SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData */
static int hf_ulp_supportedWLANApDataList_item = -1; /* SupportedWLANApData */
static int hf_ulp_supportedWLANapsChannel11a = -1; /* SupportedWLANApsChannel11a */
static int hf_ulp_supportedWLANapsChannel11bg = -1; /* SupportedWLANApsChannel11bg */
static int hf_ulp_ch34 = -1; /* BOOLEAN */
static int hf_ulp_ch36 = -1; /* BOOLEAN */
static int hf_ulp_ch38 = -1; /* BOOLEAN */
static int hf_ulp_ch40 = -1; /* BOOLEAN */
static int hf_ulp_ch42 = -1; /* BOOLEAN */
static int hf_ulp_ch44 = -1; /* BOOLEAN */
static int hf_ulp_ch46 = -1; /* BOOLEAN */
static int hf_ulp_ch48 = -1; /* BOOLEAN */
static int hf_ulp_ch52 = -1; /* BOOLEAN */
static int hf_ulp_ch56 = -1; /* BOOLEAN */
static int hf_ulp_ch60 = -1; /* BOOLEAN */
static int hf_ulp_ch64 = -1; /* BOOLEAN */
static int hf_ulp_ch149 = -1; /* BOOLEAN */
static int hf_ulp_ch153 = -1; /* BOOLEAN */
static int hf_ulp_ch157 = -1; /* BOOLEAN */
static int hf_ulp_ch161 = -1; /* BOOLEAN */
static int hf_ulp_ch1 = -1; /* BOOLEAN */
static int hf_ulp_ch2 = -1; /* BOOLEAN */
static int hf_ulp_ch3 = -1; /* BOOLEAN */
static int hf_ulp_ch4 = -1; /* BOOLEAN */
static int hf_ulp_ch5 = -1; /* BOOLEAN */
static int hf_ulp_ch6 = -1; /* BOOLEAN */
static int hf_ulp_ch7 = -1; /* BOOLEAN */
static int hf_ulp_ch8 = -1; /* BOOLEAN */
static int hf_ulp_ch9 = -1; /* BOOLEAN */
static int hf_ulp_ch10 = -1; /* BOOLEAN */
static int hf_ulp_ch11 = -1; /* BOOLEAN */
static int hf_ulp_ch12 = -1; /* BOOLEAN */
static int hf_ulp_ch13 = -1; /* BOOLEAN */
static int hf_ulp_ch14 = -1; /* BOOLEAN */
static int hf_ulp_apMACAddress_01 = -1; /* T_apMACAddress_01 */
static int hf_ulp_apDevType_01 = -1; /* T_apDevType */
static int hf_ulp_mrl = -1; /* BOOLEAN */
static int hf_ulp_hrpdCell = -1; /* HrpdCellInformation */
static int hf_ulp_umbCell = -1; /* UmbCellInformation */
static int hf_ulp_lteCell = -1; /* LteCellInformation */
static int hf_ulp_wlanAP = -1; /* WlanAPInformation */
static int hf_ulp_wimaxBS = -1; /* WimaxBSInformation */
static int hf_ulp_cellGlobalIdEUTRA = -1; /* CellGlobalIdEUTRA */
static int hf_ulp_physCellId = -1; /* PhysCellId */
static int hf_ulp_trackingAreaCode = -1; /* TrackingAreaCode */
static int hf_ulp_rsrpResult = -1; /* RSRP_Range */
static int hf_ulp_rsrqResult = -1; /* RSRQ_Range */
static int hf_ulp_ta_02 = -1; /* INTEGER_0_1282 */
static int hf_ulp_measResultListEUTRA = -1; /* MeasResultListEUTRA */
static int hf_ulp_earfcn = -1; /* INTEGER_0_65535 */
static int hf_ulp_earfcn_ext = -1; /* INTEGER_65536_262143 */
static int hf_ulp_MeasResultListEUTRA_item = -1; /* MeasResultEUTRA */
static int hf_ulp_cgi_Info = -1; /* T_cgi_Info */
static int hf_ulp_cellGlobalId = -1; /* CellGlobalIdEUTRA */
static int hf_ulp_measResult = -1; /* T_measResult */
static int hf_ulp_plmn_Identity = -1; /* PLMN_Identity */
static int hf_ulp_cellIdentity_01 = -1; /* CellIdentity */
static int hf_ulp_mcc = -1; /* MCC */
static int hf_ulp_mnc = -1; /* MNC */
static int hf_ulp_MCC_item = -1; /* MCC_MNC_Digit */
static int hf_ulp_MNC_item = -1; /* MCC_MNC_Digit */
static int hf_ulp_apMACAddress_02 = -1; /* T_apMACAddress_02 */
static int hf_ulp_apTransmitPower = -1; /* T_apTransmitPower */
static int hf_ulp_apAntennaGain = -1; /* T_apAntennaGain */
static int hf_ulp_apSignaltoNoise = -1; /* T_apSignaltoNoise */
static int hf_ulp_apDeviceType = -1; /* T_apDeviceType */
static int hf_ulp_apSignalStrength = -1; /* T_apSignalStrength */
static int hf_ulp_apChannelFrequency = -1; /* INTEGER_0_256 */
static int hf_ulp_apRoundTripDelay = -1; /* RTD */
static int hf_ulp_setTransmitPower = -1; /* T_setTransmitPower */
static int hf_ulp_setAntennaGain = -1; /* T_setAntennaGain */
static int hf_ulp_setSignaltoNoise = -1; /* T_setSignaltoNoise */
static int hf_ulp_setSignalStrength = -1; /* T_setSignalStrength */
static int hf_ulp_apReportedLocation = -1; /* ReportedLocation */
static int hf_ulp_apRepLocation = -1; /* RepLocation */
static int hf_ulp_apSignalStrengthDelta = -1; /* INTEGER_0_1 */
static int hf_ulp_apSignaltoNoiseDelta = -1; /* INTEGER_0_1 */
static int hf_ulp_setSignalStrengthDelta = -1; /* INTEGER_0_1 */
static int hf_ulp_setSignaltoNoiseDelta = -1; /* INTEGER_0_1 */
static int hf_ulp_operatingClass = -1; /* INTEGER_0_255 */
static int hf_ulp_apSSID = -1; /* T_apSSID */
static int hf_ulp_apPHYType = -1; /* T_apPHYType */
static int hf_ulp_setMACAddress = -1; /* T_setMACAddress */
static int hf_ulp_rTDValue = -1; /* INTEGER_0_16777216 */
static int hf_ulp_rTDUnits = -1; /* RTDUnits */
static int hf_ulp_rTDAccuracy = -1; /* INTEGER_0_255 */
static int hf_ulp_locationEncodingDescriptor = -1; /* LocationEncodingDescriptor */
static int hf_ulp_locationData = -1; /* LocationData */
static int hf_ulp_locationAccuracy = -1; /* INTEGER_0_4294967295 */
static int hf_ulp_locationValue = -1; /* OCTET_STRING_SIZE_1_128 */
static int hf_ulp_lciLocData = -1; /* LciLocData */
static int hf_ulp_locationDataLCI = -1; /* LocationDataLCI */
static int hf_ulp_latitudeResolution = -1; /* BIT_STRING_SIZE_6 */
static int hf_ulp_latitude_01 = -1; /* BIT_STRING_SIZE_34 */
static int hf_ulp_longitudeResolution = -1; /* BIT_STRING_SIZE_6 */
static int hf_ulp_longitude_01 = -1; /* BIT_STRING_SIZE_34 */
static int hf_ulp_altitudeType = -1; /* BIT_STRING_SIZE_4 */
static int hf_ulp_altitudeResolution = -1; /* BIT_STRING_SIZE_6 */
static int hf_ulp_altitude_01 = -1; /* BIT_STRING_SIZE_30 */
static int hf_ulp_datum = -1; /* BIT_STRING_SIZE_8 */
static int hf_ulp_wimaxBsID = -1; /* WimaxBsID */
static int hf_ulp_wimaxRTD = -1; /* WimaxRTD */
static int hf_ulp_wimaxNMRList = -1; /* WimaxNMRList */
static int hf_ulp_rtd = -1; /* INTEGER_0_65535 */
static int hf_ulp_rTDstd = -1; /* INTEGER_0_1023 */
static int hf_ulp_WimaxNMRList_item = -1; /* WimaxNMR */
static int hf_ulp_relDelay = -1; /* INTEGER_M32768_32767 */
static int hf_ulp_relDelaystd = -1; /* INTEGER_0_1023 */
static int hf_ulp_rssi = -1; /* INTEGER_0_255 */
static int hf_ulp_rSSIstd = -1; /* T_rSSIstd */
static int hf_ulp_bSTxPower = -1; /* INTEGER_0_255 */
static int hf_ulp_cinr = -1; /* T_cinr */
static int hf_ulp_cINRstd = -1; /* T_cINRstd */
static int hf_ulp_bSLocation = -1; /* ReportedLocation */
static int hf_ulp_utran_GPSReferenceTime = -1; /* UTRAN_GPSReferenceTime */
static int hf_ulp_gpsReferenceTimeUncertainty = -1; /* INTEGER_0_127 */
static int hf_ulp_utranGPSDriftRate = -1; /* UTRANGPSDriftRate */
static int hf_ulp_utran_GPSTimingOfCell = -1; /* T_utran_GPSTimingOfCell */
static int hf_ulp_ms_part = -1; /* INTEGER_0_1023 */
static int hf_ulp_ls_part = -1; /* INTEGER_0_4294967295 */
static int hf_ulp_modeSpecificInfo_01 = -1; /* T_modeSpecificInfo_01 */
static int hf_ulp_fdd_01 = -1; /* T_fdd_01 */
static int hf_ulp_referenceIdentity = -1; /* PrimaryCPICH_Info */
static int hf_ulp_tdd_01 = -1; /* T_tdd_01 */
static int hf_ulp_referenceIdentity_01 = -1; /* CellParametersID */
static int hf_ulp_sfn = -1; /* INTEGER_0_4095 */
static int hf_ulp_set_GPSTimingOfCell = -1; /* T_set_GPSTimingOfCell */
static int hf_ulp_ms_part_01 = -1; /* INTEGER_0_16383 */
static int hf_ulp_modeSpecificInfo_02 = -1; /* T_modeSpecificInfo_02 */
static int hf_ulp_fdd_02 = -1; /* T_fdd_02 */
static int hf_ulp_tdd_02 = -1; /* T_tdd_02 */
static int hf_ulp_ganssDay = -1; /* INTEGER_0_8191 */
static int hf_ulp_ganssTimeID = -1; /* INTEGER_0_15 */
static int hf_ulp_utran_GANSSReferenceTime = -1; /* UTRAN_GANSSReferenceTime */
static int hf_ulp_utranGANSSDriftRate = -1; /* UTRANGANSSDriftRate */
static int hf_ulp_ganssTOD = -1; /* T_ganssTOD */
static int hf_ulp_utran_GANSSTimingOfCell = -1; /* INTEGER_0_3999999 */
static int hf_ulp_modeSpecificInfo_03 = -1; /* T_modeSpecificInfo_03 */
static int hf_ulp_fdd_03 = -1; /* T_fdd_03 */
static int hf_ulp_tdd_03 = -1; /* T_tdd_03 */
static int hf_ulp_ganss_TODUncertainty = -1; /* INTEGER_0_127 */
static int hf_ulp_set_GANSSReferenceTime = -1; /* SET_GANSSReferenceTime */
static int hf_ulp_set_GANSSTimingOfCell = -1; /* T_set_GANSSTimingOfCell */
static int hf_ulp_ms_part_02 = -1; /* INTEGER_0_80 */
static int hf_ulp_modeSpecificInfo_04 = -1; /* T_modeSpecificInfo_04 */
static int hf_ulp_fdd_04 = -1; /* T_fdd_04 */
static int hf_ulp_tdd_04 = -1; /* T_tdd_04 */
static int hf_ulp_gps = -1; /* BOOLEAN */
static int hf_ulp_galileo = -1; /* BOOLEAN */
static int hf_ulp_sbas = -1; /* BOOLEAN */
static int hf_ulp_modernized_gps = -1; /* BOOLEAN */
static int hf_ulp_qzss = -1; /* BOOLEAN */
static int hf_ulp_glonass = -1; /* BOOLEAN */
static int hf_ulp_bds = -1; /* BOOLEAN */
static int hf_ulp_rand = -1; /* BIT_STRING_SIZE_128 */
static int hf_ulp_slpFQDN = -1; /* FQDN */
static int hf_ulp_ThirdParty_item = -1; /* ThirdPartyID */
static int hf_ulp_logicalName = -1; /* IA5String_SIZE_1_1000 */
static int hf_ulp_msisdn_01 = -1; /* T_msisdn_01 */
static int hf_ulp_emailaddr = -1; /* IA5String_SIZE_1_1000 */
static int hf_ulp_sip_uri = -1; /* T_sip_uri */
static int hf_ulp_ims_public_identity = -1; /* T_ims_public_identity */
static int hf_ulp_min_01 = -1; /* BIT_STRING_SIZE_34 */
static int hf_ulp_mdn_01 = -1; /* T_mdn_01 */
static int hf_ulp_uri = -1; /* T_uri */
static int hf_ulp_appProvider = -1; /* IA5String_SIZE_1_24 */
static int hf_ulp_appName = -1; /* IA5String_SIZE_1_32 */
static int hf_ulp_appVersion = -1; /* IA5String_SIZE_1_8 */
static int hf_ulp_minInt = -1; /* T_minInt */
static int hf_ulp_maxInt = -1; /* T_maxInt */
static int hf_ulp_repMode_01 = -1; /* RepMode */
static int hf_ulp_batchRepCap = -1; /* BatchRepCap */
static int hf_ulp_realtime = -1; /* BOOLEAN */
static int hf_ulp_quasirealtime = -1; /* BOOLEAN */
static int hf_ulp_batch = -1; /* BOOLEAN */
static int hf_ulp_report_position = -1; /* BOOLEAN */
static int hf_ulp_report_measurements = -1; /* BOOLEAN */
static int hf_ulp_max_num_positions = -1; /* INTEGER_1_1024 */
static int hf_ulp_max_num_measurements = -1; /* INTEGER_1_1024 */
static int hf_ulp_latitudeSign_01 = -1; /* T_latitudeSign_01 */
static int hf_ulp_CoordinateLatitude = -1; /* INTEGER_0_8388607 */
static int hf_ulp_CoordinateLongitude = -1; /* INTEGER_M8388608_8388607 */
static int hf_ulp_coordinate = -1; /* Coordinate */
static int hf_ulp_radius = -1; /* T_radius */
static int hf_ulp_radius_min = -1; /* INTEGER_1_1000000 */
static int hf_ulp_radius_max = -1; /* INTEGER_1_1500000 */
static int hf_ulp_semiMajor = -1; /* T_semiMajor */
static int hf_ulp_semiMajor_min = -1; /* INTEGER_1_1000000 */
static int hf_ulp_semiMajor_max = -1; /* INTEGER_1_1500000 */
static int hf_ulp_semiMinor = -1; /* T_semiMinor */
static int hf_ulp_semiMinor_min = -1; /* INTEGER_1_1000000 */
static int hf_ulp_semiMinor_max = -1; /* INTEGER_1_1500000 */
static int hf_ulp_angle = -1; /* T_angle */
static int hf_ulp_polygonDescription = -1; /* PolygonDescription */
static int hf_ulp_polygonHysteresis = -1; /* T_polygonHysteresis */
static int hf_ulp_PolygonDescription_item = -1; /* Coordinate */
/* named bits */
static int hf_ulp_GANSSSignals_signal1 = -1;
static int hf_ulp_GANSSSignals_signal2 = -1;
static int hf_ulp_GANSSSignals_signal3 = -1;
static int hf_ulp_GANSSSignals_signal4 = -1;
static int hf_ulp_GANSSSignals_signal5 = -1;
static int hf_ulp_GANSSSignals_signal6 = -1;
static int hf_ulp_GANSSSignals_signal7 = -1;
static int hf_ulp_GANSSSignals_signal8 = -1;
/*--- End of included file: packet-ulp-hf.c ---*/
#line 65 "./asn1/ulp/packet-ulp-template.c"
static int hf_ulp_mobile_directory_number = -1;
static int hf_ulp_ganssTimeModels_bit0 = -1;
static int hf_ulp_ganssTimeModels_bit1 = -1;
static int hf_ulp_ganssTimeModels_bit2 = -1;
static int hf_ulp_ganssTimeModels_bit3 = -1;
static int hf_ulp_ganssTimeModels_bit4 = -1;
static int hf_ulp_ganssTimeModels_spare = -1;
/* Initialize the subtree pointers */
static gint ett_ulp = -1;
static gint ett_ulp_setid = -1;
static gint ett_ulp_thirdPartyId = -1;
static gint ett_ulp_ganssTimeModels = -1;
/*--- Included file: packet-ulp-ett.c ---*/
#line 1 "./asn1/ulp/packet-ulp-ett.c"
static gint ett_ulp_ULP_PDU = -1;
static gint ett_ulp_UlpMessage = -1;
static gint ett_ulp_SUPLINIT = -1;
static gint ett_ulp_Notification = -1;
static gint ett_ulp_SUPLSTART = -1;
static gint ett_ulp_SETCapabilities = -1;
static gint ett_ulp_PosTechnology = -1;
static gint ett_ulp_PosProtocol = -1;
static gint ett_ulp_SUPLRESPONSE = -1;
static gint ett_ulp_SETAuthKey = -1;
static gint ett_ulp_SUPLPOSINIT = -1;
static gint ett_ulp_RequestedAssistData = -1;
static gint ett_ulp_NavigationModel = -1;
static gint ett_ulp_SatelliteInfo = -1;
static gint ett_ulp_SatelliteInfoElement = -1;
static gint ett_ulp_SUPLPOS = -1;
static gint ett_ulp_PosPayLoad = -1;
static gint ett_ulp_SUPLEND = -1;
static gint ett_ulp_SUPLAUTHREQ = -1;
static gint ett_ulp_SUPLAUTHRESP = -1;
static gint ett_ulp_Ver2_SUPLNOTIFY = -1;
static gint ett_ulp_Ver2_SUPLNOTIFYRESPONSE = -1;
static gint ett_ulp_Ver2_SUPLSETINIT = -1;
static gint ett_ulp_Ver2_SUPLTRIGGEREDSTART = -1;
static gint ett_ulp_TriggerParams = -1;
static gint ett_ulp_PeriodicParams = -1;
static gint ett_ulp_AreaEventParams = -1;
static gint ett_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList = -1;
static gint ett_ulp_RepeatedReportingParams = -1;
static gint ett_ulp_GeographicTargetAreaList = -1;
static gint ett_ulp_GeographicTargetArea = -1;
static gint ett_ulp_AreaIdList = -1;
static gint ett_ulp_AreaIdSet = -1;
static gint ett_ulp_AreaId = -1;
static gint ett_ulp_GSMAreaId = -1;
static gint ett_ulp_WCDMAAreaId = -1;
static gint ett_ulp_CDMAAreaId = -1;
static gint ett_ulp_HRPDAreaId = -1;
static gint ett_ulp_UMBAreaId = -1;
static gint ett_ulp_LTEAreaId = -1;
static gint ett_ulp_WLANAreaId = -1;
static gint ett_ulp_WimaxAreaId = -1;
static gint ett_ulp_GeoAreaMappingList = -1;
static gint ett_ulp_Ver2_SUPLTRIGGEREDRESPONSE = -1;
static gint ett_ulp_ReportingMode = -1;
static gint ett_ulp_BatchRepConditions = -1;
static gint ett_ulp_BatchRepType = -1;
static gint ett_ulp_Ver2_SUPLREPORT = -1;
static gint ett_ulp_SessionList = -1;
static gint ett_ulp_SessionInformation = -1;
static gint ett_ulp_ReportDataList = -1;
static gint ett_ulp_ReportData = -1;
static gint ett_ulp_PositionData = -1;
static gint ett_ulp_GANSSsignalsInfo = -1;
static gint ett_ulp_GANSSSignalsDescription = -1;
static gint ett_ulp_TimeStamp = -1;
static gint ett_ulp_Ver2_SUPLTRIGGEREDSTOP = -1;
static gint ett_ulp_Ver2_SUPL_INIT_extension = -1;
static gint ett_ulp_HistoricReporting = -1;
static gint ett_ulp_ReportingCriteria = -1;
static gint ett_ulp_TimeWindow = -1;
static gint ett_ulp_ProtectionLevel = -1;
static gint ett_ulp_BasicProtectionParams = -1;
static gint ett_ulp_Ver2_SUPL_START_extension = -1;
static gint ett_ulp_Ver2_SUPL_RESPONSE_extension = -1;
static gint ett_ulp_Ver2_SUPL_POS_INIT_extension = -1;
static gint ett_ulp_Ver2_SUPL_POS_extension = -1;
static gint ett_ulp_Ver2_SUPL_END_extension = -1;
static gint ett_ulp_Ver2_Notification_extension = -1;
static gint ett_ulp_Ver2_SETCapabilities_extension = -1;
static gint ett_ulp_ServiceCapabilities = -1;
static gint ett_ulp_ServicesSupported = -1;
static gint ett_ulp_EventTriggerCapabilities = -1;
static gint ett_ulp_GeoAreaShapesSupported = -1;
static gint ett_ulp_SessionCapabilities = -1;
static gint ett_ulp_SupportedBearers = -1;
static gint ett_ulp_Ver2_PosProtocol_extension = -1;
static gint ett_ulp_PosProtocolVersion3GPP = -1;
static gint ett_ulp_PosProtocolVersion3GPP2 = -1;
static gint ett_ulp_Supported3GPP2PosProtocolVersion = -1;
static gint ett_ulp_PosProtocolVersionOMA = -1;
static gint ett_ulp_Ver2_PosTechnology_extension = -1;
static gint ett_ulp_GANSSPositionMethods = -1;
static gint ett_ulp_GANSSPositionMethod = -1;
static gint ett_ulp_GANSSPositioningMethodTypes = -1;
static gint ett_ulp_Ver2_RequestedAssistData_extension = -1;
static gint ett_ulp_GanssRequestedCommonAssistanceDataList = -1;
static gint ett_ulp_GanssRequestedGenericAssistanceDataList = -1;
static gint ett_ulp_GanssReqGenericData = -1;
static gint ett_ulp_GanssNavigationModelData = -1;
static gint ett_ulp_SatellitesListRelatedDataList = -1;
static gint ett_ulp_SatellitesListRelatedData = -1;
static gint ett_ulp_GanssDataBits = -1;
static gint ett_ulp_ReqDataBitAssistanceList = -1;
static gint ett_ulp_T_ganssDataBitSatList = -1;
static gint ett_ulp_GanssAdditionalDataChoices = -1;
static gint ett_ulp_ExtendedEphemeris = -1;
static gint ett_ulp_ExtendedEphCheck = -1;
static gint ett_ulp_GanssExtendedEphCheck = -1;
static gint ett_ulp_GPSTime = -1;
static gint ett_ulp_GANSSextEphTime = -1;
static gint ett_ulp_Ver2_PosPayLoad_extension = -1;
static gint ett_ulp_T_lPPPayload = -1;
static gint ett_ulp_T_tia801Payload = -1;
static gint ett_ulp_Version = -1;
static gint ett_ulp_SessionID = -1;
static gint ett_ulp_SetSessionID = -1;
static gint ett_ulp_SETId = -1;
static gint ett_ulp_SlpSessionID = -1;
static gint ett_ulp_IPAddress = -1;
static gint ett_ulp_SLPAddress = -1;
static gint ett_ulp_LocationId = -1;
static gint ett_ulp_CellInfo = -1;
static gint ett_ulp_Position = -1;
static gint ett_ulp_PositionEstimate = -1;
static gint ett_ulp_T_uncertainty = -1;
static gint ett_ulp_AltitudeInfo = -1;
static gint ett_ulp_CdmaCellInformation = -1;
static gint ett_ulp_GsmCellInformation = -1;
static gint ett_ulp_WcdmaCellInformation = -1;
static gint ett_ulp_TimingAdvance = -1;
static gint ett_ulp_FrequencyInfo = -1;
static gint ett_ulp_FrequencySpecificInfo = -1;
static gint ett_ulp_FrequencyInfoFDD = -1;
static gint ett_ulp_FrequencyInfoTDD = -1;
static gint ett_ulp_NMR = -1;
static gint ett_ulp_NMRelement = -1;
static gint ett_ulp_MeasuredResultsList = -1;
static gint ett_ulp_MeasuredResults = -1;
static gint ett_ulp_CellMeasuredResultsList = -1;
static gint ett_ulp_CellMeasuredResults = -1;
static gint ett_ulp_T_modeSpecificInfo = -1;
static gint ett_ulp_T_fdd = -1;
static gint ett_ulp_T_tdd = -1;
static gint ett_ulp_TimeslotISCP_List = -1;
static gint ett_ulp_PrimaryCPICH_Info = -1;
static gint ett_ulp_QoP = -1;
static gint ett_ulp_Velocity = -1;
static gint ett_ulp_Horvel = -1;
static gint ett_ulp_Horandvervel = -1;
static gint ett_ulp_Horveluncert = -1;
static gint ett_ulp_Horandveruncert = -1;
static gint ett_ulp_MultipleLocationIds = -1;
static gint ett_ulp_LocationIdData = -1;
static gint ett_ulp_SupportedNetworkInformation = -1;
static gint ett_ulp_SupportedWLANInfo = -1;
static gint ett_ulp_SupportedWLANApsList = -1;
static gint ett_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData = -1;
static gint ett_ulp_SupportedWLANApsChannel11a = -1;
static gint ett_ulp_SupportedWLANApsChannel11bg = -1;
static gint ett_ulp_SupportedWLANApData = -1;
static gint ett_ulp_SupportedWCDMAInfo = -1;
static gint ett_ulp_Ver2_CellInfo_extension = -1;
static gint ett_ulp_HrpdCellInformation = -1;
static gint ett_ulp_UmbCellInformation = -1;
static gint ett_ulp_LteCellInformation = -1;
static gint ett_ulp_MeasResultListEUTRA = -1;
static gint ett_ulp_MeasResultEUTRA = -1;
static gint ett_ulp_T_cgi_Info = -1;
static gint ett_ulp_T_measResult = -1;
static gint ett_ulp_CellGlobalIdEUTRA = -1;
static gint ett_ulp_PLMN_Identity = -1;
static gint ett_ulp_MCC = -1;
static gint ett_ulp_MNC = -1;
static gint ett_ulp_WlanAPInformation = -1;
static gint ett_ulp_RTD = -1;
static gint ett_ulp_ReportedLocation = -1;
static gint ett_ulp_LocationData = -1;
static gint ett_ulp_RepLocation = -1;
static gint ett_ulp_LciLocData = -1;
static gint ett_ulp_LocationDataLCI = -1;
static gint ett_ulp_WimaxBSInformation = -1;
static gint ett_ulp_WimaxBsID = -1;
static gint ett_ulp_WimaxRTD = -1;
static gint ett_ulp_WimaxNMRList = -1;
static gint ett_ulp_WimaxNMR = -1;
static gint ett_ulp_UTRAN_GPSReferenceTimeAssistance = -1;
static gint ett_ulp_UTRAN_GPSReferenceTime = -1;
static gint ett_ulp_T_utran_GPSTimingOfCell = -1;
static gint ett_ulp_T_modeSpecificInfo_01 = -1;
static gint ett_ulp_T_fdd_01 = -1;
static gint ett_ulp_T_tdd_01 = -1;
static gint ett_ulp_UTRAN_GPSReferenceTimeResult = -1;
static gint ett_ulp_T_set_GPSTimingOfCell = -1;
static gint ett_ulp_T_modeSpecificInfo_02 = -1;
static gint ett_ulp_T_fdd_02 = -1;
static gint ett_ulp_T_tdd_02 = -1;
static gint ett_ulp_UTRAN_GANSSReferenceTimeAssistance = -1;
static gint ett_ulp_UTRAN_GANSSReferenceTime = -1;
static gint ett_ulp_T_modeSpecificInfo_03 = -1;
static gint ett_ulp_T_fdd_03 = -1;
static gint ett_ulp_T_tdd_03 = -1;
static gint ett_ulp_UTRAN_GANSSReferenceTimeResult = -1;
static gint ett_ulp_SET_GANSSReferenceTime = -1;
static gint ett_ulp_T_set_GANSSTimingOfCell = -1;
static gint ett_ulp_T_modeSpecificInfo_04 = -1;
static gint ett_ulp_T_fdd_04 = -1;
static gint ett_ulp_T_tdd_04 = -1;
static gint ett_ulp_GNSSPosTechnology = -1;
static gint ett_ulp_GANSSSignals = -1;
static gint ett_ulp_SPCTID = -1;
static gint ett_ulp_ThirdParty = -1;
static gint ett_ulp_ThirdPartyID = -1;
static gint ett_ulp_ApplicationID = -1;
static gint ett_ulp_ReportingCap = -1;
static gint ett_ulp_RepMode = -1;
static gint ett_ulp_BatchRepCap = -1;
static gint ett_ulp_Coordinate = -1;
static gint ett_ulp_CircularArea = -1;
static gint ett_ulp_EllipticalArea = -1;
static gint ett_ulp_PolygonArea = -1;
static gint ett_ulp_PolygonDescription = -1;
/*--- End of included file: packet-ulp-ett.c ---*/
#line 79 "./asn1/ulp/packet-ulp-template.c"
static dissector_handle_t ulp_tcp_handle;
static const value_string ulp_ganss_id_vals[] = {
{ 0, "Galileo"},
{ 1, "SBAS"},
{ 2, "Modernized GPS"},
{ 3, "QZSS"},
{ 4, "GLONASS"},
{ 5, "BDS"},
{ 0, NULL},
};
static const value_string ulp_ganss_sbas_id_vals[] = {
{ 0, "WAAS"},
{ 1, "EGNOS"},
{ 2, "MSAS"},
{ 3, "GAGAN"},
{ 0, NULL},
};
static void
ulp_ganssDataBitInterval_fmt(gchar *s, guint32 v)
{
if (v == 15) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Time interval is not specified (15)");
} else {
double interval = (0.1*pow(2, (double)v));
g_snprintf(s, ITEM_LABEL_LENGTH, "%g s (%u)", interval, v);
}
}
static void
ulp_ExtendedEphemeris_validity_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%u h (%u)", 4*v, v);
}
static void
ulp_PositionEstimate_latitude_fmt(gchar *s, guint32 v)
{
double latitude = ((double)v*90)/pow(2,23);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", latitude, v);
}
static void
ulp_PositionEstimate_longitude_fmt(gchar *s, guint32 v)
{
double longitude = ((double)(gint32)v*360)/pow(2,24);
g_snprintf(s, ITEM_LABEL_LENGTH, "%g degrees (%u)", longitude, v);
}
static void
ulp_NMRelement_rxLev_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RxLev < -110 dBm (0)");
} else if (v == 63) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RxLev >= -48 dBm (63)");
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%d dBm <= RxLev < %d dBm (%u)", -111+v, -110+v, v);
}
}
static void
ulp_UTRA_CarrierRSSI_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSSI < -100 dBm (0)");
} else if (v == 76) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSSI >= -25 dBm (76)");
} else if (v > 76) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%d dBm <= RSSI < %d dBm (%u)", -101+v, -100+v, v);
}
}
static void
ulp_PrimaryCCPCH_RSCP_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSCP < -115 dBm (0)");
} else if (v == 91) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSCP >= -25 dBm (91)");
} else if (v > 91) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%d dBm <= RSCP < %d dBm (%u)", -116+v, -115+v, v);
}
}
static void
ulp_CPICH_Ec_N0_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "CPICH Ec/N0 < -24 dB (0)");
} else if (v == 49) {
g_snprintf(s, ITEM_LABEL_LENGTH, "CPICH Ec/N0 >= 0 dB (49)");
} else if (v > 49) {
g_snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f dB <= CPICH Ec/N0 < %.1f dB (%u)", -24.5+((float)v/2), -24+((float)v/2), v);
}
}
static void
ulp_CPICH_RSCP_fmt(gchar *s, guint32 v)
{
if (v == 123) {
g_snprintf(s, ITEM_LABEL_LENGTH, "CPICH RSCP < -120 dBm (123)");
} else if (v > 123) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%d dBm <= CPICH RSCP < %d dBm (%u)", -244+v, -243+v, v);
} else if (v == 91) {
g_snprintf(s, ITEM_LABEL_LENGTH, "CPICH RSCP >= -25 dBm (91)");
} else if (v < 91) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%d dBm < CPICH RSCP <= %d dBm (%u)", -116+v, -115+v, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "Spare (%u)", v);
}
}
static void
ulp_QoP_horacc_fmt(gchar *s, guint32 v)
{
double uncertainty = 10*(pow(1.1, (double)v)-1);
if (uncertainty < 1000) {
g_snprintf(s, ITEM_LABEL_LENGTH, "%f m (%u)", uncertainty, v);
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%f km (%u)", uncertainty/1000, v);
}
}
static void
ulp_QoP_veracc_fmt(gchar *s, guint32 v)
{
double uncertainty = 45*(pow(1.025, (double)v)-1);
g_snprintf(s, ITEM_LABEL_LENGTH, "%f m (%u)", uncertainty, v);
}
static void
ulp_QoP_delay_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%g s (%u)", pow(2, (double)v), v);
}
static const true_false_string ulp_vertical_dir_val = {
"Downward",
"Upward"
};
static void
ulp_RelativeTime_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.2f s (%u)", 0.01*v, v);
}
static void
ulp_RSRP_Range_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140 dBm (0)");
} else if (v == 97) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP >= -44 dBm (97)");
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%d dBm <= RSRP < %d dBm (%u)", -141+v, -140+v, v);
}
}
static void
ulp_RSRQ_Range_fmt(gchar *s, guint32 v)
{
if (v == 0) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)");
} else if (v == 64) {
g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ >= -3 dB (34)");
} else {
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f dB <= RSRQ < %.1f dB (%u)", -20+((float)v/2), -19.5+((float)v/2), v);
}
}
static void
ulp_SignalDelta_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%s dB (%u)", v ? "0.5" : "0", v);
}
static void
ulp_locationAccuracy_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f m (%u)", 0.1*v, v);
}
static void
ulp_WimaxRTD_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.2f us (%u)", 0.01*v, v);
}
static void
ulp_WimaxNMR_rssi_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.2f dBm (%u)", -103.75+(0.25*v), v);
}
static void
ulp_UTRAN_gpsReferenceTimeUncertainty_fmt(gchar *s, guint32 v)
{
double uncertainty = 0.0022*(pow(1.18, (double)v)-1);
g_snprintf(s, ITEM_LABEL_LENGTH, "%f us (%u)", uncertainty, v);
}
static const value_string ulp_ganss_time_id_vals[] = {
{ 0, "Galileo"},
{ 1, "QZSS"},
{ 2, "GLONASS"},
{ 3, "BDS"},
{ 0, NULL},
};
static void
ulp_utran_GANSSTimingOfCell_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.2f us (%u)", 0.25*v, v);
}
static void
ulp_Coordinate_latitude_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)",
((float)v/8388607.0)*90, v);
}
static void
ulp_Coordinate_longitude_fmt(gchar *s, guint32 v)
{
gint32 longitude = (gint32) v;
g_snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%d)",
((float)longitude/8388608.0)*180, longitude);
}
/* Include constants */
/*--- Included file: packet-ulp-val.h ---*/
#line 1 "./asn1/ulp/packet-ulp-val.h"
#define maxReqLength 50
#define maxClientLength 50
#define maxNumGeoArea 32
#define maxAreaId 256
#define maxAreaIdList 32
#define maxnumSessions 64
#define maxGANSS 16
#define maxGANSSSat 32
#define maxCellMeas 32
#define maxFreq 8
#define maxTS 14
#define maxLidSize 64
#define maxWLANApDataSize 128
#define maxCellReport 8
#define maxWimaxBSMeas 32
/*--- End of included file: packet-ulp-val.h ---*/
#line 329 "./asn1/ulp/packet-ulp-template.c"
typedef struct
{
guint8 notif_enc_type;
guint8 ganss_req_gen_data_ganss_id;
} ulp_private_data_t;
static ulp_private_data_t* ulp_get_private_data(asn1_ctx_t *actx)
{
if (actx->private_data == NULL) {
actx->private_data = wmem_new0(wmem_packet_scope(), ulp_private_data_t);
}
return (ulp_private_data_t*)actx->private_data;
}
/*--- Included file: packet-ulp-fn.c ---*/
#line 1 "./asn1/ulp/packet-ulp-fn.c"
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
return offset;
}
static const per_sequence_t Version_sequence[] = {
{ &hf_ulp_maj , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_min , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_servind , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Version(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Version, Version_sequence);
return offset;
}
static int
dissect_ulp_T_msisdn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 304 "./asn1/ulp/ulp.cnf"
tvbuff_t *msisdn_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &msisdn_tvb);
if (msisdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
}
return offset;
}
static int
dissect_ulp_T_mdn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 314 "./asn1/ulp/ulp.cnf"
tvbuff_t *mdn_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &mdn_tvb);
if (mdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
proto_tree_add_string(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, tvb_bcd_dig_to_wmem_packet_str(mdn_tvb, 0, 8, NULL, FALSE));
}
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
34, 34, FALSE, NULL, NULL);
return offset;
}
static int
dissect_ulp_T_imsi(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 324 "./asn1/ulp/ulp.cnf"
tvbuff_t *imsi_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &imsi_tvb);
if (imsi_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
dissect_e212_imsi(imsi_tvb, actx->pinfo, subtree, 0, 8, FALSE);
}
return offset;
}
static int
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_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 1000, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, NULL);
return offset;
}
static int
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_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL);
return offset;
}
static const value_string ulp_IPAddress_vals[] = {
{ 0, "ipv4Address" },
{ 1, "ipv6Address" },
{ 0, NULL }
};
static const per_choice_t IPAddress_choice[] = {
{ 0, &hf_ulp_ipv4Address , ASN1_NO_EXTENSIONS , dissect_ulp_OCTET_STRING_SIZE_4 },
{ 1, &hf_ulp_ipv6Address , ASN1_NO_EXTENSIONS , dissect_ulp_OCTET_STRING_SIZE_16 },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_IPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_IPAddress, IPAddress_choice,
NULL);
return offset;
}
static const value_string ulp_SETId_vals[] = {
{ 0, "msisdn" },
{ 1, "mdn" },
{ 2, "min" },
{ 3, "imsi" },
{ 4, "nai" },
{ 5, "iPAddress" },
{ 0, NULL }
};
static const per_choice_t SETId_choice[] = {
{ 0, &hf_ulp_msisdn , ASN1_EXTENSION_ROOT , dissect_ulp_T_msisdn },
{ 1, &hf_ulp_mdn , ASN1_EXTENSION_ROOT , dissect_ulp_T_mdn },
{ 2, &hf_ulp_minsi , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_34 },
{ 3, &hf_ulp_imsi , ASN1_EXTENSION_ROOT , dissect_ulp_T_imsi },
{ 4, &hf_ulp_nai , ASN1_EXTENSION_ROOT , dissect_ulp_IA5String_SIZE_1_1000 },
{ 5, &hf_ulp_iPAddress , ASN1_EXTENSION_ROOT , dissect_ulp_IPAddress },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_SETId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_SETId, SETId_choice,
NULL);
return offset;
}
static const per_sequence_t SetSessionID_sequence[] = {
{ &hf_ulp_sessionId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_setId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SETId },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SetSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SetSessionID, SetSessionID_sequence);
return offset;
}
static int
dissect_ulp_FQDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-", 64,
NULL);
return offset;
}
static const value_string ulp_SLPAddress_vals[] = {
{ 0, "iPAddress" },
{ 1, "fqdn" },
{ 0, NULL }
};
static const per_choice_t SLPAddress_choice[] = {
{ 0, &hf_ulp_iPAddress , ASN1_EXTENSION_ROOT , dissect_ulp_IPAddress },
{ 1, &hf_ulp_fqdn , ASN1_EXTENSION_ROOT , dissect_ulp_FQDN },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_SLPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_SLPAddress, SLPAddress_choice,
NULL);
return offset;
}
static const per_sequence_t SlpSessionID_sequence[] = {
{ &hf_ulp_sessionSlpID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_4 },
{ &hf_ulp_slpId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SLPAddress },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SlpSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SlpSessionID, SlpSessionID_sequence);
return offset;
}
static const per_sequence_t SessionID_sequence[] = {
{ &hf_ulp_setSessionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_SetSessionID },
{ &hf_ulp_slpSessionID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_SlpSessionID },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SessionID, SessionID_sequence);
return offset;
}
static const value_string ulp_PosMethod_vals[] = {
{ 0, "agpsSETassisted" },
{ 1, "agpsSETbased" },
{ 2, "agpsSETassistedpref" },
{ 3, "agpsSETbasedpref" },
{ 4, "autonomousGPS" },
{ 5, "aFLT" },
{ 6, "eCID" },
{ 7, "eOTD" },
{ 8, "oTDOA" },
{ 9, "noPosition" },
{ 10, "ver2-historicalDataRetrieval" },
{ 11, "ver2-agnssSETassisted" },
{ 12, "ver2-agnssSETbased" },
{ 13, "ver2-agnssSETassistedpref" },
{ 14, "ver2-agnssSETbasedpref" },
{ 15, "ver2-autonomousGNSS" },
{ 16, "ver2-sessioninfoquery" },
{ 0, NULL }
};
static int
dissect_ulp_PosMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10, NULL, TRUE, 7, NULL);
return offset;
}
static const value_string ulp_NotificationType_vals[] = {
{ 0, "noNotificationNoVerification" },
{ 1, "notificationOnly" },
{ 2, "notificationAndVerficationAllowedNA" },
{ 3, "notificationAndVerficationDeniedNA" },
{ 4, "privacyOverride" },
{ 0, NULL }
};
static int
dissect_ulp_NotificationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ulp_EncodingType_vals[] = {
{ 0, "ucs2" },
{ 1, "gsmDefault" },
{ 2, "utf8" },
{ 0, NULL }
};
static int
dissect_ulp_EncodingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 60 "./asn1/ulp/ulp.cnf"
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, &val, TRUE, 0, NULL);
ulp_priv->notif_enc_type = (guint8) val;
return offset;
}
static int
dissect_ulp_T_requestorId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 67 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, maxReqLength, FALSE, &val_tvb);
if (val_tvb) {
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
switch(ulp_priv->notif_enc_type) {
case 0: /* UCS-2 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
ENC_UCS_2|ENC_BIG_ENDIAN);
break;
case 1: /* GSM 7bits */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
break;
case 2: /* UTF-8 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
break;
default:
actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
tvb_bytes_to_str(wmem_packet_scope(), val_tvb, 0,
tvb_reported_length(val_tvb)));
break;
}
}
return offset;
}
static const value_string ulp_FormatIndicator_vals[] = {
{ 0, "logicalName" },
{ 1, "e-mailAddress" },
{ 2, "msisdn" },
{ 3, "url" },
{ 4, "sipUrl" },
{ 5, "min" },
{ 6, "mdn" },
{ 7, "iMSPublicidentity" },
{ 0, NULL }
};
static int
dissect_ulp_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ulp_T_clientName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 99 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, maxClientLength, FALSE, &val_tvb);
if (val_tvb) {
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
switch(ulp_priv->notif_enc_type) {
case 0: /* UCS-2 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
ENC_UCS_2|ENC_BIG_ENDIAN);
break;
case 1: /* GSM 7bits */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
break;
case 2: /* UTF-8 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
break;
default:
actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
tvb_bytes_to_str(wmem_packet_scope(), val_tvb, 0,
tvb_reported_length(val_tvb)));
break;
}
}
return offset;
}
static int
dissect_ulp_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
return offset;
}
static const per_sequence_t Ver2_Notification_extension_sequence[] = {
{ &hf_ulp_emergencyCallLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NULL },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_Notification_extension, Ver2_Notification_extension_sequence);
return offset;
}
static const per_sequence_t Notification_sequence[] = {
{ &hf_ulp_notificationType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_NotificationType },
{ &hf_ulp_encodingType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_EncodingType },
{ &hf_ulp_requestorId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_requestorId },
{ &hf_ulp_requestorIdType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_FormatIndicator },
{ &hf_ulp_clientName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_clientName },
{ &hf_ulp_clientNameType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_FormatIndicator },
{ &hf_ulp_ver2_Notification_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_Notification_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Notification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 54 "./asn1/ulp/ulp.cnf"
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
ulp_priv->notif_enc_type = -1;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Notification, Notification_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_maxLocAge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 385 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 7U, NULL, FALSE);
return offset;
}
static const per_sequence_t QoP_sequence[] = {
{ &hf_ulp_horacc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
{ &hf_ulp_veracc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
{ &hf_ulp_maxLocAge , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_maxLocAge },
{ &hf_ulp_delay , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_QoP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_QoP, QoP_sequence);
return offset;
}
static const value_string ulp_SLPMode_vals[] = {
{ 0, "proxy" },
{ 1, "nonProxy" },
{ 0, NULL }
};
static int
dissect_ulp_SLPMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_ulp_MAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
64, 64, FALSE, NULL, NULL);
return offset;
}
static int
dissect_ulp_KeyIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
128, 128, FALSE, NULL, NULL);
return offset;
}
static const value_string ulp_NotificationMode_vals[] = {
{ 0, "normal" },
{ 1, "basedOnLocation" },
{ 0, NULL }
};
static int
dissect_ulp_NotificationMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ulp_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
static const per_sequence_t SupportedWLANInfo_sequence[] = {
{ &hf_ulp_apTP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_apAG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_apSN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_apDevType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_apRSSI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_apChanFreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_apRTD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_setTP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_setAG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_setSN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_setRSSI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_apRepLoc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedWLANInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedWLANInfo, SupportedWLANInfo_sequence);
return offset;
}
static int
dissect_ulp_T_apMACAddress_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 573 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
48, 48, FALSE, &val_tvb, NULL);
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
return offset;
}
static const value_string ulp_T_apDevType_vals[] = {
{ 0, "wlan802-11a" },
{ 1, "wlan802-11b" },
{ 2, "wlan802-11g" },
{ 0, NULL }
};
static int
dissect_ulp_T_apDevType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t SupportedWLANApData_sequence[] = {
{ &hf_ulp_apMACAddress_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_apMACAddress_01 },
{ &hf_ulp_apDevType_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_apDevType },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedWLANApData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedWLANApData, SupportedWLANApData_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData_sequence_of[1] = {
{ &hf_ulp_supportedWLANApDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SupportedWLANApData },
};
static int
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_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData, SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData_sequence_of,
1, maxWLANApDataSize, FALSE);
return offset;
}
static const per_sequence_t SupportedWLANApsChannel11a_sequence[] = {
{ &hf_ulp_ch34 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch36 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch38 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch40 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch42 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch44 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch46 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch48 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch52 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch56 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch60 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch64 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch149 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch153 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch157 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch161 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedWLANApsChannel11a(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedWLANApsChannel11a, SupportedWLANApsChannel11a_sequence);
return offset;
}
static const per_sequence_t SupportedWLANApsChannel11bg_sequence[] = {
{ &hf_ulp_ch1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch4 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch5 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch6 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch7 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch8 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch9 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch10 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch11 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch13 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ch14 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedWLANApsChannel11bg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedWLANApsChannel11bg, SupportedWLANApsChannel11bg_sequence);
return offset;
}
static const per_sequence_t SupportedWLANApsList_sequence[] = {
{ &hf_ulp_supportedWLANApDataList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData },
{ &hf_ulp_supportedWLANapsChannel11a, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANApsChannel11a },
{ &hf_ulp_supportedWLANapsChannel11bg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANApsChannel11bg },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedWLANApsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedWLANApsList, SupportedWLANApsList_sequence);
return offset;
}
static const per_sequence_t SupportedWCDMAInfo_sequence[] = {
{ &hf_ulp_mrl , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedWCDMAInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedWCDMAInfo, SupportedWCDMAInfo_sequence);
return offset;
}
static const per_sequence_t SupportedNetworkInformation_sequence[] = {
{ &hf_ulp_wlan , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_supportedWLANInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANInfo },
{ &hf_ulp_supportedWLANApsList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWLANApsList },
{ &hf_ulp_gsm , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_wcdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_supportedWCDMAInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedWCDMAInfo },
{ &hf_ulp_cdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_hrdp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_umb , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_lte , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_wimax , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_historic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_nonServing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_uTRANGPSReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_uTRANGANSSReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedNetworkInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedNetworkInformation, SupportedNetworkInformation_sequence);
return offset;
}
static const value_string ulp_TriggerType_vals[] = {
{ 0, "periodic" },
{ 1, "areaEvent" },
{ 0, NULL }
};
static int
dissect_ulp_TriggerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ulp_AllowedReportingType_vals[] = {
{ 0, "positionsOnly" },
{ 1, "measurementsOnly" },
{ 2, "positionsAndMeasurements" },
{ 0, NULL }
};
static int
dissect_ulp_AllowedReportingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ulp_T_startTime_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 190 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-525600, -1, NULL, FALSE);
proto_item_append_text(actx->created_item, " min");
return offset;
}
static int
dissect_ulp_T_stopTime_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 194 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-525599, 0U, NULL, FALSE);
proto_item_append_text(actx->created_item, " min");
return offset;
}
static const per_sequence_t TimeWindow_sequence[] = {
{ &hf_ulp_startTime_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_startTime_02 },
{ &hf_ulp_stopTime_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_stopTime_01 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_TimeWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_TimeWindow, TimeWindow_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 65536U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_minTimeInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 186 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 86400U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static const per_sequence_t ReportingCriteria_sequence[] = {
{ &hf_ulp_timeWindow , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TimeWindow },
{ &hf_ulp_maxNumberofReports, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_65536 },
{ &hf_ulp_minTimeInterval , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_minTimeInterval },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ReportingCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ReportingCriteria, ReportingCriteria_sequence);
return offset;
}
static const per_sequence_t HistoricReporting_sequence[] = {
{ &hf_ulp_allowedReportingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_AllowedReportingType },
{ &hf_ulp_reportingCriteria, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingCriteria },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_HistoricReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_HistoricReporting, HistoricReporting_sequence);
return offset;
}
static const value_string ulp_ProtLevel_vals[] = {
{ 0, "nullProtection" },
{ 1, "basicProtection" },
{ 0, NULL }
};
static int
dissect_ulp_ProtLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
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_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL);
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
32, 32, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t BasicProtectionParams_sequence[] = {
{ &hf_ulp_keyIdentifier , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_8 },
{ &hf_ulp_basicReplayCounter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_basicMAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_32 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_BasicProtectionParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_BasicProtectionParams, BasicProtectionParams_sequence);
return offset;
}
static const per_sequence_t ProtectionLevel_sequence[] = {
{ &hf_ulp_protlevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_ProtLevel },
{ &hf_ulp_basicProtectionParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BasicProtectionParams },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ProtectionLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ProtectionLevel, ProtectionLevel_sequence);
return offset;
}
static const per_sequence_t GNSSPosTechnology_sequence[] = {
{ &hf_ulp_gps , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_galileo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_sbas , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_modernized_gps , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_qzss , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_glonass , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_bds , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GNSSPosTechnology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GNSSPosTechnology, GNSSPosTechnology_sequence);
return offset;
}
static const per_sequence_t Ver2_SUPL_INIT_extension_sequence[] = {
{ &hf_ulp_notificationMode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NotificationMode },
{ &hf_ulp_supportedNetworkInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedNetworkInformation },
{ &hf_ulp_triggerType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerType },
{ &hf_ulp_e_SLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
{ &hf_ulp_historicReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_HistoricReporting },
{ &hf_ulp_protectionLevel , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ProtectionLevel },
{ &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
{ &hf_ulp_minimumMajorVersion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPL_INIT_extension, Ver2_SUPL_INIT_extension_sequence);
return offset;
}
static const per_sequence_t SUPLINIT_sequence[] = {
{ &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosMethod },
{ &hf_ulp_notification , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Notification },
{ &hf_ulp_sLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
{ &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
{ &hf_ulp_sLPMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SLPMode },
{ &hf_ulp_mac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MAC },
{ &hf_ulp_keyIdentity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_KeyIdentity },
{ &hf_ulp_ver2_SUPL_INIT_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_INIT_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLINIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLINIT, SUPLINIT_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 15U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_ganssSBASid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 201 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
3, 3, FALSE, &val_tvb, NULL);
if (val_tvb) {
proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
}
return offset;
}
static const per_sequence_t GANSSPositioningMethodTypes_sequence[] = {
{ &hf_ulp_setAssisted , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_setBased , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_autonomous , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GANSSPositioningMethodTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GANSSPositioningMethodTypes, GANSSPositioningMethodTypes_sequence);
return offset;
}
static int
dissect_ulp_GANSSSignals(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 8, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t GANSSPositionMethod_sequence[] = {
{ &hf_ulp_ganssId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
{ &hf_ulp_ganssSBASid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_ganssSBASid },
{ &hf_ulp_gANSSPositioningMethodTypes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSPositioningMethodTypes },
{ &hf_ulp_gANSSSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignals },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GANSSPositionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GANSSPositionMethod, GANSSPositionMethod_sequence);
return offset;
}
static const per_sequence_t GANSSPositionMethods_sequence_of[1] = {
{ &hf_ulp_GANSSPositionMethods_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSPositionMethod },
};
static int
dissect_ulp_GANSSPositionMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_GANSSPositionMethods, GANSSPositionMethods_sequence_of,
1, 16, FALSE);
return offset;
}
static const per_sequence_t Ver2_PosTechnology_extension_sequence[] = {
{ &hf_ulp_gANSSPositionMethods, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GANSSPositionMethods },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_PosTechnology_extension, Ver2_PosTechnology_extension_sequence);
return offset;
}
static const per_sequence_t PosTechnology_sequence[] = {
{ &hf_ulp_agpsSETassisted , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_agpsSETBased , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_autonomousGPS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_aflt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ecid , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_eotd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_otdoa , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ver2_PosTechnology_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_PosTechnology_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PosTechnology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PosTechnology, PosTechnology_sequence);
return offset;
}
static const value_string ulp_PrefMethod_vals[] = {
{ 0, "agpsSETassistedPreferred" },
{ 1, "agpsSETBasedPreferred" },
{ 2, "noPreference" },
{ 0, NULL }
};
static int
dissect_ulp_PrefMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t PosProtocolVersion3GPP_sequence[] = {
{ &hf_ulp_majorVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_technicalVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_editorialVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PosProtocolVersion3GPP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PosProtocolVersion3GPP, PosProtocolVersion3GPP_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6, 6, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t Supported3GPP2PosProtocolVersion_sequence[] = {
{ &hf_ulp_revisionNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_6 },
{ &hf_ulp_pointReleaseNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_internalEditLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Supported3GPP2PosProtocolVersion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Supported3GPP2PosProtocolVersion, Supported3GPP2PosProtocolVersion_sequence);
return offset;
}
static const per_sequence_t PosProtocolVersion3GPP2_sequence_of[1] = {
{ &hf_ulp_PosProtocolVersion3GPP2_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Supported3GPP2PosProtocolVersion },
};
static int
dissect_ulp_PosProtocolVersion3GPP2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_PosProtocolVersion3GPP2, PosProtocolVersion3GPP2_sequence_of,
1, 8, FALSE);
return offset;
}
static const per_sequence_t PosProtocolVersionOMA_sequence[] = {
{ &hf_ulp_majorVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_minorVersionField, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PosProtocolVersionOMA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PosProtocolVersionOMA, PosProtocolVersionOMA_sequence);
return offset;
}
static const per_sequence_t Ver2_PosProtocol_extension_sequence[] = {
{ &hf_ulp_lpp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_posProtocolVersionRRLP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP },
{ &hf_ulp_posProtocolVersionRRC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP },
{ &hf_ulp_posProtocolVersionTIA801, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP2 },
{ &hf_ulp_posProtocolVersionLPP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosProtocolVersion3GPP },
{ &hf_ulp_lppe , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_BOOLEAN },
{ &hf_ulp_posProtocolVersionLPPe, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_PosProtocolVersionOMA },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_PosProtocol_extension, Ver2_PosProtocol_extension_sequence);
return offset;
}
static const per_sequence_t PosProtocol_sequence[] = {
{ &hf_ulp_tia801 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_rrlp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_rrc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ver2_PosProtocol_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_PosProtocol_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PosProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PosProtocol, PosProtocol_sequence);
return offset;
}
static const per_sequence_t ServicesSupported_sequence[] = {
{ &hf_ulp_periodicTrigger , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_areaEventTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ServicesSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ServicesSupported, ServicesSupported_sequence);
return offset;
}
static int
dissect_ulp_T_minInt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 761 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 3600U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static int
dissect_ulp_T_maxInt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 765 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1440U, NULL, FALSE);
proto_item_append_text(actx->created_item, " min");
return offset;
}
static const per_sequence_t RepMode_sequence[] = {
{ &hf_ulp_realtime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_quasirealtime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_batch , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_RepMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_RepMode, RepMode_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1024U, NULL, FALSE);
return offset;
}
static const per_sequence_t BatchRepCap_sequence[] = {
{ &hf_ulp_report_position , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_report_measurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_max_num_positions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1024 },
{ &hf_ulp_max_num_measurements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1024 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_BatchRepCap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_BatchRepCap, BatchRepCap_sequence);
return offset;
}
static const per_sequence_t ReportingCap_sequence[] = {
{ &hf_ulp_minInt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_minInt },
{ &hf_ulp_maxInt , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_maxInt },
{ &hf_ulp_repMode_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_RepMode },
{ &hf_ulp_batchRepCap , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BatchRepCap },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ReportingCap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ReportingCap, ReportingCap_sequence);
return offset;
}
static const per_sequence_t GeoAreaShapesSupported_sequence[] = {
{ &hf_ulp_ellipticalArea_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_polygonArea_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GeoAreaShapesSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GeoAreaShapesSupported, GeoAreaShapesSupported_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxNumGeoArea, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxAreaIdList, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxAreaId, NULL, FALSE);
return offset;
}
static const per_sequence_t EventTriggerCapabilities_sequence[] = {
{ &hf_ulp_geoAreaShapesSupported, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GeoAreaShapesSupported },
{ &hf_ulp_maxNumGeoAreaSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_maxNumGeoArea },
{ &hf_ulp_maxAreaIdListSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_maxAreaIdList },
{ &hf_ulp_maxAreaIdSupportedPerList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_maxAreaId },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_EventTriggerCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_EventTriggerCapabilities, EventTriggerCapabilities_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 128U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 32U, NULL, FALSE);
return offset;
}
static const per_sequence_t SessionCapabilities_sequence[] = {
{ &hf_ulp_maxNumberTotalSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_128 },
{ &hf_ulp_maxNumberPeriodicSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_32 },
{ &hf_ulp_maxNumberTriggeredSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_32 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SessionCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SessionCapabilities, SessionCapabilities_sequence);
return offset;
}
static const per_sequence_t ServiceCapabilities_sequence[] = {
{ &hf_ulp_servicesSupported, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_ServicesSupported },
{ &hf_ulp_reportingCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingCap },
{ &hf_ulp_eventTriggerCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_EventTriggerCapabilities },
{ &hf_ulp_sessionCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SessionCapabilities },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ServiceCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ServiceCapabilities, ServiceCapabilities_sequence);
return offset;
}
static const per_sequence_t SupportedBearers_sequence[] = {
{ &hf_ulp_gsm , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_wcdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_lte , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_cdma , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_hprd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_umb , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_wlan , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_wiMAX , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SupportedBearers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SupportedBearers, SupportedBearers_sequence);
return offset;
}
static const per_sequence_t Ver2_SETCapabilities_extension_sequence[] = {
{ &hf_ulp_serviceCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ServiceCapabilities },
{ &hf_ulp_supportedBearers, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_SupportedBearers },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SETCapabilities_extension, Ver2_SETCapabilities_extension_sequence);
return offset;
}
static const per_sequence_t SETCapabilities_sequence[] = {
{ &hf_ulp_posTechnology , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosTechnology },
{ &hf_ulp_prefMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PrefMethod },
{ &hf_ulp_posProtocol , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosProtocol },
{ &hf_ulp_ver2_SETCapabilities_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SETCapabilities_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SETCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SETCapabilities, SETCapabilities_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 999U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1023U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 63U, NULL, FALSE);
return offset;
}
static const per_sequence_t NMRelement_sequence[] = {
{ &hf_ulp_arfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
{ &hf_ulp_bsic , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
{ &hf_ulp_rxLev , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_NMRelement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_NMRelement, NMRelement_sequence);
return offset;
}
static const per_sequence_t NMR_sequence_of[1] = {
{ &hf_ulp_NMR_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_NMRelement },
};
static int
dissect_ulp_NMR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_NMR, NMR_sequence_of,
1, 15, FALSE);
return offset;
}
static const per_sequence_t GsmCellInformation_sequence[] = {
{ &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refLAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_nmr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NMR },
{ &hf_ulp_ta , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GsmCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GsmCellInformation, GsmCellInformation_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 268435455U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_UARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16383U, NULL, FALSE);
return offset;
}
static const per_sequence_t FrequencyInfoFDD_sequence[] = {
{ &hf_ulp_uarfcn_UL , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UARFCN },
{ &hf_ulp_uarfcn_DL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_UARFCN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_FrequencyInfoFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_FrequencyInfoFDD, FrequencyInfoFDD_sequence);
return offset;
}
static const per_sequence_t FrequencyInfoTDD_sequence[] = {
{ &hf_ulp_uarfcn_Nt , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_UARFCN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_FrequencyInfoTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_FrequencyInfoTDD, FrequencyInfoTDD_sequence);
return offset;
}
static const value_string ulp_FrequencySpecificInfo_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t FrequencySpecificInfo_choice[] = {
{ 0, &hf_ulp_fdd_fr , ASN1_EXTENSION_ROOT , dissect_ulp_FrequencyInfoFDD },
{ 1, &hf_ulp_tdd_fr , ASN1_EXTENSION_ROOT , dissect_ulp_FrequencyInfoTDD },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_FrequencySpecificInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_FrequencySpecificInfo, FrequencySpecificInfo_choice,
NULL);
return offset;
}
static const per_sequence_t FrequencyInfo_sequence[] = {
{ &hf_ulp_modeSpecificFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_FrequencySpecificInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_FrequencyInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_FrequencyInfo, FrequencyInfo_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 511U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_UTRA_CarrierRSSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static const per_sequence_t PrimaryCPICH_Info_sequence[] = {
{ &hf_ulp_primaryScramblingCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_511 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PrimaryCPICH_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PrimaryCPICH_Info, PrimaryCPICH_Info_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 63U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_CPICH_RSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_Pathloss(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
46U, 173U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_fdd_sequence[] = {
{ &hf_ulp_primaryCPICH_Info, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
{ &hf_ulp_cpich_Ec_N0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_CPICH_Ec_N0 },
{ &hf_ulp_cpich_RSCP , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_CPICH_RSCP },
{ &hf_ulp_pathloss , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_Pathloss },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_T_fdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_fdd, T_fdd_sequence);
return offset;
}
static int
dissect_ulp_CellParametersID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_TGSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 14U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_PrimaryCCPCH_RSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_TimeslotISCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static const per_sequence_t TimeslotISCP_List_sequence_of[1] = {
{ &hf_ulp_TimeslotISCP_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_TimeslotISCP },
};
static int
dissect_ulp_TimeslotISCP_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_TimeslotISCP_List, TimeslotISCP_List_sequence_of,
1, maxTS, FALSE);
return offset;
}
static const per_sequence_t T_tdd_sequence[] = {
{ &hf_ulp_cellParametersID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
{ &hf_ulp_proposedTGSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_TGSN },
{ &hf_ulp_primaryCCPCH_RSCP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_PrimaryCCPCH_RSCP },
{ &hf_ulp_pathloss , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_Pathloss },
{ &hf_ulp_timeslotISCP_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_TimeslotISCP_List },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_T_tdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_tdd, T_tdd_sequence);
return offset;
}
static const value_string ulp_T_modeSpecificInfo_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t T_modeSpecificInfo_choice[] = {
{ 0, &hf_ulp_fdd , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd },
{ 1, &hf_ulp_tdd , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_T_modeSpecificInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_T_modeSpecificInfo, T_modeSpecificInfo_choice,
NULL);
return offset;
}
static const per_sequence_t CellMeasuredResults_sequence[] = {
{ &hf_ulp_cellIdentity , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_268435455 },
{ &hf_ulp_modeSpecificInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_modeSpecificInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_CellMeasuredResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_CellMeasuredResults, CellMeasuredResults_sequence);
return offset;
}
static const per_sequence_t CellMeasuredResultsList_sequence_of[1] = {
{ &hf_ulp_CellMeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellMeasuredResults },
};
static int
dissect_ulp_CellMeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_CellMeasuredResultsList, CellMeasuredResultsList_sequence_of,
1, maxCellMeas, FALSE);
return offset;
}
static const per_sequence_t MeasuredResults_sequence[] = {
{ &hf_ulp_frequencyInfo , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_FrequencyInfo },
{ &hf_ulp_utra_CarrierRSSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_UTRA_CarrierRSSI },
{ &hf_ulp_cellMeasuredResultsList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_CellMeasuredResultsList },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_MeasuredResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_MeasuredResults, MeasuredResults_sequence);
return offset;
}
static const per_sequence_t MeasuredResultsList_sequence_of[1] = {
{ &hf_ulp_MeasuredResultsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MeasuredResults },
};
static int
dissect_ulp_MeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_MeasuredResultsList, MeasuredResultsList_sequence_of,
1, maxFreq, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 8191U, NULL, FALSE);
return offset;
}
static const value_string ulp_TAResolution_vals[] = {
{ 0, "res10chip" },
{ 1, "res05chip" },
{ 2, "res0125chip" },
{ 0, NULL }
};
static int
dissect_ulp_TAResolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ulp_ChipRate_vals[] = {
{ 0, "tdd128" },
{ 1, "tdd384" },
{ 2, "tdd768" },
{ 0, NULL }
};
static int
dissect_ulp_ChipRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t TimingAdvance_sequence[] = {
{ &hf_ulp_ta_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8191 },
{ &hf_ulp_tAResolution , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TAResolution },
{ &hf_ulp_chipRate , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ChipRate },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_TimingAdvance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_TimingAdvance, TimingAdvance_sequence);
return offset;
}
static const per_sequence_t WcdmaCellInformation_sequence[] = {
{ &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refUC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_268435455 },
{ &hf_ulp_frequencyInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_FrequencyInfo },
{ &hf_ulp_primaryScramblingCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_511 },
{ &hf_ulp_measuredResultsList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MeasuredResultsList },
{ &hf_ulp_cellParametersId, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
{ &hf_ulp_timingAdvance , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_TimingAdvance },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WcdmaCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WcdmaCellInformation, WcdmaCellInformation_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 32767U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4194303U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 8388607U, NULL, FALSE);
return offset;
}
static const per_sequence_t CdmaCellInformation_sequence[] = {
{ &hf_ulp_refNID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refSID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_32767 },
{ &hf_ulp_refBASEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
{ &hf_ulp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
{ &hf_ulp_refREFPN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_511 },
{ &hf_ulp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_CdmaCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_CdmaCellInformation, CdmaCellInformation_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
128, 128, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t HrpdCellInformation_sequence[] = {
{ &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_128 },
{ &hf_ulp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
{ &hf_ulp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
{ &hf_ulp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_HrpdCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_HrpdCellInformation, HrpdCellInformation_sequence);
return offset;
}
static const per_sequence_t UmbCellInformation_sequence[] = {
{ &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_128 },
{ &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refBASELAT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
{ &hf_ulp_reBASELONG , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
{ &hf_ulp_refWeekNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refSeconds , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4194303 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UmbCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UmbCellInformation, UmbCellInformation_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 9U, NULL, FALSE);
return offset;
}
static const per_sequence_t MCC_sequence_of[1] = {
{ &hf_ulp_MCC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MCC_MNC_Digit },
};
static int
dissect_ulp_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_MCC, MCC_sequence_of,
3, 3, FALSE);
return offset;
}
static const per_sequence_t MNC_sequence_of[1] = {
{ &hf_ulp_MNC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MCC_MNC_Digit },
};
static int
dissect_ulp_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_MNC, MNC_sequence_of,
2, 3, FALSE);
return offset;
}
static const per_sequence_t PLMN_Identity_sequence[] = {
{ &hf_ulp_mcc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_MCC },
{ &hf_ulp_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MNC },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PLMN_Identity, PLMN_Identity_sequence);
return offset;
}
static int
dissect_ulp_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
28, 28, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t CellGlobalIdEUTRA_sequence[] = {
{ &hf_ulp_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PLMN_Identity },
{ &hf_ulp_cellIdentity_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_CellIdentity },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_CellGlobalIdEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_CellGlobalIdEUTRA, CellGlobalIdEUTRA_sequence);
return offset;
}
static int
dissect_ulp_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 503U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL, NULL);
return offset;
}
static int
dissect_ulp_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 97U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 34U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1282U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_cgi_Info_sequence[] = {
{ &hf_ulp_cellGlobalId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellGlobalIdEUTRA },
{ &hf_ulp_trackingAreaCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_TrackingAreaCode },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_cgi_Info, T_cgi_Info_sequence);
return offset;
}
static int
dissect_ulp_INTEGER_65536_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
65536U, 262143U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_measResult_sequence[] = {
{ &hf_ulp_rsrpResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRP_Range },
{ &hf_ulp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRQ_Range },
{ &hf_ulp_earfcn , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_earfcn_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_65536_262143 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_measResult, T_measResult_sequence);
return offset;
}
static const per_sequence_t MeasResultEUTRA_sequence[] = {
{ &hf_ulp_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PhysCellId },
{ &hf_ulp_cgi_Info , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_T_cgi_Info },
{ &hf_ulp_measResult , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_measResult },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_MeasResultEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_MeasResultEUTRA, MeasResultEUTRA_sequence);
return offset;
}
static const per_sequence_t MeasResultListEUTRA_sequence_of[1] = {
{ &hf_ulp_MeasResultListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_MeasResultEUTRA },
};
static int
dissect_ulp_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_MeasResultListEUTRA, MeasResultListEUTRA_sequence_of,
1, maxCellReport, FALSE);
return offset;
}
static const per_sequence_t LteCellInformation_sequence[] = {
{ &hf_ulp_cellGlobalIdEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_CellGlobalIdEUTRA },
{ &hf_ulp_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PhysCellId },
{ &hf_ulp_trackingAreaCode, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_TrackingAreaCode },
{ &hf_ulp_rsrpResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRP_Range },
{ &hf_ulp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRQ_Range },
{ &hf_ulp_ta_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1282 },
{ &hf_ulp_measResultListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MeasResultListEUTRA },
{ &hf_ulp_earfcn , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_earfcn_ext , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_65536_262143 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_LteCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_LteCellInformation, LteCellInformation_sequence);
return offset;
}
static int
dissect_ulp_T_apMACAddress_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 590 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
48, 48, FALSE, &val_tvb, NULL);
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
return offset;
}
static int
dissect_ulp_T_apTransmitPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 601 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dBm");
return offset;
}
static int
dissect_ulp_T_apAntennaGain(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 605 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dBi");
return offset;
}
static int
dissect_ulp_T_apSignaltoNoise(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 609 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dB");
return offset;
}
static const value_string ulp_T_apDeviceType_vals[] = {
{ 0, "wlan802-11a" },
{ 1, "wlan802-11b" },
{ 2, "wlan802-11g" },
{ 3, "wlan802-11n" },
{ 4, "wlan802-11ac" },
{ 5, "wlan802-11ad" },
{ 0, NULL }
};
static int
dissect_ulp_T_apDeviceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 3, NULL);
return offset;
}
static int
dissect_ulp_T_apSignalStrength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 613 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dBm");
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 256U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16777216U, NULL, FALSE);
return offset;
}
static const value_string ulp_RTDUnits_vals[] = {
{ 0, "microseconds" },
{ 1, "hundredsofnanoseconds" },
{ 2, "tensofnanoseconds" },
{ 3, "nanoseconds" },
{ 4, "tenthsofnanoseconds" },
{ 0, NULL }
};
static int
dissect_ulp_RTDUnits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t RTD_sequence[] = {
{ &hf_ulp_rTDValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_16777216 },
{ &hf_ulp_rTDUnits , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_RTDUnits },
{ &hf_ulp_rTDAccuracy , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_RTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_RTD, RTD_sequence);
return offset;
}
static int
dissect_ulp_T_setTransmitPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 617 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dBm");
return offset;
}
static int
dissect_ulp_T_setAntennaGain(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 621 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dBi");
return offset;
}
static int
dissect_ulp_T_setSignaltoNoise(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 625 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dB");
return offset;
}
static int
dissect_ulp_T_setSignalStrength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 629 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-127, 128U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dBm");
return offset;
}
static const value_string ulp_LocationEncodingDescriptor_vals[] = {
{ 0, "lci" },
{ 1, "asn1" },
{ 0, NULL }
};
static int
dissect_ulp_LocationEncodingDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4294967295U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 128, FALSE, NULL);
return offset;
}
static const per_sequence_t LocationData_sequence[] = {
{ &hf_ulp_locationAccuracy, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_4294967295 },
{ &hf_ulp_locationValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_1_128 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_LocationData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_LocationData, LocationData_sequence);
return offset;
}
static const per_sequence_t ReportedLocation_sequence[] = {
{ &hf_ulp_locationEncodingDescriptor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationEncodingDescriptor },
{ &hf_ulp_locationData , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationData },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ReportedLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ReportedLocation, ReportedLocation_sequence);
return offset;
}
static int
dissect_ulp_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, NULL, NULL);
return offset;
}
static int
dissect_ulp_BIT_STRING_SIZE_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
30, 30, FALSE, NULL, NULL);
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t LocationDataLCI_sequence[] = {
{ &hf_ulp_latitudeResolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_6 },
{ &hf_ulp_latitude_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_34 },
{ &hf_ulp_longitudeResolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_6 },
{ &hf_ulp_longitude_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_34 },
{ &hf_ulp_altitudeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_4 },
{ &hf_ulp_altitudeResolution, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_6 },
{ &hf_ulp_altitude_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_30 },
{ &hf_ulp_datum , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_LocationDataLCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_LocationDataLCI, LocationDataLCI_sequence);
return offset;
}
static const per_sequence_t LciLocData_sequence[] = {
{ &hf_ulp_locationDataLCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_LocationDataLCI },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_LciLocData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_LciLocData, LciLocData_sequence);
return offset;
}
static const value_string ulp_RepLocation_vals[] = {
{ 0, "lciLocData" },
{ 0, NULL }
};
static const per_choice_t RepLocation_choice[] = {
{ 0, &hf_ulp_lciLocData , ASN1_EXTENSION_ROOT , dissect_ulp_LciLocData },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_RepLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_RepLocation, RepLocation_choice,
NULL);
return offset;
}
static int
dissect_ulp_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_apSSID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 645 "./asn1/ulp/ulp.cnf"
tvbuff_t *ssid_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, 32, FALSE, &ssid_tvb);
if (ssid_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
}
return offset;
}
static const value_string ulp_T_apPHYType_vals[] = {
{ 0, "unknown" },
{ 1, "any" },
{ 2, "fhss" },
{ 3, "dsss" },
{ 4, "irbaseband" },
{ 5, "ofdm" },
{ 6, "hrdsss" },
{ 7, "erp" },
{ 8, "ht" },
{ 9, "ihv" },
{ 0, NULL }
};
static int
dissect_ulp_T_apPHYType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
10, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ulp_T_setMACAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 656 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
48, 48, FALSE, &val_tvb, NULL);
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
return offset;
}
static const per_sequence_t WlanAPInformation_sequence[] = {
{ &hf_ulp_apMACAddress_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_apMACAddress_02 },
{ &hf_ulp_apTransmitPower , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_apTransmitPower },
{ &hf_ulp_apAntennaGain , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_apAntennaGain },
{ &hf_ulp_apSignaltoNoise , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_apSignaltoNoise },
{ &hf_ulp_apDeviceType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_apDeviceType },
{ &hf_ulp_apSignalStrength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_apSignalStrength },
{ &hf_ulp_apChannelFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_256 },
{ &hf_ulp_apRoundTripDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RTD },
{ &hf_ulp_setTransmitPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_setTransmitPower },
{ &hf_ulp_setAntennaGain , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_setAntennaGain },
{ &hf_ulp_setSignaltoNoise, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_setSignaltoNoise },
{ &hf_ulp_setSignalStrength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_setSignalStrength },
{ &hf_ulp_apReportedLocation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportedLocation },
{ &hf_ulp_apRepLocation , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_RepLocation },
{ &hf_ulp_apSignalStrengthDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1 },
{ &hf_ulp_apSignaltoNoiseDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1 },
{ &hf_ulp_setSignalStrengthDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1 },
{ &hf_ulp_setSignaltoNoiseDelta, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1 },
{ &hf_ulp_operatingClass , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_apSSID , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_T_apSSID },
{ &hf_ulp_apPHYType , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_T_apPHYType },
{ &hf_ulp_setMACAddress , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_T_setMACAddress },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WlanAPInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WlanAPInformation, WlanAPInformation_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
24, 24, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t WimaxBsID_sequence[] = {
{ &hf_ulp_bsID_MSB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_24 },
{ &hf_ulp_bsID_LSB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_24 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WimaxBsID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WimaxBsID, WimaxBsID_sequence);
return offset;
}
static const per_sequence_t WimaxRTD_sequence[] = {
{ &hf_ulp_rtd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_rTDstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1023 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WimaxRTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WimaxRTD, WimaxRTD_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-32768, 32767U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_rSSIstd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 685 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 63U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dB");
return offset;
}
static int
dissect_ulp_T_cinr(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 692 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dB");
return offset;
}
static int
dissect_ulp_T_cINRstd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 696 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 63U, NULL, FALSE);
proto_item_append_text(actx->created_item, " dB");
return offset;
}
static const per_sequence_t WimaxNMR_sequence[] = {
{ &hf_ulp_wimaxBsID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_WimaxBsID },
{ &hf_ulp_relDelay , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_M32768_32767 },
{ &hf_ulp_relDelaystd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1023 },
{ &hf_ulp_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_rSSIstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_rSSIstd },
{ &hf_ulp_bSTxPower , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_255 },
{ &hf_ulp_cinr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_cinr },
{ &hf_ulp_cINRstd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_cINRstd },
{ &hf_ulp_bSLocation , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportedLocation },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WimaxNMR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WimaxNMR, WimaxNMR_sequence);
return offset;
}
static const per_sequence_t WimaxNMRList_sequence_of[1] = {
{ &hf_ulp_WimaxNMRList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_WimaxNMR },
};
static int
dissect_ulp_WimaxNMRList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_WimaxNMRList, WimaxNMRList_sequence_of,
1, maxWimaxBSMeas, FALSE);
return offset;
}
static const per_sequence_t WimaxBSInformation_sequence[] = {
{ &hf_ulp_wimaxBsID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_WimaxBsID },
{ &hf_ulp_wimaxRTD , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_WimaxRTD },
{ &hf_ulp_wimaxNMRList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_WimaxNMRList },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WimaxBSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WimaxBSInformation, WimaxBSInformation_sequence);
return offset;
}
static const value_string ulp_Ver2_CellInfo_extension_vals[] = {
{ 0, "hrpdCell" },
{ 1, "umbCell" },
{ 2, "lteCell" },
{ 3, "wlanAP" },
{ 4, "wimaxBS" },
{ 0, NULL }
};
static const per_choice_t Ver2_CellInfo_extension_choice[] = {
{ 0, &hf_ulp_hrpdCell , ASN1_EXTENSION_ROOT , dissect_ulp_HrpdCellInformation },
{ 1, &hf_ulp_umbCell , ASN1_EXTENSION_ROOT , dissect_ulp_UmbCellInformation },
{ 2, &hf_ulp_lteCell , ASN1_EXTENSION_ROOT , dissect_ulp_LteCellInformation },
{ 3, &hf_ulp_wlanAP , ASN1_EXTENSION_ROOT , dissect_ulp_WlanAPInformation },
{ 4, &hf_ulp_wimaxBS , ASN1_EXTENSION_ROOT , dissect_ulp_WimaxBSInformation },
{ 0, NULL, 0, NULL }
};
static int
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_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_CellInfo_extension, Ver2_CellInfo_extension_choice,
NULL);
return offset;
}
static const value_string ulp_CellInfo_vals[] = {
{ 0, "gsmCell" },
{ 1, "wcdmaCell" },
{ 2, "cdmaCell" },
{ 3, "ver2-CellInfo-extension" },
{ 0, NULL }
};
static const per_choice_t CellInfo_choice[] = {
{ 0, &hf_ulp_gsmCell , ASN1_EXTENSION_ROOT , dissect_ulp_GsmCellInformation },
{ 1, &hf_ulp_wcdmaCell , ASN1_EXTENSION_ROOT , dissect_ulp_WcdmaCellInformation },
{ 2, &hf_ulp_cdmaCell , ASN1_EXTENSION_ROOT , dissect_ulp_CdmaCellInformation },
{ 3, &hf_ulp_ver2_CellInfo_extension, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_CellInfo_extension },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_CellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_CellInfo, CellInfo_choice,
NULL);
return offset;
}
static const value_string ulp_Status_vals[] = {
{ 0, "stale" },
{ 1, "current" },
{ 2, "unknown" },
{ 0, NULL }
};
static int
dissect_ulp_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t LocationId_sequence[] = {
{ &hf_ulp_cellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_CellInfo },
{ &hf_ulp_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_Status },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_LocationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_LocationId, LocationId_sequence);
return offset;
}
static int
dissect_ulp_RelativeTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
return offset;
}
static const per_sequence_t LocationIdData_sequence[] = {
{ &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
{ &hf_ulp_relativetimestamp, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RelativeTime },
{ &hf_ulp_servingFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_LocationIdData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_LocationIdData, LocationIdData_sequence);
return offset;
}
static const per_sequence_t MultipleLocationIds_sequence_of[1] = {
{ &hf_ulp_MultipleLocationIds_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_LocationIdData },
};
static int
dissect_ulp_MultipleLocationIds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_MultipleLocationIds, MultipleLocationIds_sequence_of,
1, maxLidSize, FALSE);
return offset;
}
static int
dissect_ulp_T_msisdn_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 725 "./asn1/ulp/ulp.cnf"
tvbuff_t *msisdn_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &msisdn_tvb);
if (msisdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
}
return offset;
}
static int
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_) {
#line 736 "./asn1/ulp/ulp.cnf"
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%#@?", 72,
NULL);
return offset;
}
static int
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_) {
#line 741 "./asn1/ulp/ulp.cnf"
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%#@?", 72,
NULL);
return offset;
}
static int
dissect_ulp_T_mdn_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 745 "./asn1/ulp/ulp.cnf"
tvbuff_t *mdn_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &mdn_tvb);
if (mdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
proto_tree_add_string(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, tvb_bcd_dig_to_wmem_packet_str(mdn_tvb, 0, 8, NULL, FALSE));
}
return offset;
}
static int
dissect_ulp_T_uri(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 756 "./asn1/ulp/ulp.cnf"
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./-_~%#", 69,
NULL);
return offset;
}
static const value_string ulp_ThirdPartyID_vals[] = {
{ 0, "logicalName" },
{ 1, "msisdn" },
{ 2, "emailaddr" },
{ 3, "sip-uri" },
{ 4, "ims-public-identity" },
{ 5, "min" },
{ 6, "mdn" },
{ 7, "uri" },
{ 0, NULL }
};
static const per_choice_t ThirdPartyID_choice[] = {
{ 0, &hf_ulp_logicalName , ASN1_EXTENSION_ROOT , dissect_ulp_IA5String_SIZE_1_1000 },
{ 1, &hf_ulp_msisdn_01 , ASN1_EXTENSION_ROOT , dissect_ulp_T_msisdn_01 },
{ 2, &hf_ulp_emailaddr , ASN1_EXTENSION_ROOT , dissect_ulp_IA5String_SIZE_1_1000 },
{ 3, &hf_ulp_sip_uri , ASN1_EXTENSION_ROOT , dissect_ulp_T_sip_uri },
{ 4, &hf_ulp_ims_public_identity, ASN1_EXTENSION_ROOT , dissect_ulp_T_ims_public_identity },
{ 5, &hf_ulp_min_01 , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_34 },
{ 6, &hf_ulp_mdn_01 , ASN1_EXTENSION_ROOT , dissect_ulp_T_mdn_01 },
{ 7, &hf_ulp_uri , ASN1_EXTENSION_ROOT , dissect_ulp_T_uri },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_ThirdPartyID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_ThirdPartyID, ThirdPartyID_choice,
NULL);
return offset;
}
static const per_sequence_t ThirdParty_sequence_of[1] = {
{ &hf_ulp_ThirdParty_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_ThirdPartyID },
};
static int
dissect_ulp_ThirdParty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_ThirdParty, ThirdParty_sequence_of,
1, 64, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 24, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 32, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 8, FALSE);
return offset;
}
static const per_sequence_t ApplicationID_sequence[] = {
{ &hf_ulp_appProvider , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_IA5String_SIZE_1_24 },
{ &hf_ulp_appName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_IA5String_SIZE_1_32 },
{ &hf_ulp_appVersion , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_IA5String_SIZE_1_8 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ApplicationID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ApplicationID, ApplicationID_sequence);
return offset;
}
static int
dissect_ulp_UTCTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE);
return offset;
}
static const value_string ulp_T_latitudeSign_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
dissect_ulp_T_latitudeSign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_ulp_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
-8388608, 8388607U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_orientationMajorAxis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 350 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 180U, NULL, FALSE);
proto_item_append_text(actx->created_item, " degrees");
return offset;
}
static const per_sequence_t T_uncertainty_sequence[] = {
{ &hf_ulp_uncertaintySemiMajor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
{ &hf_ulp_uncertaintySemiMinor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
{ &hf_ulp_orientationMajorAxis, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_orientationMajorAxis },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_T_uncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_uncertainty, T_uncertainty_sequence);
return offset;
}
static int
dissect_ulp_T_confidence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 100U, NULL, FALSE);
#line 354 "./asn1/ulp/ulp.cnf"
proto_item_append_text(actx->created_item, "%%");
return offset;
}
static const value_string ulp_T_altitudeDirection_vals[] = {
{ 0, "height" },
{ 1, "depth" },
{ 0, NULL }
};
static int
dissect_ulp_T_altitudeDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static int
dissect_ulp_T_altitude(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 357 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 32767U, NULL, FALSE);
proto_item_append_text(actx->created_item, " m");
return offset;
}
static const per_sequence_t AltitudeInfo_sequence[] = {
{ &hf_ulp_altitudeDirection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_altitudeDirection },
{ &hf_ulp_altitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_altitude },
{ &hf_ulp_altUncertainty , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_AltitudeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_AltitudeInfo, AltitudeInfo_sequence);
return offset;
}
static const per_sequence_t PositionEstimate_sequence[] = {
{ &hf_ulp_latitudeSign , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_latitudeSign },
{ &hf_ulp_latitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
{ &hf_ulp_longitude , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_M8388608_8388607 },
{ &hf_ulp_uncertainty , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_uncertainty },
{ &hf_ulp_confidence , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_confidence },
{ &hf_ulp_altitudeInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_AltitudeInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PositionEstimate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PositionEstimate, PositionEstimate_sequence);
return offset;
}
static int
dissect_ulp_T_bearing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 392 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
9, 9, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " degrees");
}
return offset;
}
static int
dissect_ulp_T_horspeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 404 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
16, 16, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static const per_sequence_t Horvel_sequence[] = {
{ &hf_ulp_bearing , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_bearing },
{ &hf_ulp_horspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_horspeed },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Horvel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Horvel, Horvel_sequence);
return offset;
}
static int
dissect_ulp_T_verdirect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 416 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
1, 1, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
}
return offset;
}
static int
dissect_ulp_T_bearing_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 427 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
9, 9, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " degrees");
}
return offset;
}
static int
dissect_ulp_T_horspeed_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 439 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
16, 16, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static int
dissect_ulp_T_verspeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 451 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
8, 8, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static const per_sequence_t Horandvervel_sequence[] = {
{ &hf_ulp_verdirect , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_verdirect },
{ &hf_ulp_bearing_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_bearing_01 },
{ &hf_ulp_horspeed_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_horspeed_01 },
{ &hf_ulp_verspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_verspeed },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Horandvervel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Horandvervel, Horandvervel_sequence);
return offset;
}
static int
dissect_ulp_T_bearing_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 463 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
9, 9, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " degrees");
}
return offset;
}
static int
dissect_ulp_T_horspeed_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 475 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
16, 16, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static int
dissect_ulp_T_uncertspeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 487 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
8, 8, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static const per_sequence_t Horveluncert_sequence[] = {
{ &hf_ulp_bearing_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_bearing_02 },
{ &hf_ulp_horspeed_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_horspeed_02 },
{ &hf_ulp_uncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_uncertspeed },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Horveluncert(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Horveluncert, Horveluncert_sequence);
return offset;
}
static int
dissect_ulp_T_verdirect_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 499 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
1, 1, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
}
return offset;
}
static int
dissect_ulp_T_bearing_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 510 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
9, 9, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " degrees");
}
return offset;
}
static int
dissect_ulp_T_horspeed_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 522 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
16, 16, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static int
dissect_ulp_T_verspeed_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 534 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
8, 8, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static int
dissect_ulp_T_horuncertspeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 546 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
8, 8, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static int
dissect_ulp_T_veruncertspeed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 558 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
8, 8, FALSE, &val_tvb, NULL);
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_item_append_text(actx->created_item, " km/h");
}
return offset;
}
static const per_sequence_t Horandveruncert_sequence[] = {
{ &hf_ulp_verdirect_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_verdirect_01 },
{ &hf_ulp_bearing_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_bearing_03 },
{ &hf_ulp_horspeed_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_horspeed_03 },
{ &hf_ulp_verspeed_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_verspeed_01 },
{ &hf_ulp_horuncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_horuncertspeed },
{ &hf_ulp_veruncertspeed , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_veruncertspeed },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Horandveruncert(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Horandveruncert, Horandveruncert_sequence);
return offset;
}
static const value_string ulp_Velocity_vals[] = {
{ 0, "horvel" },
{ 1, "horandvervel" },
{ 2, "horveluncert" },
{ 3, "horandveruncert" },
{ 0, NULL }
};
static const per_choice_t Velocity_choice[] = {
{ 0, &hf_ulp_horvel , ASN1_EXTENSION_ROOT , dissect_ulp_Horvel },
{ 1, &hf_ulp_horandvervel , ASN1_EXTENSION_ROOT , dissect_ulp_Horandvervel },
{ 2, &hf_ulp_horveluncert , ASN1_EXTENSION_ROOT , dissect_ulp_Horveluncert },
{ 3, &hf_ulp_horandveruncert , ASN1_EXTENSION_ROOT , dissect_ulp_Horandveruncert },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_Velocity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_Velocity, Velocity_choice,
NULL);
return offset;
}
static const per_sequence_t Position_sequence[] = {
{ &hf_ulp_timestamp_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_UTCTime },
{ &hf_ulp_positionEstimate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PositionEstimate },
{ &hf_ulp_velocity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Velocity },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Position(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Position, Position_sequence);
return offset;
}
static const per_sequence_t Ver2_SUPL_START_extension_sequence[] = {
{ &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
{ &hf_ulp_thirdParty , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ThirdParty },
{ &hf_ulp_applicationID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ApplicationID },
{ &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPL_START_extension, Ver2_SUPL_START_extension_sequence);
return offset;
}
static const per_sequence_t SUPLSTART_sequence[] = {
{ &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETCapabilities },
{ &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
{ &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
{ &hf_ulp_ver2_SUPL_START_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_START_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLSTART(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLSTART, SUPLSTART_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
256, 256, FALSE, NULL, NULL);
return offset;
}
static const value_string ulp_SETAuthKey_vals[] = {
{ 0, "shortKey" },
{ 1, "longKey" },
{ 0, NULL }
};
static const per_choice_t SETAuthKey_choice[] = {
{ 0, &hf_ulp_shortKey , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_128 },
{ 1, &hf_ulp_longKey , ASN1_EXTENSION_ROOT , dissect_ulp_BIT_STRING_SIZE_256 },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_SETAuthKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_SETAuthKey, SETAuthKey_choice,
NULL);
return offset;
}
static int
dissect_ulp_KeyIdentity4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
128, 128, FALSE, NULL, NULL);
return offset;
}
static int
dissect_ulp_SPCSETKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
128, 128, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t SPCTID_sequence[] = {
{ &hf_ulp_rand , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_128 },
{ &hf_ulp_slpFQDN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_FQDN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SPCTID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SPCTID, SPCTID_sequence);
return offset;
}
static int
dissect_ulp_SPCSETKeylifetime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 24U, NULL, FALSE);
return offset;
}
static const per_sequence_t Ver2_SUPL_RESPONSE_extension_sequence[] = {
{ &hf_ulp_supportedNetworkInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedNetworkInformation },
{ &hf_ulp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKey },
{ &hf_ulp_spctid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCTID },
{ &hf_ulp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKeylifetime },
{ &hf_ulp_initialApproximateposition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
{ &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPL_RESPONSE_extension, Ver2_SUPL_RESPONSE_extension_sequence);
return offset;
}
static const per_sequence_t SUPLRESPONSE_sequence[] = {
{ &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosMethod },
{ &hf_ulp_sLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
{ &hf_ulp_sETAuthKey , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETAuthKey },
{ &hf_ulp_keyIdentity4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_KeyIdentity4 },
{ &hf_ulp_ver2_SUPL_RESPONSE_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_RESPONSE_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLRESPONSE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLRESPONSE, SUPLRESPONSE_sequence);
return offset;
}
static int
dissect_ulp_T_gpsToe(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 131 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 167U, NULL, FALSE);
proto_item_append_text(actx->created_item, " hr");
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 31U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_toeLimit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 135 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 10U, NULL, FALSE);
proto_item_append_text(actx->created_item, " hr");
return offset;
}
static const per_sequence_t SatelliteInfoElement_sequence[] = {
{ &hf_ulp_satId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
{ &hf_ulp_iode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_255 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SatelliteInfoElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SatelliteInfoElement, SatelliteInfoElement_sequence);
return offset;
}
static const per_sequence_t SatelliteInfo_sequence_of[1] = {
{ &hf_ulp_SatelliteInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SatelliteInfoElement },
};
static int
dissect_ulp_SatelliteInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_SatelliteInfo, SatelliteInfo_sequence_of,
1, 31, FALSE);
return offset;
}
static const per_sequence_t NavigationModel_sequence[] = {
{ &hf_ulp_gpsWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
{ &hf_ulp_gpsToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_gpsToe },
{ &hf_ulp_nsat , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_31 },
{ &hf_ulp_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_toeLimit },
{ &hf_ulp_satInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SatelliteInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_NavigationModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_NavigationModel, NavigationModel_sequence);
return offset;
}
static const per_sequence_t GanssRequestedCommonAssistanceDataList_sequence[] = {
{ &hf_ulp_ganssReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssIonosphericModel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssAdditionalIonosphericModelForDataID00, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssAdditionalIonosphericModelForDataID11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssEarthOrientationParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssAdditionalIonosphericModelForDataID01, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GanssRequestedCommonAssistanceDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GanssRequestedCommonAssistanceDataList, GanssRequestedCommonAssistanceDataList_sequence);
return offset;
}
static int
dissect_ulp_T_ganssId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 212 "./asn1/ulp/ulp.cnf"
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 15U, &val, FALSE);
ulp_priv->ganss_req_gen_data_ganss_id = (guint8) val;
return offset;
}
static int
dissect_ulp_T_ganssSBASid_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 222 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
3, 3, FALSE, &val_tvb, NULL);
if (val_tvb) {
proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
}
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, NULL);
return offset;
}
static int
dissect_ulp_T_ganssWeek(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 246 "./asn1/ulp/ulp.cnf"
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4095U, NULL, FALSE);
if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
/* Not GLONASS */
proto_item_append_text(actx->created_item, " wk");
} else {
proto_item_append_text(actx->created_item, " d");
}
return offset;
}
static int
dissect_ulp_T_ganssToe(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 257 "./asn1/ulp/ulp.cnf"
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 167U, &val, FALSE);
#line 263 "./asn1/ulp/ulp.cnf"
if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
/* Not GLONASS */
proto_item_append_text(actx->created_item, " h");
} else {
proto_item_set_text(actx->created_item, "%u min (%u)", 15*val, val);
}
return offset;
}
static int
dissect_ulp_T_t_toeLimit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 271 "./asn1/ulp/ulp.cnf"
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 15U, &val, FALSE);
#line 277 "./asn1/ulp/ulp.cnf"
if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
/* Not GLONASS */
proto_item_append_text(actx->created_item, " h");
} else {
proto_item_set_text(actx->created_item, "%u min (%u)", 30*val, val);
}
return offset;
}
static const per_sequence_t SatellitesListRelatedData_sequence[] = {
{ &hf_ulp_satId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
{ &hf_ulp_iod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SatellitesListRelatedData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SatellitesListRelatedData, SatellitesListRelatedData_sequence);
return offset;
}
static const per_sequence_t SatellitesListRelatedDataList_sequence_of[1] = {
{ &hf_ulp_SatellitesListRelatedDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SatellitesListRelatedData },
};
static int
dissect_ulp_SatellitesListRelatedDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_SatellitesListRelatedDataList, SatellitesListRelatedDataList_sequence_of,
0, maxGANSSSat, FALSE);
return offset;
}
static const per_sequence_t GanssNavigationModelData_sequence[] = {
{ &hf_ulp_ganssWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_ganssWeek },
{ &hf_ulp_ganssToe , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_ganssToe },
{ &hf_ulp_t_toeLimit , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_t_toeLimit },
{ &hf_ulp_satellitesListRelatedDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SatellitesListRelatedDataList },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GanssNavigationModelData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GanssNavigationModelData, GanssNavigationModelData_sequence);
return offset;
}
static int
dissect_ulp_T_ganssTimeModels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 233 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, &val_tvb, NULL);
if (val_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ulp_ganssTimeModels);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit0, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit1, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit2, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit3, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit4, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_spare, val_tvb, 0, 2, ENC_BIG_ENDIAN);
}
return offset;
}
static int
dissect_ulp_T_ganssTODmin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 285 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 59U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static const per_sequence_t T_ganssDataBitSatList_sequence_of[1] = {
{ &hf_ulp_ganssDataBitSatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_63 },
};
static int
dissect_ulp_T_ganssDataBitSatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_T_ganssDataBitSatList, T_ganssDataBitSatList_sequence_of,
1, maxGANSSSat, FALSE);
return offset;
}
static const per_sequence_t ReqDataBitAssistanceList_sequence[] = {
{ &hf_ulp_gnssSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignals },
{ &hf_ulp_ganssDataBitInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
{ &hf_ulp_ganssDataBitSatList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_ganssDataBitSatList },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ReqDataBitAssistanceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ReqDataBitAssistanceList, ReqDataBitAssistanceList_sequence);
return offset;
}
static const per_sequence_t GanssDataBits_sequence[] = {
{ &hf_ulp_ganssTODmin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_ganssTODmin },
{ &hf_ulp_reqDataBitAssistanceList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_ReqDataBitAssistanceList },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GanssDataBits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GanssDataBits, GanssDataBits_sequence);
return offset;
}
static const per_sequence_t GanssAdditionalDataChoices_sequence[] = {
{ &hf_ulp_orbitModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
{ &hf_ulp_clockModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
{ &hf_ulp_utcModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
{ &hf_ulp_almanacModelID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_7 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GanssAdditionalDataChoices(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GanssAdditionalDataChoices, GanssAdditionalDataChoices_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 256U, NULL, FALSE);
return offset;
}
static const per_sequence_t ExtendedEphemeris_sequence[] = {
{ &hf_ulp_validity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_256 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ExtendedEphemeris(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ExtendedEphemeris, ExtendedEphemeris_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 23U, NULL, FALSE);
return offset;
}
static const per_sequence_t GANSSextEphTime_sequence[] = {
{ &hf_ulp_gANSSday , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8191 },
{ &hf_ulp_gANSSTODhour , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_23 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GANSSextEphTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GANSSextEphTime, GANSSextEphTime_sequence);
return offset;
}
static const per_sequence_t GanssExtendedEphCheck_sequence[] = {
{ &hf_ulp_beginTime_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSextEphTime },
{ &hf_ulp_endTime_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSextEphTime },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GanssExtendedEphCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GanssExtendedEphCheck, GanssExtendedEphCheck_sequence);
return offset;
}
static int
dissect_ulp_BDS_Sig_Id_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t GanssReqGenericData_sequence[] = {
{ &hf_ulp_ganssId_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_ganssId },
{ &hf_ulp_ganssSBASid_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_ganssSBASid_01 },
{ &hf_ulp_ganssRealTimeIntegrity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssDifferentialCorrection, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_DGANSS_Sig_Id_Req },
{ &hf_ulp_ganssAlmanac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssNavigationModelData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssNavigationModelData },
{ &hf_ulp_ganssTimeModels , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_ganssTimeModels },
{ &hf_ulp_ganssReferenceMeasurementInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssDataBits , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssDataBits },
{ &hf_ulp_ganssUTCModel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssAdditionalDataChoices, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssAdditionalDataChoices },
{ &hf_ulp_ganssAuxiliaryInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ganssExtendedEphemeris, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ExtendedEphemeris },
{ &hf_ulp_ganssExtendedEphemerisCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssExtendedEphCheck },
{ &hf_ulp_bds_DifferentialCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_BDS_Sig_Id_Req },
{ &hf_ulp_bds_GridModelReq, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GanssReqGenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GanssReqGenericData, GanssReqGenericData_sequence);
return offset;
}
static const per_sequence_t GanssRequestedGenericAssistanceDataList_sequence_of[1] = {
{ &hf_ulp_GanssRequestedGenericAssistanceDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GanssReqGenericData },
};
static int
dissect_ulp_GanssRequestedGenericAssistanceDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_GanssRequestedGenericAssistanceDataList, GanssRequestedGenericAssistanceDataList_sequence_of,
1, maxGANSS, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 167U, NULL, FALSE);
return offset;
}
static const per_sequence_t GPSTime_sequence[] = {
{ &hf_ulp_gPSWeek , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
{ &hf_ulp_gPSTOWhour , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_167 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GPSTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GPSTime, GPSTime_sequence);
return offset;
}
static const per_sequence_t ExtendedEphCheck_sequence[] = {
{ &hf_ulp_beginTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GPSTime },
{ &hf_ulp_endTime , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GPSTime },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ExtendedEphCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ExtendedEphCheck, ExtendedEphCheck_sequence);
return offset;
}
static const per_sequence_t Ver2_RequestedAssistData_extension_sequence[] = {
{ &hf_ulp_ganssRequestedCommonAssistanceDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssRequestedCommonAssistanceDataList },
{ &hf_ulp_ganssRequestedGenericAssistanceDataList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GanssRequestedGenericAssistanceDataList },
{ &hf_ulp_extendedEphemeris, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ExtendedEphemeris },
{ &hf_ulp_extendedEphemerisCheck, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ExtendedEphCheck },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_RequestedAssistData_extension, Ver2_RequestedAssistData_extension_sequence);
return offset;
}
static const per_sequence_t RequestedAssistData_sequence[] = {
{ &hf_ulp_almanacRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_utcModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_ionosphericModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_dgpsCorrectionsRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_referenceLocationRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_referenceTimeRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_acquisitionAssistanceRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_realTimeIntegrityRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_navigationModelRequested, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_navigationModelData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NavigationModel },
{ &hf_ulp_ver2_RequestedAssistData_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_RequestedAssistData_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_RequestedAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_RequestedAssistData, RequestedAssistData_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 8192, FALSE, NULL);
return offset;
}
static int
dissect_ulp_T_rrlpPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 139 "./asn1/ulp/ulp.cnf"
tvbuff_t *rrlp_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 8192, FALSE, &rrlp_tvb);
if (rrlp_tvb && rrlp_handle) {
call_dissector(rrlp_handle, rrlp_tvb, actx->pinfo, tree);
}
return offset;
}
static int
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_) {
#line 295 "./asn1/ulp/ulp.cnf"
tvbuff_t *lpp_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 60000, FALSE, &lpp_tvb);
if (lpp_tvb && lpp_handle) {
call_dissector(lpp_handle, lpp_tvb, actx->pinfo, tree);
}
return offset;
}
static const per_sequence_t T_lPPPayload_sequence_of[1] = {
{ &hf_ulp_lPPPayload_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_lPPPayload_item },
};
static int
dissect_ulp_T_lPPPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_T_lPPPayload, T_lPPPayload_sequence_of,
1, 3, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 60000, FALSE, NULL);
return offset;
}
static const per_sequence_t T_tia801Payload_sequence_of[1] = {
{ &hf_ulp_tia801Payload_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_OCTET_STRING_SIZE_1_60000 },
};
static int
dissect_ulp_T_tia801Payload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_T_tia801Payload, T_tia801Payload_sequence_of,
1, 3, FALSE);
return offset;
}
static const per_sequence_t Ver2_PosPayLoad_extension_sequence[] = {
{ &hf_ulp_lPPPayload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_lPPPayload },
{ &hf_ulp_tia801Payload , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_tia801Payload },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_PosPayLoad_extension, Ver2_PosPayLoad_extension_sequence);
return offset;
}
static const value_string ulp_PosPayLoad_vals[] = {
{ 0, "tia801payload" },
{ 1, "rrcPayload" },
{ 2, "rrlpPayload" },
{ 3, "ver2-PosPayLoad-extension" },
{ 0, NULL }
};
static const per_choice_t PosPayLoad_choice[] = {
{ 0, &hf_ulp_tia801payload , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_1_8192 },
{ 1, &hf_ulp_rrcPayload , ASN1_EXTENSION_ROOT , dissect_ulp_OCTET_STRING_SIZE_1_8192 },
{ 2, &hf_ulp_rrlpPayload , ASN1_EXTENSION_ROOT , dissect_ulp_T_rrlpPayload },
{ 3, &hf_ulp_ver2_PosPayLoad_extension, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_PosPayLoad_extension },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_PosPayLoad(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_PosPayLoad, PosPayLoad_choice,
NULL);
return offset;
}
static const per_sequence_t T_utran_GPSTimingOfCell_sequence[] = {
{ &hf_ulp_ms_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_1023 },
{ &hf_ulp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4294967295 },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_utran_GPSTimingOfCell, T_utran_GPSTimingOfCell_sequence);
return offset;
}
static const per_sequence_t T_fdd_01_sequence[] = {
{ &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_fdd_01, T_fdd_01_sequence);
return offset;
}
static const per_sequence_t T_tdd_01_sequence[] = {
{ &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_tdd_01, T_tdd_01_sequence);
return offset;
}
static const value_string ulp_T_modeSpecificInfo_01_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t T_modeSpecificInfo_01_choice[] = {
{ 0, &hf_ulp_fdd_01 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_01 },
{ 1, &hf_ulp_tdd_01 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_01 },
{ 0, NULL, 0, NULL }
};
static int
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_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_T_modeSpecificInfo_01, T_modeSpecificInfo_01_choice,
NULL);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4095U, NULL, FALSE);
return offset;
}
static const per_sequence_t UTRAN_GPSReferenceTime_sequence[] = {
{ &hf_ulp_utran_GPSTimingOfCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_utran_GPSTimingOfCell },
{ &hf_ulp_modeSpecificInfo_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_01 },
{ &hf_ulp_sfn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UTRAN_GPSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UTRAN_GPSReferenceTime, UTRAN_GPSReferenceTime_sequence);
return offset;
}
static const value_string ulp_UTRANGPSDriftRate_vals[] = {
{ 0, "utran-GPSDrift0" },
{ 1, "utran-GPSDrift1" },
{ 2, "utran-GPSDrift2" },
{ 3, "utran-GPSDrift5" },
{ 4, "utran-GPSDrift10" },
{ 5, "utran-GPSDrift15" },
{ 6, "utran-GPSDrift25" },
{ 7, "utran-GPSDrift50" },
{ 8, "utran-GPSDrift-1" },
{ 9, "utran-GPSDrift-2" },
{ 10, "utran-GPSDrift-5" },
{ 11, "utran-GPSDrift-10" },
{ 12, "utran-GPSDrift-15" },
{ 13, "utran-GPSDrift-25" },
{ 14, "utran-GPSDrift-50" },
{ 0, NULL }
};
static int
dissect_ulp_UTRANGPSDriftRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t UTRAN_GPSReferenceTimeAssistance_sequence[] = {
{ &hf_ulp_utran_GPSReferenceTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_UTRAN_GPSReferenceTime },
{ &hf_ulp_gpsReferenceTimeUncertainty, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
{ &hf_ulp_utranGPSDriftRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_UTRANGPSDriftRate },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UTRAN_GPSReferenceTimeAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UTRAN_GPSReferenceTimeAssistance, UTRAN_GPSReferenceTimeAssistance_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16383U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_set_GPSTimingOfCell_sequence[] = {
{ &hf_ulp_ms_part_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_16383 },
{ &hf_ulp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4294967295 },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_set_GPSTimingOfCell, T_set_GPSTimingOfCell_sequence);
return offset;
}
static const per_sequence_t T_fdd_02_sequence[] = {
{ &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_fdd_02, T_fdd_02_sequence);
return offset;
}
static const per_sequence_t T_tdd_02_sequence[] = {
{ &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_tdd_02, T_tdd_02_sequence);
return offset;
}
static const value_string ulp_T_modeSpecificInfo_02_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t T_modeSpecificInfo_02_choice[] = {
{ 0, &hf_ulp_fdd_02 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_02 },
{ 1, &hf_ulp_tdd_02 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_02 },
{ 0, NULL, 0, NULL }
};
static int
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_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_T_modeSpecificInfo_02, T_modeSpecificInfo_02_choice,
NULL);
return offset;
}
static const per_sequence_t UTRAN_GPSReferenceTimeResult_sequence[] = {
{ &hf_ulp_set_GPSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_set_GPSTimingOfCell },
{ &hf_ulp_modeSpecificInfo_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_02 },
{ &hf_ulp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
{ &hf_ulp_gpsReferenceTimeUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UTRAN_GPSReferenceTimeResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UTRAN_GPSReferenceTimeResult, UTRAN_GPSReferenceTimeResult_sequence);
return offset;
}
static int
dissect_ulp_T_ganssTOD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 709 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 86399U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 3999999U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_fdd_03_sequence[] = {
{ &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_fdd_03, T_fdd_03_sequence);
return offset;
}
static const per_sequence_t T_tdd_03_sequence[] = {
{ &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_tdd_03, T_tdd_03_sequence);
return offset;
}
static const value_string ulp_T_modeSpecificInfo_03_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t T_modeSpecificInfo_03_choice[] = {
{ 0, &hf_ulp_fdd_03 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_03 },
{ 1, &hf_ulp_tdd_03 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_03 },
{ 0, NULL, 0, NULL }
};
static int
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_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_T_modeSpecificInfo_03, T_modeSpecificInfo_03_choice,
NULL);
return offset;
}
static const per_sequence_t UTRAN_GANSSReferenceTime_sequence[] = {
{ &hf_ulp_ganssTOD , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_ganssTOD },
{ &hf_ulp_utran_GANSSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_3999999 },
{ &hf_ulp_modeSpecificInfo_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_03 },
{ &hf_ulp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
{ &hf_ulp_ganss_TODUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UTRAN_GANSSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UTRAN_GANSSReferenceTime, UTRAN_GANSSReferenceTime_sequence);
return offset;
}
static const value_string ulp_UTRANGANSSDriftRate_vals[] = {
{ 0, "utran-GANSSDrift0" },
{ 1, "utran-GANSSDrift1" },
{ 2, "utran-GANSSDrift2" },
{ 3, "utran-GANSSDrift5" },
{ 4, "utran-GANSSDrift10" },
{ 5, "utran-GANSSDrift15" },
{ 6, "utran-GANSSDrift25" },
{ 7, "utran-GANSSDrift50" },
{ 8, "utran-GANSSDrift-1" },
{ 9, "utran-GANSSDrift-2" },
{ 10, "utran-GANSSDrift-5" },
{ 11, "utran-GANSSDrift-10" },
{ 12, "utran-GANSSDrift-15" },
{ 13, "utran-GANSSDrift-25" },
{ 14, "utran-GANSSDrift-50" },
{ 0, NULL }
};
static int
dissect_ulp_UTRANGANSSDriftRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
15, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t UTRAN_GANSSReferenceTimeAssistance_sequence[] = {
{ &hf_ulp_ganssDay , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_8191 },
{ &hf_ulp_ganssTimeID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
{ &hf_ulp_utran_GANSSReferenceTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_UTRAN_GANSSReferenceTime },
{ &hf_ulp_utranGANSSDriftRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_UTRANGANSSDriftRate },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UTRAN_GANSSReferenceTimeAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UTRAN_GANSSReferenceTimeAssistance, UTRAN_GANSSReferenceTimeAssistance_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 80U, NULL, FALSE);
return offset;
}
static const per_sequence_t T_set_GANSSTimingOfCell_sequence[] = {
{ &hf_ulp_ms_part_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_80 },
{ &hf_ulp_ls_part , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4294967295 },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_set_GANSSTimingOfCell, T_set_GANSSTimingOfCell_sequence);
return offset;
}
static const per_sequence_t T_fdd_04_sequence[] = {
{ &hf_ulp_referenceIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PrimaryCPICH_Info },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_fdd_04, T_fdd_04_sequence);
return offset;
}
static const per_sequence_t T_tdd_04_sequence[] = {
{ &hf_ulp_referenceIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_CellParametersID },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_T_tdd_04, T_tdd_04_sequence);
return offset;
}
static const value_string ulp_T_modeSpecificInfo_04_vals[] = {
{ 0, "fdd" },
{ 1, "tdd" },
{ 0, NULL }
};
static const per_choice_t T_modeSpecificInfo_04_choice[] = {
{ 0, &hf_ulp_fdd_04 , ASN1_NO_EXTENSIONS , dissect_ulp_T_fdd_04 },
{ 1, &hf_ulp_tdd_04 , ASN1_NO_EXTENSIONS , dissect_ulp_T_tdd_04 },
{ 0, NULL, 0, NULL }
};
static int
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_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_T_modeSpecificInfo_04, T_modeSpecificInfo_04_choice,
NULL);
return offset;
}
static const per_sequence_t SET_GANSSReferenceTime_sequence[] = {
{ &hf_ulp_set_GANSSTimingOfCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_set_GANSSTimingOfCell },
{ &hf_ulp_modeSpecificInfo_04, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_modeSpecificInfo_04 },
{ &hf_ulp_sfn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_4095 },
{ &hf_ulp_ganss_TODUncertainty, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_127 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SET_GANSSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SET_GANSSReferenceTime, SET_GANSSReferenceTime_sequence);
return offset;
}
static const per_sequence_t UTRAN_GANSSReferenceTimeResult_sequence[] = {
{ &hf_ulp_ganssTimeID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
{ &hf_ulp_set_GANSSReferenceTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SET_GANSSReferenceTime },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UTRAN_GANSSReferenceTimeResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UTRAN_GANSSReferenceTimeResult, UTRAN_GANSSReferenceTimeResult_sequence);
return offset;
}
static const per_sequence_t Ver2_SUPL_POS_extension_sequence[] = {
{ &hf_ulp_utran_GPSReferenceTimeAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GPSReferenceTimeAssistance },
{ &hf_ulp_utran_GPSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GPSReferenceTimeResult },
{ &hf_ulp_utran_GANSSReferenceTimeAssistance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GANSSReferenceTimeAssistance },
{ &hf_ulp_utran_GANSSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GANSSReferenceTimeResult },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPL_POS_extension, Ver2_SUPL_POS_extension_sequence);
return offset;
}
static const per_sequence_t SUPLPOS_sequence[] = {
{ &hf_ulp_posPayLoad , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosPayLoad },
{ &hf_ulp_velocity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Velocity },
{ &hf_ulp_ver2_SUPL_POS_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_POS_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLPOS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLPOS, SUPLPOS_sequence);
return offset;
}
static int
dissect_ulp_Ver(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
64, 64, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t Ver2_SUPL_POS_INIT_extension_sequence[] = {
{ &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
{ &hf_ulp_utran_GPSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GPSReferenceTimeResult },
{ &hf_ulp_utran_GANSSReferenceTimeResult, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_UTRAN_GANSSReferenceTimeResult },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPL_POS_INIT_extension, Ver2_SUPL_POS_INIT_extension_sequence);
return offset;
}
static const per_sequence_t SUPLPOSINIT_sequence[] = {
{ &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETCapabilities },
{ &hf_ulp_requestedAssistData, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RequestedAssistData },
{ &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
{ &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
{ &hf_ulp_suplpos , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SUPLPOS },
{ &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
{ &hf_ulp_ver2_SUPL_POS_INIT_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_POS_INIT_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLPOSINIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLPOSINIT, SUPLPOSINIT_sequence);
return offset;
}
static const value_string ulp_StatusCode_vals[] = {
{ 0, "unspecified" },
{ 1, "systemFailure" },
{ 2, "unexpectedMessage" },
{ 3, "protocolError" },
{ 4, "dataMissing" },
{ 5, "unexpectedDataValue" },
{ 6, "posMethodFailure" },
{ 7, "posMethodMismatch" },
{ 8, "posProtocolMismatch" },
{ 9, "targetSETnotReachable" },
{ 10, "versionNotSupported" },
{ 11, "resourceShortage" },
{ 12, "invalidSessionId" },
{ 13, "nonProxyModeNotSupported" },
{ 14, "proxyModeNotSupported" },
{ 15, "positioningNotPermitted" },
{ 16, "authNetFailure" },
{ 17, "authSuplinitFailure" },
{ 100, "consentDeniedByUser" },
{ 101, "consentGrantedByUser" },
{ 18, "ver2-incompatibleProtectionLevel" },
{ 19, "ver2-serviceNotSupported" },
{ 20, "ver2-insufficientInterval" },
{ 21, "ver2-noSUPLCoverage" },
{ 102, "ver2-sessionStopped" },
{ 103, "ver2-appIdDenied" },
{ 0, NULL }
};
static guint32 StatusCode_value_map[20+6] = {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, 103};
static int
dissect_ulp_StatusCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
20, NULL, TRUE, 6, StatusCode_value_map);
return offset;
}
static const per_sequence_t Ver2_SUPL_END_extension_sequence[] = {
{ &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETCapabilities },
{ NULL, 0, 0, NULL }
};
static int
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_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPL_END_extension, Ver2_SUPL_END_extension_sequence);
return offset;
}
static const per_sequence_t SUPLEND_sequence[] = {
{ &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
{ &hf_ulp_statusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_StatusCode },
{ &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
{ &hf_ulp_ver2_SUPL_END_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_Ver2_SUPL_END_extension },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLEND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLEND, SUPLEND_sequence);
return offset;
}
static const per_sequence_t SUPLAUTHREQ_sequence[] = {
{ &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
{ &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETCapabilities },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLAUTHREQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLAUTHREQ, SUPLAUTHREQ_sequence);
return offset;
}
static const per_sequence_t SUPLAUTHRESP_sequence[] = {
{ &hf_ulp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SPCSETKey },
{ &hf_ulp_spctid , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SPCTID },
{ &hf_ulp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKeylifetime },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SUPLAUTHRESP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SUPLAUTHRESP, SUPLAUTHRESP_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 8639999U, NULL, FALSE);
return offset;
}
static int
dissect_ulp_T_intervalBetweenFixes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 148 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 8639999U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static int
dissect_ulp_T_startTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 152 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2678400U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static const per_sequence_t PeriodicParams_sequence[] = {
{ &hf_ulp_numberOfFixes , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_8639999 },
{ &hf_ulp_intervalBetweenFixes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_intervalBetweenFixes },
{ &hf_ulp_startTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_startTime },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PeriodicParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PeriodicParams, PeriodicParams_sequence);
return offset;
}
static const value_string ulp_AreaEventType_vals[] = {
{ 0, "enteringArea" },
{ 1, "insideArea" },
{ 2, "outsideArea" },
{ 3, "leavingArea" },
{ 0, NULL }
};
static int
dissect_ulp_AreaEventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ulp_T_minimumIntervalTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 164 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 604800U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static const per_sequence_t RepeatedReportingParams_sequence[] = {
{ &hf_ulp_minimumIntervalTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_minimumIntervalTime },
{ &hf_ulp_maximumNumberOfReports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_1_1024 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_RepeatedReportingParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_RepeatedReportingParams, RepeatedReportingParams_sequence);
return offset;
}
static int
dissect_ulp_T_startTime_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 156 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 2678400U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static int
dissect_ulp_T_stopTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 160 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 11318399U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static const value_string ulp_T_latitudeSign_01_vals[] = {
{ 0, "north" },
{ 1, "south" },
{ 0, NULL }
};
static int
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_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t Coordinate_sequence[] = {
{ &hf_ulp_latitudeSign_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_latitudeSign_01 },
{ &hf_ulp_CoordinateLatitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_8388607 },
{ &hf_ulp_CoordinateLongitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_M8388608_8388607 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Coordinate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Coordinate, Coordinate_sequence);
return offset;
}
static int
dissect_ulp_T_radius(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 775 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1000000U, NULL, FALSE);
proto_item_append_text(actx->created_item, " m");
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1000000U, NULL, FALSE);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1500000U, NULL, FALSE);
return offset;
}
static const per_sequence_t CircularArea_sequence[] = {
{ &hf_ulp_coordinate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Coordinate },
{ &hf_ulp_radius , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_radius },
{ &hf_ulp_radius_min , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1000000 },
{ &hf_ulp_radius_max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1500000 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_CircularArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_CircularArea, CircularArea_sequence);
return offset;
}
static int
dissect_ulp_T_semiMajor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 779 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1000000U, NULL, FALSE);
proto_item_append_text(actx->created_item, " m");
return offset;
}
static int
dissect_ulp_T_semiMinor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 783 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1000000U, NULL, FALSE);
proto_item_append_text(actx->created_item, " m");
return offset;
}
static int
dissect_ulp_T_angle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 787 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 179U, NULL, FALSE);
proto_item_append_text(actx->created_item, " degrees");
return offset;
}
static const per_sequence_t EllipticalArea_sequence[] = {
{ &hf_ulp_coordinate , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Coordinate },
{ &hf_ulp_semiMajor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_semiMajor },
{ &hf_ulp_semiMajor_min , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1000000 },
{ &hf_ulp_semiMajor_max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1500000 },
{ &hf_ulp_semiMinor , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_semiMinor },
{ &hf_ulp_semiMinor_min , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1000000 },
{ &hf_ulp_semiMinor_max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_INTEGER_1_1500000 },
{ &hf_ulp_angle , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_T_angle },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_EllipticalArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_EllipticalArea, EllipticalArea_sequence);
return offset;
}
static const per_sequence_t PolygonDescription_sequence_of[1] = {
{ &hf_ulp_PolygonDescription_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Coordinate },
};
static int
dissect_ulp_PolygonDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_PolygonDescription, PolygonDescription_sequence_of,
3, 15, FALSE);
return offset;
}
static int
dissect_ulp_T_polygonHysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 791 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 100000U, NULL, FALSE);
proto_item_append_text(actx->created_item, " m");
return offset;
}
static const per_sequence_t PolygonArea_sequence[] = {
{ &hf_ulp_polygonDescription, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_PolygonDescription },
{ &hf_ulp_polygonHysteresis, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_T_polygonHysteresis },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PolygonArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PolygonArea, PolygonArea_sequence);
return offset;
}
static const value_string ulp_GeographicTargetArea_vals[] = {
{ 0, "circularArea" },
{ 1, "ellipticalArea" },
{ 2, "polygonArea" },
{ 0, NULL }
};
static const per_choice_t GeographicTargetArea_choice[] = {
{ 0, &hf_ulp_circularArea , ASN1_EXTENSION_ROOT , dissect_ulp_CircularArea },
{ 1, &hf_ulp_ellipticalArea , ASN1_EXTENSION_ROOT , dissect_ulp_EllipticalArea },
{ 2, &hf_ulp_polygonArea , ASN1_EXTENSION_ROOT , dissect_ulp_PolygonArea },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_GeographicTargetArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_GeographicTargetArea, GeographicTargetArea_choice,
NULL);
return offset;
}
static const per_sequence_t GeographicTargetAreaList_sequence_of[1] = {
{ &hf_ulp_GeographicTargetAreaList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GeographicTargetArea },
};
static int
dissect_ulp_GeographicTargetAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_GeographicTargetAreaList, GeographicTargetAreaList_sequence_of,
1, maxNumGeoArea, FALSE);
return offset;
}
static const per_sequence_t GSMAreaId_sequence[] = {
{ &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refLAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GSMAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GSMAreaId, GSMAreaId_sequence);
return offset;
}
static const per_sequence_t WCDMAAreaId_sequence[] = {
{ &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refLAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refUC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_268435455 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WCDMAAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WCDMAAreaId, WCDMAAreaId_sequence);
return offset;
}
static const per_sequence_t CDMAAreaId_sequence[] = {
{ &hf_ulp_refSID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_refNID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_32767 },
{ &hf_ulp_refBASEID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_CDMAAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_CDMAAreaId, CDMAAreaId_sequence);
return offset;
}
static const per_sequence_t HRPDAreaId_sequence[] = {
{ &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_128 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_HRPDAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_HRPDAreaId, HRPDAreaId_sequence);
return offset;
}
static const per_sequence_t UMBAreaId_sequence[] = {
{ &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refSECTORID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_128 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_UMBAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_UMBAreaId, UMBAreaId_sequence);
return offset;
}
static int
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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
29, 29, FALSE, NULL, NULL);
return offset;
}
static const per_sequence_t LTEAreaId_sequence[] = {
{ &hf_ulp_refMCC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refMNC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_999 },
{ &hf_ulp_refCI_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_29 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_LTEAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_LTEAreaId, LTEAreaId_sequence);
return offset;
}
static int
dissect_ulp_T_apMACAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 168 "./asn1/ulp/ulp.cnf"
tvbuff_t *val_tvb;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
48, 48, FALSE, &val_tvb, NULL);
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
return offset;
}
static const per_sequence_t WLANAreaId_sequence[] = {
{ &hf_ulp_apMACAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_T_apMACAddress },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WLANAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WLANAreaId, WLANAreaId_sequence);
return offset;
}
static const per_sequence_t WimaxAreaId_sequence[] = {
{ &hf_ulp_bsID_MSB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_BIT_STRING_SIZE_24 },
{ &hf_ulp_bsID_LSB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_BIT_STRING_SIZE_24 },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_WimaxAreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_WimaxAreaId, WimaxAreaId_sequence);
return offset;
}
static const value_string ulp_AreaId_vals[] = {
{ 0, "gSMAreaId" },
{ 1, "wCDMAAreaId" },
{ 2, "cDMAAreaId" },
{ 3, "hRPDAreaId" },
{ 4, "uMBAreaId" },
{ 5, "lTEAreaId" },
{ 6, "wLANAreaId" },
{ 7, "wiMAXAreaId" },
{ 0, NULL }
};
static const per_choice_t AreaId_choice[] = {
{ 0, &hf_ulp_gSMAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_GSMAreaId },
{ 1, &hf_ulp_wCDMAAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_WCDMAAreaId },
{ 2, &hf_ulp_cDMAAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_CDMAAreaId },
{ 3, &hf_ulp_hRPDAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_HRPDAreaId },
{ 4, &hf_ulp_uMBAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_UMBAreaId },
{ 5, &hf_ulp_lTEAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_LTEAreaId },
{ 6, &hf_ulp_wLANAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_WLANAreaId },
{ 7, &hf_ulp_wiMAXAreaId , ASN1_EXTENSION_ROOT , dissect_ulp_WimaxAreaId },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_AreaId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_AreaId, AreaId_choice,
NULL);
return offset;
}
static const per_sequence_t AreaIdSet_sequence_of[1] = {
{ &hf_ulp_AreaIdSet_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_AreaId },
};
static int
dissect_ulp_AreaIdSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_AreaIdSet, AreaIdSet_sequence_of,
1, maxAreaId, FALSE);
return offset;
}
static const value_string ulp_AreaIdSetType_vals[] = {
{ 0, "border" },
{ 1, "within" },
{ 0, NULL }
};
static int
dissect_ulp_AreaIdSetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ulp_GeoAreaIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, maxNumGeoArea, NULL, FALSE);
return offset;
}
static const per_sequence_t GeoAreaMappingList_sequence_of[1] = {
{ &hf_ulp_GeoAreaMappingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GeoAreaIndex },
};
static int
dissect_ulp_GeoAreaMappingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_GeoAreaMappingList, GeoAreaMappingList_sequence_of,
1, maxNumGeoArea, FALSE);
return offset;
}
static const per_sequence_t AreaIdList_sequence[] = {
{ &hf_ulp_areaIdSet , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_AreaIdSet },
{ &hf_ulp_areaIdSetType , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_AreaIdSetType },
{ &hf_ulp_geoAreaMappingList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ulp_GeoAreaMappingList },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_AreaIdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_AreaIdList, AreaIdList_sequence);
return offset;
}
static const per_sequence_t SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList_sequence_of[1] = {
{ &hf_ulp_areaIdLists_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_AreaIdList },
};
static int
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_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList, SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList_sequence_of,
1, maxAreaIdList, FALSE);
return offset;
}
static const per_sequence_t AreaEventParams_sequence[] = {
{ &hf_ulp_areaEventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_AreaEventType },
{ &hf_ulp_locationEstimate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_repeatedReportingParams, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RepeatedReportingParams },
{ &hf_ulp_startTime_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_startTime_01 },
{ &hf_ulp_stopTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_T_stopTime },
{ &hf_ulp_geographicTargetAreaList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GeographicTargetAreaList },
{ &hf_ulp_areaIdLists , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_AreaEventParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_AreaEventParams, AreaEventParams_sequence);
return offset;
}
static const value_string ulp_TriggerParams_vals[] = {
{ 0, "periodicParams" },
{ 1, "areaEventParams" },
{ 0, NULL }
};
static const per_choice_t TriggerParams_choice[] = {
{ 0, &hf_ulp_periodicParams , ASN1_EXTENSION_ROOT , dissect_ulp_PeriodicParams },
{ 1, &hf_ulp_areaEventParams , ASN1_EXTENSION_ROOT , dissect_ulp_AreaEventParams },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_TriggerParams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_TriggerParams, TriggerParams_choice,
NULL);
return offset;
}
static const value_string ulp_CauseCode_vals[] = {
{ 0, "servingNetWorkNotInAreaIdList" },
{ 1, "sETCapabilitiesChanged" },
{ 2, "noSUPLCoverage" },
{ 0, NULL }
};
static int
dissect_ulp_CauseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t Ver2_SUPLTRIGGEREDSTART_sequence[] = {
{ &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETCapabilities },
{ &hf_ulp_locationId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_LocationId },
{ &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
{ &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
{ &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
{ &hf_ulp_thirdParty , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ThirdParty },
{ &hf_ulp_applicationID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ApplicationID },
{ &hf_ulp_triggerType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerType },
{ &hf_ulp_triggerParams , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerParams },
{ &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Position },
{ &hf_ulp_reportingCap , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingCap },
{ &hf_ulp_causeCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_CauseCode },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Ver2_SUPLTRIGGEREDSTART(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPLTRIGGEREDSTART, Ver2_SUPLTRIGGEREDSTART_sequence);
return offset;
}
static const value_string ulp_RepModee_vals[] = {
{ 1, "realtime" },
{ 2, "quasirealtime" },
{ 3, "batch" },
{ 0, NULL }
};
static guint32 RepModee_value_map[3+0] = {1, 2, 3};
static int
dissect_ulp_RepModee(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, RepModee_value_map);
return offset;
}
static int
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_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 2048U, NULL, FALSE);
return offset;
}
static const value_string ulp_BatchRepConditions_vals[] = {
{ 0, "num-interval" },
{ 1, "num-minutes" },
{ 2, "endofsession" },
{ 0, NULL }
};
static const per_choice_t BatchRepConditions_choice[] = {
{ 0, &hf_ulp_num_interval , ASN1_EXTENSION_ROOT , dissect_ulp_INTEGER_1_1024 },
{ 1, &hf_ulp_num_minutes , ASN1_EXTENSION_ROOT , dissect_ulp_INTEGER_1_2048 },
{ 2, &hf_ulp_endofsession , ASN1_EXTENSION_ROOT , dissect_ulp_NULL },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_BatchRepConditions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_BatchRepConditions, BatchRepConditions_choice,
NULL);
return offset;
}
static const per_sequence_t BatchRepType_sequence[] = {
{ &hf_ulp_reportPosition , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_reportMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_intermediateReports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_BOOLEAN },
{ &hf_ulp_discardOldest , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_BatchRepType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_BatchRepType, BatchRepType_sequence);
return offset;
}
static const per_sequence_t ReportingMode_sequence[] = {
{ &hf_ulp_repMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_RepModee },
{ &hf_ulp_batchRepConditions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BatchRepConditions },
{ &hf_ulp_batchRepType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_BatchRepType },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ReportingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ReportingMode, ReportingMode_sequence);
return offset;
}
static const per_sequence_t Ver2_SUPLTRIGGEREDRESPONSE_sequence[] = {
{ &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_PosMethod },
{ &hf_ulp_triggerParams , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TriggerParams },
{ &hf_ulp_sLPAddress , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SLPAddress },
{ &hf_ulp_supportedNetworkInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SupportedNetworkInformation },
{ &hf_ulp_reportingMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportingMode },
{ &hf_ulp_sPCSETKey , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKey },
{ &hf_ulp_spctid , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCTID },
{ &hf_ulp_sPCSETKeylifetime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SPCSETKeylifetime },
{ &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Ver2_SUPLTRIGGEREDRESPONSE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPLTRIGGEREDRESPONSE, Ver2_SUPLTRIGGEREDRESPONSE_sequence);
return offset;
}
static const per_sequence_t Ver2_SUPLTRIGGEREDSTOP_sequence[] = {
{ &hf_ulp_statusCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_StatusCode },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Ver2_SUPLTRIGGEREDSTOP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPLTRIGGEREDSTOP, Ver2_SUPLTRIGGEREDSTOP_sequence);
return offset;
}
static const per_sequence_t Ver2_SUPLNOTIFY_sequence[] = {
{ &hf_ulp_notification , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_Notification },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Ver2_SUPLNOTIFY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPLNOTIFY, Ver2_SUPLNOTIFY_sequence);
return offset;
}
static const value_string ulp_NotificationResponse_vals[] = {
{ 0, "allowed" },
{ 1, "notAllowed" },
{ 0, NULL }
};
static int
dissect_ulp_NotificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t Ver2_SUPLNOTIFYRESPONSE_sequence[] = {
{ &hf_ulp_notificationResponse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NotificationResponse },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Ver2_SUPLNOTIFYRESPONSE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPLNOTIFYRESPONSE, Ver2_SUPLNOTIFYRESPONSE_sequence);
return offset;
}
static const per_sequence_t Ver2_SUPLSETINIT_sequence[] = {
{ &hf_ulp_targetSETID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SETId },
{ &hf_ulp_qoP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_QoP },
{ &hf_ulp_applicationID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ApplicationID },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Ver2_SUPLSETINIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPLSETINIT, Ver2_SUPLSETINIT_sequence);
return offset;
}
static const per_sequence_t SessionInformation_sequence[] = {
{ &hf_ulp_sessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_SessionID },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_SessionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_SessionInformation, SessionInformation_sequence);
return offset;
}
static const per_sequence_t SessionList_sequence_of[1] = {
{ &hf_ulp_SessionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SessionInformation },
};
static int
dissect_ulp_SessionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_SessionList, SessionList_sequence_of,
1, maxnumSessions, FALSE);
return offset;
}
static const per_sequence_t GANSSSignalsDescription_sequence[] = {
{ &hf_ulp_ganssId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_15 },
{ &hf_ulp_gANSSSignals , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignals },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_GANSSSignalsDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_GANSSSignalsDescription, GANSSSignalsDescription_sequence);
return offset;
}
static const per_sequence_t GANSSsignalsInfo_sequence_of[1] = {
{ &hf_ulp_GANSSsignalsInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_GANSSSignalsDescription },
};
static int
dissect_ulp_GANSSsignalsInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_GANSSsignalsInfo, GANSSsignalsInfo_sequence_of,
1, maxGANSS, FALSE);
return offset;
}
static const per_sequence_t PositionData_sequence[] = {
{ &hf_ulp_position , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ulp_Position },
{ &hf_ulp_posMethod , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PosMethod },
{ &hf_ulp_gnssPosTechnology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GNSSPosTechnology },
{ &hf_ulp_ganssSignalsInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_GANSSsignalsInfo },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_PositionData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_PositionData, PositionData_sequence);
return offset;
}
static const value_string ulp_ResultCode_vals[] = {
{ 1, "outofradiocoverage" },
{ 2, "noposition" },
{ 3, "nomeasurement" },
{ 4, "nopositionnomeasurement" },
{ 5, "outofmemory" },
{ 6, "outofmemoryintermediatereporting" },
{ 7, "other" },
{ 0, NULL }
};
static guint32 ResultCode_value_map[7+0] = {1, 2, 3, 4, 5, 6, 7};
static int
dissect_ulp_ResultCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, NULL, TRUE, 0, ResultCode_value_map);
return offset;
}
static int
dissect_ulp_T_relativeTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 182 "./asn1/ulp/ulp.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 31536000U, NULL, FALSE);
proto_item_append_text(actx->created_item, " s");
return offset;
}
static const value_string ulp_TimeStamp_vals[] = {
{ 0, "absoluteTime" },
{ 1, "relativeTime" },
{ 0, NULL }
};
static const per_choice_t TimeStamp_choice[] = {
{ 0, &hf_ulp_absoluteTime , ASN1_NO_EXTENSIONS , dissect_ulp_UTCTime },
{ 1, &hf_ulp_relativeTime , ASN1_NO_EXTENSIONS , dissect_ulp_T_relativeTime },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_TimeStamp, TimeStamp_choice,
NULL);
return offset;
}
static const per_sequence_t ReportData_sequence[] = {
{ &hf_ulp_positionData , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_PositionData },
{ &hf_ulp_multipleLocationIds, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MultipleLocationIds },
{ &hf_ulp_resultCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ResultCode },
{ &hf_ulp_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_TimeStamp },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ReportData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_ReportData, ReportData_sequence);
return offset;
}
static const per_sequence_t ReportDataList_sequence_of[1] = {
{ &hf_ulp_ReportDataList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_ReportData },
};
static int
dissect_ulp_ReportDataList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ulp_ReportDataList, ReportDataList_sequence_of,
1, 1024, FALSE);
return offset;
}
static const per_sequence_t Ver2_SUPLREPORT_sequence[] = {
{ &hf_ulp_sessionList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SessionList },
{ &hf_ulp_sETCapabilities , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_SETCapabilities },
{ &hf_ulp_reportDataList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_ReportDataList },
{ &hf_ulp_ver , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_Ver },
{ &hf_ulp_moreComponents , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_NULL },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_Ver2_SUPLREPORT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ulp_Ver2_SUPLREPORT, Ver2_SUPLREPORT_sequence);
return offset;
}
static const value_string ulp_UlpMessage_vals[] = {
{ 0, "msSUPLINIT" },
{ 1, "msSUPLSTART" },
{ 2, "msSUPLRESPONSE" },
{ 3, "msSUPLPOSINIT" },
{ 4, "msSUPLPOS" },
{ 5, "msSUPLEND" },
{ 6, "msSUPLAUTHREQ" },
{ 7, "msSUPLAUTHRESP" },
{ 8, "msSUPLTRIGGEREDSTART" },
{ 9, "msSUPLTRIGGEREDRESPONSE" },
{ 10, "msSUPLTRIGGEREDSTOP" },
{ 11, "msSUPLNOTIFY" },
{ 12, "msSUPLNOTIFYRESPONSE" },
{ 13, "msSUPLSETINIT" },
{ 14, "msSUPLREPORT" },
{ 0, NULL }
};
static const per_choice_t UlpMessage_choice[] = {
{ 0, &hf_ulp_msSUPLINIT , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLINIT },
{ 1, &hf_ulp_msSUPLSTART , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLSTART },
{ 2, &hf_ulp_msSUPLRESPONSE , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLRESPONSE },
{ 3, &hf_ulp_msSUPLPOSINIT , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLPOSINIT },
{ 4, &hf_ulp_msSUPLPOS , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLPOS },
{ 5, &hf_ulp_msSUPLEND , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLEND },
{ 6, &hf_ulp_msSUPLAUTHREQ , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLAUTHREQ },
{ 7, &hf_ulp_msSUPLAUTHRESP , ASN1_EXTENSION_ROOT , dissect_ulp_SUPLAUTHRESP },
{ 8, &hf_ulp_msSUPLTRIGGEREDSTART, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLTRIGGEREDSTART },
{ 9, &hf_ulp_msSUPLTRIGGEREDRESPONSE, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLTRIGGEREDRESPONSE },
{ 10, &hf_ulp_msSUPLTRIGGEREDSTOP, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLTRIGGEREDSTOP },
{ 11, &hf_ulp_msSUPLNOTIFY , ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLNOTIFY },
{ 12, &hf_ulp_msSUPLNOTIFYRESPONSE, ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLNOTIFYRESPONSE },
{ 13, &hf_ulp_msSUPLSETINIT , ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLSETINIT },
{ 14, &hf_ulp_msSUPLREPORT , ASN1_NOT_EXTENSION_ROOT, dissect_ulp_Ver2_SUPLREPORT },
{ 0, NULL, 0, NULL }
};
static int
dissect_ulp_UlpMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 44 "./asn1/ulp/ulp.cnf"
guint32 UlpMessage;
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ulp_UlpMessage, UlpMessage_choice,
&UlpMessage);
col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(UlpMessage,ulp_UlpMessage_vals,"Unknown"));
return offset;
}
static const per_sequence_t ULP_PDU_sequence[] = {
{ &hf_ulp_length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_INTEGER_0_65535 },
{ &hf_ulp_version , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_Version },
{ &hf_ulp_sessionID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_SessionID },
{ &hf_ulp_message , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ulp_UlpMessage },
{ NULL, 0, 0, NULL }
};
static int
dissect_ulp_ULP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 29 "./asn1/ulp/ulp.cnf"
proto_item *it;
proto_tree *ulp_tree;
it = proto_tree_add_item(tree, proto_ulp, tvb, 0, -1, ENC_NA);
ulp_tree = proto_item_add_subtree(it, ett_ulp);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
col_clear(actx->pinfo->cinfo, COL_INFO);
#line 40 "./asn1/ulp/ulp.cnf"
offset = dissect_per_sequence(tvb, offset, actx, ulp_tree, hf_index,
ett_ulp_ULP_PDU, ULP_PDU_sequence);
return offset;
}
/*--- PDUs ---*/
static int dissect_ULP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
offset = dissect_ulp_ULP_PDU(tvb, offset, &asn1_ctx, tree, hf_ulp_ULP_PDU_PDU);
offset += 7; offset >>= 3;
return offset;
}
/*--- End of included file: packet-ulp-fn.c ---*/
#line 345 "./asn1/ulp/packet-ulp-template.c"
static guint
get_ulp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset, void *data _U_)
{
/* PDU length = Message length */
return tvb_get_ntohs(tvb,offset);
}
static int
dissect_ulp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
{
tcp_dissect_pdus(tvb, pinfo, tree, ulp_desegment, ULP_HEADER_SIZE,
get_ulp_pdu_len, dissect_ULP_PDU_PDU, data);
return tvb_captured_length(tvb);
}
void proto_reg_handoff_ulp(void);
/*--- proto_register_ulp -------------------------------------------*/
void proto_register_ulp(void) {
/* List of fields */
static hf_register_info hf[] = {
/*--- Included file: packet-ulp-hfarr.c ---*/
#line 1 "./asn1/ulp/packet-ulp-hfarr.c"
{ &hf_ulp_ULP_PDU_PDU,
{ "ULP-PDU", "ulp.ULP_PDU_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_length,
{ "length", "ulp.length",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_version,
{ "version", "ulp.version_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sessionID,
{ "sessionID", "ulp.sessionID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_message,
{ "message", "ulp.message",
FT_UINT32, BASE_DEC, VALS(ulp_UlpMessage_vals), 0,
"UlpMessage", HFILL }},
{ &hf_ulp_msSUPLINIT,
{ "msSUPLINIT", "ulp.msSUPLINIT_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLINIT", HFILL }},
{ &hf_ulp_msSUPLSTART,
{ "msSUPLSTART", "ulp.msSUPLSTART_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLSTART", HFILL }},
{ &hf_ulp_msSUPLRESPONSE,
{ "msSUPLRESPONSE", "ulp.msSUPLRESPONSE_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLRESPONSE", HFILL }},
{ &hf_ulp_msSUPLPOSINIT,
{ "msSUPLPOSINIT", "ulp.msSUPLPOSINIT_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLPOSINIT", HFILL }},
{ &hf_ulp_msSUPLPOS,
{ "msSUPLPOS", "ulp.msSUPLPOS_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLPOS", HFILL }},
{ &hf_ulp_msSUPLEND,
{ "msSUPLEND", "ulp.msSUPLEND_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLEND", HFILL }},
{ &hf_ulp_msSUPLAUTHREQ,
{ "msSUPLAUTHREQ", "ulp.msSUPLAUTHREQ_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLAUTHREQ", HFILL }},
{ &hf_ulp_msSUPLAUTHRESP,
{ "msSUPLAUTHRESP", "ulp.msSUPLAUTHRESP_element",
FT_NONE, BASE_NONE, NULL, 0,
"SUPLAUTHRESP", HFILL }},
{ &hf_ulp_msSUPLTRIGGEREDSTART,
{ "msSUPLTRIGGEREDSTART", "ulp.msSUPLTRIGGEREDSTART_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ver2_SUPLTRIGGEREDSTART", HFILL }},
{ &hf_ulp_msSUPLTRIGGEREDRESPONSE,
{ "msSUPLTRIGGEREDRESPONSE", "ulp.msSUPLTRIGGEREDRESPONSE_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ver2_SUPLTRIGGEREDRESPONSE", HFILL }},
{ &hf_ulp_msSUPLTRIGGEREDSTOP,
{ "msSUPLTRIGGEREDSTOP", "ulp.msSUPLTRIGGEREDSTOP_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ver2_SUPLTRIGGEREDSTOP", HFILL }},
{ &hf_ulp_msSUPLNOTIFY,
{ "msSUPLNOTIFY", "ulp.msSUPLNOTIFY_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ver2_SUPLNOTIFY", HFILL }},
{ &hf_ulp_msSUPLNOTIFYRESPONSE,
{ "msSUPLNOTIFYRESPONSE", "ulp.msSUPLNOTIFYRESPONSE_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ver2_SUPLNOTIFYRESPONSE", HFILL }},
{ &hf_ulp_msSUPLSETINIT,
{ "msSUPLSETINIT", "ulp.msSUPLSETINIT_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ver2_SUPLSETINIT", HFILL }},
{ &hf_ulp_msSUPLREPORT,
{ "msSUPLREPORT", "ulp.msSUPLREPORT_element",
FT_NONE, BASE_NONE, NULL, 0,
"Ver2_SUPLREPORT", HFILL }},
{ &hf_ulp_posMethod,
{ "posMethod", "ulp.posMethod",
FT_UINT32, BASE_DEC, VALS(ulp_PosMethod_vals), 0,
NULL, HFILL }},
{ &hf_ulp_notification,
{ "notification", "ulp.notification_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sLPAddress,
{ "sLPAddress", "ulp.sLPAddress",
FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
NULL, HFILL }},
{ &hf_ulp_qoP,
{ "qoP", "ulp.qoP_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sLPMode,
{ "sLPMode", "ulp.sLPMode",
FT_UINT32, BASE_DEC, VALS(ulp_SLPMode_vals), 0,
NULL, HFILL }},
{ &hf_ulp_mac,
{ "mac", "ulp.mac",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_keyIdentity,
{ "keyIdentity", "ulp.keyIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ver2_SUPL_INIT_extension,
{ "ver2-SUPL-INIT-extension", "ulp.ver2_SUPL_INIT_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_notificationType,
{ "notificationType", "ulp.notificationType",
FT_UINT32, BASE_DEC, VALS(ulp_NotificationType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_encodingType,
{ "encodingType", "ulp.encodingType",
FT_UINT32, BASE_DEC, VALS(ulp_EncodingType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_requestorId,
{ "requestorId", "ulp.requestorId",
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_requestorIdType,
{ "requestorIdType", "ulp.requestorIdType",
FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
"FormatIndicator", HFILL }},
{ &hf_ulp_clientName,
{ "clientName", "ulp.clientName",
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_clientNameType,
{ "clientNameType", "ulp.clientNameType",
FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
"FormatIndicator", HFILL }},
{ &hf_ulp_ver2_Notification_extension,
{ "ver2-Notification-extension", "ulp.ver2_Notification_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sETCapabilities,
{ "sETCapabilities", "ulp.sETCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_locationId,
{ "locationId", "ulp.locationId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ver2_SUPL_START_extension,
{ "ver2-SUPL-START-extension", "ulp.ver2_SUPL_START_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_posTechnology,
{ "posTechnology", "ulp.posTechnology_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_prefMethod,
{ "prefMethod", "ulp.prefMethod",
FT_UINT32, BASE_DEC, VALS(ulp_PrefMethod_vals), 0,
NULL, HFILL }},
{ &hf_ulp_posProtocol,
{ "posProtocol", "ulp.posProtocol_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ver2_SETCapabilities_extension,
{ "ver2-SETCapabilities-extension", "ulp.ver2_SETCapabilities_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_agpsSETassisted,
{ "agpsSETassisted", "ulp.agpsSETassisted",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_agpsSETBased,
{ "agpsSETBased", "ulp.agpsSETBased",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_autonomousGPS,
{ "autonomousGPS", "ulp.autonomousGPS",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_aflt,
{ "aflt", "ulp.aflt",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ecid,
{ "ecid", "ulp.ecid",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_eotd,
{ "eotd", "ulp.eotd",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_otdoa,
{ "otdoa", "ulp.otdoa",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ver2_PosTechnology_extension,
{ "ver2-PosTechnology-extension", "ulp.ver2_PosTechnology_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_tia801,
{ "tia801", "ulp.tia801",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_rrlp,
{ "rrlp", "ulp.rrlp",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_rrc,
{ "rrc", "ulp.rrc",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ver2_PosProtocol_extension,
{ "ver2-PosProtocol-extension", "ulp.ver2_PosProtocol_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sETAuthKey,
{ "sETAuthKey", "ulp.sETAuthKey",
FT_UINT32, BASE_DEC, VALS(ulp_SETAuthKey_vals), 0,
NULL, HFILL }},
{ &hf_ulp_keyIdentity4,
{ "keyIdentity4", "ulp.keyIdentity4",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ver2_SUPL_RESPONSE_extension,
{ "ver2-SUPL-RESPONSE-extension", "ulp.ver2_SUPL_RESPONSE_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_shortKey,
{ "shortKey", "ulp.shortKey",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_128", HFILL }},
{ &hf_ulp_longKey,
{ "longKey", "ulp.longKey",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_256", HFILL }},
{ &hf_ulp_requestedAssistData,
{ "requestedAssistData", "ulp.requestedAssistData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_position,
{ "position", "ulp.position_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_suplpos,
{ "suplpos", "ulp.suplpos_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ver,
{ "ver", "ulp.ver",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ver2_SUPL_POS_INIT_extension,
{ "ver2-SUPL-POS-INIT-extension", "ulp.ver2_SUPL_POS_INIT_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_almanacRequested,
{ "almanacRequested", "ulp.almanacRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_utcModelRequested,
{ "utcModelRequested", "ulp.utcModelRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ionosphericModelRequested,
{ "ionosphericModelRequested", "ulp.ionosphericModelRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_dgpsCorrectionsRequested,
{ "dgpsCorrectionsRequested", "ulp.dgpsCorrectionsRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_referenceLocationRequested,
{ "referenceLocationRequested", "ulp.referenceLocationRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_referenceTimeRequested,
{ "referenceTimeRequested", "ulp.referenceTimeRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_acquisitionAssistanceRequested,
{ "acquisitionAssistanceRequested", "ulp.acquisitionAssistanceRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_realTimeIntegrityRequested,
{ "realTimeIntegrityRequested", "ulp.realTimeIntegrityRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_navigationModelRequested,
{ "navigationModelRequested", "ulp.navigationModelRequested",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_navigationModelData,
{ "navigationModelData", "ulp.navigationModelData_element",
FT_NONE, BASE_NONE, NULL, 0,
"NavigationModel", HFILL }},
{ &hf_ulp_ver2_RequestedAssistData_extension,
{ "ver2-RequestedAssistData-extension", "ulp.ver2_RequestedAssistData_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_gpsWeek,
{ "gpsWeek", "ulp.gpsWeek",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_ulp_gpsToe,
{ "gpsToe", "ulp.gpsToe",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_nsat,
{ "nsat", "ulp.nsat",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_31", HFILL }},
{ &hf_ulp_toeLimit,
{ "toeLimit", "ulp.toeLimit",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_satInfo,
{ "satInfo", "ulp.satInfo",
FT_UINT32, BASE_DEC, NULL, 0,
"SatelliteInfo", HFILL }},
{ &hf_ulp_SatelliteInfo_item,
{ "SatelliteInfoElement", "ulp.SatelliteInfoElement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_satId,
{ "satId", "ulp.satId",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_ulp_iode,
{ "iode", "ulp.iode",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_posPayLoad,
{ "posPayLoad", "ulp.posPayLoad",
FT_UINT32, BASE_DEC, VALS(ulp_PosPayLoad_vals), 0,
NULL, HFILL }},
{ &hf_ulp_velocity,
{ "velocity", "ulp.velocity",
FT_UINT32, BASE_DEC, VALS(ulp_Velocity_vals), 0,
NULL, HFILL }},
{ &hf_ulp_ver2_SUPL_POS_extension,
{ "ver2-SUPL-POS-extension", "ulp.ver2_SUPL_POS_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_tia801payload,
{ "tia801payload", "ulp.tia801payload",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_1_8192", HFILL }},
{ &hf_ulp_rrcPayload,
{ "rrcPayload", "ulp.rrcPayload",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_1_8192", HFILL }},
{ &hf_ulp_rrlpPayload,
{ "rrlpPayload", "ulp.rrlpPayload",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ver2_PosPayLoad_extension,
{ "ver2-PosPayLoad-extension", "ulp.ver2_PosPayLoad_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_statusCode,
{ "statusCode", "ulp.statusCode",
FT_UINT32, BASE_DEC, VALS(ulp_StatusCode_vals), 0,
NULL, HFILL }},
{ &hf_ulp_ver2_SUPL_END_extension,
{ "ver2-SUPL-END-extension", "ulp.ver2_SUPL_END_extension_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sPCSETKey,
{ "sPCSETKey", "ulp.sPCSETKey",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_spctid,
{ "spctid", "ulp.spctid_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sPCSETKeylifetime,
{ "sPCSETKeylifetime", "ulp.sPCSETKeylifetime",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_notificationResponse,
{ "notificationResponse", "ulp.notificationResponse",
FT_UINT32, BASE_DEC, VALS(ulp_NotificationResponse_vals), 0,
NULL, HFILL }},
{ &hf_ulp_targetSETID,
{ "targetSETID", "ulp.targetSETID",
FT_UINT32, BASE_DEC, VALS(ulp_SETId_vals), 0,
"SETId", HFILL }},
{ &hf_ulp_applicationID,
{ "applicationID", "ulp.applicationID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_multipleLocationIds,
{ "multipleLocationIds", "ulp.multipleLocationIds",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_thirdParty,
{ "thirdParty", "ulp.thirdParty",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_triggerType,
{ "triggerType", "ulp.triggerType",
FT_UINT32, BASE_DEC, VALS(ulp_TriggerType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_triggerParams,
{ "triggerParams", "ulp.triggerParams",
FT_UINT32, BASE_DEC, VALS(ulp_TriggerParams_vals), 0,
NULL, HFILL }},
{ &hf_ulp_reportingCap,
{ "reportingCap", "ulp.reportingCap_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_causeCode,
{ "causeCode", "ulp.causeCode",
FT_UINT32, BASE_DEC, VALS(ulp_CauseCode_vals), 0,
NULL, HFILL }},
{ &hf_ulp_periodicParams,
{ "periodicParams", "ulp.periodicParams_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_areaEventParams,
{ "areaEventParams", "ulp.areaEventParams_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_numberOfFixes,
{ "numberOfFixes", "ulp.numberOfFixes",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_8639999", HFILL }},
{ &hf_ulp_intervalBetweenFixes,
{ "intervalBetweenFixes", "ulp.intervalBetweenFixes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_startTime,
{ "startTime", "ulp.startTime",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_areaEventType,
{ "areaEventType", "ulp.areaEventType",
FT_UINT32, BASE_DEC, VALS(ulp_AreaEventType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_locationEstimate,
{ "locationEstimate", "ulp.locationEstimate",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_repeatedReportingParams,
{ "repeatedReportingParams", "ulp.repeatedReportingParams_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_startTime_01,
{ "startTime", "ulp.startTime",
FT_UINT32, BASE_DEC, NULL, 0,
"T_startTime_01", HFILL }},
{ &hf_ulp_stopTime,
{ "stopTime", "ulp.stopTime",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_geographicTargetAreaList,
{ "geographicTargetAreaList", "ulp.geographicTargetAreaList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_areaIdLists,
{ "areaIdLists", "ulp.areaIdLists",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList", HFILL }},
{ &hf_ulp_areaIdLists_item,
{ "AreaIdList", "ulp.AreaIdList_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_minimumIntervalTime,
{ "minimumIntervalTime", "ulp.minimumIntervalTime",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_maximumNumberOfReports,
{ "maximumNumberOfReports", "ulp.maximumNumberOfReports",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1024", HFILL }},
{ &hf_ulp_GeographicTargetAreaList_item,
{ "GeographicTargetArea", "ulp.GeographicTargetArea",
FT_UINT32, BASE_DEC, VALS(ulp_GeographicTargetArea_vals), 0,
NULL, HFILL }},
{ &hf_ulp_circularArea,
{ "circularArea", "ulp.circularArea_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ellipticalArea,
{ "ellipticalArea", "ulp.ellipticalArea_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_polygonArea,
{ "polygonArea", "ulp.polygonArea_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_areaIdSet,
{ "areaIdSet", "ulp.areaIdSet",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_areaIdSetType,
{ "areaIdSetType", "ulp.areaIdSetType",
FT_UINT32, BASE_DEC, VALS(ulp_AreaIdSetType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_geoAreaMappingList,
{ "geoAreaMappingList", "ulp.geoAreaMappingList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_AreaIdSet_item,
{ "AreaId", "ulp.AreaId",
FT_UINT32, BASE_DEC, VALS(ulp_AreaId_vals), 0,
NULL, HFILL }},
{ &hf_ulp_gSMAreaId,
{ "gSMAreaId", "ulp.gSMAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_wCDMAAreaId,
{ "wCDMAAreaId", "ulp.wCDMAAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cDMAAreaId,
{ "cDMAAreaId", "ulp.cDMAAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_hRPDAreaId,
{ "hRPDAreaId", "ulp.hRPDAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_uMBAreaId,
{ "uMBAreaId", "ulp.uMBAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_lTEAreaId,
{ "lTEAreaId", "ulp.lTEAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_wLANAreaId,
{ "wLANAreaId", "ulp.wLANAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_wiMAXAreaId,
{ "wiMAXAreaId", "ulp.wiMAXAreaId_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_refMCC,
{ "refMCC", "ulp.refMCC",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_999", HFILL }},
{ &hf_ulp_refMNC,
{ "refMNC", "ulp.refMNC",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_999", HFILL }},
{ &hf_ulp_refLAC,
{ "refLAC", "ulp.refLAC",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_refCI,
{ "refCI", "ulp.refCI",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_refUC,
{ "refUC", "ulp.refUC",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_268435455", HFILL }},
{ &hf_ulp_refSID,
{ "refSID", "ulp.refSID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_refNID,
{ "refNID", "ulp.refNID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_32767", HFILL }},
{ &hf_ulp_refBASEID,
{ "refBASEID", "ulp.refBASEID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_refSECTORID,
{ "refSECTORID", "ulp.refSECTORID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_128", HFILL }},
{ &hf_ulp_refCI_01,
{ "refCI", "ulp.refCI",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_29", HFILL }},
{ &hf_ulp_apMACAddress,
{ "apMACAddress", "ulp.apMACAddress",
FT_ETHER, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_bsID_MSB,
{ "bsID-MSB", "ulp.bsID_MSB",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_24", HFILL }},
{ &hf_ulp_bsID_LSB,
{ "bsID-LSB", "ulp.bsID_LSB",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_24", HFILL }},
{ &hf_ulp_GeoAreaMappingList_item,
{ "GeoAreaIndex", "ulp.GeoAreaIndex",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_supportedNetworkInformation,
{ "supportedNetworkInformation", "ulp.supportedNetworkInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_reportingMode,
{ "reportingMode", "ulp.reportingMode_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_gnssPosTechnology,
{ "gnssPosTechnology", "ulp.gnssPosTechnology_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_repMode,
{ "repMode", "ulp.repMode",
FT_UINT32, BASE_DEC, VALS(ulp_RepModee_vals), 0,
"RepModee", HFILL }},
{ &hf_ulp_batchRepConditions,
{ "batchRepConditions", "ulp.batchRepConditions",
FT_UINT32, BASE_DEC, VALS(ulp_BatchRepConditions_vals), 0,
NULL, HFILL }},
{ &hf_ulp_batchRepType,
{ "batchRepType", "ulp.batchRepType_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_num_interval,
{ "num-interval", "ulp.num_interval",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1024", HFILL }},
{ &hf_ulp_num_minutes,
{ "num-minutes", "ulp.num_minutes",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_2048", HFILL }},
{ &hf_ulp_endofsession,
{ "endofsession", "ulp.endofsession_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_reportPosition,
{ "reportPosition", "ulp.reportPosition",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_reportMeasurements,
{ "reportMeasurements", "ulp.reportMeasurements",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_intermediateReports,
{ "intermediateReports", "ulp.intermediateReports",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_discardOldest,
{ "discardOldest", "ulp.discardOldest",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_sessionList,
{ "sessionList", "ulp.sessionList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_reportDataList,
{ "reportDataList", "ulp.reportDataList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_moreComponents,
{ "moreComponents", "ulp.moreComponents_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_SessionList_item,
{ "SessionInformation", "ulp.SessionInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ReportDataList_item,
{ "ReportData", "ulp.ReportData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_positionData,
{ "positionData", "ulp.positionData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_resultCode,
{ "resultCode", "ulp.resultCode",
FT_UINT32, BASE_DEC, VALS(ulp_ResultCode_vals), 0,
NULL, HFILL }},
{ &hf_ulp_timestamp,
{ "timestamp", "ulp.timestamp",
FT_UINT32, BASE_DEC, VALS(ulp_TimeStamp_vals), 0,
NULL, HFILL }},
{ &hf_ulp_ganssSignalsInfo,
{ "ganssSignalsInfo", "ulp.ganssSignalsInfo",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_GANSSsignalsInfo_item,
{ "GANSSSignalsDescription", "ulp.GANSSSignalsDescription_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssId,
{ "ganssId", "ulp.ganssId",
FT_UINT32, BASE_DEC, VALS(ulp_ganss_id_vals), 0,
"INTEGER_0_15", HFILL }},
{ &hf_ulp_gANSSSignals,
{ "gANSSSignals", "ulp.gANSSSignals",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_absoluteTime,
{ "absoluteTime", "ulp.absoluteTime",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_ulp_relativeTime,
{ "relativeTime", "ulp.relativeTime",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_notificationMode,
{ "notificationMode", "ulp.notificationMode",
FT_UINT32, BASE_DEC, VALS(ulp_NotificationMode_vals), 0,
NULL, HFILL }},
{ &hf_ulp_e_SLPAddress,
{ "e-SLPAddress", "ulp.e_SLPAddress",
FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
"SLPAddress", HFILL }},
{ &hf_ulp_historicReporting,
{ "historicReporting", "ulp.historicReporting_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_protectionLevel,
{ "protectionLevel", "ulp.protectionLevel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_minimumMajorVersion,
{ "minimumMajorVersion", "ulp.minimumMajorVersion",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_allowedReportingType,
{ "allowedReportingType", "ulp.allowedReportingType",
FT_UINT32, BASE_DEC, VALS(ulp_AllowedReportingType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_reportingCriteria,
{ "reportingCriteria", "ulp.reportingCriteria_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_timeWindow,
{ "timeWindow", "ulp.timeWindow_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_maxNumberofReports,
{ "maxNumberofReports", "ulp.maxNumberofReports",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_65536", HFILL }},
{ &hf_ulp_minTimeInterval,
{ "minTimeInterval", "ulp.minTimeInterval",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_startTime_02,
{ "startTime", "ulp.startTime",
FT_INT32, BASE_DEC, NULL, 0,
"T_startTime_02", HFILL }},
{ &hf_ulp_stopTime_01,
{ "stopTime", "ulp.stopTime",
FT_INT32, BASE_DEC, NULL, 0,
"T_stopTime_01", HFILL }},
{ &hf_ulp_protlevel,
{ "protlevel", "ulp.protlevel",
FT_UINT32, BASE_DEC, VALS(ulp_ProtLevel_vals), 0,
NULL, HFILL }},
{ &hf_ulp_basicProtectionParams,
{ "basicProtectionParams", "ulp.basicProtectionParams_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_keyIdentifier,
{ "keyIdentifier", "ulp.keyIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_8", HFILL }},
{ &hf_ulp_basicReplayCounter,
{ "basicReplayCounter", "ulp.basicReplayCounter",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_basicMAC,
{ "basicMAC", "ulp.basicMAC",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_32", HFILL }},
{ &hf_ulp_initialApproximateposition,
{ "initialApproximateposition", "ulp.initialApproximateposition_element",
FT_NONE, BASE_NONE, NULL, 0,
"Position", HFILL }},
{ &hf_ulp_utran_GPSReferenceTimeResult,
{ "utran-GPSReferenceTimeResult", "ulp.utran_GPSReferenceTimeResult_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_utran_GANSSReferenceTimeResult,
{ "utran-GANSSReferenceTimeResult", "ulp.utran_GANSSReferenceTimeResult_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_utran_GPSReferenceTimeAssistance,
{ "utran-GPSReferenceTimeAssistance", "ulp.utran_GPSReferenceTimeAssistance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_utran_GANSSReferenceTimeAssistance,
{ "utran-GANSSReferenceTimeAssistance", "ulp.utran_GANSSReferenceTimeAssistance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_emergencyCallLocation,
{ "emergencyCallLocation", "ulp.emergencyCallLocation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_serviceCapabilities,
{ "serviceCapabilities", "ulp.serviceCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_supportedBearers,
{ "supportedBearers", "ulp.supportedBearers_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_servicesSupported,
{ "servicesSupported", "ulp.servicesSupported_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_reportingCapabilities,
{ "reportingCapabilities", "ulp.reportingCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
"ReportingCap", HFILL }},
{ &hf_ulp_eventTriggerCapabilities,
{ "eventTriggerCapabilities", "ulp.eventTriggerCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sessionCapabilities,
{ "sessionCapabilities", "ulp.sessionCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_periodicTrigger,
{ "periodicTrigger", "ulp.periodicTrigger",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_areaEventTrigger,
{ "areaEventTrigger", "ulp.areaEventTrigger",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_geoAreaShapesSupported,
{ "geoAreaShapesSupported", "ulp.geoAreaShapesSupported_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_maxNumGeoAreaSupported,
{ "maxNumGeoAreaSupported", "ulp.maxNumGeoAreaSupported",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxNumGeoArea", HFILL }},
{ &hf_ulp_maxAreaIdListSupported,
{ "maxAreaIdListSupported", "ulp.maxAreaIdListSupported",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxAreaIdList", HFILL }},
{ &hf_ulp_maxAreaIdSupportedPerList,
{ "maxAreaIdSupportedPerList", "ulp.maxAreaIdSupportedPerList",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_maxAreaId", HFILL }},
{ &hf_ulp_ellipticalArea_01,
{ "ellipticalArea", "ulp.ellipticalArea",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_polygonArea_01,
{ "polygonArea", "ulp.polygonArea",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_maxNumberTotalSessions,
{ "maxNumberTotalSessions", "ulp.maxNumberTotalSessions",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_128", HFILL }},
{ &hf_ulp_maxNumberPeriodicSessions,
{ "maxNumberPeriodicSessions", "ulp.maxNumberPeriodicSessions",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_32", HFILL }},
{ &hf_ulp_maxNumberTriggeredSessions,
{ "maxNumberTriggeredSessions", "ulp.maxNumberTriggeredSessions",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_32", HFILL }},
{ &hf_ulp_gsm,
{ "gsm", "ulp.gsm",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_wcdma,
{ "wcdma", "ulp.wcdma",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_lte,
{ "lte", "ulp.lte",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_cdma,
{ "cdma", "ulp.cdma",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_hprd,
{ "hprd", "ulp.hprd",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_umb,
{ "umb", "ulp.umb",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_wlan,
{ "wlan", "ulp.wlan",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_wiMAX,
{ "wiMAX", "ulp.wiMAX",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_lpp,
{ "lpp", "ulp.lpp",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_posProtocolVersionRRLP,
{ "posProtocolVersionRRLP", "ulp.posProtocolVersionRRLP_element",
FT_NONE, BASE_NONE, NULL, 0,
"PosProtocolVersion3GPP", HFILL }},
{ &hf_ulp_posProtocolVersionRRC,
{ "posProtocolVersionRRC", "ulp.posProtocolVersionRRC_element",
FT_NONE, BASE_NONE, NULL, 0,
"PosProtocolVersion3GPP", HFILL }},
{ &hf_ulp_posProtocolVersionTIA801,
{ "posProtocolVersionTIA801", "ulp.posProtocolVersionTIA801",
FT_UINT32, BASE_DEC, NULL, 0,
"PosProtocolVersion3GPP2", HFILL }},
{ &hf_ulp_posProtocolVersionLPP,
{ "posProtocolVersionLPP", "ulp.posProtocolVersionLPP_element",
FT_NONE, BASE_NONE, NULL, 0,
"PosProtocolVersion3GPP", HFILL }},
{ &hf_ulp_lppe,
{ "lppe", "ulp.lppe",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_posProtocolVersionLPPe,
{ "posProtocolVersionLPPe", "ulp.posProtocolVersionLPPe_element",
FT_NONE, BASE_NONE, NULL, 0,
"PosProtocolVersionOMA", HFILL }},
{ &hf_ulp_majorVersionField,
{ "majorVersionField", "ulp.majorVersionField",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_technicalVersionField,
{ "technicalVersionField", "ulp.technicalVersionField",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_editorialVersionField,
{ "editorialVersionField", "ulp.editorialVersionField",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_PosProtocolVersion3GPP2_item,
{ "Supported3GPP2PosProtocolVersion", "ulp.Supported3GPP2PosProtocolVersion_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_revisionNumber,
{ "revisionNumber", "ulp.revisionNumber",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_ulp_pointReleaseNumber,
{ "pointReleaseNumber", "ulp.pointReleaseNumber",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_internalEditLevel,
{ "internalEditLevel", "ulp.internalEditLevel",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_minorVersionField,
{ "minorVersionField", "ulp.minorVersionField",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_gANSSPositionMethods,
{ "gANSSPositionMethods", "ulp.gANSSPositionMethods",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_GANSSPositionMethods_item,
{ "GANSSPositionMethod", "ulp.GANSSPositionMethod_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssSBASid,
{ "ganssSBASid", "ulp.ganssSBASid",
FT_UINT8, BASE_DEC, VALS(ulp_ganss_sbas_id_vals), 0,
NULL, HFILL }},
{ &hf_ulp_gANSSPositioningMethodTypes,
{ "gANSSPositioningMethodTypes", "ulp.gANSSPositioningMethodTypes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_setAssisted,
{ "setAssisted", "ulp.setAssisted",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_setBased,
{ "setBased", "ulp.setBased",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_autonomous,
{ "autonomous", "ulp.autonomous",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssRequestedCommonAssistanceDataList,
{ "ganssRequestedCommonAssistanceDataList", "ulp.ganssRequestedCommonAssistanceDataList_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssRequestedGenericAssistanceDataList,
{ "ganssRequestedGenericAssistanceDataList", "ulp.ganssRequestedGenericAssistanceDataList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_extendedEphemeris,
{ "extendedEphemeris", "ulp.extendedEphemeris_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_extendedEphemerisCheck,
{ "extendedEphemerisCheck", "ulp.extendedEphemerisCheck_element",
FT_NONE, BASE_NONE, NULL, 0,
"ExtendedEphCheck", HFILL }},
{ &hf_ulp_ganssReferenceTime,
{ "ganssReferenceTime", "ulp.ganssReferenceTime",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssIonosphericModel,
{ "ganssIonosphericModel", "ulp.ganssIonosphericModel",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssAdditionalIonosphericModelForDataID00,
{ "ganssAdditionalIonosphericModelForDataID00", "ulp.ganssAdditionalIonosphericModelForDataID00",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssAdditionalIonosphericModelForDataID11,
{ "ganssAdditionalIonosphericModelForDataID11", "ulp.ganssAdditionalIonosphericModelForDataID11",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssEarthOrientationParameters,
{ "ganssEarthOrientationParameters", "ulp.ganssEarthOrientationParameters",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssAdditionalIonosphericModelForDataID01,
{ "ganssAdditionalIonosphericModelForDataID01", "ulp.ganssAdditionalIonosphericModelForDataID01",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_GanssRequestedGenericAssistanceDataList_item,
{ "GanssReqGenericData", "ulp.GanssReqGenericData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssId_01,
{ "ganssId", "ulp.ganssId",
FT_UINT32, BASE_DEC, VALS(ulp_ganss_id_vals), 0,
NULL, HFILL }},
{ &hf_ulp_ganssSBASid_01,
{ "ganssSBASid", "ulp.ganssSBASid",
FT_UINT8, BASE_DEC, VALS(ulp_ganss_sbas_id_vals), 0,
"T_ganssSBASid_01", HFILL }},
{ &hf_ulp_ganssRealTimeIntegrity,
{ "ganssRealTimeIntegrity", "ulp.ganssRealTimeIntegrity",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssDifferentialCorrection,
{ "ganssDifferentialCorrection", "ulp.ganssDifferentialCorrection",
FT_BYTES, BASE_NONE, NULL, 0,
"DGANSS_Sig_Id_Req", HFILL }},
{ &hf_ulp_ganssAlmanac,
{ "ganssAlmanac", "ulp.ganssAlmanac",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssNavigationModelData,
{ "ganssNavigationModelData", "ulp.ganssNavigationModelData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssTimeModels,
{ "ganssTimeModels", "ulp.ganssTimeModels",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssReferenceMeasurementInfo,
{ "ganssReferenceMeasurementInfo", "ulp.ganssReferenceMeasurementInfo",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssDataBits,
{ "ganssDataBits", "ulp.ganssDataBits_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssUTCModel,
{ "ganssUTCModel", "ulp.ganssUTCModel",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssAdditionalDataChoices,
{ "ganssAdditionalDataChoices", "ulp.ganssAdditionalDataChoices_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssAuxiliaryInformation,
{ "ganssAuxiliaryInformation", "ulp.ganssAuxiliaryInformation",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssExtendedEphemeris,
{ "ganssExtendedEphemeris", "ulp.ganssExtendedEphemeris_element",
FT_NONE, BASE_NONE, NULL, 0,
"ExtendedEphemeris", HFILL }},
{ &hf_ulp_ganssExtendedEphemerisCheck,
{ "ganssExtendedEphemerisCheck", "ulp.ganssExtendedEphemerisCheck_element",
FT_NONE, BASE_NONE, NULL, 0,
"GanssExtendedEphCheck", HFILL }},
{ &hf_ulp_bds_DifferentialCorrection,
{ "bds-DifferentialCorrection", "ulp.bds_DifferentialCorrection",
FT_BYTES, BASE_NONE, NULL, 0,
"BDS_Sig_Id_Req", HFILL }},
{ &hf_ulp_bds_GridModelReq,
{ "bds-GridModelReq", "ulp.bds_GridModelReq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ganssWeek,
{ "ganssWeek", "ulp.ganssWeek",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssToe,
{ "ganssToe", "ulp.ganssToe",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_t_toeLimit,
{ "t-toeLimit", "ulp.t_toeLimit",
FT_UINT32, BASE_DEC, NULL, 0,
"T_t_toeLimit", HFILL }},
{ &hf_ulp_satellitesListRelatedDataList,
{ "satellitesListRelatedDataList", "ulp.satellitesListRelatedDataList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_SatellitesListRelatedDataList_item,
{ "SatellitesListRelatedData", "ulp.SatellitesListRelatedData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_iod,
{ "iod", "ulp.iod",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_ulp_ganssTODmin,
{ "ganssTODmin", "ulp.ganssTODmin",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_reqDataBitAssistanceList,
{ "reqDataBitAssistanceList", "ulp.reqDataBitAssistanceList_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_gnssSignals,
{ "gnssSignals", "ulp.gnssSignals",
FT_BYTES, BASE_NONE, NULL, 0,
"GANSSSignals", HFILL }},
{ &hf_ulp_ganssDataBitInterval,
{ "ganssDataBitInterval", "ulp.ganssDataBitInterval",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_ganssDataBitInterval_fmt), 0,
"INTEGER_0_15", HFILL }},
{ &hf_ulp_ganssDataBitSatList,
{ "ganssDataBitSatList", "ulp.ganssDataBitSatList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssDataBitSatList_item,
{ "ganssDataBitSatList item", "ulp.ganssDataBitSatList_item",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_ulp_orbitModelID,
{ "orbitModelID", "ulp.orbitModelID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_ulp_clockModelID,
{ "clockModelID", "ulp.clockModelID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_ulp_utcModelID,
{ "utcModelID", "ulp.utcModelID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_ulp_almanacModelID,
{ "almanacModelID", "ulp.almanacModelID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_7", HFILL }},
{ &hf_ulp_validity,
{ "validity", "ulp.validity",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_ExtendedEphemeris_validity_fmt), 0,
"INTEGER_1_256", HFILL }},
{ &hf_ulp_beginTime,
{ "beginTime", "ulp.beginTime_element",
FT_NONE, BASE_NONE, NULL, 0,
"GPSTime", HFILL }},
{ &hf_ulp_endTime,
{ "endTime", "ulp.endTime_element",
FT_NONE, BASE_NONE, NULL, 0,
"GPSTime", HFILL }},
{ &hf_ulp_beginTime_01,
{ "beginTime", "ulp.beginTime_element",
FT_NONE, BASE_NONE, NULL, 0,
"GANSSextEphTime", HFILL }},
{ &hf_ulp_endTime_01,
{ "endTime", "ulp.endTime_element",
FT_NONE, BASE_NONE, NULL, 0,
"GANSSextEphTime", HFILL }},
{ &hf_ulp_gPSWeek,
{ "gPSWeek", "ulp.gPSWeek",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_ulp_gPSTOWhour,
{ "gPSTOWhour", "ulp.gPSTOWhour",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_167", HFILL }},
{ &hf_ulp_gANSSday,
{ "gANSSday", "ulp.gANSSday",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8191", HFILL }},
{ &hf_ulp_gANSSTODhour,
{ "gANSSTODhour", "ulp.gANSSTODhour",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_23", HFILL }},
{ &hf_ulp_lPPPayload,
{ "lPPPayload", "ulp.lPPPayload",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_lPPPayload_item,
{ "lPPPayload item", "ulp.lPPPayload_item",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_tia801Payload,
{ "tia801Payload", "ulp.tia801Payload",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_tia801Payload_item,
{ "tia801Payload item", "ulp.tia801Payload_item",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_1_60000", HFILL }},
{ &hf_ulp_maj,
{ "maj", "ulp.maj",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_min,
{ "min", "ulp.min",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_servind,
{ "servind", "ulp.servind",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_setSessionID,
{ "setSessionID", "ulp.setSessionID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_slpSessionID,
{ "slpSessionID", "ulp.slpSessionID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_sessionId,
{ "sessionId", "ulp.sessionId",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_setId,
{ "setId", "ulp.setId",
FT_UINT32, BASE_DEC, VALS(ulp_SETId_vals), 0,
NULL, HFILL }},
{ &hf_ulp_msisdn,
{ "msisdn", "ulp.msisdn",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_mdn,
{ "mdn", "ulp.mdn",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_minsi,
{ "min", "ulp.min",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
{ &hf_ulp_imsi,
{ "imsi", "ulp.imsi",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_nai,
{ "nai", "ulp.nai",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_1_1000", HFILL }},
{ &hf_ulp_iPAddress,
{ "iPAddress", "ulp.iPAddress",
FT_UINT32, BASE_DEC, VALS(ulp_IPAddress_vals), 0,
NULL, HFILL }},
{ &hf_ulp_sessionSlpID,
{ "sessionID", "ulp.sessionID",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_4", HFILL }},
{ &hf_ulp_slpId,
{ "slpId", "ulp.slpId",
FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
"SLPAddress", HFILL }},
{ &hf_ulp_ipv4Address,
{ "ipv4Address", "ulp.ipv4Address",
FT_IPv4, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_4", HFILL }},
{ &hf_ulp_ipv6Address,
{ "ipv6Address", "ulp.ipv6Address",
FT_IPv6, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_16", HFILL }},
{ &hf_ulp_fqdn,
{ "fqdn", "ulp.fqdn",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cellInfo,
{ "cellInfo", "ulp.cellInfo",
FT_UINT32, BASE_DEC, VALS(ulp_CellInfo_vals), 0,
NULL, HFILL }},
{ &hf_ulp_status,
{ "status", "ulp.status",
FT_UINT32, BASE_DEC, VALS(ulp_Status_vals), 0,
NULL, HFILL }},
{ &hf_ulp_gsmCell,
{ "gsmCell", "ulp.gsmCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"GsmCellInformation", HFILL }},
{ &hf_ulp_wcdmaCell,
{ "wcdmaCell", "ulp.wcdmaCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"WcdmaCellInformation", HFILL }},
{ &hf_ulp_cdmaCell,
{ "cdmaCell", "ulp.cdmaCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"CdmaCellInformation", HFILL }},
{ &hf_ulp_ver2_CellInfo_extension,
{ "ver2-CellInfo-extension", "ulp.ver2_CellInfo_extension",
FT_UINT32, BASE_DEC, VALS(ulp_Ver2_CellInfo_extension_vals), 0,
NULL, HFILL }},
{ &hf_ulp_timestamp_01,
{ "timestamp", "ulp.timestamp",
FT_STRING, BASE_NONE, NULL, 0,
"UTCTime", HFILL }},
{ &hf_ulp_positionEstimate,
{ "positionEstimate", "ulp.positionEstimate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_latitudeSign,
{ "latitudeSign", "ulp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(ulp_T_latitudeSign_vals), 0,
NULL, HFILL }},
{ &hf_ulp_latitude,
{ "latitude", "ulp.latitude",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_PositionEstimate_latitude_fmt), 0,
"INTEGER_0_8388607", HFILL }},
{ &hf_ulp_longitude,
{ "longitude", "ulp.longitude",
FT_INT32, BASE_CUSTOM, CF_FUNC(ulp_PositionEstimate_longitude_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_ulp_uncertainty,
{ "uncertainty", "ulp.uncertainty_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_uncertaintySemiMajor,
{ "uncertaintySemiMajor", "ulp.uncertaintySemiMajor",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_QoP_horacc_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_uncertaintySemiMinor,
{ "uncertaintySemiMinor", "ulp.uncertaintySemiMinor",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_QoP_horacc_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_orientationMajorAxis,
{ "orientationMajorAxis", "ulp.orientationMajorAxis",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_confidence,
{ "confidence", "ulp.confidence",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_altitudeInfo,
{ "altitudeInfo", "ulp.altitudeInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_altitudeDirection,
{ "altitudeDirection", "ulp.altitudeDirection",
FT_UINT32, BASE_DEC, VALS(ulp_T_altitudeDirection_vals), 0,
NULL, HFILL }},
{ &hf_ulp_altitude,
{ "altitude", "ulp.altitude",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_altUncertainty,
{ "altUncertainty", "ulp.altUncertainty",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_QoP_veracc_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_refNID_01,
{ "refNID", "ulp.refNID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_refSID_01,
{ "refSID", "ulp.refSID",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_32767", HFILL }},
{ &hf_ulp_refBASELAT,
{ "refBASELAT", "ulp.refBASELAT",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4194303", HFILL }},
{ &hf_ulp_reBASELONG,
{ "reBASELONG", "ulp.reBASELONG",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8388607", HFILL }},
{ &hf_ulp_refREFPN,
{ "refREFPN", "ulp.refREFPN",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_ulp_refWeekNumber,
{ "refWeekNumber", "ulp.refWeekNumber",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_refSeconds,
{ "refSeconds", "ulp.refSeconds",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4194303", HFILL }},
{ &hf_ulp_nmr,
{ "nmr", "ulp.nmr",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ta,
{ "ta", "ulp.ta",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_frequencyInfo,
{ "frequencyInfo", "ulp.frequencyInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_primaryScramblingCode,
{ "primaryScramblingCode", "ulp.primaryScramblingCode",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_511", HFILL }},
{ &hf_ulp_measuredResultsList,
{ "measuredResultsList", "ulp.measuredResultsList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cellParametersId,
{ "cellParametersId", "ulp.cellParametersId",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_timingAdvance,
{ "timingAdvance", "ulp.timingAdvance_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ta_01,
{ "ta", "ulp.ta",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8191", HFILL }},
{ &hf_ulp_tAResolution,
{ "tAResolution", "ulp.tAResolution",
FT_UINT32, BASE_DEC, VALS(ulp_TAResolution_vals), 0,
NULL, HFILL }},
{ &hf_ulp_chipRate,
{ "chipRate", "ulp.chipRate",
FT_UINT32, BASE_DEC, VALS(ulp_ChipRate_vals), 0,
NULL, HFILL }},
{ &hf_ulp_modeSpecificFrequencyInfo,
{ "modeSpecificInfo", "ulp.modeSpecificInfo",
FT_UINT32, BASE_DEC, VALS(ulp_FrequencySpecificInfo_vals), 0,
"FrequencySpecificInfo", HFILL }},
{ &hf_ulp_fdd_fr,
{ "fdd", "ulp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"FrequencyInfoFDD", HFILL }},
{ &hf_ulp_tdd_fr,
{ "tdd", "ulp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"FrequencyInfoTDD", HFILL }},
{ &hf_ulp_uarfcn_UL,
{ "uarfcn-UL", "ulp.uarfcn_UL",
FT_UINT32, BASE_DEC, NULL, 0,
"UARFCN", HFILL }},
{ &hf_ulp_uarfcn_DL,
{ "uarfcn-DL", "ulp.uarfcn_DL",
FT_UINT32, BASE_DEC, NULL, 0,
"UARFCN", HFILL }},
{ &hf_ulp_uarfcn_Nt,
{ "uarfcn-Nt", "ulp.uarfcn_Nt",
FT_UINT32, BASE_DEC, NULL, 0,
"UARFCN", HFILL }},
{ &hf_ulp_NMR_item,
{ "NMRelement", "ulp.NMRelement_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_arfcn,
{ "arfcn", "ulp.arfcn",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_ulp_bsic,
{ "bsic", "ulp.bsic",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_63", HFILL }},
{ &hf_ulp_rxLev,
{ "rxLev", "ulp.rxLev",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_NMRelement_rxLev_fmt), 0,
"INTEGER_0_63", HFILL }},
{ &hf_ulp_MeasuredResultsList_item,
{ "MeasuredResults", "ulp.MeasuredResults_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_utra_CarrierRSSI,
{ "utra-CarrierRSSI", "ulp.utra_CarrierRSSI",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_UTRA_CarrierRSSI_fmt), 0,
NULL, HFILL }},
{ &hf_ulp_cellMeasuredResultsList,
{ "cellMeasuredResultsList", "ulp.cellMeasuredResultsList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_CellMeasuredResultsList_item,
{ "CellMeasuredResults", "ulp.CellMeasuredResults_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cellIdentity,
{ "cellIdentity", "ulp.cellIdentity",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_268435455", HFILL }},
{ &hf_ulp_modeSpecificInfo,
{ "modeSpecificInfo", "ulp.modeSpecificInfo",
FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_vals), 0,
NULL, HFILL }},
{ &hf_ulp_fdd,
{ "fdd", "ulp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_primaryCPICH_Info,
{ "primaryCPICH-Info", "ulp.primaryCPICH_Info_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cpich_Ec_N0,
{ "cpich-Ec-N0", "ulp.cpich_Ec_N0",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_CPICH_Ec_N0_fmt), 0,
NULL, HFILL }},
{ &hf_ulp_cpich_RSCP,
{ "cpich-RSCP", "ulp.cpich_RSCP",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_CPICH_RSCP_fmt), 0,
NULL, HFILL }},
{ &hf_ulp_pathloss,
{ "pathloss", "ulp.pathloss",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_tdd,
{ "tdd", "ulp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cellParametersID,
{ "cellParametersID", "ulp.cellParametersID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_proposedTGSN,
{ "proposedTGSN", "ulp.proposedTGSN",
FT_UINT32, BASE_DEC, NULL, 0,
"TGSN", HFILL }},
{ &hf_ulp_primaryCCPCH_RSCP,
{ "primaryCCPCH-RSCP", "ulp.primaryCCPCH_RSCP",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_PrimaryCCPCH_RSCP_fmt), 0,
NULL, HFILL }},
{ &hf_ulp_timeslotISCP_List,
{ "timeslotISCP-List", "ulp.timeslotISCP_List",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_TimeslotISCP_List_item,
{ "TimeslotISCP", "ulp.TimeslotISCP",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_horacc,
{ "horacc", "ulp.horacc",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_QoP_horacc_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_veracc,
{ "veracc", "ulp.veracc",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_QoP_veracc_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_maxLocAge,
{ "maxLocAge", "ulp.maxLocAge",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_delay,
{ "delay", "ulp.delay",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_QoP_delay_fmt), 0,
"INTEGER_0_7", HFILL }},
{ &hf_ulp_horvel,
{ "horvel", "ulp.horvel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_horandvervel,
{ "horandvervel", "ulp.horandvervel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_horveluncert,
{ "horveluncert", "ulp.horveluncert_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_horandveruncert,
{ "horandveruncert", "ulp.horandveruncert_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_bearing,
{ "bearing", "ulp.bearing",
FT_UINT16, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_horspeed,
{ "horspeed", "ulp.horspeed",
FT_UINT16, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_verdirect,
{ "verdirect", "ulp.verdirect",
FT_BOOLEAN, BASE_NONE, TFS(&ulp_vertical_dir_val), 0,
NULL, HFILL }},
{ &hf_ulp_bearing_01,
{ "bearing", "ulp.bearing",
FT_UINT16, BASE_DEC, NULL, 0,
"T_bearing_01", HFILL }},
{ &hf_ulp_horspeed_01,
{ "horspeed", "ulp.horspeed",
FT_UINT16, BASE_DEC, NULL, 0,
"T_horspeed_01", HFILL }},
{ &hf_ulp_verspeed,
{ "verspeed", "ulp.verspeed",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_bearing_02,
{ "bearing", "ulp.bearing",
FT_UINT16, BASE_DEC, NULL, 0,
"T_bearing_02", HFILL }},
{ &hf_ulp_horspeed_02,
{ "horspeed", "ulp.horspeed",
FT_UINT16, BASE_DEC, NULL, 0,
"T_horspeed_02", HFILL }},
{ &hf_ulp_uncertspeed,
{ "uncertspeed", "ulp.uncertspeed",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_verdirect_01,
{ "verdirect", "ulp.verdirect",
FT_BOOLEAN, BASE_NONE, TFS(&ulp_vertical_dir_val), 0,
"T_verdirect_01", HFILL }},
{ &hf_ulp_bearing_03,
{ "bearing", "ulp.bearing",
FT_UINT16, BASE_DEC, NULL, 0,
"T_bearing_03", HFILL }},
{ &hf_ulp_horspeed_03,
{ "horspeed", "ulp.horspeed",
FT_UINT16, BASE_DEC, NULL, 0,
"T_horspeed_03", HFILL }},
{ &hf_ulp_verspeed_01,
{ "verspeed", "ulp.verspeed",
FT_UINT8, BASE_DEC, NULL, 0,
"T_verspeed_01", HFILL }},
{ &hf_ulp_horuncertspeed,
{ "horuncertspeed", "ulp.horuncertspeed",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_veruncertspeed,
{ "veruncertspeed", "ulp.veruncertspeed",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_MultipleLocationIds_item,
{ "LocationIdData", "ulp.LocationIdData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_relativetimestamp,
{ "relativetimestamp", "ulp.relativetimestamp",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_RelativeTime_fmt), 0,
"RelativeTime", HFILL }},
{ &hf_ulp_servingFlag,
{ "servingFlag", "ulp.servingFlag",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_supportedWLANInfo,
{ "supportedWLANInfo", "ulp.supportedWLANInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_supportedWLANApsList,
{ "supportedWLANApsList", "ulp.supportedWLANApsList_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_supportedWCDMAInfo,
{ "supportedWCDMAInfo", "ulp.supportedWCDMAInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_hrdp,
{ "hrdp", "ulp.hrdp",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_wimax,
{ "wimax", "ulp.wimax",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_historic,
{ "historic", "ulp.historic",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_nonServing,
{ "nonServing", "ulp.nonServing",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_uTRANGPSReferenceTime,
{ "uTRANGPSReferenceTime", "ulp.uTRANGPSReferenceTime",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_uTRANGANSSReferenceTime,
{ "uTRANGANSSReferenceTime", "ulp.uTRANGANSSReferenceTime",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apTP,
{ "apTP", "ulp.apTP",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apAG,
{ "apAG", "ulp.apAG",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apSN,
{ "apSN", "ulp.apSN",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apDevType,
{ "apDevType", "ulp.apDevType",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apRSSI,
{ "apRSSI", "ulp.apRSSI",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apChanFreq,
{ "apChanFreq", "ulp.apChanFreq",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apRTD,
{ "apRTD", "ulp.apRTD",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_setTP,
{ "setTP", "ulp.setTP",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_setAG,
{ "setAG", "ulp.setAG",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_setSN,
{ "setSN", "ulp.setSN",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_setRSSI,
{ "setRSSI", "ulp.setRSSI",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apRepLoc,
{ "apRepLoc", "ulp.apRepLoc",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_supportedWLANApDataList,
{ "supportedWLANApDataList", "ulp.supportedWLANApDataList",
FT_UINT32, BASE_DEC, NULL, 0,
"SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData", HFILL }},
{ &hf_ulp_supportedWLANApDataList_item,
{ "SupportedWLANApData", "ulp.SupportedWLANApData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_supportedWLANapsChannel11a,
{ "supportedWLANapsChannel11a", "ulp.supportedWLANapsChannel11a_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_supportedWLANapsChannel11bg,
{ "supportedWLANapsChannel11bg", "ulp.supportedWLANapsChannel11bg_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ch34,
{ "ch34", "ulp.ch34",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch36,
{ "ch36", "ulp.ch36",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch38,
{ "ch38", "ulp.ch38",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch40,
{ "ch40", "ulp.ch40",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch42,
{ "ch42", "ulp.ch42",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch44,
{ "ch44", "ulp.ch44",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch46,
{ "ch46", "ulp.ch46",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch48,
{ "ch48", "ulp.ch48",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch52,
{ "ch52", "ulp.ch52",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch56,
{ "ch56", "ulp.ch56",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch60,
{ "ch60", "ulp.ch60",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch64,
{ "ch64", "ulp.ch64",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch149,
{ "ch149", "ulp.ch149",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch153,
{ "ch153", "ulp.ch153",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch157,
{ "ch157", "ulp.ch157",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch161,
{ "ch161", "ulp.ch161",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch1,
{ "ch1", "ulp.ch1",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch2,
{ "ch2", "ulp.ch2",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch3,
{ "ch3", "ulp.ch3",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch4,
{ "ch4", "ulp.ch4",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch5,
{ "ch5", "ulp.ch5",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch6,
{ "ch6", "ulp.ch6",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch7,
{ "ch7", "ulp.ch7",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch8,
{ "ch8", "ulp.ch8",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch9,
{ "ch9", "ulp.ch9",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch10,
{ "ch10", "ulp.ch10",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch11,
{ "ch11", "ulp.ch11",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch12,
{ "ch12", "ulp.ch12",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch13,
{ "ch13", "ulp.ch13",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_ch14,
{ "ch14", "ulp.ch14",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_apMACAddress_01,
{ "apMACAddress", "ulp.apMACAddress",
FT_ETHER, BASE_NONE, NULL, 0,
"T_apMACAddress_01", HFILL }},
{ &hf_ulp_apDevType_01,
{ "apDevType", "ulp.apDevType",
FT_UINT32, BASE_DEC, VALS(ulp_T_apDevType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_mrl,
{ "mrl", "ulp.mrl",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_hrpdCell,
{ "hrpdCell", "ulp.hrpdCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"HrpdCellInformation", HFILL }},
{ &hf_ulp_umbCell,
{ "umbCell", "ulp.umbCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"UmbCellInformation", HFILL }},
{ &hf_ulp_lteCell,
{ "lteCell", "ulp.lteCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"LteCellInformation", HFILL }},
{ &hf_ulp_wlanAP,
{ "wlanAP", "ulp.wlanAP_element",
FT_NONE, BASE_NONE, NULL, 0,
"WlanAPInformation", HFILL }},
{ &hf_ulp_wimaxBS,
{ "wimaxBS", "ulp.wimaxBS_element",
FT_NONE, BASE_NONE, NULL, 0,
"WimaxBSInformation", HFILL }},
{ &hf_ulp_cellGlobalIdEUTRA,
{ "cellGlobalIdEUTRA", "ulp.cellGlobalIdEUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_physCellId,
{ "physCellId", "ulp.physCellId",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_trackingAreaCode,
{ "trackingAreaCode", "ulp.trackingAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_rsrpResult,
{ "rsrpResult", "ulp.rsrpResult",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_RSRP_Range_fmt), 0,
"RSRP_Range", HFILL }},
{ &hf_ulp_rsrqResult,
{ "rsrqResult", "ulp.rsrqResult",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_RSRQ_Range_fmt), 0,
"RSRQ_Range", HFILL }},
{ &hf_ulp_ta_02,
{ "ta", "ulp.ta",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1282", HFILL }},
{ &hf_ulp_measResultListEUTRA,
{ "measResultListEUTRA", "ulp.measResultListEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_earfcn,
{ "earfcn", "ulp.earfcn",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_earfcn_ext,
{ "earfcn-ext", "ulp.earfcn_ext",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_65536_262143", HFILL }},
{ &hf_ulp_MeasResultListEUTRA_item,
{ "MeasResultEUTRA", "ulp.MeasResultEUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cgi_Info,
{ "cgi-Info", "ulp.cgi_Info_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cellGlobalId,
{ "cellGlobalId", "ulp.cellGlobalId_element",
FT_NONE, BASE_NONE, NULL, 0,
"CellGlobalIdEUTRA", HFILL }},
{ &hf_ulp_measResult,
{ "measResult", "ulp.measResult_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_plmn_Identity,
{ "plmn-Identity", "ulp.plmn_Identity_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cellIdentity_01,
{ "cellIdentity", "ulp.cellIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_mcc,
{ "mcc", "ulp.mcc",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_mnc,
{ "mnc", "ulp.mnc",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_MCC_item,
{ "MCC-MNC-Digit", "ulp.MCC_MNC_Digit",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_MNC_item,
{ "MCC-MNC-Digit", "ulp.MCC_MNC_Digit",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_apMACAddress_02,
{ "apMACAddress", "ulp.apMACAddress",
FT_ETHER, BASE_NONE, NULL, 0,
"T_apMACAddress_02", HFILL }},
{ &hf_ulp_apTransmitPower,
{ "apTransmitPower", "ulp.apTransmitPower",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_apAntennaGain,
{ "apAntennaGain", "ulp.apAntennaGain",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_apSignaltoNoise,
{ "apSignaltoNoise", "ulp.apSignaltoNoise",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_apDeviceType,
{ "apDeviceType", "ulp.apDeviceType",
FT_UINT32, BASE_DEC, VALS(ulp_T_apDeviceType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_apSignalStrength,
{ "apSignalStrength", "ulp.apSignalStrength",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_apChannelFrequency,
{ "apChannelFrequency", "ulp.apChannelFrequency",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_256", HFILL }},
{ &hf_ulp_apRoundTripDelay,
{ "apRoundTripDelay", "ulp.apRoundTripDelay_element",
FT_NONE, BASE_NONE, NULL, 0,
"RTD", HFILL }},
{ &hf_ulp_setTransmitPower,
{ "setTransmitPower", "ulp.setTransmitPower",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_setAntennaGain,
{ "setAntennaGain", "ulp.setAntennaGain",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_setSignaltoNoise,
{ "setSignaltoNoise", "ulp.setSignaltoNoise",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_setSignalStrength,
{ "setSignalStrength", "ulp.setSignalStrength",
FT_INT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_apReportedLocation,
{ "apReportedLocation", "ulp.apReportedLocation_element",
FT_NONE, BASE_NONE, NULL, 0,
"ReportedLocation", HFILL }},
{ &hf_ulp_apRepLocation,
{ "apRepLocation", "ulp.apRepLocation",
FT_UINT32, BASE_DEC, VALS(ulp_RepLocation_vals), 0,
"RepLocation", HFILL }},
{ &hf_ulp_apSignalStrengthDelta,
{ "apSignalStrengthDelta", "ulp.apSignalStrengthDelta",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_SignalDelta_fmt), 0,
"INTEGER_0_1", HFILL }},
{ &hf_ulp_apSignaltoNoiseDelta,
{ "apSignaltoNoiseDelta", "ulp.apSignaltoNoiseDelta",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_SignalDelta_fmt), 0,
"INTEGER_0_1", HFILL }},
{ &hf_ulp_setSignalStrengthDelta,
{ "setSignalStrengthDelta", "ulp.setSignalStrengthDelta",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_SignalDelta_fmt), 0,
"INTEGER_0_1", HFILL }},
{ &hf_ulp_setSignaltoNoiseDelta,
{ "setSignaltoNoiseDelta", "ulp.setSignaltoNoiseDelta",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_SignalDelta_fmt), 0,
"INTEGER_0_1", HFILL }},
{ &hf_ulp_operatingClass,
{ "operatingClass", "ulp.operatingClass",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_apSSID,
{ "apSSID", "ulp.apSSID",
FT_STRING, STR_ASCII, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_apPHYType,
{ "apPHYType", "ulp.apPHYType",
FT_UINT32, BASE_DEC, VALS(ulp_T_apPHYType_vals), 0,
NULL, HFILL }},
{ &hf_ulp_setMACAddress,
{ "setMACAddress", "ulp.setMACAddress",
FT_ETHER, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_rTDValue,
{ "rTDValue", "ulp.rTDValue",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16777216", HFILL }},
{ &hf_ulp_rTDUnits,
{ "rTDUnits", "ulp.rTDUnits",
FT_UINT32, BASE_DEC, VALS(ulp_RTDUnits_vals), 0,
NULL, HFILL }},
{ &hf_ulp_rTDAccuracy,
{ "rTDAccuracy", "ulp.rTDAccuracy",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_locationEncodingDescriptor,
{ "locationEncodingDescriptor", "ulp.locationEncodingDescriptor",
FT_UINT32, BASE_DEC, VALS(ulp_LocationEncodingDescriptor_vals), 0,
NULL, HFILL }},
{ &hf_ulp_locationData,
{ "locationData", "ulp.locationData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_locationAccuracy,
{ "locationAccuracy", "ulp.locationAccuracy",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_locationAccuracy_fmt), 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_ulp_locationValue,
{ "locationValue", "ulp.locationValue",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_1_128", HFILL }},
{ &hf_ulp_lciLocData,
{ "lciLocData", "ulp.lciLocData_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_locationDataLCI,
{ "locationDataLCI", "ulp.locationDataLCI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_latitudeResolution,
{ "latitudeResolution", "ulp.latitudeResolution",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_ulp_latitude_01,
{ "latitude", "ulp.latitude",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
{ &hf_ulp_longitudeResolution,
{ "longitudeResolution", "ulp.longitudeResolution",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_ulp_longitude_01,
{ "longitude", "ulp.longitude",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
{ &hf_ulp_altitudeType,
{ "altitudeType", "ulp.altitudeType",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_4", HFILL }},
{ &hf_ulp_altitudeResolution,
{ "altitudeResolution", "ulp.altitudeResolution",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_6", HFILL }},
{ &hf_ulp_altitude_01,
{ "altitude", "ulp.altitude",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_30", HFILL }},
{ &hf_ulp_datum,
{ "datum", "ulp.datum",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_8", HFILL }},
{ &hf_ulp_wimaxBsID,
{ "wimaxBsID", "ulp.wimaxBsID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_wimaxRTD,
{ "wimaxRTD", "ulp.wimaxRTD_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_wimaxNMRList,
{ "wimaxNMRList", "ulp.wimaxNMRList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_rtd,
{ "rtd", "ulp.rtd",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_WimaxRTD_fmt), 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ulp_rTDstd,
{ "rTDstd", "ulp.rTDstd",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_WimaxRTD_fmt), 0,
"INTEGER_0_1023", HFILL }},
{ &hf_ulp_WimaxNMRList_item,
{ "WimaxNMR", "ulp.WimaxNMR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_relDelay,
{ "relDelay", "ulp.relDelay",
FT_INT32, BASE_CUSTOM, CF_FUNC(ulp_WimaxRTD_fmt), 0,
"INTEGER_M32768_32767", HFILL }},
{ &hf_ulp_relDelaystd,
{ "relDelaystd", "ulp.relDelaystd",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_WimaxRTD_fmt), 0,
"INTEGER_0_1023", HFILL }},
{ &hf_ulp_rssi,
{ "rssi", "ulp.rssi",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_WimaxNMR_rssi_fmt), 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_rSSIstd,
{ "rSSIstd", "ulp.rSSIstd",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_bSTxPower,
{ "bSTxPower", "ulp.bSTxPower",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_WimaxNMR_rssi_fmt), 0,
"INTEGER_0_255", HFILL }},
{ &hf_ulp_cinr,
{ "cinr", "ulp.cinr",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_cINRstd,
{ "cINRstd", "ulp.cINRstd",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_bSLocation,
{ "bSLocation", "ulp.bSLocation_element",
FT_NONE, BASE_NONE, NULL, 0,
"ReportedLocation", HFILL }},
{ &hf_ulp_utran_GPSReferenceTime,
{ "utran-GPSReferenceTime", "ulp.utran_GPSReferenceTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_gpsReferenceTimeUncertainty,
{ "gpsReferenceTimeUncertainty", "ulp.gpsReferenceTimeUncertainty",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_utranGPSDriftRate,
{ "utranGPSDriftRate", "ulp.utranGPSDriftRate",
FT_UINT32, BASE_DEC, VALS(ulp_UTRANGPSDriftRate_vals), 0,
NULL, HFILL }},
{ &hf_ulp_utran_GPSTimingOfCell,
{ "utran-GPSTimingOfCell", "ulp.utran_GPSTimingOfCell_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ms_part,
{ "ms-part", "ulp.ms_part",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1023", HFILL }},
{ &hf_ulp_ls_part,
{ "ls-part", "ulp.ls_part",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4294967295", HFILL }},
{ &hf_ulp_modeSpecificInfo_01,
{ "modeSpecificInfo", "ulp.modeSpecificInfo",
FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_01_vals), 0,
"T_modeSpecificInfo_01", HFILL }},
{ &hf_ulp_fdd_01,
{ "fdd", "ulp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_fdd_01", HFILL }},
{ &hf_ulp_referenceIdentity,
{ "referenceIdentity", "ulp.referenceIdentity_element",
FT_NONE, BASE_NONE, NULL, 0,
"PrimaryCPICH_Info", HFILL }},
{ &hf_ulp_tdd_01,
{ "tdd", "ulp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_tdd_01", HFILL }},
{ &hf_ulp_referenceIdentity_01,
{ "referenceIdentity", "ulp.referenceIdentity",
FT_UINT32, BASE_DEC, NULL, 0,
"CellParametersID", HFILL }},
{ &hf_ulp_sfn,
{ "sfn", "ulp.sfn",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_ulp_set_GPSTimingOfCell,
{ "set-GPSTimingOfCell", "ulp.set_GPSTimingOfCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_set_GPSTimingOfCell", HFILL }},
{ &hf_ulp_ms_part_01,
{ "ms-part", "ulp.ms_part",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16383", HFILL }},
{ &hf_ulp_modeSpecificInfo_02,
{ "modeSpecificInfo", "ulp.modeSpecificInfo",
FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_02_vals), 0,
"T_modeSpecificInfo_02", HFILL }},
{ &hf_ulp_fdd_02,
{ "fdd", "ulp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_fdd_02", HFILL }},
{ &hf_ulp_tdd_02,
{ "tdd", "ulp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_tdd_02", HFILL }},
{ &hf_ulp_ganssDay,
{ "ganssDay", "ulp.ganssDay",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_8191", HFILL }},
{ &hf_ulp_ganssTimeID,
{ "ganssTimeID", "ulp.ganssTimeID",
FT_UINT32, BASE_DEC, VALS(ulp_ganss_time_id_vals), 0,
"INTEGER_0_15", HFILL }},
{ &hf_ulp_utran_GANSSReferenceTime,
{ "utran-GANSSReferenceTime", "ulp.utran_GANSSReferenceTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_utranGANSSDriftRate,
{ "utranGANSSDriftRate", "ulp.utranGANSSDriftRate",
FT_UINT32, BASE_DEC, VALS(ulp_UTRANGANSSDriftRate_vals), 0,
NULL, HFILL }},
{ &hf_ulp_ganssTOD,
{ "ganssTOD", "ulp.ganssTOD",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_utran_GANSSTimingOfCell,
{ "utran-GANSSTimingOfCell", "ulp.utran_GANSSTimingOfCell",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_utran_GANSSTimingOfCell_fmt), 0,
"INTEGER_0_3999999", HFILL }},
{ &hf_ulp_modeSpecificInfo_03,
{ "modeSpecificInfo", "ulp.modeSpecificInfo",
FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_03_vals), 0,
"T_modeSpecificInfo_03", HFILL }},
{ &hf_ulp_fdd_03,
{ "fdd", "ulp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_fdd_03", HFILL }},
{ &hf_ulp_tdd_03,
{ "tdd", "ulp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_tdd_03", HFILL }},
{ &hf_ulp_ganss_TODUncertainty,
{ "ganss-TODUncertainty", "ulp.ganss_TODUncertainty",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt), 0,
"INTEGER_0_127", HFILL }},
{ &hf_ulp_set_GANSSReferenceTime,
{ "set-GANSSReferenceTime", "ulp.set_GANSSReferenceTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_set_GANSSTimingOfCell,
{ "set-GANSSTimingOfCell", "ulp.set_GANSSTimingOfCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_set_GANSSTimingOfCell", HFILL }},
{ &hf_ulp_ms_part_02,
{ "ms-part", "ulp.ms_part",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_80", HFILL }},
{ &hf_ulp_modeSpecificInfo_04,
{ "modeSpecificInfo", "ulp.modeSpecificInfo",
FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo_04_vals), 0,
"T_modeSpecificInfo_04", HFILL }},
{ &hf_ulp_fdd_04,
{ "fdd", "ulp.fdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_fdd_04", HFILL }},
{ &hf_ulp_tdd_04,
{ "tdd", "ulp.tdd_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_tdd_04", HFILL }},
{ &hf_ulp_gps,
{ "gps", "ulp.gps",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_galileo,
{ "galileo", "ulp.galileo",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_sbas,
{ "sbas", "ulp.sbas",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_modernized_gps,
{ "modernized-gps", "ulp.modernized_gps",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_qzss,
{ "qzss", "ulp.qzss",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_glonass,
{ "glonass", "ulp.glonass",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_bds,
{ "bds", "ulp.bds",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_rand,
{ "rand", "ulp.rand",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_128", HFILL }},
{ &hf_ulp_slpFQDN,
{ "slpFQDN", "ulp.slpFQDN",
FT_STRING, BASE_NONE, NULL, 0,
"FQDN", HFILL }},
{ &hf_ulp_ThirdParty_item,
{ "ThirdPartyID", "ulp.ThirdPartyID",
FT_UINT32, BASE_DEC, VALS(ulp_ThirdPartyID_vals), 0,
NULL, HFILL }},
{ &hf_ulp_logicalName,
{ "logicalName", "ulp.logicalName",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_1_1000", HFILL }},
{ &hf_ulp_msisdn_01,
{ "msisdn", "ulp.msisdn",
FT_BYTES, BASE_NONE, NULL, 0,
"T_msisdn_01", HFILL }},
{ &hf_ulp_emailaddr,
{ "emailaddr", "ulp.emailaddr",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_1_1000", HFILL }},
{ &hf_ulp_sip_uri,
{ "sip-uri", "ulp.sip_uri",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ims_public_identity,
{ "ims-public-identity", "ulp.ims_public_identity",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_min_01,
{ "min", "ulp.min",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
{ &hf_ulp_mdn_01,
{ "mdn", "ulp.mdn",
FT_BYTES, BASE_NONE, NULL, 0,
"T_mdn_01", HFILL }},
{ &hf_ulp_uri,
{ "uri", "ulp.uri",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_appProvider,
{ "appProvider", "ulp.appProvider",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_1_24", HFILL }},
{ &hf_ulp_appName,
{ "appName", "ulp.appName",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_1_32", HFILL }},
{ &hf_ulp_appVersion,
{ "appVersion", "ulp.appVersion",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_1_8", HFILL }},
{ &hf_ulp_minInt,
{ "minInt", "ulp.minInt",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_maxInt,
{ "maxInt", "ulp.maxInt",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_repMode_01,
{ "repMode", "ulp.repMode_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_batchRepCap,
{ "batchRepCap", "ulp.batchRepCap_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_realtime,
{ "realtime", "ulp.realtime",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_quasirealtime,
{ "quasirealtime", "ulp.quasirealtime",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_batch,
{ "batch", "ulp.batch",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_report_position,
{ "report-position", "ulp.report_position",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_report_measurements,
{ "report-measurements", "ulp.report_measurements",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_ulp_max_num_positions,
{ "max-num-positions", "ulp.max_num_positions",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1024", HFILL }},
{ &hf_ulp_max_num_measurements,
{ "max-num-measurements", "ulp.max_num_measurements",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1024", HFILL }},
{ &hf_ulp_latitudeSign_01,
{ "latitudeSign", "ulp.latitudeSign",
FT_UINT32, BASE_DEC, VALS(ulp_T_latitudeSign_01_vals), 0,
"T_latitudeSign_01", HFILL }},
{ &hf_ulp_CoordinateLatitude,
{ "latitude", "ulp.latitude",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ulp_Coordinate_latitude_fmt), 0,
"INTEGER_0_8388607", HFILL }},
{ &hf_ulp_CoordinateLongitude,
{ "longitude", "ulp.longitude",
FT_INT32, BASE_CUSTOM, CF_FUNC(ulp_Coordinate_longitude_fmt), 0,
"INTEGER_M8388608_8388607", HFILL }},
{ &hf_ulp_coordinate,
{ "coordinate", "ulp.coordinate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_radius,
{ "radius", "ulp.radius",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_radius_min,
{ "radius-min", "ulp.radius_min",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1000000", HFILL }},
{ &hf_ulp_radius_max,
{ "radius-max", "ulp.radius_max",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1500000", HFILL }},
{ &hf_ulp_semiMajor,
{ "semiMajor", "ulp.semiMajor",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_semiMajor_min,
{ "semiMajor-min", "ulp.semiMajor_min",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1000000", HFILL }},
{ &hf_ulp_semiMajor_max,
{ "semiMajor-max", "ulp.semiMajor_max",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1500000", HFILL }},
{ &hf_ulp_semiMinor,
{ "semiMinor", "ulp.semiMinor",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_semiMinor_min,
{ "semiMinor-min", "ulp.semiMinor_min",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1000000", HFILL }},
{ &hf_ulp_semiMinor_max,
{ "semiMinor-max", "ulp.semiMinor_max",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_1500000", HFILL }},
{ &hf_ulp_angle,
{ "angle", "ulp.angle",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_polygonDescription,
{ "polygonDescription", "ulp.polygonDescription",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_polygonHysteresis,
{ "polygonHysteresis", "ulp.polygonHysteresis",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_PolygonDescription_item,
{ "Coordinate", "ulp.Coordinate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal1,
{ "signal1", "ulp.signal1",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal2,
{ "signal2", "ulp.signal2",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal3,
{ "signal3", "ulp.signal3",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal4,
{ "signal4", "ulp.signal4",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal5,
{ "signal5", "ulp.signal5",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal6,
{ "signal6", "ulp.signal6",
FT_BOOLEAN, 8, NULL, 0x04,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal7,
{ "signal7", "ulp.signal7",
FT_BOOLEAN, 8, NULL, 0x02,
NULL, HFILL }},
{ &hf_ulp_GANSSSignals_signal8,
{ "signal8", "ulp.signal8",
FT_BOOLEAN, 8, NULL, 0x01,
NULL, HFILL }},
/*--- End of included file: packet-ulp-hfarr.c ---*/
#line 371 "./asn1/ulp/packet-ulp-template.c"
{ &hf_ulp_mobile_directory_number,
{ "Mobile Directory Number", "ulp.mobile_directory_number",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ulp_ganssTimeModels_bit0,
{ "GPS", "ulp.ganssTimeModels.gps",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x8000,
NULL, HFILL }},
{ &hf_ulp_ganssTimeModels_bit1,
{ "Galileo", "ulp.ganssTimeModels.galileo",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x4000,
NULL, HFILL }},
{ &hf_ulp_ganssTimeModels_bit2,
{ "QZSS", "ulp.ganssTimeModels.qzss",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x2000,
NULL, HFILL }},
{ &hf_ulp_ganssTimeModels_bit3,
{ "GLONASS", "ulp.ganssTimeModels.glonass",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x1000,
NULL, HFILL }},
{ &hf_ulp_ganssTimeModels_bit4,
{ "BDS", "ulp.ganssTimeModels.bds",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0800,
NULL, HFILL }},
{ &hf_ulp_ganssTimeModels_spare,
{ "Spare", "ulp.ganssTimeModels.spare",
FT_UINT16, BASE_HEX, NULL, 0x07ff,
NULL, HFILL }},
};
/* List of subtrees */
static gint *ett[] = {
&ett_ulp,
&ett_ulp_setid,
&ett_ulp_thirdPartyId,
&ett_ulp_ganssTimeModels,
/*--- Included file: packet-ulp-ettarr.c ---*/
#line 1 "./asn1/ulp/packet-ulp-ettarr.c"
&ett_ulp_ULP_PDU,
&ett_ulp_UlpMessage,
&ett_ulp_SUPLINIT,
&ett_ulp_Notification,
&ett_ulp_SUPLSTART,
&ett_ulp_SETCapabilities,
&ett_ulp_PosTechnology,
&ett_ulp_PosProtocol,
&ett_ulp_SUPLRESPONSE,
&ett_ulp_SETAuthKey,
&ett_ulp_SUPLPOSINIT,
&ett_ulp_RequestedAssistData,
&ett_ulp_NavigationModel,
&ett_ulp_SatelliteInfo,
&ett_ulp_SatelliteInfoElement,
&ett_ulp_SUPLPOS,
&ett_ulp_PosPayLoad,
&ett_ulp_SUPLEND,
&ett_ulp_SUPLAUTHREQ,
&ett_ulp_SUPLAUTHRESP,
&ett_ulp_Ver2_SUPLNOTIFY,
&ett_ulp_Ver2_SUPLNOTIFYRESPONSE,
&ett_ulp_Ver2_SUPLSETINIT,
&ett_ulp_Ver2_SUPLTRIGGEREDSTART,
&ett_ulp_TriggerParams,
&ett_ulp_PeriodicParams,
&ett_ulp_AreaEventParams,
&ett_ulp_SEQUENCE_SIZE_1_maxAreaIdList_OF_AreaIdList,
&ett_ulp_RepeatedReportingParams,
&ett_ulp_GeographicTargetAreaList,
&ett_ulp_GeographicTargetArea,
&ett_ulp_AreaIdList,
&ett_ulp_AreaIdSet,
&ett_ulp_AreaId,
&ett_ulp_GSMAreaId,
&ett_ulp_WCDMAAreaId,
&ett_ulp_CDMAAreaId,
&ett_ulp_HRPDAreaId,
&ett_ulp_UMBAreaId,
&ett_ulp_LTEAreaId,
&ett_ulp_WLANAreaId,
&ett_ulp_WimaxAreaId,
&ett_ulp_GeoAreaMappingList,
&ett_ulp_Ver2_SUPLTRIGGEREDRESPONSE,
&ett_ulp_ReportingMode,
&ett_ulp_BatchRepConditions,
&ett_ulp_BatchRepType,
&ett_ulp_Ver2_SUPLREPORT,
&ett_ulp_SessionList,
&ett_ulp_SessionInformation,
&ett_ulp_ReportDataList,
&ett_ulp_ReportData,
&ett_ulp_PositionData,
&ett_ulp_GANSSsignalsInfo,
&ett_ulp_GANSSSignalsDescription,
&ett_ulp_TimeStamp,
&ett_ulp_Ver2_SUPLTRIGGEREDSTOP,
&ett_ulp_Ver2_SUPL_INIT_extension,
&ett_ulp_HistoricReporting,
&ett_ulp_ReportingCriteria,
&ett_ulp_TimeWindow,
&ett_ulp_ProtectionLevel,
&ett_ulp_BasicProtectionParams,
&ett_ulp_Ver2_SUPL_START_extension,
&ett_ulp_Ver2_SUPL_RESPONSE_extension,
&ett_ulp_Ver2_SUPL_POS_INIT_extension,
&ett_ulp_Ver2_SUPL_POS_extension,
&ett_ulp_Ver2_SUPL_END_extension,
&ett_ulp_Ver2_Notification_extension,
&ett_ulp_Ver2_SETCapabilities_extension,
&ett_ulp_ServiceCapabilities,
&ett_ulp_ServicesSupported,
&ett_ulp_EventTriggerCapabilities,
&ett_ulp_GeoAreaShapesSupported,
&ett_ulp_SessionCapabilities,
&ett_ulp_SupportedBearers,
&ett_ulp_Ver2_PosProtocol_extension,
&ett_ulp_PosProtocolVersion3GPP,
&ett_ulp_PosProtocolVersion3GPP2,
&ett_ulp_Supported3GPP2PosProtocolVersion,
&ett_ulp_PosProtocolVersionOMA,
&ett_ulp_Ver2_PosTechnology_extension,
&ett_ulp_GANSSPositionMethods,
&ett_ulp_GANSSPositionMethod,
&ett_ulp_GANSSPositioningMethodTypes,
&ett_ulp_Ver2_RequestedAssistData_extension,
&ett_ulp_GanssRequestedCommonAssistanceDataList,
&ett_ulp_GanssRequestedGenericAssistanceDataList,
&ett_ulp_GanssReqGenericData,
&ett_ulp_GanssNavigationModelData,
&ett_ulp_SatellitesListRelatedDataList,
&ett_ulp_SatellitesListRelatedData,
&ett_ulp_GanssDataBits,
&ett_ulp_ReqDataBitAssistanceList,
&ett_ulp_T_ganssDataBitSatList,
&ett_ulp_GanssAdditionalDataChoices,
&ett_ulp_ExtendedEphemeris,
&ett_ulp_ExtendedEphCheck,
&ett_ulp_GanssExtendedEphCheck,
&ett_ulp_GPSTime,
&ett_ulp_GANSSextEphTime,
&ett_ulp_Ver2_PosPayLoad_extension,
&ett_ulp_T_lPPPayload,
&ett_ulp_T_tia801Payload,
&ett_ulp_Version,
&ett_ulp_SessionID,
&ett_ulp_SetSessionID,
&ett_ulp_SETId,
&ett_ulp_SlpSessionID,
&ett_ulp_IPAddress,
&ett_ulp_SLPAddress,
&ett_ulp_LocationId,
&ett_ulp_CellInfo,
&ett_ulp_Position,
&ett_ulp_PositionEstimate,
&ett_ulp_T_uncertainty,
&ett_ulp_AltitudeInfo,
&ett_ulp_CdmaCellInformation,
&ett_ulp_GsmCellInformation,
&ett_ulp_WcdmaCellInformation,
&ett_ulp_TimingAdvance,
&ett_ulp_FrequencyInfo,
&ett_ulp_FrequencySpecificInfo,
&ett_ulp_FrequencyInfoFDD,
&ett_ulp_FrequencyInfoTDD,
&ett_ulp_NMR,
&ett_ulp_NMRelement,
&ett_ulp_MeasuredResultsList,
&ett_ulp_MeasuredResults,
&ett_ulp_CellMeasuredResultsList,
&ett_ulp_CellMeasuredResults,
&ett_ulp_T_modeSpecificInfo,
&ett_ulp_T_fdd,
&ett_ulp_T_tdd,
&ett_ulp_TimeslotISCP_List,
&ett_ulp_PrimaryCPICH_Info,
&ett_ulp_QoP,
&ett_ulp_Velocity,
&ett_ulp_Horvel,
&ett_ulp_Horandvervel,
&ett_ulp_Horveluncert,
&ett_ulp_Horandveruncert,
&ett_ulp_MultipleLocationIds,
&ett_ulp_LocationIdData,
&ett_ulp_SupportedNetworkInformation,
&ett_ulp_SupportedWLANInfo,
&ett_ulp_SupportedWLANApsList,
&ett_ulp_SEQUENCE_SIZE_1_maxWLANApDataSize_OF_SupportedWLANApData,
&ett_ulp_SupportedWLANApsChannel11a,
&ett_ulp_SupportedWLANApsChannel11bg,
&ett_ulp_SupportedWLANApData,
&ett_ulp_SupportedWCDMAInfo,
&ett_ulp_Ver2_CellInfo_extension,
&ett_ulp_HrpdCellInformation,
&ett_ulp_UmbCellInformation,
&ett_ulp_LteCellInformation,
&ett_ulp_MeasResultListEUTRA,
&ett_ulp_MeasResultEUTRA,
&ett_ulp_T_cgi_Info,
&ett_ulp_T_measResult,
&ett_ulp_CellGlobalIdEUTRA,
&ett_ulp_PLMN_Identity,
&ett_ulp_MCC,
&ett_ulp_MNC,
&ett_ulp_WlanAPInformation,
&ett_ulp_RTD,
&ett_ulp_ReportedLocation,
&ett_ulp_LocationData,
&ett_ulp_RepLocation,
&ett_ulp_LciLocData,
&ett_ulp_LocationDataLCI,
&ett_ulp_WimaxBSInformation,
&ett_ulp_WimaxBsID,
&ett_ulp_WimaxRTD,
&ett_ulp_WimaxNMRList,
&ett_ulp_WimaxNMR,
&ett_ulp_UTRAN_GPSReferenceTimeAssistance,
&ett_ulp_UTRAN_GPSReferenceTime,
&ett_ulp_T_utran_GPSTimingOfCell,
&ett_ulp_T_modeSpecificInfo_01,
&ett_ulp_T_fdd_01,
&ett_ulp_T_tdd_01,
&ett_ulp_UTRAN_GPSReferenceTimeResult,
&ett_ulp_T_set_GPSTimingOfCell,
&ett_ulp_T_modeSpecificInfo_02,
&ett_ulp_T_fdd_02,
&ett_ulp_T_tdd_02,
&ett_ulp_UTRAN_GANSSReferenceTimeAssistance,
&ett_ulp_UTRAN_GANSSReferenceTime,
&ett_ulp_T_modeSpecificInfo_03,
&ett_ulp_T_fdd_03,
&ett_ulp_T_tdd_03,
&ett_ulp_UTRAN_GANSSReferenceTimeResult,
&ett_ulp_SET_GANSSReferenceTime,
&ett_ulp_T_set_GANSSTimingOfCell,
&ett_ulp_T_modeSpecificInfo_04,
&ett_ulp_T_fdd_04,
&ett_ulp_T_tdd_04,
&ett_ulp_GNSSPosTechnology,
&ett_ulp_GANSSSignals,
&ett_ulp_SPCTID,
&ett_ulp_ThirdParty,
&ett_ulp_ThirdPartyID,
&ett_ulp_ApplicationID,
&ett_ulp_ReportingCap,
&ett_ulp_RepMode,
&ett_ulp_BatchRepCap,
&ett_ulp_Coordinate,
&ett_ulp_CircularArea,
&ett_ulp_EllipticalArea,
&ett_ulp_PolygonArea,
&ett_ulp_PolygonDescription,
/*--- End of included file: packet-ulp-ettarr.c ---*/
#line 408 "./asn1/ulp/packet-ulp-template.c"
};
module_t *ulp_module;
/* Register protocol */
proto_ulp = proto_register_protocol(PNAME, PSNAME, PFNAME);
ulp_tcp_handle = register_dissector("ulp", dissect_ulp_tcp, proto_ulp);
/* Register fields and subtrees */
proto_register_field_array(proto_ulp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
ulp_module = prefs_register_protocol(proto_ulp, NULL);
prefs_register_bool_preference(ulp_module, "desegment_ulp_messages",
"Reassemble ULP messages spanning multiple TCP segments",
"Whether the ULP dissector should reassemble messages spanning multiple TCP segments."
" To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
&ulp_desegment);
}
/*--- proto_reg_handoff_ulp ---------------------------------------*/
void
proto_reg_handoff_ulp(void)
{
dissector_handle_t ulp_udp_handle;
dissector_add_string("media_type","application/oma-supl-ulp", ulp_tcp_handle);
dissector_add_string("media_type","application/vnd.omaloc-supl-init", ulp_tcp_handle);
ulp_udp_handle = create_dissector_handle(dissect_ULP_PDU_PDU, proto_ulp);
rrlp_handle = find_dissector_add_dependency("rrlp", proto_ulp);
lpp_handle = find_dissector_add_dependency("lpp", proto_ulp);
dissector_add_uint_with_preference("tcp.port", ULP_PORT, ulp_tcp_handle);
dissector_add_uint_with_preference("udp.port", ULP_PORT, ulp_udp_handle);
}