![Michael Mann](/assets/img/avatar_default.png)
If an ASN.1 dissector is calling register_dissector for itself in its proto_register_xxx function and then calling find_dissector for itself in its proto_reg_handoff_xxx function then just create a static handle for that dissector and use the return value of register_dissector, so the find isn't necessary. Change-Id: I911bdadc2fb4259601c141b955e741a2369cc447 Reviewed-on: https://code.wireshark.org/review/16233 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
10682 lines
411 KiB
C
10682 lines
411 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
|
|
*/
|
|
static guint gbl_ulp_tcp_port = 7275;
|
|
static guint gbl_ulp_udp_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 66 "./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 80 "./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 330 "./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 346 "./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 372 "./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 409 "./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,proto_reg_handoff_ulp);
|
|
|
|
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);
|
|
|
|
/* Register a configuration option for port */
|
|
prefs_register_uint_preference(ulp_module, "tcp.port",
|
|
"ULP TCP Port",
|
|
"Set the TCP port for ULP messages (IANA registered port is 7275)",
|
|
10,
|
|
&gbl_ulp_tcp_port);
|
|
prefs_register_uint_preference(ulp_module, "udp.port",
|
|
"ULP UDP Port",
|
|
"Set the UDP port for ULP messages (IANA registered port is 7275)",
|
|
10,
|
|
&gbl_ulp_udp_port);
|
|
|
|
}
|
|
|
|
|
|
/*--- proto_reg_handoff_ulp ---------------------------------------*/
|
|
void
|
|
proto_reg_handoff_ulp(void)
|
|
{
|
|
static gboolean initialized = FALSE;
|
|
static dissector_handle_t ulp_udp_handle;
|
|
static guint local_ulp_tcp_port, local_ulp_udp_port;
|
|
|
|
if (!initialized) {
|
|
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);
|
|
initialized = TRUE;
|
|
} else {
|
|
dissector_delete_uint("tcp.port", local_ulp_tcp_port, ulp_tcp_handle);
|
|
dissector_delete_uint("udp.port", local_ulp_udp_port, ulp_udp_handle);
|
|
}
|
|
|
|
local_ulp_tcp_port = gbl_ulp_tcp_port;
|
|
dissector_add_uint("tcp.port", gbl_ulp_tcp_port, ulp_tcp_handle);
|
|
local_ulp_udp_port = gbl_ulp_udp_port;
|
|
dissector_add_uint("udp.port", gbl_ulp_udp_port, ulp_udp_handle);
|
|
}
|
|
|