/* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-gsm_map.c */ /* ../../tools/asn2wrs.py -b -e -c gsmmap.cnf -s packet-gsmmap-template ../ros/Remote-Operations-Information-Objects.asn MobileDomainDefinitions.asn MAP-ApplicationContexts.asn MAP-SS-Code.asn MAP-BS-Code.asn MAP-TS-Code.asn MAP-ExtensionDataTypes.asn MAP-CommonDataTypes.asn MAP-SS-DataTypes.asn MAP-ER-DataTypes.asn MAP-SM-DataTypes.asn MAP-OM-DataTypes.asn MAP-MS-DataTypes.asn MAP-CH-DataTypes.asn MAP-LCS-DataTypes.asn MAP-GR-DataTypes.asn MAP-DialogueInformation.asn MAP-LocationServiceOperations.asn MAP-Group-Call-Operations.asn MAP-ShortMessageServiceOperations.asn MAP-SupplementaryServiceOperations.asn MAP-CallHandlingOperations.asn MAP-OperationAndMaintenanceOperations.asn MAP-MobileServiceOperations.asn MAP-Errors.asn MAP-Protocol.asn GSMMAP.asn SS-DataTypes.asn SS-Operations.asn */ /* Input file: packet-gsmmap-template.c */ #line 1 "packet-gsmmap-template.c" /* XXX see bug 1852: * * packet-gsm_map.c: There are 1174 display filter fields registered. Most are * prefixed appropriately as "gsm_map", but many others are prefixed as * "gsm_old", or even "gad", "gsm_ss", or with no prefix at all. I don't know * if the ones with "gsm_old" are simply obsolete display filter fields or if * they should be prefixed as "gsm_map.old." or what. Similar uncertainties * for the others. Someone more knowledgeable than I am with respect to this * dissector should provide a patch for it. */ /* packet-gsm_map-template.c * Routines for GSM MobileApplication packet dissection * including GSM SS. * Copyright 2004 - 2008 , Anders Broman * Based on the dissector by: * Felix Fei * and Michael Lum * * $Id$ * * Wireshark - Network traffic analyzer * By Gerald Combs * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * References GSM MAP: * ETSI TS 129 002 * Updated to ETSI TS 129 002 V7.5.0 (3GPP TS 29.002 V7.5.0 (2006-09) Release 7) * Updated to ETSI TS 129 002 V8.4.0 (3GPP TS 29.002 V8.1.0 (2007-06) Release 8) * References GSM SS * References: 3GPP TS 24.080 */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include #include #include #include #include "epan/expert.h" #include #include #include #include "packet-ber.h" #include "packet-per.h" #include "packet-q931.h" #include "packet-gsm_map.h" #include "packet-gsm_a_common.h" #include "packet-tcap.h" #include "packet-e164.h" #include "packet-e212.h" #include "packet-smpp.h" #include "packet-gsm_sms.h" #include "packet-ranap.h" #define PNAME "GSM Mobile Application" #define PSNAME "GSM_MAP" #define PFNAME "gsm_map" /* Initialize the protocol and registered fields */ int proto_gsm_map = -1; int proto_gsm_map_dialogue = -1; static int hf_gsm_map_old_Component_PDU = -1; static int hf_gsm_map_getPassword = -1; static int hf_gsm_map_currentPassword = -1; static int hf_gsm_map_extension = -1; static int hf_gsm_map_nature_of_number = -1; static int hf_gsm_map_number_plan = -1; static int hf_gsm_map_isdn_address_digits = -1; static int hf_gsm_map_address_digits = -1; static int hf_gsm_map_servicecentreaddress_digits = -1; static int hf_gsm_map_imsi_digits = -1; static int hf_gsm_map_TBCD_digits = -1; static int hf_gsm_map_Ss_Status_unused = -1; static int hf_gsm_map_Ss_Status_q_bit = -1; static int hf_gsm_map_Ss_Status_p_bit = -1; static int hf_gsm_map_Ss_Status_r_bit = -1; static int hf_gsm_map_Ss_Status_a_bit = -1; static int hf_gsm_map_notification_to_forwarding_party = -1; static int hf_gsm_map_redirecting_presentation = -1; static int hf_gsm_map_notification_to_calling_party = -1; static int hf_gsm_map_forwarding_reason = -1; static int hf_gsm_map_pdp_type_org = -1; static int hf_gsm_map_etsi_pdp_type_number = -1; static int hf_gsm_map_ietf_pdp_type_number = -1; static int hf_gsm_map_ext_qos_subscribed_pri = -1; static int hf_gsm_map_qos_traffic_cls = -1; static int hf_gsm_map_qos_del_order = -1; static int hf_gsm_map_qos_del_of_err_sdu = -1; static int hf_gsm_map_qos_ber = -1; static int hf_gsm_map_qos_sdu_err_rat = -1; static int hf_gsm_map_qos_traff_hdl_pri = -1; static int hf_gsm_map_qos_max_sdu = -1; static int hf_gsm_map_max_brate_ulink = -1; static int hf_gsm_map_max_brate_dlink = -1; static int hf_gsm_map_qos_transfer_delay = -1; static int hf_gsm_map_guaranteed_max_brate_ulink = -1; static int hf_gsm_map_guaranteed_max_brate_dlink = -1; static int hf_gsm_map_GSNAddress_IPv4 = -1; static int hf_gsm_map_GSNAddress_IPv6 = -1; static int hf_gsm_map_geo_loc_type_of_shape = -1; static int hf_gsm_map_geo_loc_sign_of_lat = -1; static int hf_gsm_map_geo_loc_deg_of_lat =-1; static int hf_gsm_map_geo_loc_deg_of_long =-1; static int hf_gsm_map_geo_loc_uncertainty_code = -1; static int hf_gsm_map_geo_loc_uncertainty_semi_major = -1; static int hf_gsm_map_geo_loc_uncertainty_semi_minor = -1; static int hf_gsm_map_geo_loc_orientation_of_major_axis = -1; static int hf_gsm_map_geo_loc_uncertainty_altitude = -1; static int hf_gsm_map_geo_loc_confidence = -1; static int hf_gsm_map_geo_loc_no_of_points = -1; static int hf_gsm_map_geo_loc_D = -1; static int hf_gsm_map_geo_loc_altitude = -1; static int hf_gsm_map_geo_loc_inner_radius = -1; static int hf_gsm_map_geo_loc_uncertainty_radius = -1; static int hf_gsm_map_geo_loc_offset_angle = -1; static int hf_gsm_map_geo_loc_included_angle = -1; static int hf_gsm_map_ranap_service_Handover = -1; static int hf_gsm_map_IntegrityProtectionInformation = -1; static int hf_gsm_map_EncryptionInformation = -1; static int hf_gsm_map_PlmnContainer_PDU = -1; static int hf_gsm_map_ss_SS_UserData = -1; static int hf_gsm_map_cbs_coding_grp = -1; static int hf_gsm_map_cbs_coding_grp0_lang = -1; static int hf_gsm_map_cbs_coding_grp1_lang = -1; static int hf_gsm_map_cbs_coding_grp2_lang = -1; static int hf_gsm_map_cbs_coding_grp3_lang = -1; static int hf_gsm_map_cbs_coding_grp4_7_comp = -1; static int hf_gsm_map_cbs_coding_grp4_7_class_ind = -1; static int hf_gsm_map_cbs_coding_grp4_7_char_set = -1; static int hf_gsm_map_cbs_coding_grp4_7_class = -1; static int hf_gsm_map_cbs_coding_grp15_mess_code = -1; static int hf_gsm_map_cbs_coding_grp15_class = -1; /*--- Included file: packet-gsm_map-hf.c ---*/ #line 1 "packet-gsm_map-hf.c" /* --- Module MAP-ExtensionDataTypes --- --- --- */ static int hf_gsm_map_privateExtensionList = -1; /* PrivateExtensionList */ static int hf_gsm_map_pcs_Extensions = -1; /* PCS_Extensions */ static int hf_gsm_map_slr_Arg_PCS_Extensions = -1; /* SLR_Arg_PCS_Extensions */ static int hf_gsm_map_PrivateExtensionList_item = -1; /* PrivateExtension */ static int hf_gsm_map_extId = -1; /* T_extId */ static int hf_gsm_map_extType = -1; /* T_extType */ static int hf_gsm_map_na_ESRK_Request = -1; /* NULL */ /* --- Module MAP-CommonDataTypes --- --- --- */ static int hf_gsm_map_protocolId = -1; /* ProtocolId */ static int hf_gsm_map_signalInfo = -1; /* SignalInfo */ static int hf_gsm_map_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_ext_ProtocolId = -1; /* Ext_ProtocolId */ static int hf_gsm_map_accessNetworkProtocolId = -1; /* AccessNetworkProtocolId */ static int hf_gsm_map_signalInfo_01 = -1; /* LongSignalInfo */ static int hf_gsm_map_imsi = -1; /* IMSI */ static int hf_gsm_map_imsi_WithLMSI = -1; /* IMSI_WithLMSI */ static int hf_gsm_map_lmsi = -1; /* LMSI */ static int hf_gsm_map_tmsi = -1; /* TMSI */ static int hf_gsm_map_HLR_List_item = -1; /* HLR_Id */ static int hf_gsm_map_naea_PreferredCIC = -1; /* NAEA_CIC */ static int hf_gsm_map_msisdn = -1; /* ISDN_AddressString */ static int hf_gsm_map_externalAddress = -1; /* ISDN_AddressString */ static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */ static int hf_gsm_map_laiFixedLength = -1; /* LAIFixedLength */ static int hf_gsm_map_bearerService = -1; /* BearerServiceCode */ static int hf_gsm_map_teleservice = -1; /* TeleserviceCode */ static int hf_gsm_map_ext_BearerService = -1; /* Ext_BearerServiceCode */ static int hf_gsm_map_ext_Teleservice = -1; /* Ext_TeleserviceCode */ static int hf_gsm_map_maximumentitledPriority = -1; /* EMLPP_Priority */ static int hf_gsm_map_defaultPriority = -1; /* EMLPP_Priority */ static int hf_gsm_map_ss_Code = -1; /* SS_Code */ static int hf_gsm_map_ss_Status = -1; /* Ext_SS_Status */ static int hf_gsm_map_nbrSB = -1; /* MaxMC_Bearers */ static int hf_gsm_map_nbrUser = -1; /* MC_Bearers */ /* --- Module MAP-SS-DataTypes --- --- --- */ static int hf_gsm_map_ss_ss_Code = -1; /* SS_Code */ static int hf_gsm_map_ss_basicService = -1; /* BasicServiceCode */ static int hf_gsm_map_ss_forwardedToNumber = -1; /* AddressString */ static int hf_gsm_map_ss_forwardedToSubaddress = -1; /* ISDN_SubaddressString */ static int hf_gsm_map_ss_noReplyConditionTime = -1; /* NoReplyConditionTime */ static int hf_gsm_map_ss_defaultPriority = -1; /* EMLPP_Priority */ static int hf_gsm_map_ss_nbrUser = -1; /* MC_Bearers */ static int hf_gsm_map_ss_longFTN_Supported = -1; /* NULL */ static int hf_gsm_map_ss_forwardingInfo = -1; /* ForwardingInfo */ static int hf_gsm_map_ss_callBarringInfo = -1; /* CallBarringInfo */ static int hf_gsm_map_ss_ss_Data = -1; /* SS_Data */ static int hf_gsm_map_ss_forwardingFeatureList = -1; /* ForwardingFeatureList */ static int hf_gsm_map_ss_ForwardingFeatureList_item = -1; /* ForwardingFeature */ static int hf_gsm_map_ss_ss_Status = -1; /* SS_Status */ static int hf_gsm_map_ss_forwardedToNumber_01 = -1; /* ISDN_AddressString */ static int hf_gsm_map_ss_forwardingOptions = -1; /* ForwardingOptions */ static int hf_gsm_map_ss_longForwardedToNumber = -1; /* FTN_AddressString */ static int hf_gsm_map_ss_callBarringFeatureList = -1; /* CallBarringFeatureList */ static int hf_gsm_map_ss_CallBarringFeatureList_item = -1; /* CallBarringFeature */ static int hf_gsm_map_ss_ss_SubscriptionOption = -1; /* SS_SubscriptionOption */ static int hf_gsm_map_ss_basicServiceGroupList = -1; /* BasicServiceGroupList */ static int hf_gsm_map_ss_cliRestrictionOption = -1; /* CliRestrictionOption */ static int hf_gsm_map_ss_overrideCategory = -1; /* OverrideCategory */ static int hf_gsm_map_ss_maximumEntitledPriority = -1; /* EMLPP_Priority */ static int hf_gsm_map_ss_ccbs_FeatureList = -1; /* CCBS_FeatureList */ static int hf_gsm_map_ss_nbrSB = -1; /* MaxMC_Bearers */ static int hf_gsm_map_ss_nbrSN = -1; /* MC_Bearers */ static int hf_gsm_map_ss_CCBS_FeatureList_item = -1; /* CCBS_Feature */ static int hf_gsm_map_ss_ccbs_Index = -1; /* CCBS_Index */ static int hf_gsm_map_ss_b_subscriberNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_ss_b_subscriberSubaddress = -1; /* ISDN_SubaddressString */ static int hf_gsm_map_ss_basicServiceGroup = -1; /* BasicServiceCode */ static int hf_gsm_map_ss_genericServiceInfo = -1; /* GenericServiceInfo */ static int hf_gsm_map_ss_ussd_DataCodingScheme = -1; /* USSD_DataCodingScheme */ static int hf_gsm_map_ss_ussd_String = -1; /* USSD_String */ static int hf_gsm_map_ss_alertingPattern = -1; /* AlertingPattern */ static int hf_gsm_map_ss_msisdn = -1; /* ISDN_AddressString */ static int hf_gsm_map_ss_SS_List_item = -1; /* SS_Code */ static int hf_gsm_map_ss_SS_InfoList_item = -1; /* SS_Info */ static int hf_gsm_map_ss_BasicServiceGroupList_item = -1; /* BasicServiceCode */ static int hf_gsm_map_ss_imsi = -1; /* IMSI */ static int hf_gsm_map_ss_ss_Event = -1; /* SS_Code */ static int hf_gsm_map_ss_ss_EventSpecification = -1; /* SS_EventSpecification */ static int hf_gsm_map_ss_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_ss_ccbs_RequestState = -1; /* CCBS_RequestState */ static int hf_gsm_map_ss_SS_EventSpecification_item = -1; /* AddressString */ static int hf_gsm_map_ss_ccbs_Data = -1; /* CCBS_Data */ static int hf_gsm_map_ss_ccbs_Feature = -1; /* CCBS_Feature */ static int hf_gsm_map_ss_translatedB_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ss_serviceIndicator = -1; /* ServiceIndicator */ static int hf_gsm_map_ss_callInfo = -1; /* ExternalSignalInfo */ static int hf_gsm_map_ss_networkSignalInfo = -1; /* ExternalSignalInfo */ /* named bits */ static int hf_gsm_map_ss_ServiceIndicator_clir_invoked = -1; static int hf_gsm_map_ss_ServiceIndicator_camel_invoked = -1; /* --- Module MAP-ER-DataTypes --- --- --- */ static int hf_gsm_map_er_roamingNotAllowedCause = -1; /* RoamingNotAllowedCause */ static int hf_gsm_map_er_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_er_additionalRoamingNotAllowedCause = -1; /* AdditionalRoamingNotAllowedCause */ static int hf_gsm_map_er_callBarringCause = -1; /* CallBarringCause */ static int hf_gsm_map_er_extensibleCallBarredParam = -1; /* ExtensibleCallBarredParam */ static int hf_gsm_map_er_unauthorisedMessageOriginator = -1; /* NULL */ static int hf_gsm_map_er_cug_RejectCause = -1; /* CUG_RejectCause */ static int hf_gsm_map_er_ss_Code = -1; /* SS_Code */ static int hf_gsm_map_er_basicService = -1; /* BasicServiceCode */ static int hf_gsm_map_er_ss_Status = -1; /* SS_Status */ static int hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause = -1; /* SM_EnumeratedDeliveryFailureCause */ static int hf_gsm_map_er_diagnosticInfo = -1; /* SignalInfo */ static int hf_gsm_map_er_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */ static int hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */ static int hf_gsm_map_er_networkResource = -1; /* NetworkResource */ static int hf_gsm_map_er_extensibleSystemFailureParam = -1; /* ExtensibleSystemFailureParam */ static int hf_gsm_map_er_additionalNetworkResource = -1; /* AdditionalNetworkResource */ static int hf_gsm_map_er_failureCauseParam = -1; /* FailureCauseParam */ static int hf_gsm_map_er_shapeOfLocationEstimateNotSupported = -1; /* NULL */ static int hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode = -1; /* NULL */ static int hf_gsm_map_er_unknownSubscriberDiagnostic = -1; /* UnknownSubscriberDiagnostic */ static int hf_gsm_map_er_absentSubscriberReason = -1; /* AbsentSubscriberReason */ static int hf_gsm_map_er_ccbs_Possible = -1; /* NULL */ static int hf_gsm_map_er_ccbs_Busy = -1; /* NULL */ static int hf_gsm_map_er_gprsConnectionSuspended = -1; /* NULL */ static int hf_gsm_map_er_unauthorizedLCSClient_Diagnostic = -1; /* UnauthorizedLCSClient_Diagnostic */ static int hf_gsm_map_er_positionMethodFailure_Diagnostic = -1; /* PositionMethodFailure_Diagnostic */ /* --- Module MAP-SM-DataTypes --- --- --- */ static int hf_gsm_map_sm_msisdn = -1; /* ISDN_AddressString */ static int hf_gsm_map_sm_sm_RP_PRI = -1; /* BOOLEAN */ static int hf_gsm_map_sm_serviceCentreAddress = -1; /* AddressString */ static int hf_gsm_map_sm_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_sm_gprsSupportIndicator = -1; /* NULL */ static int hf_gsm_map_sm_sm_RP_MTI = -1; /* SM_RP_MTI */ static int hf_gsm_map_sm_sm_RP_SMEA = -1; /* SM_RP_SMEA */ static int hf_gsm_map_sm_sm_deliveryNotIntended = -1; /* SM_DeliveryNotIntended */ static int hf_gsm_map_sm_imsi = -1; /* IMSI */ static int hf_gsm_map_sm_locationInfoWithLMSI = -1; /* LocationInfoWithLMSI */ static int hf_gsm_map_sm_networkNode_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_sm_lmsi = -1; /* LMSI */ static int hf_gsm_map_sm_gprsNodeIndicator = -1; /* NULL */ static int hf_gsm_map_sm_additional_Number = -1; /* Additional_Number */ static int hf_gsm_map_sm_msc_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_sm_sgsn_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_sm_sm_RP_DA = -1; /* SM_RP_DA */ static int hf_gsm_map_sm_sm_RP_OA = -1; /* SM_RP_OA */ static int hf_gsm_map_sm_sm_RP_UI = -1; /* SignalInfo */ static int hf_gsm_map_sm_moreMessagesToSend = -1; /* NULL */ static int hf_gsm_map_sm_serviceCentreAddressDA = -1; /* AddressString */ static int hf_gsm_map_sm_noSM_RP_DA = -1; /* NULL */ static int hf_gsm_map_sm_msisdn_01 = -1; /* T_msisdn */ static int hf_gsm_map_sm_serviceCentreAddressOA = -1; /* T_serviceCentreAddressOA */ static int hf_gsm_map_sm_noSM_RP_OA = -1; /* NULL */ static int hf_gsm_map_sm_sm_DeliveryOutcome = -1; /* SM_DeliveryOutcome */ static int hf_gsm_map_sm_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */ static int hf_gsm_map_sm_deliveryOutcomeIndicator = -1; /* NULL */ static int hf_gsm_map_sm_additionalSM_DeliveryOutcome = -1; /* SM_DeliveryOutcome */ static int hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */ static int hf_gsm_map_sm_ip_sm_gw_Indicator = -1; /* NULL */ static int hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome = -1; /* SM_DeliveryOutcome */ static int hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */ static int hf_gsm_map_sm_storedMSISDN = -1; /* ISDN_AddressString */ static int hf_gsm_map_sm_mw_Status = -1; /* MW_Status */ static int hf_gsm_map_sm_alertReason = -1; /* AlertReason */ static int hf_gsm_map_sm_alertReasonIndicator = -1; /* NULL */ static int hf_gsm_map_sm_additionalAlertReasonIndicator = -1; /* NULL */ static int hf_gsm_map_sm_asciCallReference = -1; /* ASCI_CallReference */ static int hf_gsm_map_sm_dispatcherList = -1; /* DispatcherList */ static int hf_gsm_map_sm_ongoingCall = -1; /* NULL */ static int hf_gsm_map_sm_DispatcherList_item = -1; /* ISDN_AddressString */ /* named bits */ static int hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded = -1; static int hf_gsm_map_sm_MW_Status_mnrf_Set = -1; static int hf_gsm_map_sm_MW_Status_mcef_Set = -1; static int hf_gsm_map_sm_MW_Status_mnrg_Set = -1; /* --- Module MAP-OM-DataTypes --- --- --- */ static int hf_gsm_map_om_imsi = -1; /* IMSI */ static int hf_gsm_map_om_traceReference = -1; /* TraceReference */ static int hf_gsm_map_om_traceType = -1; /* TraceType */ static int hf_gsm_map_om_omc_Id = -1; /* AddressString */ static int hf_gsm_map_om_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_om_traceReference2 = -1; /* TraceReference2 */ static int hf_gsm_map_om_traceDepthList = -1; /* TraceDepthList */ static int hf_gsm_map_om_traceNE_TypeList = -1; /* TraceNE_TypeList */ static int hf_gsm_map_om_traceInterfaceList = -1; /* TraceInterfaceList */ static int hf_gsm_map_om_traceEventList = -1; /* TraceEventList */ static int hf_gsm_map_om_msc_s_TraceDepth = -1; /* TraceDepth */ static int hf_gsm_map_om_mgw_TraceDepth = -1; /* TraceDepth */ static int hf_gsm_map_om_sgsn_TraceDepth = -1; /* TraceDepth */ static int hf_gsm_map_om_ggsn_TraceDepth = -1; /* TraceDepth */ static int hf_gsm_map_om_rnc_TraceDepth = -1; /* TraceDepth */ static int hf_gsm_map_om_bmsc_TraceDepth = -1; /* TraceDepth */ static int hf_gsm_map_om_msc_s_List = -1; /* MSC_S_InterfaceList */ static int hf_gsm_map_om_mgw_List = -1; /* MGW_InterfaceList */ static int hf_gsm_map_om_sgsn_List = -1; /* SGSN_InterfaceList */ static int hf_gsm_map_om_ggsn_List = -1; /* GGSN_InterfaceList */ static int hf_gsm_map_om_rnc_List = -1; /* RNC_InterfaceList */ static int hf_gsm_map_om_bmsc_List = -1; /* BMSC_InterfaceList */ static int hf_gsm_map_om_msc_s_List_01 = -1; /* MSC_S_EventList */ static int hf_gsm_map_om_mgw_List_01 = -1; /* MGW_EventList */ static int hf_gsm_map_om_sgsn_List_01 = -1; /* SGSN_EventList */ static int hf_gsm_map_om_ggsn_List_01 = -1; /* GGSN_EventList */ static int hf_gsm_map_om_bmsc_List_01 = -1; /* BMSC_EventList */ static int hf_gsm_map_om_traceRecordingSessionReference = -1; /* TraceRecordingSessionReference */ static int hf_gsm_map_om_rnc_InterfaceList = -1; /* RNC_InterfaceList */ static int hf_gsm_map_om_msc_s_InterfaceList = -1; /* MSC_S_InterfaceList */ static int hf_gsm_map_om_msc_s_EventList = -1; /* MSC_S_EventList */ static int hf_gsm_map_om_mgw_InterfaceList = -1; /* MGW_InterfaceList */ static int hf_gsm_map_om_mgw_EventList = -1; /* MGW_EventList */ static int hf_gsm_map_om_traceSupportIndicator = -1; /* NULL */ /* named bits */ static int hf_gsm_map_om_TraceNE_TypeList_msc_s = -1; static int hf_gsm_map_om_TraceNE_TypeList_mgw = -1; static int hf_gsm_map_om_TraceNE_TypeList_sgsn = -1; static int hf_gsm_map_om_TraceNE_TypeList_ggsn = -1; static int hf_gsm_map_om_TraceNE_TypeList_rnc = -1; static int hf_gsm_map_om_TraceNE_TypeList_bm_sc = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_a = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_iu = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_mc = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_map_g = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_map_b = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_map_e = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_map_f = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_cap = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_map_d = -1; static int hf_gsm_map_om_MSC_S_InterfaceList_map_c = -1; static int hf_gsm_map_om_MGW_InterfaceList_mc = -1; static int hf_gsm_map_om_MGW_InterfaceList_nb_up = -1; static int hf_gsm_map_om_MGW_InterfaceList_iu_up = -1; static int hf_gsm_map_om_SGSN_InterfaceList_gb = -1; static int hf_gsm_map_om_SGSN_InterfaceList_iu = -1; static int hf_gsm_map_om_SGSN_InterfaceList_gn = -1; static int hf_gsm_map_om_SGSN_InterfaceList_map_gr = -1; static int hf_gsm_map_om_SGSN_InterfaceList_map_gd = -1; static int hf_gsm_map_om_SGSN_InterfaceList_map_gf = -1; static int hf_gsm_map_om_SGSN_InterfaceList_gs = -1; static int hf_gsm_map_om_SGSN_InterfaceList_ge = -1; static int hf_gsm_map_om_GGSN_InterfaceList_gn = -1; static int hf_gsm_map_om_GGSN_InterfaceList_gi = -1; static int hf_gsm_map_om_GGSN_InterfaceList_gmb = -1; static int hf_gsm_map_om_RNC_InterfaceList_iu = -1; static int hf_gsm_map_om_RNC_InterfaceList_iur = -1; static int hf_gsm_map_om_RNC_InterfaceList_iub = -1; static int hf_gsm_map_om_RNC_InterfaceList_uu = -1; static int hf_gsm_map_om_BMSC_InterfaceList_gmb = -1; static int hf_gsm_map_om_MSC_S_EventList_mo_mtCall = -1; static int hf_gsm_map_om_MSC_S_EventList_mo_mt_sms = -1; static int hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach = -1; static int hf_gsm_map_om_MSC_S_EventList_handovers = -1; static int hf_gsm_map_om_MSC_S_EventList_ss = -1; static int hf_gsm_map_om_MGW_EventList_context = -1; static int hf_gsm_map_om_SGSN_EventList_pdpContext = -1; static int hf_gsm_map_om_SGSN_EventList_mo_mt_sms = -1; static int hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach = -1; static int hf_gsm_map_om_SGSN_EventList_mbmsContext = -1; static int hf_gsm_map_om_GGSN_EventList_pdpContext = -1; static int hf_gsm_map_om_GGSN_EventList_mbmsContext = -1; static int hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation = -1; /* --- Module MAP-MS-DataTypes --- --- --- */ static int hf_gsm_map_ms_imsi = -1; /* IMSI */ static int hf_gsm_map_ms_msc_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_vlr_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_lmsi = -1; /* LMSI */ static int hf_gsm_map_ms_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_ms_vlr_Capability = -1; /* VLR_Capability */ static int hf_gsm_map_ms_informPreviousNetworkEntity = -1; /* NULL */ static int hf_gsm_map_ms_cs_LCS_NotSupportedByUE = -1; /* NULL */ static int hf_gsm_map_ms_v_gmlc_Address = -1; /* GSN_Address */ static int hf_gsm_map_ms_add_info = -1; /* ADD_Info */ static int hf_gsm_map_ms_supportedCamelPhases = -1; /* SupportedCamelPhases */ static int hf_gsm_map_ms_solsaSupportIndicator = -1; /* NULL */ static int hf_gsm_map_ms_istSupportIndicator = -1; /* IST_SupportIndicator */ static int hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity = -1; /* SuperChargerInfo */ static int hf_gsm_map_ms_longFTN_Supported = -1; /* NULL */ static int hf_gsm_map_ms_supportedLCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */ static int hf_gsm_map_ms_offeredCamel4CSIs = -1; /* OfferedCamel4CSIs */ static int hf_gsm_map_ms_supportedRAT_TypesIndicator = -1; /* SupportedRAT_Types */ static int hf_gsm_map_ms_longGroupID_Supported = -1; /* NULL */ static int hf_gsm_map_ms_sendSubscriberData = -1; /* NULL */ static int hf_gsm_map_ms_subscriberDataStored = -1; /* AgeIndicator */ static int hf_gsm_map_ms_hlr_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_add_Capability = -1; /* NULL */ static int hf_gsm_map_ms_imeisv = -1; /* IMEI */ static int hf_gsm_map_ms_skipSubscriberDataUpdate = -1; /* NULL */ static int hf_gsm_map_ms_identity = -1; /* Identity */ static int hf_gsm_map_ms_cancellationType = -1; /* CancellationType */ static int hf_gsm_map_ms_sgsn_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_freezeTMSI = -1; /* NULL */ static int hf_gsm_map_ms_freezeP_TMSI = -1; /* NULL */ static int hf_gsm_map_ms_tmsi = -1; /* TMSI */ static int hf_gsm_map_ms_numberOfRequestedVectors = -1; /* NumberOfRequestedVectors */ static int hf_gsm_map_ms_segmentationProhibited = -1; /* NULL */ static int hf_gsm_map_ms_previous_LAI = -1; /* LAIFixedLength */ static int hf_gsm_map_ms_hopCounter = -1; /* HopCounter */ static int hf_gsm_map_ms_authenticationSetList = -1; /* AuthenticationSetList */ static int hf_gsm_map_ms_currentSecurityContext = -1; /* CurrentSecurityContext */ static int hf_gsm_map_ms_tripletList = -1; /* TripletList */ static int hf_gsm_map_ms_quintupletList = -1; /* QuintupletList */ static int hf_gsm_map_ms_TripletList_item = -1; /* AuthenticationTriplet */ static int hf_gsm_map_ms_QuintupletList_item = -1; /* AuthenticationQuintuplet */ static int hf_gsm_map_ms_rand = -1; /* RAND */ static int hf_gsm_map_ms_sres = -1; /* SRES */ static int hf_gsm_map_ms_kc = -1; /* Kc */ static int hf_gsm_map_ms_xres = -1; /* XRES */ static int hf_gsm_map_ms_ck = -1; /* CK */ static int hf_gsm_map_ms_ik = -1; /* IK */ static int hf_gsm_map_ms_autn = -1; /* AUTN */ static int hf_gsm_map_ms_gsm_SecurityContextData = -1; /* GSM_SecurityContextData */ static int hf_gsm_map_ms_umts_SecurityContextData = -1; /* UMTS_SecurityContextData */ static int hf_gsm_map_ms_cksn = -1; /* Cksn */ static int hf_gsm_map_ms_ksi = -1; /* KSI */ static int hf_gsm_map_ms_failureCause = -1; /* FailureCause */ static int hf_gsm_map_ms_re_attempt = -1; /* BOOLEAN */ static int hf_gsm_map_ms_accessType = -1; /* AccessType */ static int hf_gsm_map_ms_sgsn_Address = -1; /* GSN_Address */ static int hf_gsm_map_ms_sgsn_Capability = -1; /* SGSN_Capability */ static int hf_gsm_map_ms_ps_LCS_NotSupportedByUE = -1; /* NULL */ static int hf_gsm_map_ms_gprsEnhancementsSupportIndicator = -1; /* NULL */ static int hf_gsm_map_ms_smsCallBarringSupportIndicator = -1; /* NULL */ static int hf_gsm_map_ms_an_APDU = -1; /* AccessNetworkSignalInfo */ static int hf_gsm_map_ms_integrityProtectionInfo = -1; /* IntegrityProtectionInformation */ static int hf_gsm_map_ms_encryptionInfo = -1; /* EncryptionInformation */ static int hf_gsm_map_ms_keyStatus = -1; /* KeyStatus */ static int hf_gsm_map_ms_allowedGSM_Algorithms = -1; /* AllowedGSM_Algorithms */ static int hf_gsm_map_ms_allowedUMTS_Algorithms = -1; /* AllowedUMTS_Algorithms */ static int hf_gsm_map_ms_radioResourceInformation = -1; /* RadioResourceInformation */ static int hf_gsm_map_ms_radioResourceList = -1; /* RadioResourceList */ static int hf_gsm_map_ms_bssmap_ServiceHandover = -1; /* BSSMAP_ServiceHandover */ static int hf_gsm_map_ms_ranap_ServiceHandover = -1; /* RANAP_ServiceHandover */ static int hf_gsm_map_ms_bssmap_ServiceHandoverList = -1; /* BSSMAP_ServiceHandoverList */ static int hf_gsm_map_ms_currentlyUsedCodec = -1; /* Codec */ static int hf_gsm_map_ms_iuSupportedCodecsList = -1; /* SupportedCodecsList */ static int hf_gsm_map_ms_rab_ConfigurationIndicator = -1; /* NULL */ static int hf_gsm_map_ms_iuSelectedCodec = -1; /* Codec */ static int hf_gsm_map_ms_alternativeChannelType = -1; /* RadioResourceInformation */ static int hf_gsm_map_ms_tracePropagationList = -1; /* TracePropagationList */ static int hf_gsm_map_ms_integrityProtectionAlgorithms = -1; /* PermittedIntegrityProtectionAlgorithms */ static int hf_gsm_map_ms_encryptionAlgorithms = -1; /* PermittedEncryptionAlgorithms */ static int hf_gsm_map_ms_targetCellId = -1; /* GlobalCellId */ static int hf_gsm_map_ms_ho_NumberNotRequired = -1; /* NULL */ static int hf_gsm_map_ms_targetRNCId = -1; /* RNCId */ static int hf_gsm_map_ms_multipleBearerRequested = -1; /* NULL */ static int hf_gsm_map_ms_rab_Id = -1; /* RAB_Id */ static int hf_gsm_map_ms_asciCallReference = -1; /* ASCI_CallReference */ static int hf_gsm_map_ms_geran_classmark = -1; /* GERAN_Classmark */ static int hf_gsm_map_ms_iuCurrentlyUsedCodec = -1; /* Codec */ static int hf_gsm_map_ms_uesbi_Iu = -1; /* UESBI_Iu */ static int hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item = -1; /* BSSMAP_ServiceHandoverInfo */ static int hf_gsm_map_ms_RadioResourceList_item = -1; /* RadioResource */ static int hf_gsm_map_ms_handoverNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_relocationNumberList = -1; /* RelocationNumberList */ static int hf_gsm_map_ms_multicallBearerInfo = -1; /* MulticallBearerInfo */ static int hf_gsm_map_ms_multipleBearerNotSupported = -1; /* NULL */ static int hf_gsm_map_ms_selectedUMTS_Algorithms = -1; /* SelectedUMTS_Algorithms */ static int hf_gsm_map_ms_chosenRadioResourceInformation = -1; /* ChosenRadioResourceInformation */ static int hf_gsm_map_ms_iuAvailableCodecsList = -1; /* CodecList */ static int hf_gsm_map_ms_integrityProtectionAlgorithm = -1; /* ChosenIntegrityProtectionAlgorithm */ static int hf_gsm_map_ms_encryptionAlgorithm = -1; /* ChosenEncryptionAlgorithm */ static int hf_gsm_map_ms_chosenChannelInfo = -1; /* ChosenChannelInfo */ static int hf_gsm_map_ms_chosenSpeechVersion = -1; /* ChosenSpeechVersion */ static int hf_gsm_map_ms_targetMSC_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_selectedRab_Id = -1; /* RAB_Id */ static int hf_gsm_map_ms_selectedGSM_Algorithm = -1; /* SelectedGSM_Algorithm */ static int hf_gsm_map_ms_iUSelectedCodec = -1; /* Codec */ static int hf_gsm_map_ms_utranCodecList = -1; /* CodecList */ static int hf_gsm_map_ms_geranCodecList = -1; /* CodecList */ static int hf_gsm_map_ms_codec1 = -1; /* Codec */ static int hf_gsm_map_ms_codec2 = -1; /* Codec */ static int hf_gsm_map_ms_codec3 = -1; /* Codec */ static int hf_gsm_map_ms_codec4 = -1; /* Codec */ static int hf_gsm_map_ms_codec5 = -1; /* Codec */ static int hf_gsm_map_ms_codec6 = -1; /* Codec */ static int hf_gsm_map_ms_codec7 = -1; /* Codec */ static int hf_gsm_map_ms_codec8 = -1; /* Codec */ static int hf_gsm_map_ms_RelocationNumberList_item = -1; /* RelocationNumber */ static int hf_gsm_map_ms_immediateResponsePreferred = -1; /* NULL */ static int hf_gsm_map_ms_re_synchronisationInfo = -1; /* Re_synchronisationInfo */ static int hf_gsm_map_ms_requestingNodeType = -1; /* RequestingNodeType */ static int hf_gsm_map_ms_requestingPLMN_Id = -1; /* PLMN_Id */ static int hf_gsm_map_ms_auts = -1; /* AUTS */ static int hf_gsm_map_ms_imei = -1; /* IMEI */ static int hf_gsm_map_ms_requestedEquipmentInfo = -1; /* RequestedEquipmentInfo */ static int hf_gsm_map_ms_equipmentStatus = -1; /* EquipmentStatus */ static int hf_gsm_map_ms_bmuef = -1; /* UESBI_Iu */ static int hf_gsm_map_ms_uesbi_IuA = -1; /* UESBI_IuA */ static int hf_gsm_map_ms_uesbi_IuB = -1; /* UESBI_IuB */ static int hf_gsm_map_ms_gmlc_List = -1; /* GMLC_List */ static int hf_gsm_map_ms_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */ static int hf_gsm_map_ms_molr_List = -1; /* MOLR_List */ static int hf_gsm_map_ms_add_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */ static int hf_gsm_map_ms_GMLC_List_item = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_GPRSDataList_item = -1; /* PDP_Context */ static int hf_gsm_map_ms_pdp_ContextId = -1; /* ContextId */ static int hf_gsm_map_ms_pdp_Type = -1; /* PDP_Type */ static int hf_gsm_map_ms_pdp_Address = -1; /* PDP_Address */ static int hf_gsm_map_ms_qos_Subscribed = -1; /* QoS_Subscribed */ static int hf_gsm_map_ms_vplmnAddressAllowed = -1; /* NULL */ static int hf_gsm_map_ms_apn = -1; /* APN */ static int hf_gsm_map_ms_ext_QoS_Subscribed = -1; /* Ext_QoS_Subscribed */ static int hf_gsm_map_ms_pdp_ChargingCharacteristics = -1; /* ChargingCharacteristics */ static int hf_gsm_map_ms_ext2_QoS_Subscribed = -1; /* Ext2_QoS_Subscribed */ static int hf_gsm_map_ms_ext3_QoS_Subscribed = -1; /* Ext3_QoS_Subscribed */ static int hf_gsm_map_ms_completeDataListIncluded = -1; /* NULL */ static int hf_gsm_map_ms_gprsDataList = -1; /* GPRSDataList */ static int hf_gsm_map_ms_gprs_CSI = -1; /* GPRS_CSI */ static int hf_gsm_map_ms_mo_sms_CSI = -1; /* SMS_CSI */ static int hf_gsm_map_ms_mt_sms_CSI = -1; /* SMS_CSI */ static int hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList = -1; /* MT_smsCAMELTDP_CriteriaList */ static int hf_gsm_map_ms_mg_csi = -1; /* MG_CSI */ static int hf_gsm_map_ms_gprs_CamelTDPDataList = -1; /* GPRS_CamelTDPDataList */ static int hf_gsm_map_ms_camelCapabilityHandling = -1; /* CamelCapabilityHandling */ static int hf_gsm_map_ms_notificationToCSE = -1; /* NULL */ static int hf_gsm_map_ms_csi_Active = -1; /* NULL */ static int hf_gsm_map_ms_GPRS_CamelTDPDataList_item = -1; /* GPRS_CamelTDPData */ static int hf_gsm_map_ms_gprs_TriggerDetectionPoint = -1; /* GPRS_TriggerDetectionPoint */ static int hf_gsm_map_ms_serviceKey = -1; /* ServiceKey */ static int hf_gsm_map_ms_gsmSCF_Address = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_defaultSessionHandling = -1; /* DefaultGPRS_Handling */ static int hf_gsm_map_ms_LSADataList_item = -1; /* LSAData */ static int hf_gsm_map_ms_lsaIdentity = -1; /* LSAIdentity */ static int hf_gsm_map_ms_lsaAttributes = -1; /* LSAAttributes */ static int hf_gsm_map_ms_lsaActiveModeIndicator = -1; /* NULL */ static int hf_gsm_map_ms_lsaOnlyAccessIndicator = -1; /* LSAOnlyAccessIndicator */ static int hf_gsm_map_ms_lsaDataList = -1; /* LSADataList */ static int hf_gsm_map_ms_msisdn = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_category = -1; /* Category */ static int hf_gsm_map_ms_subscriberStatus = -1; /* SubscriberStatus */ static int hf_gsm_map_ms_bearerServiceList = -1; /* BearerServiceList */ static int hf_gsm_map_ms_teleserviceList = -1; /* TeleserviceList */ static int hf_gsm_map_ms_provisionedSS = -1; /* Ext_SS_InfoList */ static int hf_gsm_map_ms_odb_Data = -1; /* ODB_Data */ static int hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature = -1; /* NULL */ static int hf_gsm_map_ms_regionalSubscriptionData = -1; /* ZoneCodeList */ static int hf_gsm_map_ms_vbsSubscriptionData = -1; /* VBSDataList */ static int hf_gsm_map_ms_vgcsSubscriptionData = -1; /* VGCSDataList */ static int hf_gsm_map_ms_vlrCamelSubscriptionInfo = -1; /* VlrCamelSubscriptionInfo */ static int hf_gsm_map_ms_BearerServiceList_item = -1; /* Ext_BearerServiceCode */ static int hf_gsm_map_ms_TeleserviceList_item = -1; /* Ext_TeleserviceCode */ static int hf_gsm_map_ms_odb_GeneralData = -1; /* ODB_GeneralData */ static int hf_gsm_map_ms_odb_HPLMN_Data = -1; /* ODB_HPLMN_Data */ static int hf_gsm_map_ms_Ext_SS_InfoList_item = -1; /* Ext_SS_Info */ static int hf_gsm_map_ms_forwardingInfo = -1; /* Ext_ForwInfo */ static int hf_gsm_map_ms_callBarringInfo = -1; /* Ext_CallBarInfo */ static int hf_gsm_map_ms_cug_Info = -1; /* CUG_Info */ static int hf_gsm_map_ms_ss_Data = -1; /* Ext_SS_Data */ static int hf_gsm_map_ms_emlpp_Info = -1; /* EMLPP_Info */ static int hf_gsm_map_ms_ss_Code = -1; /* SS_Code */ static int hf_gsm_map_ms_forwardingFeatureList = -1; /* Ext_ForwFeatureList */ static int hf_gsm_map_ms_Ext_ForwFeatureList_item = -1; /* Ext_ForwFeature */ static int hf_gsm_map_ms_basicService = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ms_ss_Status = -1; /* Ext_SS_Status */ static int hf_gsm_map_ms_forwardedToNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_forwardedToSubaddress = -1; /* ISDN_SubaddressString */ static int hf_gsm_map_ms_forwardingOptions = -1; /* T_forwardingOptions */ static int hf_gsm_map_ms_noReplyConditionTime = -1; /* Ext_NoRepCondTime */ static int hf_gsm_map_ms_longForwardedToNumber = -1; /* FTN_AddressString */ static int hf_gsm_map_ms_callBarringFeatureList = -1; /* Ext_CallBarFeatureList */ static int hf_gsm_map_ms_Ext_CallBarFeatureList_item = -1; /* Ext_CallBarringFeature */ static int hf_gsm_map_ms_cug_SubscriptionList = -1; /* CUG_SubscriptionList */ static int hf_gsm_map_ms_cug_FeatureList = -1; /* CUG_FeatureList */ static int hf_gsm_map_ms_CUG_SubscriptionList_item = -1; /* CUG_Subscription */ static int hf_gsm_map_ms_cug_Index = -1; /* CUG_Index */ static int hf_gsm_map_ms_cug_Interlock = -1; /* CUG_Interlock */ static int hf_gsm_map_ms_intraCUG_Options = -1; /* IntraCUG_Options */ static int hf_gsm_map_ms_basicServiceGroupList = -1; /* Ext_BasicServiceGroupList */ static int hf_gsm_map_ms_CUG_FeatureList_item = -1; /* CUG_Feature */ static int hf_gsm_map_ms_Ext_BasicServiceGroupList_item = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ms_preferentialCUG_Indicator = -1; /* CUG_Index */ static int hf_gsm_map_ms_interCUG_Restrictions = -1; /* InterCUG_Restrictions */ static int hf_gsm_map_ms_ss_SubscriptionOption = -1; /* SS_SubscriptionOption */ static int hf_gsm_map_ms_LCS_PrivacyExceptionList_item = -1; /* LCS_PrivacyClass */ static int hf_gsm_map_ms_notificationToMSUser = -1; /* NotificationToMSUser */ static int hf_gsm_map_ms_externalClientList = -1; /* ExternalClientList */ static int hf_gsm_map_ms_plmnClientList = -1; /* PLMNClientList */ static int hf_gsm_map_ms_ext_externalClientList = -1; /* Ext_ExternalClientList */ static int hf_gsm_map_ms_serviceTypeList = -1; /* ServiceTypeList */ static int hf_gsm_map_ms_ExternalClientList_item = -1; /* ExternalClient */ static int hf_gsm_map_ms_PLMNClientList_item = -1; /* LCSClientInternalID */ static int hf_gsm_map_ms_Ext_ExternalClientList_item = -1; /* ExternalClient */ static int hf_gsm_map_ms_clientIdentity = -1; /* LCSClientExternalID */ static int hf_gsm_map_ms_gmlc_Restriction = -1; /* GMLC_Restriction */ static int hf_gsm_map_ms_ServiceTypeList_item = -1; /* ServiceType */ static int hf_gsm_map_ms_serviceTypeIdentity = -1; /* LCSServiceTypeID */ static int hf_gsm_map_ms_MOLR_List_item = -1; /* MOLR_Class */ static int hf_gsm_map_ms_ZoneCodeList_item = -1; /* ZoneCode */ static int hf_gsm_map_ms_ss_List = -1; /* SS_List */ static int hf_gsm_map_ms_regionalSubscriptionResponse = -1; /* RegionalSubscriptionResponse */ static int hf_gsm_map_ms_basicServiceList = -1; /* BasicServiceList */ static int hf_gsm_map_ms_regionalSubscriptionIdentifier = -1; /* ZoneCode */ static int hf_gsm_map_ms_vbsGroupIndication = -1; /* NULL */ static int hf_gsm_map_ms_vgcsGroupIndication = -1; /* NULL */ static int hf_gsm_map_ms_camelSubscriptionInfoWithdraw = -1; /* NULL */ static int hf_gsm_map_ms_gprsSubscriptionDataWithdraw = -1; /* GPRSSubscriptionDataWithdraw */ static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1; /* NULL */ static int hf_gsm_map_ms_lsaInformationWithdraw = -1; /* LSAInformationWithdraw */ static int hf_gsm_map_ms_gmlc_ListWithdraw = -1; /* NULL */ static int hf_gsm_map_ms_istInformationWithdraw = -1; /* NULL */ static int hf_gsm_map_ms_specificCSI_Withdraw = -1; /* SpecificCSI_Withdraw */ static int hf_gsm_map_ms_chargingCharacteristicsWithdraw = -1; /* NULL */ static int hf_gsm_map_ms_allGPRSData = -1; /* NULL */ static int hf_gsm_map_ms_contextIdList = -1; /* ContextIdList */ static int hf_gsm_map_ms_ContextIdList_item = -1; /* ContextId */ static int hf_gsm_map_ms_allLSAData = -1; /* NULL */ static int hf_gsm_map_ms_lsaIdentityList = -1; /* LSAIdentityList */ static int hf_gsm_map_ms_LSAIdentityList_item = -1; /* LSAIdentity */ static int hf_gsm_map_ms_BasicServiceList_item = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ms_o_CSI = -1; /* O_CSI */ static int hf_gsm_map_ms_ss_CSI = -1; /* SS_CSI */ static int hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */ static int hf_gsm_map_ms_tif_CSI = -1; /* NULL */ static int hf_gsm_map_ms_m_CSI = -1; /* M_CSI */ static int hf_gsm_map_ms_vt_CSI = -1; /* T_CSI */ static int hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */ static int hf_gsm_map_ms_d_CSI = -1; /* D_CSI */ static int hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item = -1; /* MT_smsCAMELTDP_Criteria */ static int hf_gsm_map_ms_sms_TriggerDetectionPoint = -1; /* SMS_TriggerDetectionPoint */ static int hf_gsm_map_ms_tpdu_TypeCriterion = -1; /* TPDU_TypeCriterion */ static int hf_gsm_map_ms_TPDU_TypeCriterion_item = -1; /* MT_SMS_TPDU_Type */ static int hf_gsm_map_ms_dp_AnalysedInfoCriteriaList = -1; /* DP_AnalysedInfoCriteriaList */ static int hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item = -1; /* DP_AnalysedInfoCriterium */ static int hf_gsm_map_ms_dialledNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_defaultCallHandling = -1; /* DefaultCallHandling */ static int hf_gsm_map_ms_ss_CamelData = -1; /* SS_CamelData */ static int hf_gsm_map_ms_ss_EventList = -1; /* SS_EventList */ static int hf_gsm_map_ms_SS_EventList_item = -1; /* SS_Code */ static int hf_gsm_map_ms_o_BcsmCamelTDPDataList = -1; /* O_BcsmCamelTDPDataList */ static int hf_gsm_map_ms_csiActive = -1; /* NULL */ static int hf_gsm_map_ms_O_BcsmCamelTDPDataList_item = -1; /* O_BcsmCamelTDPData */ static int hf_gsm_map_ms_o_BcsmTriggerDetectionPoint = -1; /* O_BcsmTriggerDetectionPoint */ static int hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item = -1; /* O_BcsmCamelTDP_Criteria */ static int hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_BCSM_CAMEL_TDP_Criteria */ static int hf_gsm_map_ms_destinationNumberCriteria = -1; /* DestinationNumberCriteria */ static int hf_gsm_map_ms_basicServiceCriteria = -1; /* BasicServiceCriteria */ static int hf_gsm_map_ms_callTypeCriteria = -1; /* CallTypeCriteria */ static int hf_gsm_map_ms_o_CauseValueCriteria = -1; /* O_CauseValueCriteria */ static int hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */ static int hf_gsm_map_ms_t_CauseValueCriteria = -1; /* T_CauseValueCriteria */ static int hf_gsm_map_ms_matchType = -1; /* MatchType */ static int hf_gsm_map_ms_destinationNumberList = -1; /* DestinationNumberList */ static int hf_gsm_map_ms_destinationNumberLengthList = -1; /* DestinationNumberLengthList */ static int hf_gsm_map_ms_DestinationNumberList_item = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_DestinationNumberLengthList_item = -1; /* INTEGER_1_maxNumOfISDN_AddressDigits */ static int hf_gsm_map_ms_BasicServiceCriteria_item = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ms_O_CauseValueCriteria_item = -1; /* CauseValue */ static int hf_gsm_map_ms_T_CauseValueCriteria_item = -1; /* CauseValue */ static int hf_gsm_map_ms_sms_CAMEL_TDP_DataList = -1; /* SMS_CAMEL_TDP_DataList */ static int hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item = -1; /* SMS_CAMEL_TDP_Data */ static int hf_gsm_map_ms_defaultSMS_Handling = -1; /* DefaultSMS_Handling */ static int hf_gsm_map_ms_mobilityTriggers = -1; /* MobilityTriggers */ static int hf_gsm_map_ms_MobilityTriggers_item = -1; /* MM_Code */ static int hf_gsm_map_ms_t_BcsmCamelTDPDataList = -1; /* T_BcsmCamelTDPDataList */ static int hf_gsm_map_ms_T_BcsmCamelTDPDataList_item = -1; /* T_BcsmCamelTDPData */ static int hf_gsm_map_ms_t_BcsmTriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */ static int hf_gsm_map_ms_ggsn_Address = -1; /* GSN_Address */ static int hf_gsm_map_ms_ggsn_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_mobileNotReachableReason = -1; /* AbsentSubscriberDiagnosticSM */ static int hf_gsm_map_ms_hlr_List = -1; /* HLR_List */ static int hf_gsm_map_ms_msNotReachable = -1; /* NULL */ static int hf_gsm_map_ms_VBSDataList_item = -1; /* VoiceBroadcastData */ static int hf_gsm_map_ms_VGCSDataList_item = -1; /* VoiceGroupCallData */ static int hf_gsm_map_ms_groupId = -1; /* GroupId */ static int hf_gsm_map_ms_additionalSubscriptions = -1; /* AdditionalSubscriptions */ static int hf_gsm_map_ms_additionalInfo = -1; /* AdditionalInfo */ static int hf_gsm_map_ms_longGroupId = -1; /* Long_GroupId */ static int hf_gsm_map_ms_groupid = -1; /* GroupId */ static int hf_gsm_map_ms_broadcastInitEntitlement = -1; /* NULL */ static int hf_gsm_map_ms_requestedInfo = -1; /* RequestedInfo */ static int hf_gsm_map_ms_subscriberInfo = -1; /* SubscriberInfo */ static int hf_gsm_map_ms_locationInformation = -1; /* LocationInformation */ static int hf_gsm_map_ms_subscriberState = -1; /* SubscriberState */ static int hf_gsm_map_ms_locationInformationGPRS = -1; /* LocationInformationGPRS */ static int hf_gsm_map_ms_ps_SubscriberState = -1; /* PS_SubscriberState */ static int hf_gsm_map_ms_ms_Classmark2 = -1; /* MS_Classmark2 */ static int hf_gsm_map_ms_gprs_MS_Class = -1; /* GPRSMSClass */ static int hf_gsm_map_ms_mnpInfoRes = -1; /* MNPInfoRes */ static int hf_gsm_map_ms_routeingNumber = -1; /* RouteingNumber */ static int hf_gsm_map_ms_numberPortabilityStatus = -1; /* NumberPortabilityStatus */ static int hf_gsm_map_ms_mSNetworkCapability = -1; /* MSNetworkCapability */ static int hf_gsm_map_ms_mSRadioAccessCapability = -1; /* MSRadioAccessCapability */ static int hf_gsm_map_ms_locationInformation_01 = -1; /* NULL */ static int hf_gsm_map_ms_subscriberState_01 = -1; /* NULL */ static int hf_gsm_map_ms_currentLocation = -1; /* NULL */ static int hf_gsm_map_ms_requestedDomain = -1; /* DomainType */ static int hf_gsm_map_ms_imei_01 = -1; /* NULL */ static int hf_gsm_map_ms_ms_classmark = -1; /* NULL */ static int hf_gsm_map_ms_mnpRequestedInfo = -1; /* NULL */ static int hf_gsm_map_ms_ageOfLocationInformation = -1; /* AgeOfLocationInformation */ static int hf_gsm_map_ms_geographicalInformation = -1; /* GeographicalInformation */ static int hf_gsm_map_ms_vlr_number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ms_locationNumber = -1; /* LocationNumber */ static int hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */ static int hf_gsm_map_ms_selectedLSA_Id = -1; /* LSAIdentity */ static int hf_gsm_map_ms_geodeticInformation = -1; /* GeodeticInformation */ static int hf_gsm_map_ms_currentLocationRetrieved = -1; /* NULL */ static int hf_gsm_map_ms_sai_Present = -1; /* NULL */ static int hf_gsm_map_ms_routeingAreaIdentity = -1; /* RAIdentity */ static int hf_gsm_map_ms_selectedLSAIdentity = -1; /* LSAIdentity */ static int hf_gsm_map_ms_assumedIdle = -1; /* NULL */ static int hf_gsm_map_ms_camelBusy = -1; /* NULL */ static int hf_gsm_map_ms_netDetNotReachable = -1; /* NotReachableReason */ static int hf_gsm_map_ms_notProvidedFromVLR = -1; /* NULL */ static int hf_gsm_map_ms_notProvidedFromSGSN = -1; /* NULL */ static int hf_gsm_map_ms_ps_Detached = -1; /* NULL */ static int hf_gsm_map_ms_ps_AttachedNotReachableForPaging = -1; /* NULL */ static int hf_gsm_map_ms_ps_AttachedReachableForPaging = -1; /* NULL */ static int hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging = -1; /* PDP_ContextInfoList */ static int hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging = -1; /* PDP_ContextInfoList */ static int hf_gsm_map_ms_PDP_ContextInfoList_item = -1; /* PDP_ContextInfo */ static int hf_gsm_map_ms_pdp_ContextIdentifier = -1; /* ContextId */ static int hf_gsm_map_ms_pdp_ContextActive = -1; /* NULL */ static int hf_gsm_map_ms_apn_Subscribed = -1; /* APN */ static int hf_gsm_map_ms_apn_InUse = -1; /* APN */ static int hf_gsm_map_ms_nsapi = -1; /* NSAPI */ static int hf_gsm_map_ms_transactionId = -1; /* TransactionId */ static int hf_gsm_map_ms_teid_ForGnAndGp = -1; /* TEID */ static int hf_gsm_map_ms_teid_ForIu = -1; /* TEID */ static int hf_gsm_map_ms_qos_Subscribed_01 = -1; /* Ext_QoS_Subscribed */ static int hf_gsm_map_ms_qos_Requested = -1; /* Ext_QoS_Subscribed */ static int hf_gsm_map_ms_qos_Negotiated = -1; /* Ext_QoS_Subscribed */ static int hf_gsm_map_ms_chargingId = -1; /* GPRSChargingID */ static int hf_gsm_map_ms_chargingCharacteristics = -1; /* ChargingCharacteristics */ static int hf_gsm_map_ms_rnc_Address = -1; /* GSN_Address */ static int hf_gsm_map_ms_qos2_Subscribed = -1; /* Ext2_QoS_Subscribed */ static int hf_gsm_map_ms_qos2_Requested = -1; /* Ext2_QoS_Subscribed */ static int hf_gsm_map_ms_qos2_Negotiated = -1; /* Ext2_QoS_Subscribed */ static int hf_gsm_map_ms_qos3_Subscribed = -1; /* Ext3_QoS_Subscribed */ static int hf_gsm_map_ms_qos3_Requested = -1; /* Ext3_QoS_Subscribed */ static int hf_gsm_map_ms_qos3_Negotiated = -1; /* Ext3_QoS_Subscribed */ static int hf_gsm_map_ms_subscriberIdentity = -1; /* SubscriberIdentity */ static int hf_gsm_map_ms_requestedSubscriptionInfo = -1; /* RequestedSubscriptionInfo */ static int hf_gsm_map_ms_callForwardingData = -1; /* CallForwardingData */ static int hf_gsm_map_ms_callBarringData = -1; /* CallBarringData */ static int hf_gsm_map_ms_odb_Info = -1; /* ODB_Info */ static int hf_gsm_map_ms_camel_SubscriptionInfo = -1; /* CAMEL_SubscriptionInfo */ static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases = -1; /* SupportedCamelPhases */ static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases = -1; /* SupportedCamelPhases */ static int hf_gsm_map_ms_offeredCamel4CSIsInVLR = -1; /* OfferedCamel4CSIs */ static int hf_gsm_map_ms_offeredCamel4CSIsInSGSN = -1; /* OfferedCamel4CSIs */ static int hf_gsm_map_ms_msisdn_BS_List = -1; /* MSISDN_BS_List */ static int hf_gsm_map_ms_requestedSS_Info = -1; /* SS_ForBS_Code */ static int hf_gsm_map_ms_odb = -1; /* NULL */ static int hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */ static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01 = -1; /* NULL */ static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01 = -1; /* NULL */ static int hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo = -1; /* AdditionalRequestedCAMEL_SubscriptionInfo */ static int hf_gsm_map_ms_msisdn_BS_List_01 = -1; /* NULL */ static int hf_gsm_map_ms_MSISDN_BS_List_item = -1; /* MSISDN_BS */ static int hf_gsm_map_ms_password = -1; /* Password */ static int hf_gsm_map_ms_wrongPasswordAttemptsCounter = -1; /* WrongPasswordAttemptsCounter */ static int hf_gsm_map_ms_t_CSI = -1; /* T_CSI */ static int hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */ static int hf_gsm_map_ms_tif_CSI_NotificationToCSE = -1; /* NULL */ static int hf_gsm_map_ms_specificCSIDeletedList = -1; /* SpecificCSI_Withdraw */ static int hf_gsm_map_ms_o_IM_CSI = -1; /* O_CSI */ static int hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */ static int hf_gsm_map_ms_d_IM_CSI = -1; /* D_CSI */ static int hf_gsm_map_ms_vt_IM_CSI = -1; /* T_CSI */ static int hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */ static int hf_gsm_map_ms_modificationRequestFor_CF_Info = -1; /* ModificationRequestFor_CF_Info */ static int hf_gsm_map_ms_modificationRequestFor_CB_Info = -1; /* ModificationRequestFor_CB_Info */ static int hf_gsm_map_ms_modificationRequestFor_CSI = -1; /* ModificationRequestFor_CSI */ static int hf_gsm_map_ms_modificationRequestFor_ODB_data = -1; /* ModificationRequestFor_ODB_data */ static int hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data = -1; /* ModificationRequestFor_IP_SM_GW_Data */ static int hf_gsm_map_ms_ss_InfoFor_CSE = -1; /* Ext_SS_InfoFor_CSE */ static int hf_gsm_map_ms_forwardedToNumber_01 = -1; /* AddressString */ static int hf_gsm_map_ms_modifyNotificationToCSE = -1; /* ModificationInstruction */ static int hf_gsm_map_ms_odb_data = -1; /* ODB_Data */ static int hf_gsm_map_ms_requestedCamel_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */ static int hf_gsm_map_ms_modifyCSI_State = -1; /* ModificationInstruction */ static int hf_gsm_map_ms_modifyRegistrationStatus = -1; /* ModificationInstruction */ static int hf_gsm_map_ms_forwardingInfoFor_CSE = -1; /* Ext_ForwardingInfoFor_CSE */ static int hf_gsm_map_ms_callBarringInfoFor_CSE = -1; /* Ext_CallBarringInfoFor_CSE */ static int hf_gsm_map_ms_allInformationSent = -1; /* NULL */ static int hf_gsm_map_ms_eventMet = -1; /* MM_Code */ static int hf_gsm_map_ms_supportedCAMELPhases = -1; /* SupportedCamelPhases */ static int hf_gsm_map_ms_offeredCamel4Functionalities = -1; /* OfferedCamel4Functionalities */ static int hf_gsm_map_ms_naea_PreferredCI = -1; /* NAEA_PreferredCI */ static int hf_gsm_map_ms_gprsSubscriptionData = -1; /* GPRSSubscriptionData */ static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature = -1; /* NULL */ static int hf_gsm_map_ms_networkAccessMode = -1; /* NetworkAccessMode */ static int hf_gsm_map_ms_lsaInformation = -1; /* LSAInformation */ static int hf_gsm_map_ms_lmu_Indicator = -1; /* NULL */ static int hf_gsm_map_ms_lcsInformation = -1; /* LCSInformation */ static int hf_gsm_map_ms_istAlertTimer = -1; /* IST_AlertTimerValue */ static int hf_gsm_map_ms_superChargerSupportedInHLR = -1; /* AgeIndicator */ static int hf_gsm_map_ms_mc_SS_Info = -1; /* MC_SS_Info */ static int hf_gsm_map_ms_cs_AllocationRetentionPriority = -1; /* CS_AllocationRetentionPriority */ static int hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo = -1; /* SGSN_CAMEL_SubscriptionInfo */ static int hf_gsm_map_ms_accessRestrictionData = -1; /* AccessRestrictionData */ /* named bits */ static int hf_gsm_map_ms_SupportedRAT_Types_utran = -1; static int hf_gsm_map_ms_SupportedRAT_Types_geran = -1; static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1 = -1; static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2 = -1; static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3 = -1; static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4 = -1; static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5 = -1; static int hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus = -1; static int hf_gsm_map_ms_RequestedEquipmentInfo_bmuef = -1; static int hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed = -1; static int hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed = -1; static int hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_allECT_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred = -1; static int hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1; static int hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred = -1; static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1 = -1; static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2 = -1; static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3 = -1; static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4 = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI = -1; static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI = -1; static int hf_gsm_map_ms_SupportedCamelPhases_phase1 = -1; static int hf_gsm_map_ms_SupportedCamelPhases_phase2 = -1; static int hf_gsm_map_ms_SupportedCamelPhases_phase3 = -1; static int hf_gsm_map_ms_SupportedCamelPhases_phase4 = -1; static int hf_gsm_map_ms_OfferedCamel4CSIs_o_csi = -1; static int hf_gsm_map_ms_OfferedCamel4CSIs_d_csi = -1; static int hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi = -1; static int hf_gsm_map_ms_OfferedCamel4CSIs_t_csi = -1; static int hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi = -1; static int hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi = -1; static int hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_playTone = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP = -1; static int hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation = -1; static int hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest = -1; static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest = -1; static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset = -1; /* --- Module MAP-CH-DataTypes --- --- --- */ static int hf_gsm_map_ch_cug_Interlock = -1; /* CUG_Interlock */ static int hf_gsm_map_ch_cug_OutgoingAccess = -1; /* NULL */ static int hf_gsm_map_ch_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_ch_msisdn = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_cug_CheckInfo = -1; /* CUG_CheckInfo */ static int hf_gsm_map_ch_numberOfForwarding = -1; /* NumberOfForwarding */ static int hf_gsm_map_ch_interrogationType = -1; /* InterrogationType */ static int hf_gsm_map_ch_or_Interrogation = -1; /* NULL */ static int hf_gsm_map_ch_or_Capability = -1; /* OR_Phase */ static int hf_gsm_map_ch_gmsc_OrGsmSCF_Address = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_callReferenceNumber = -1; /* CallReferenceNumber */ static int hf_gsm_map_ch_forwardingReason = -1; /* ForwardingReason */ static int hf_gsm_map_ch_basicServiceGroup = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ch_networkSignalInfo = -1; /* ExternalSignalInfo */ static int hf_gsm_map_ch_camelInfo = -1; /* CamelInfo */ static int hf_gsm_map_ch_suppressionOfAnnouncement = -1; /* SuppressionOfAnnouncement */ static int hf_gsm_map_ch_alertingPattern = -1; /* AlertingPattern */ static int hf_gsm_map_ch_ccbs_Call = -1; /* NULL */ static int hf_gsm_map_ch_supportedCCBS_Phase = -1; /* SupportedCCBS_Phase */ static int hf_gsm_map_ch_additionalSignalInfo = -1; /* Ext_ExternalSignalInfo */ static int hf_gsm_map_ch_istSupportIndicator = -1; /* IST_SupportIndicator */ static int hf_gsm_map_ch_pre_pagingSupported = -1; /* NULL */ static int hf_gsm_map_ch_callDiversionTreatmentIndicator = -1; /* CallDiversionTreatmentIndicator */ static int hf_gsm_map_ch_longFTN_Supported = -1; /* NULL */ static int hf_gsm_map_ch_suppress_VT_CSI = -1; /* NULL */ static int hf_gsm_map_ch_suppressIncomingCallBarring = -1; /* NULL */ static int hf_gsm_map_ch_gsmSCF_InitiatedCall = -1; /* NULL */ static int hf_gsm_map_ch_basicServiceGroup2 = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ch_networkSignalInfo2 = -1; /* ExternalSignalInfo */ static int hf_gsm_map_ch_suppressMTSS = -1; /* SuppressMTSS */ static int hf_gsm_map_ch_mtRoamingRetrySupported = -1; /* NULL */ static int hf_gsm_map_ch_imsi = -1; /* IMSI */ static int hf_gsm_map_ch_extendedRoutingInfo = -1; /* ExtendedRoutingInfo */ static int hf_gsm_map_ch_cugSubscriptionFlag = -1; /* NULL */ static int hf_gsm_map_ch_subscriberInfo = -1; /* SubscriberInfo */ static int hf_gsm_map_ch_ss_List = -1; /* SS_List */ static int hf_gsm_map_ch_basicService = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ch_forwardingInterrogationRequired = -1; /* NULL */ static int hf_gsm_map_ch_vmsc_Address = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_naea_PreferredCI = -1; /* NAEA_PreferredCI */ static int hf_gsm_map_ch_ccbs_Indicators = -1; /* CCBS_Indicators */ static int hf_gsm_map_ch_numberPortabilityStatus = -1; /* NumberPortabilityStatus */ static int hf_gsm_map_ch_istAlertTimer = -1; /* IST_AlertTimerValue */ static int hf_gsm_map_ch_supportedCamelPhasesInVMSC = -1; /* SupportedCamelPhases */ static int hf_gsm_map_ch_offeredCamel4CSIsInVMSC = -1; /* OfferedCamel4CSIs */ static int hf_gsm_map_ch_routingInfo2 = -1; /* RoutingInfo */ static int hf_gsm_map_ch_ss_List2 = -1; /* SS_List */ static int hf_gsm_map_ch_basicService2 = -1; /* Ext_BasicServiceCode */ static int hf_gsm_map_ch_allowedServices = -1; /* AllowedServices */ static int hf_gsm_map_ch_unavailabilityCause = -1; /* UnavailabilityCause */ static int hf_gsm_map_ch_releaseResourcesSupported = -1; /* NULL */ static int hf_gsm_map_ch_gsm_BearerCapability = -1; /* ExternalSignalInfo */ static int hf_gsm_map_ch_ccbs_Possible = -1; /* NULL */ static int hf_gsm_map_ch_keepCCBS_CallIndicator = -1; /* NULL */ static int hf_gsm_map_ch_roamingNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_forwardingData = -1; /* ForwardingData */ static int hf_gsm_map_ch_forwardedToNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_forwardedToSubaddress = -1; /* ISDN_SubaddressString */ static int hf_gsm_map_ch_forwardingOptions = -1; /* ForwardingOptions */ static int hf_gsm_map_ch_longForwardedToNumber = -1; /* FTN_AddressString */ static int hf_gsm_map_ch_msc_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_lmsi = -1; /* LMSI */ static int hf_gsm_map_ch_gmsc_Address = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode = -1; /* SupportedCamelPhases */ static int hf_gsm_map_ch_orNotSupportedInGMSC = -1; /* NULL */ static int hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode = -1; /* OfferedCamel4CSIs */ static int hf_gsm_map_ch_o_CSI = -1; /* O_CSI */ static int hf_gsm_map_ch_uu_Data = -1; /* UU_Data */ static int hf_gsm_map_ch_allInformationSent = -1; /* NULL */ static int hf_gsm_map_ch_d_csi = -1; /* D_CSI */ static int hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */ static int hf_gsm_map_ch_mtRoamingRetry = -1; /* NULL */ static int hf_gsm_map_ch_uuIndicator = -1; /* UUIndicator */ static int hf_gsm_map_ch_uui = -1; /* UUI */ static int hf_gsm_map_ch_uusCFInteraction = -1; /* NULL */ static int hf_gsm_map_ch_supportedCamelPhases = -1; /* SupportedCamelPhases */ static int hf_gsm_map_ch_suppress_T_CSI = -1; /* NULL */ static int hf_gsm_map_ch_offeredCamel4CSIs = -1; /* OfferedCamel4CSIs */ static int hf_gsm_map_ch_routingInfo = -1; /* RoutingInfo */ static int hf_gsm_map_ch_camelRoutingInfo = -1; /* CamelRoutingInfo */ static int hf_gsm_map_ch_gmscCamelSubscriptionInfo = -1; /* GmscCamelSubscriptionInfo */ static int hf_gsm_map_ch_t_CSI = -1; /* T_CSI */ static int hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */ static int hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */ static int hf_gsm_map_ch_ccbs_Monitoring = -1; /* ReportingState */ static int hf_gsm_map_ch_ccbs_SubscriberStatus = -1; /* CCBS_SubscriberStatus */ static int hf_gsm_map_ch_eventReportData = -1; /* EventReportData */ static int hf_gsm_map_ch_callReportdata = -1; /* CallReportData */ static int hf_gsm_map_ch_monitoringMode = -1; /* MonitoringMode */ static int hf_gsm_map_ch_callOutcome = -1; /* CallOutcome */ static int hf_gsm_map_ch_callInfo = -1; /* ExternalSignalInfo */ static int hf_gsm_map_ch_ccbs_Feature = -1; /* CCBS_Feature */ static int hf_gsm_map_ch_translatedB_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_ch_replaceB_Number = -1; /* NULL */ static int hf_gsm_map_ch_ruf_Outcome = -1; /* RUF_Outcome */ static int hf_gsm_map_ch_istInformationWithdraw = -1; /* NULL */ static int hf_gsm_map_ch_callTerminationIndicator = -1; /* CallTerminationIndicator */ static int hf_gsm_map_ch_msrn = -1; /* ISDN_AddressString */ /* named bits */ static int hf_gsm_map_ch_SuppressMTSS_suppressCUG = -1; static int hf_gsm_map_ch_SuppressMTSS_suppressCCBS = -1; static int hf_gsm_map_ch_AllowedServices_firstServiceAllowed = -1; static int hf_gsm_map_ch_AllowedServices_secondServiceAllowed = -1; /* --- Module MAP-LCS-DataTypes --- --- --- */ static int hf_gsm_map_lcs_mlcNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_lcs_targetMS = -1; /* SubscriberIdentity */ static int hf_gsm_map_lcs_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_lcs_lcsLocationInfo = -1; /* LCSLocationInfo */ static int hf_gsm_map_lcs_v_gmlc_Address = -1; /* GSN_Address */ static int hf_gsm_map_lcs_h_gmlc_Address = -1; /* GSN_Address */ static int hf_gsm_map_lcs_ppr_Address = -1; /* GSN_Address */ static int hf_gsm_map_lcs_additional_v_gmlc_Address = -1; /* GSN_Address */ static int hf_gsm_map_lcs_networkNode_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_lcs_lmsi = -1; /* LMSI */ static int hf_gsm_map_lcs_gprsNodeIndicator = -1; /* NULL */ static int hf_gsm_map_lcs_additional_Number = -1; /* Additional_Number */ static int hf_gsm_map_lcs_supportedLCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */ static int hf_gsm_map_lcs_additional_LCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */ static int hf_gsm_map_lcs_locationType = -1; /* LocationType */ static int hf_gsm_map_lcs_mlc_Number = -1; /* ISDN_AddressString */ static int hf_gsm_map_lcs_lcs_ClientID = -1; /* LCS_ClientID */ static int hf_gsm_map_lcs_privacyOverride = -1; /* NULL */ static int hf_gsm_map_lcs_imsi = -1; /* IMSI */ static int hf_gsm_map_lcs_msisdn = -1; /* ISDN_AddressString */ static int hf_gsm_map_lcs_imei = -1; /* IMEI */ static int hf_gsm_map_lcs_lcs_Priority = -1; /* LCS_Priority */ static int hf_gsm_map_lcs_lcs_QoS = -1; /* LCS_QoS */ static int hf_gsm_map_lcs_supportedGADShapes = -1; /* SupportedGADShapes */ static int hf_gsm_map_lcs_lcs_ReferenceNumber = -1; /* LCS_ReferenceNumber */ static int hf_gsm_map_lcs_lcsServiceTypeID = -1; /* LCSServiceTypeID */ static int hf_gsm_map_lcs_lcsCodeword = -1; /* LCSCodeword */ static int hf_gsm_map_lcs_lcs_PrivacyCheck = -1; /* LCS_PrivacyCheck */ static int hf_gsm_map_lcs_areaEventInfo = -1; /* AreaEventInfo */ static int hf_gsm_map_lcs_mo_lrShortCircuitIndicator = -1; /* NULL */ static int hf_gsm_map_lcs_periodicLDRInfo = -1; /* PeriodicLDRInfo */ static int hf_gsm_map_lcs_reportingPLMNList = -1; /* ReportingPLMNList */ static int hf_gsm_map_lcs_locationEstimateType = -1; /* LocationEstimateType */ static int hf_gsm_map_lcs_deferredLocationEventType = -1; /* DeferredLocationEventType */ static int hf_gsm_map_lcs_lcsClientType = -1; /* LCSClientType */ static int hf_gsm_map_lcs_lcsClientExternalID = -1; /* LCSClientExternalID */ static int hf_gsm_map_lcs_lcsClientDialedByMS = -1; /* AddressString */ static int hf_gsm_map_lcs_lcsClientInternalID = -1; /* LCSClientInternalID */ static int hf_gsm_map_lcs_lcsClientName = -1; /* LCSClientName */ static int hf_gsm_map_lcs_lcsAPN = -1; /* APN */ static int hf_gsm_map_lcs_lcsRequestorID = -1; /* LCSRequestorID */ static int hf_gsm_map_lcs_dataCodingScheme = -1; /* USSD_DataCodingScheme */ static int hf_gsm_map_lcs_nameString = -1; /* NameString */ static int hf_gsm_map_lcs_lcs_FormatIndicator = -1; /* LCS_FormatIndicator */ static int hf_gsm_map_lcs_requestorIDString = -1; /* RequestorIDString */ static int hf_gsm_map_lcs_horizontal_accuracy = -1; /* Horizontal_Accuracy */ static int hf_gsm_map_lcs_verticalCoordinateRequest = -1; /* NULL */ static int hf_gsm_map_lcs_vertical_accuracy = -1; /* Vertical_Accuracy */ static int hf_gsm_map_lcs_responseTime = -1; /* ResponseTime */ static int hf_gsm_map_lcs_velocityRequest = -1; /* NULL */ static int hf_gsm_map_lcs_responseTimeCategory = -1; /* ResponseTimeCategory */ static int hf_gsm_map_lcs_lcsCodewordString = -1; /* LCSCodewordString */ static int hf_gsm_map_lcs_callSessionUnrelated = -1; /* PrivacyCheckRelatedAction */ static int hf_gsm_map_lcs_callSessionRelated = -1; /* PrivacyCheckRelatedAction */ static int hf_gsm_map_lcs_areaDefinition = -1; /* AreaDefinition */ static int hf_gsm_map_lcs_occurrenceInfo = -1; /* OccurrenceInfo */ static int hf_gsm_map_lcs_intervalTime = -1; /* IntervalTime */ static int hf_gsm_map_lcs_areaList = -1; /* AreaList */ static int hf_gsm_map_lcs_AreaList_item = -1; /* Area */ static int hf_gsm_map_lcs_areaType = -1; /* AreaType */ static int hf_gsm_map_lcs_areaIdentification = -1; /* AreaIdentification */ static int hf_gsm_map_lcs_reportingAmount = -1; /* ReportingAmount */ static int hf_gsm_map_lcs_reportingInterval = -1; /* ReportingInterval */ static int hf_gsm_map_lcs_plmn_ListPrioritized = -1; /* NULL */ static int hf_gsm_map_lcs_plmn_List = -1; /* PLMNList */ static int hf_gsm_map_lcs_PLMNList_item = -1; /* ReportingPLMN */ static int hf_gsm_map_lcs_plmn_Id = -1; /* PLMN_Id */ static int hf_gsm_map_lcs_ran_Technology = -1; /* RAN_Technology */ static int hf_gsm_map_lcs_ran_PeriodicLocationSupport = -1; /* NULL */ static int hf_gsm_map_lcs_locationEstimate = -1; /* Ext_GeographicalInformation */ static int hf_gsm_map_lcs_ageOfLocationEstimate = -1; /* AgeOfLocationInformation */ static int hf_gsm_map_lcs_add_LocationEstimate = -1; /* Add_GeographicalInformation */ static int hf_gsm_map_lcs_deferredmt_lrResponseIndicator = -1; /* NULL */ static int hf_gsm_map_lcs_geranPositioningData = -1; /* PositioningDataInformation */ static int hf_gsm_map_lcs_utranPositioningData = -1; /* UtranPositioningDataInfo */ static int hf_gsm_map_lcs_cellIdOrSai = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */ static int hf_gsm_map_lcs_sai_Present = -1; /* NULL */ static int hf_gsm_map_lcs_accuracyFulfilmentIndicator = -1; /* AccuracyFulfilmentIndicator */ static int hf_gsm_map_lcs_velocityEstimate = -1; /* VelocityEstimate */ static int hf_gsm_map_lcs_lcs_Event = -1; /* LCS_Event */ static int hf_gsm_map_lcs_na_ESRD = -1; /* ISDN_AddressString */ static int hf_gsm_map_lcs_na_ESRK = -1; /* ISDN_AddressString */ static int hf_gsm_map_lcs_slr_ArgExtensionContainer = -1; /* SLR_ArgExtensionContainer */ static int hf_gsm_map_lcs_deferredmt_lrData = -1; /* Deferredmt_lrData */ static int hf_gsm_map_lcs_pseudonymIndicator = -1; /* NULL */ static int hf_gsm_map_lcs_sequenceNumber = -1; /* SequenceNumber */ static int hf_gsm_map_lcs_terminationCause = -1; /* TerminationCause */ /* named bits */ static int hf_gsm_map_lcs_DeferredLocationEventType_msAvailable = -1; static int hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea = -1; static int hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea = -1; static int hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea = -1; static int hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR = -1; static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint = -1; static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle = -1; static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse = -1; static int hf_gsm_map_lcs_SupportedGADShapes_polygon = -1; static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude = -1; static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid = -1; static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc = -1; /* --- Module MAP-GR-DataTypes --- --- --- */ static int hf_gsm_map_gr_teleservice = -1; /* Ext_TeleserviceCode */ static int hf_gsm_map_gr_asciCallReference = -1; /* ASCI_CallReference */ static int hf_gsm_map_gr_codec_Info = -1; /* CODEC_Info */ static int hf_gsm_map_gr_cipheringAlgorithm = -1; /* CipheringAlgorithm */ static int hf_gsm_map_gr_groupKeyNumber_Vk_Id = -1; /* GroupKeyNumber */ static int hf_gsm_map_gr_groupKey = -1; /* Kc */ static int hf_gsm_map_gr_priority = -1; /* EMLPP_Priority */ static int hf_gsm_map_gr_uplinkFree = -1; /* NULL */ static int hf_gsm_map_gr_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_gr_vstk = -1; /* VSTK */ static int hf_gsm_map_gr_vstk_rand = -1; /* VSTK_RAND */ static int hf_gsm_map_gr_talkerChannelParameter = -1; /* NULL */ static int hf_gsm_map_gr_groupCallNumber = -1; /* ISDN_AddressString */ static int hf_gsm_map_gr_imsi = -1; /* IMSI */ static int hf_gsm_map_gr_talkerPriority = -1; /* TalkerPriority */ static int hf_gsm_map_gr_additionalInfo = -1; /* AdditionalInfo */ static int hf_gsm_map_gr_uplinkRequestAck = -1; /* NULL */ static int hf_gsm_map_gr_uplinkReleaseIndication = -1; /* NULL */ static int hf_gsm_map_gr_uplinkRejectCommand = -1; /* NULL */ static int hf_gsm_map_gr_uplinkSeizedCommand = -1; /* NULL */ static int hf_gsm_map_gr_uplinkReleaseCommand = -1; /* NULL */ static int hf_gsm_map_gr_stateAttributes = -1; /* StateAttributes */ static int hf_gsm_map_gr_emergencyModeResetCommandFlag = -1; /* NULL */ static int hf_gsm_map_gr_sm_RP_UI = -1; /* SignalInfo */ static int hf_gsm_map_gr_an_APDU = -1; /* AccessNetworkSignalInfo */ static int hf_gsm_map_gr_uplinkRequest = -1; /* NULL */ static int hf_gsm_map_gr_releaseGroupCall = -1; /* NULL */ static int hf_gsm_map_gr_downlinkAttached = -1; /* NULL */ static int hf_gsm_map_gr_uplinkAttached = -1; /* NULL */ static int hf_gsm_map_gr_dualCommunication = -1; /* NULL */ static int hf_gsm_map_gr_callOriginator = -1; /* NULL */ static int hf_gsm_map_gr_requestedInfo = -1; /* RequestedInfo */ static int hf_gsm_map_gr_groupId = -1; /* Long_GroupId */ static int hf_gsm_map_gr_cellId = -1; /* GlobalCellId */ static int hf_gsm_map_gr_tmsi = -1; /* TMSI */ static int hf_gsm_map_gr_cksn = -1; /* Cksn */ static int hf_gsm_map_gr_anchorMSC_Address = -1; /* ISDN_AddressString */ static int hf_gsm_map_gr_additionalSubscriptions = -1; /* AdditionalSubscriptions */ static int hf_gsm_map_gr_kc = -1; /* Kc */ /* --- Module MAP-DialogueInformation --- --- --- */ static int hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU = -1; /* MAP_DialoguePDU */ static int hf_gsm_map_dialogue_map_open = -1; /* MAP_OpenInfo */ static int hf_gsm_map_dialogue_map_accept = -1; /* MAP_AcceptInfo */ static int hf_gsm_map_dialogue_map_close = -1; /* MAP_CloseInfo */ static int hf_gsm_map_dialogue_map_refuse = -1; /* MAP_RefuseInfo */ static int hf_gsm_map_dialogue_map_userAbort = -1; /* MAP_UserAbortInfo */ static int hf_gsm_map_dialogue_map_providerAbort = -1; /* MAP_ProviderAbortInfo */ static int hf_gsm_map_dialogue_destinationReference = -1; /* AddressString */ static int hf_gsm_map_dialogue_originationReference = -1; /* AddressString */ static int hf_gsm_map_dialogue_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_map_dialogue_reason = -1; /* Reason */ static int hf_gsm_map_dialogue_alternativeApplicationContext = -1; /* OBJECT_IDENTIFIER */ static int hf_gsm_map_dialogue_map_UserAbortChoice = -1; /* MAP_UserAbortChoice */ static int hf_gsm_map_dialogue_userSpecificReason = -1; /* NULL */ static int hf_gsm_map_dialogue_userResourceLimitation = -1; /* NULL */ static int hf_gsm_map_dialogue_resourceUnavailable = -1; /* ResourceUnavailableReason */ static int hf_gsm_map_dialogue_applicationProcedureCancellation = -1; /* ProcedureCancellationReason */ static int hf_gsm_map_dialogue_map_ProviderAbortReason = -1; /* MAP_ProviderAbortReason */ /* --- Module DummyMAP --- --- --- */ static int hf_gsm_old_invoke = -1; /* Invoke */ static int hf_gsm_old_returnResultLast = -1; /* ReturnResult */ static int hf_gsm_old_returnError = -1; /* ReturnError */ static int hf_gsm_old_reject = -1; /* Reject */ static int hf_gsm_old_returnResultNotLast = -1; /* ReturnResult */ static int hf_gsm_old_invokeID = -1; /* InvokeIdType */ static int hf_gsm_old_linkedID = -1; /* InvokeIdType */ static int hf_gsm_old_opCode = -1; /* MAP_OPERATION */ static int hf_gsm_old_invokeparameter = -1; /* InvokeParameter */ static int hf_gsm_old_resultretres = -1; /* T_resultretres */ static int hf_gsm_old_returnparameter = -1; /* ReturnResultParameter */ static int hf_gsm_old_errorCode = -1; /* MAP_ERROR */ static int hf_gsm_old_parameter = -1; /* ReturnErrorParameter */ static int hf_gsm_old_invokeIDRej = -1; /* T_invokeIDRej */ static int hf_gsm_old_derivable = -1; /* InvokeIdType */ static int hf_gsm_old_not_derivable = -1; /* NULL */ static int hf_gsm_old_problem = -1; /* T_problem */ static int hf_gsm_old_generalProblem = -1; /* GeneralProblem */ static int hf_gsm_old_invokeProblem = -1; /* InvokeProblem */ static int hf_gsm_old_returnResultProblem = -1; /* ReturnResultProblem */ static int hf_gsm_old_returnErrorProblem = -1; /* ReturnErrorProblem */ static int hf_gsm_old_localValue = -1; /* OperationLocalvalue */ static int hf_gsm_old_globalValue = -1; /* OBJECT_IDENTIFIER */ static int hf_gsm_old_localValue_01 = -1; /* LocalErrorcode */ static int hf_gsm_old_protocolId = -1; /* ProtocolId */ static int hf_gsm_old_signalInfo = -1; /* SignalInfo */ static int hf_gsm_old_extensionContainer = -1; /* ExtensionContainer */ static int hf_gsm_old_gsm_BearerCapability = -1; /* ExternalSignalInfo */ static int hf_gsm_old_isdn_BearerCapability = -1; /* ExternalSignalInfo */ static int hf_gsm_old_call_Direction = -1; /* CallDirection */ static int hf_gsm_old_b_Subscriber_Address = -1; /* ISDN_AddressString */ static int hf_gsm_old_chosenChannel = -1; /* ExternalSignalInfo */ static int hf_gsm_old_lowerLayerCompatibility = -1; /* ExternalSignalInfo */ static int hf_gsm_old_highLayerCompatibility = -1; /* ExternalSignalInfo */ static int hf_gsm_old_sIWFSNumber = -1; /* ISDN_AddressString */ static int hf_gsm_old_imsi = -1; /* IMSI */ static int hf_gsm_old_vlr_Number = -1; /* ISDN_AddressString */ static int hf_gsm_old_targetCellId = -1; /* GlobalCellId */ static int hf_gsm_old_ho_NumberNotRequired = -1; /* NULL */ static int hf_gsm_old_bss_APDU = -1; /* Bss_APDU */ static int hf_gsm_old_handoverNumber = -1; /* ISDN_AddressString */ static int hf_gsm_old_SendAuthenticationInfoResOld_item = -1; /* SendAuthenticationInfoResOld_item */ static int hf_gsm_old_rand = -1; /* RAND */ static int hf_gsm_old_sres = -1; /* SRES */ static int hf_gsm_old_kc = -1; /* Kc */ static int hf_gsm_old_tripletList = -1; /* TripletListold */ static int hf_gsm_old_TripletListold_item = -1; /* AuthenticationTriplet_v2 */ static int hf_gsm_old_channelType = -1; /* ExternalSignalInfo */ static int hf_gsm_old_securityHeader = -1; /* SecurityHeader */ static int hf_gsm_old_protectedPayload = -1; /* ProtectedPayload */ static int hf_gsm_old_securityParametersIndex = -1; /* SecurityParametersIndex */ static int hf_gsm_old_originalComponentIdentifier = -1; /* OriginalComponentIdentifier */ static int hf_gsm_old_initialisationVector = -1; /* InitialisationVector */ static int hf_gsm_old_operationCode = -1; /* OperationCode */ static int hf_gsm_old_errorCode_01 = -1; /* ErrorCode */ static int hf_gsm_old_userInfo = -1; /* NULL */ static int hf_gsm_old_localValue_02 = -1; /* INTEGER */ static int hf_gsm_old_msisdn = -1; /* ISDN_AddressString */ static int hf_gsm_old_category = -1; /* Category */ static int hf_gsm_old_basicService = -1; /* BasicServiceCode */ static int hf_gsm_old_operatorSS_Code = -1; /* T_operatorSS_Code */ static int hf_gsm_old_operatorSS_Code_item = -1; /* OCTET_STRING_SIZE_1 */ static int hf_gsm_old_sm_RP_DA = -1; /* SM_RP_DAold */ static int hf_gsm_old_sm_RP_OA = -1; /* SM_RP_OAold */ static int hf_gsm_old_sm_RP_UI = -1; /* SignalInfo */ static int hf_gsm_old_moreMessagesToSend = -1; /* NULL */ static int hf_gsm_old_lmsi = -1; /* LMSI */ static int hf_gsm_old_serviceCentreAddressDA = -1; /* AddressString */ static int hf_gsm_old_noSM_RP_DA = -1; /* NULL */ static int hf_gsm_old_msisdn_01 = -1; /* T_msisdn */ static int hf_gsm_old_serviceCentreAddressOA = -1; /* T_serviceCentreAddressOA */ static int hf_gsm_old_noSM_RP_OA = -1; /* NULL */ static int hf_gsm_old_cug_CheckInfo = -1; /* CUG_CheckInfo */ static int hf_gsm_old_numberOfForwarding = -1; /* NumberOfForwarding */ static int hf_gsm_old_networkSignalInfo = -1; /* ExternalSignalInfo */ static int hf_gsm_old_routingInfo = -1; /* RoutingInfo */ /* --- Module SS-DataTypes --- --- --- */ static int hf_gsm_ss_ss_Code = -1; /* SS_Code */ static int hf_gsm_ss_ss_Status = -1; /* SS_Status */ static int hf_gsm_ss_ss_Notification = -1; /* SS_Notification */ static int hf_gsm_ss_callIsWaiting_Indicator = -1; /* NULL */ static int hf_gsm_ss_callOnHold_Indicator = -1; /* CallOnHold_Indicator */ static int hf_gsm_ss_mpty_Indicator = -1; /* NULL */ static int hf_gsm_ss_cug_Index = -1; /* CUG_Index */ static int hf_gsm_ss_clirSuppressionRejected = -1; /* NULL */ static int hf_gsm_ss_ect_Indicator = -1; /* ECT_Indicator */ static int hf_gsm_ss_nameIndicator = -1; /* NameIndicator */ static int hf_gsm_ss_ccbs_Feature = -1; /* CCBS_Feature */ static int hf_gsm_ss_alertingPattern = -1; /* AlertingPattern */ static int hf_gsm_ss_multicall_Indicator = -1; /* Multicall_Indicator */ static int hf_gsm_ss_imsi = -1; /* IMSI */ static int hf_gsm_ss_originatingEntityNumber = -1; /* ISDN_AddressString */ static int hf_gsm_ss_msisdn = -1; /* AddressString */ static int hf_gsm_ss_chargingInformation = -1; /* ChargingInformation */ static int hf_gsm_ss_e1 = -1; /* E1 */ static int hf_gsm_ss_e2 = -1; /* E2 */ static int hf_gsm_ss_e3 = -1; /* E3 */ static int hf_gsm_ss_e4 = -1; /* E4 */ static int hf_gsm_ss_e5 = -1; /* E5 */ static int hf_gsm_ss_e6 = -1; /* E6 */ static int hf_gsm_ss_e7 = -1; /* E7 */ static int hf_gsm_ss_suppressPrefCUG = -1; /* NULL */ static int hf_gsm_ss_suppressOA = -1; /* NULL */ static int hf_gsm_ss_ect_CallState = -1; /* ECT_CallState */ static int hf_gsm_ss_rdn = -1; /* RDN */ static int hf_gsm_ss_callingName = -1; /* Name */ static int hf_gsm_ss_namePresentationAllowed = -1; /* NameSet */ static int hf_gsm_ss_presentationRestricted = -1; /* NULL */ static int hf_gsm_ss_nameUnavailable = -1; /* NULL */ static int hf_gsm_ss_namePresentationRestricted = -1; /* NameSet */ static int hf_gsm_ss_dataCodingScheme = -1; /* USSD_DataCodingScheme */ static int hf_gsm_ss_lengthInCharacters = -1; /* INTEGER */ static int hf_gsm_ss_nameString = -1; /* USSD_String */ static int hf_gsm_ss_presentationAllowedAddress = -1; /* RemotePartyNumber */ static int hf_gsm_ss_numberNotAvailableDueToInterworking = -1; /* NULL */ static int hf_gsm_ss_presentationRestrictedAddress = -1; /* RemotePartyNumber */ static int hf_gsm_ss_partyNumber = -1; /* ISDN_AddressString */ static int hf_gsm_ss_partyNumberSubaddress = -1; /* ISDN_SubaddressString */ static int hf_gsm_ss_deflectedToNumber = -1; /* AddressString */ static int hf_gsm_ss_deflectedToSubaddress = -1; /* ISDN_SubaddressString */ static int hf_gsm_ss_uUS_Service = -1; /* UUS_Service */ static int hf_gsm_ss_uUS_Required = -1; /* BOOLEAN */ static int hf_gsm_ss_notificationType = -1; /* NotificationToMSUser */ static int hf_gsm_ss_locationType = -1; /* LocationType */ static int hf_gsm_ss_lcsClientExternalID = -1; /* LCSClientExternalID */ static int hf_gsm_ss_lcsClientName = -1; /* LCSClientName */ static int hf_gsm_ss_lcsRequestorID = -1; /* LCSRequestorID */ static int hf_gsm_ss_lcsCodeword = -1; /* LCSCodeword */ static int hf_gsm_ss_lcsServiceTypeID = -1; /* LCSServiceTypeID */ static int hf_gsm_ss_verificationResponse = -1; /* VerificationResponse */ static int hf_gsm_ss_molr_Type = -1; /* MOLR_Type */ static int hf_gsm_ss_locationMethod = -1; /* LocationMethod */ static int hf_gsm_ss_lcs_QoS = -1; /* LCS_QoS */ static int hf_gsm_ss_mlc_Number = -1; /* ISDN_AddressString */ static int hf_gsm_ss_gpsAssistanceData = -1; /* GPSAssistanceData */ static int hf_gsm_ss_supportedGADShapes = -1; /* SupportedGADShapes */ static int hf_gsm_ss_ageOfLocationInfo = -1; /* AgeOfLocationInformation */ static int hf_gsm_ss_pseudonymIndicator = -1; /* NULL */ static int hf_gsm_ss_h_gmlc_address = -1; /* GSN_Address */ static int hf_gsm_ss_locationEstimate = -1; /* Ext_GeographicalInformation */ static int hf_gsm_ss_velocityEstimate = -1; /* VelocityEstimate */ static int hf_gsm_ss_referenceNumber = -1; /* LCS_ReferenceNumber */ static int hf_gsm_ss_periodicLDRInfo = -1; /* PeriodicLDRInfo */ static int hf_gsm_ss_locationUpdateRequest = -1; /* NULL */ static int hf_gsm_ss_sequenceNumber = -1; /* SequenceNumber */ static int hf_gsm_ss_terminationCause = -1; /* TerminationCause */ static int hf_gsm_ss_mo_lrShortCircuit = -1; /* NULL */ static int hf_gsm_ss_ganssAssistanceData = -1; /* GANSSAssistanceData */ static int hf_gsm_ss_decipheringKeys = -1; /* DecipheringKeys */ static int hf_gsm_ss_add_LocationEstimate = -1; /* Add_GeographicalInformation */ static int hf_gsm_ss_reportingPLMNList = -1; /* ReportingPLMNList */ static int hf_gsm_ss_deferredLocationEventType = -1; /* DeferredLocationEventType */ static int hf_gsm_ss_areaEventInfo = -1; /* AreaEventInfo */ static int hf_gsm_ss_qoS = -1; /* LCS_QoS */ /*--- End of included file: packet-gsm_map-hf.c ---*/ #line 159 "packet-gsmmap-template.c" /* Initialize the subtree pointers */ static gint ett_gsm_map = -1; static gint ett_gsm_map_InvokeId = -1; static gint ett_gsm_map_InvokePDU = -1; static gint ett_gsm_map_ReturnResultPDU = -1; static gint ett_gsm_map_ReturnErrorPDU = -1; static gint ett_gsm_map_ReturnResult_result = -1; static gint ett_gsm_map_ReturnError_result = -1; static gint ett_gsm_map_GSMMAPPDU = -1; static gint ett_gsm_map_ext_qos_subscribed = -1; static gint ett_gsm_map_pdptypenumber = -1; static gint ett_gsm_map_RAIdentity = -1; static gint ett_gsm_map_LAIFixedLength = -1; static gint ett_gsm_map_isdn_address_string = -1; static gint ett_gsm_map_geo_desc = -1; static gint ett_gsm_map_LongSignalInfo = -1; static gint ett_gsm_map_RadioResourceInformation =-1; static gint ett_gsm_map_MSNetworkCapability =-1; static gint ett_gsm_map_MSRadioAccessCapability = -1; static gint ett_gsm_map_externalsignalinfo = -1; static gint ett_gsm_map_cbs_data_coding = -1; static gint ett_gsm_map_GlobalCellId = -1; static gint ett_gsm_map_GeographicalInformation = -1; /*--- Included file: packet-gsm_map-ett.c ---*/ #line 1 "packet-gsm_map-ett.c" /* --- Module MAP-ExtensionDataTypes --- --- --- */ static gint ett_gsm_map_ExtensionContainer = -1; static gint ett_gsm_map_SLR_ArgExtensionContainer = -1; static gint ett_gsm_map_PrivateExtensionList = -1; static gint ett_gsm_map_PrivateExtension = -1; static gint ett_gsm_map_PCS_Extensions = -1; static gint ett_gsm_map_SLR_Arg_PCS_Extensions = -1; /* --- Module MAP-CommonDataTypes --- --- --- */ static gint ett_gsm_map_ExternalSignalInfo = -1; static gint ett_gsm_map_Ext_ExternalSignalInfo = -1; static gint ett_gsm_map_AccessNetworkSignalInfo = -1; static gint ett_gsm_map_Identity = -1; static gint ett_gsm_map_IMSI_WithLMSI = -1; static gint ett_gsm_map_SubscriberId = -1; static gint ett_gsm_map_HLR_List = -1; static gint ett_gsm_map_NAEA_PreferredCI = -1; static gint ett_gsm_map_SubscriberIdentity = -1; static gint ett_gsm_map_LCSClientExternalID = -1; static gint ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI = -1; static gint ett_gsm_map_BasicServiceCode = -1; static gint ett_gsm_map_Ext_BasicServiceCode = -1; static gint ett_gsm_map_EMLPP_Info = -1; static gint ett_gsm_map_MC_SS_Info = -1; /* --- Module MAP-SS-DataTypes --- --- --- */ static gint ett_gsm_map_ss_RegisterSS_Arg = -1; static gint ett_gsm_map_ss_SS_Info = -1; static gint ett_gsm_map_ss_ForwardingInfo = -1; static gint ett_gsm_map_ss_ForwardingFeatureList = -1; static gint ett_gsm_map_ss_ForwardingFeature = -1; static gint ett_gsm_map_ss_CallBarringInfo = -1; static gint ett_gsm_map_ss_CallBarringFeatureList = -1; static gint ett_gsm_map_ss_CallBarringFeature = -1; static gint ett_gsm_map_ss_SS_Data = -1; static gint ett_gsm_map_ss_SS_SubscriptionOption = -1; static gint ett_gsm_map_ss_SS_ForBS_Code = -1; static gint ett_gsm_map_ss_GenericServiceInfo = -1; static gint ett_gsm_map_ss_CCBS_FeatureList = -1; static gint ett_gsm_map_ss_CCBS_Feature = -1; static gint ett_gsm_map_ss_InterrogateSS_Res = -1; static gint ett_gsm_map_ss_USSD_Arg = -1; static gint ett_gsm_map_ss_USSD_Res = -1; static gint ett_gsm_map_ss_SS_List = -1; static gint ett_gsm_map_ss_SS_InfoList = -1; static gint ett_gsm_map_ss_BasicServiceGroupList = -1; static gint ett_gsm_map_ss_SS_InvocationNotificationArg = -1; static gint ett_gsm_map_ss_SS_InvocationNotificationRes = -1; static gint ett_gsm_map_ss_SS_EventSpecification = -1; static gint ett_gsm_map_ss_RegisterCC_EntryArg = -1; static gint ett_gsm_map_ss_CCBS_Data = -1; static gint ett_gsm_map_ss_ServiceIndicator = -1; static gint ett_gsm_map_ss_RegisterCC_EntryRes = -1; static gint ett_gsm_map_ss_EraseCC_EntryArg = -1; static gint ett_gsm_map_ss_EraseCC_EntryRes = -1; /* --- Module MAP-ER-DataTypes --- --- --- */ static gint ett_gsm_map_er_RoamingNotAllowedParam = -1; static gint ett_gsm_map_er_CallBarredParam = -1; static gint ett_gsm_map_er_ExtensibleCallBarredParam = -1; static gint ett_gsm_map_er_CUG_RejectParam = -1; static gint ett_gsm_map_er_SS_IncompatibilityCause = -1; static gint ett_gsm_map_er_SM_DeliveryFailureCause = -1; static gint ett_gsm_map_er_AbsentSubscriberSM_Param = -1; static gint ett_gsm_map_er_SystemFailureParam = -1; static gint ett_gsm_map_er_ExtensibleSystemFailureParam = -1; static gint ett_gsm_map_er_DataMissingParam = -1; static gint ett_gsm_map_er_UnexpectedDataParam = -1; static gint ett_gsm_map_er_FacilityNotSupParam = -1; static gint ett_gsm_map_er_OR_NotAllowedParam = -1; static gint ett_gsm_map_er_UnknownSubscriberParam = -1; static gint ett_gsm_map_er_NumberChangedParam = -1; static gint ett_gsm_map_er_UnidentifiedSubParam = -1; static gint ett_gsm_map_er_IllegalSubscriberParam = -1; static gint ett_gsm_map_er_IllegalEquipmentParam = -1; static gint ett_gsm_map_er_BearerServNotProvParam = -1; static gint ett_gsm_map_er_TeleservNotProvParam = -1; static gint ett_gsm_map_er_TracingBufferFullParam = -1; static gint ett_gsm_map_er_NoRoamingNbParam = -1; static gint ett_gsm_map_er_AbsentSubscriberParam = -1; static gint ett_gsm_map_er_BusySubscriberParam = -1; static gint ett_gsm_map_er_NoSubscriberReplyParam = -1; static gint ett_gsm_map_er_ForwardingViolationParam = -1; static gint ett_gsm_map_er_ForwardingFailedParam = -1; static gint ett_gsm_map_er_ATI_NotAllowedParam = -1; static gint ett_gsm_map_er_ATSI_NotAllowedParam = -1; static gint ett_gsm_map_er_ATM_NotAllowedParam = -1; static gint ett_gsm_map_er_IllegalSS_OperationParam = -1; static gint ett_gsm_map_er_SS_NotAvailableParam = -1; static gint ett_gsm_map_er_SS_SubscriptionViolationParam = -1; static gint ett_gsm_map_er_InformationNotAvailableParam = -1; static gint ett_gsm_map_er_SubBusyForMT_SMS_Param = -1; static gint ett_gsm_map_er_MessageWaitListFullParam = -1; static gint ett_gsm_map_er_ResourceLimitationParam = -1; static gint ett_gsm_map_er_NoGroupCallNbParam = -1; static gint ett_gsm_map_er_IncompatibleTerminalParam = -1; static gint ett_gsm_map_er_ShortTermDenialParam = -1; static gint ett_gsm_map_er_LongTermDenialParam = -1; static gint ett_gsm_map_er_UnauthorizedRequestingNetwork_Param = -1; static gint ett_gsm_map_er_UnauthorizedLCSClient_Param = -1; static gint ett_gsm_map_er_PositionMethodFailure_Param = -1; static gint ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param = -1; static gint ett_gsm_map_er_MM_EventNotSupported_Param = -1; static gint ett_gsm_map_er_TargetCellOutsideGCA_Param = -1; static gint ett_gsm_map_er_OngoingGroupCallParam = -1; /* --- Module MAP-SM-DataTypes --- --- --- */ static gint ett_gsm_map_sm_RoutingInfoForSM_Arg = -1; static gint ett_gsm_map_sm_RoutingInfoForSM_Res = -1; static gint ett_gsm_map_sm_LocationInfoWithLMSI = -1; static gint ett_gsm_map_sm_Additional_Number = -1; static gint ett_gsm_map_sm_MO_ForwardSM_Arg = -1; static gint ett_gsm_map_sm_MO_ForwardSM_Res = -1; static gint ett_gsm_map_sm_MT_ForwardSM_Arg = -1; static gint ett_gsm_map_sm_MT_ForwardSM_Res = -1; static gint ett_gsm_map_sm_SM_RP_DA = -1; static gint ett_gsm_map_sm_SM_RP_OA = -1; static gint ett_gsm_map_sm_ReportSM_DeliveryStatusArg = -1; static gint ett_gsm_map_sm_ReportSM_DeliveryStatusRes = -1; static gint ett_gsm_map_sm_AlertServiceCentreArg = -1; static gint ett_gsm_map_sm_InformServiceCentreArg = -1; static gint ett_gsm_map_sm_MW_Status = -1; static gint ett_gsm_map_sm_ReadyForSM_Arg = -1; static gint ett_gsm_map_sm_ReadyForSM_Res = -1; static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg = -1; static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Res = -1; static gint ett_gsm_map_sm_DispatcherList = -1; /* --- Module MAP-OM-DataTypes --- --- --- */ static gint ett_gsm_map_om_ActivateTraceModeArg = -1; static gint ett_gsm_map_om_TraceDepthList = -1; static gint ett_gsm_map_om_TraceNE_TypeList = -1; static gint ett_gsm_map_om_TraceInterfaceList = -1; static gint ett_gsm_map_om_MSC_S_InterfaceList = -1; static gint ett_gsm_map_om_MGW_InterfaceList = -1; static gint ett_gsm_map_om_SGSN_InterfaceList = -1; static gint ett_gsm_map_om_GGSN_InterfaceList = -1; static gint ett_gsm_map_om_RNC_InterfaceList = -1; static gint ett_gsm_map_om_BMSC_InterfaceList = -1; static gint ett_gsm_map_om_TraceEventList = -1; static gint ett_gsm_map_om_MSC_S_EventList = -1; static gint ett_gsm_map_om_MGW_EventList = -1; static gint ett_gsm_map_om_SGSN_EventList = -1; static gint ett_gsm_map_om_GGSN_EventList = -1; static gint ett_gsm_map_om_BMSC_EventList = -1; static gint ett_gsm_map_om_TracePropagationList = -1; static gint ett_gsm_map_om_ActivateTraceModeRes = -1; static gint ett_gsm_map_om_DeactivateTraceModeArg = -1; static gint ett_gsm_map_om_DeactivateTraceModeRes = -1; /* --- Module MAP-MS-DataTypes --- --- --- */ static gint ett_gsm_map_ms_UpdateLocationArg = -1; static gint ett_gsm_map_ms_VLR_Capability = -1; static gint ett_gsm_map_ms_SupportedRAT_Types = -1; static gint ett_gsm_map_ms_SuperChargerInfo = -1; static gint ett_gsm_map_ms_SupportedLCS_CapabilitySets = -1; static gint ett_gsm_map_ms_UpdateLocationRes = -1; static gint ett_gsm_map_ms_ADD_Info = -1; static gint ett_gsm_map_ms_CancelLocationArg_U = -1; static gint ett_gsm_map_ms_CancelLocationRes = -1; static gint ett_gsm_map_ms_PurgeMS_Arg_U = -1; static gint ett_gsm_map_ms_PurgeMS_Res = -1; static gint ett_gsm_map_ms_SendIdentificationArg = -1; static gint ett_gsm_map_ms_SendIdentificationRes_U = -1; static gint ett_gsm_map_ms_AuthenticationSetList = -1; static gint ett_gsm_map_ms_TripletList = -1; static gint ett_gsm_map_ms_QuintupletList = -1; static gint ett_gsm_map_ms_AuthenticationTriplet = -1; static gint ett_gsm_map_ms_AuthenticationQuintuplet = -1; static gint ett_gsm_map_ms_CurrentSecurityContext = -1; static gint ett_gsm_map_ms_GSM_SecurityContextData = -1; static gint ett_gsm_map_ms_UMTS_SecurityContextData = -1; static gint ett_gsm_map_ms_AuthenticationFailureReportArg = -1; static gint ett_gsm_map_ms_AuthenticationFailureReportRes = -1; static gint ett_gsm_map_ms_UpdateGprsLocationArg = -1; static gint ett_gsm_map_ms_SGSN_Capability = -1; static gint ett_gsm_map_ms_UpdateGprsLocationRes = -1; static gint ett_gsm_map_ms_ForwardAccessSignalling_Arg_U = -1; static gint ett_gsm_map_ms_AllowedUMTS_Algorithms = -1; static gint ett_gsm_map_ms_PrepareHO_Arg_U = -1; static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverList = -1; static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo = -1; static gint ett_gsm_map_ms_RadioResourceList = -1; static gint ett_gsm_map_ms_RadioResource = -1; static gint ett_gsm_map_ms_PrepareHO_Res_U = -1; static gint ett_gsm_map_ms_SelectedUMTS_Algorithms = -1; static gint ett_gsm_map_ms_ChosenRadioResourceInformation = -1; static gint ett_gsm_map_ms_PrepareSubsequentHO_Arg_U = -1; static gint ett_gsm_map_ms_PrepareSubsequentHO_Res_U = -1; static gint ett_gsm_map_ms_ProcessAccessSignalling_Arg_U = -1; static gint ett_gsm_map_ms_SupportedCodecsList = -1; static gint ett_gsm_map_ms_CodecList = -1; static gint ett_gsm_map_ms_SendEndSignal_Arg_U = -1; static gint ett_gsm_map_ms_SendEndSignal_Res = -1; static gint ett_gsm_map_ms_RelocationNumberList = -1; static gint ett_gsm_map_ms_RelocationNumber = -1; static gint ett_gsm_map_ms_SendAuthenticationInfoArg = -1; static gint ett_gsm_map_ms_Re_synchronisationInfo = -1; static gint ett_gsm_map_ms_SendAuthenticationInfoRes_U = -1; static gint ett_gsm_map_ms_CheckIMEI_Arg = -1; static gint ett_gsm_map_ms_CheckIMEI_Res = -1; static gint ett_gsm_map_ms_RequestedEquipmentInfo = -1; static gint ett_gsm_map_ms_UESBI_Iu = -1; static gint ett_gsm_map_ms_InsertSubscriberDataArg = -1; static gint ett_gsm_map_ms_AccessRestrictionData = -1; static gint ett_gsm_map_ms_LCSInformation = -1; static gint ett_gsm_map_ms_GMLC_List = -1; static gint ett_gsm_map_ms_GPRSDataList = -1; static gint ett_gsm_map_ms_PDP_Context = -1; static gint ett_gsm_map_ms_GPRSSubscriptionData = -1; static gint ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo = -1; static gint ett_gsm_map_ms_GPRS_CSI = -1; static gint ett_gsm_map_ms_GPRS_CamelTDPDataList = -1; static gint ett_gsm_map_ms_GPRS_CamelTDPData = -1; static gint ett_gsm_map_ms_LSADataList = -1; static gint ett_gsm_map_ms_LSAData = -1; static gint ett_gsm_map_ms_LSAInformation = -1; static gint ett_gsm_map_ms_SubscriberData = -1; static gint ett_gsm_map_ms_BearerServiceList = -1; static gint ett_gsm_map_ms_TeleserviceList = -1; static gint ett_gsm_map_ms_ODB_Data = -1; static gint ett_gsm_map_ms_ODB_GeneralData = -1; static gint ett_gsm_map_ms_ODB_HPLMN_Data = -1; static gint ett_gsm_map_ms_Ext_SS_InfoList = -1; static gint ett_gsm_map_ms_Ext_SS_Info = -1; static gint ett_gsm_map_ms_Ext_ForwInfo = -1; static gint ett_gsm_map_ms_Ext_ForwFeatureList = -1; static gint ett_gsm_map_ms_Ext_ForwFeature = -1; static gint ett_gsm_map_ms_Ext_CallBarInfo = -1; static gint ett_gsm_map_ms_Ext_CallBarFeatureList = -1; static gint ett_gsm_map_ms_Ext_CallBarringFeature = -1; static gint ett_gsm_map_ms_CUG_Info = -1; static gint ett_gsm_map_ms_CUG_SubscriptionList = -1; static gint ett_gsm_map_ms_CUG_Subscription = -1; static gint ett_gsm_map_ms_CUG_FeatureList = -1; static gint ett_gsm_map_ms_Ext_BasicServiceGroupList = -1; static gint ett_gsm_map_ms_CUG_Feature = -1; static gint ett_gsm_map_ms_Ext_SS_Data = -1; static gint ett_gsm_map_ms_LCS_PrivacyExceptionList = -1; static gint ett_gsm_map_ms_LCS_PrivacyClass = -1; static gint ett_gsm_map_ms_ExternalClientList = -1; static gint ett_gsm_map_ms_PLMNClientList = -1; static gint ett_gsm_map_ms_Ext_ExternalClientList = -1; static gint ett_gsm_map_ms_ExternalClient = -1; static gint ett_gsm_map_ms_ServiceTypeList = -1; static gint ett_gsm_map_ms_ServiceType = -1; static gint ett_gsm_map_ms_MOLR_List = -1; static gint ett_gsm_map_ms_MOLR_Class = -1; static gint ett_gsm_map_ms_ZoneCodeList = -1; static gint ett_gsm_map_ms_InsertSubscriberDataRes = -1; static gint ett_gsm_map_ms_DeleteSubscriberDataArg = -1; static gint ett_gsm_map_ms_SpecificCSI_Withdraw = -1; static gint ett_gsm_map_ms_GPRSSubscriptionDataWithdraw = -1; static gint ett_gsm_map_ms_ContextIdList = -1; static gint ett_gsm_map_ms_LSAInformationWithdraw = -1; static gint ett_gsm_map_ms_LSAIdentityList = -1; static gint ett_gsm_map_ms_BasicServiceList = -1; static gint ett_gsm_map_ms_DeleteSubscriberDataRes = -1; static gint ett_gsm_map_ms_VlrCamelSubscriptionInfo = -1; static gint ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList = -1; static gint ett_gsm_map_ms_MT_smsCAMELTDP_Criteria = -1; static gint ett_gsm_map_ms_TPDU_TypeCriterion = -1; static gint ett_gsm_map_ms_D_CSI = -1; static gint ett_gsm_map_ms_DP_AnalysedInfoCriteriaList = -1; static gint ett_gsm_map_ms_DP_AnalysedInfoCriterium = -1; static gint ett_gsm_map_ms_SS_CSI = -1; static gint ett_gsm_map_ms_SS_CamelData = -1; static gint ett_gsm_map_ms_SS_EventList = -1; static gint ett_gsm_map_ms_O_CSI = -1; static gint ett_gsm_map_ms_O_BcsmCamelTDPDataList = -1; static gint ett_gsm_map_ms_O_BcsmCamelTDPData = -1; static gint ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList = -1; static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList = -1; static gint ett_gsm_map_ms_O_BcsmCamelTDP_Criteria = -1; static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria = -1; static gint ett_gsm_map_ms_DestinationNumberCriteria = -1; static gint ett_gsm_map_ms_DestinationNumberList = -1; static gint ett_gsm_map_ms_DestinationNumberLengthList = -1; static gint ett_gsm_map_ms_BasicServiceCriteria = -1; static gint ett_gsm_map_ms_O_CauseValueCriteria = -1; static gint ett_gsm_map_ms_T_CauseValueCriteria = -1; static gint ett_gsm_map_ms_SupportedCamelPhases = -1; static gint ett_gsm_map_ms_OfferedCamel4CSIs = -1; static gint ett_gsm_map_ms_OfferedCamel4Functionalities = -1; static gint ett_gsm_map_ms_SMS_CSI = -1; static gint ett_gsm_map_ms_SMS_CAMEL_TDP_DataList = -1; static gint ett_gsm_map_ms_SMS_CAMEL_TDP_Data = -1; static gint ett_gsm_map_ms_M_CSI = -1; static gint ett_gsm_map_ms_MG_CSI = -1; static gint ett_gsm_map_ms_MobilityTriggers = -1; static gint ett_gsm_map_ms_T_CSI = -1; static gint ett_gsm_map_ms_T_BcsmCamelTDPDataList = -1; static gint ett_gsm_map_ms_T_BcsmCamelTDPData = -1; static gint ett_gsm_map_ms_SendRoutingInfoForGprsArg = -1; static gint ett_gsm_map_ms_SendRoutingInfoForGprsRes = -1; static gint ett_gsm_map_ms_FailureReportArg = -1; static gint ett_gsm_map_ms_FailureReportRes = -1; static gint ett_gsm_map_ms_NoteMsPresentForGprsArg = -1; static gint ett_gsm_map_ms_NoteMsPresentForGprsRes = -1; static gint ett_gsm_map_ms_ResetArg = -1; static gint ett_gsm_map_ms_RestoreDataArg = -1; static gint ett_gsm_map_ms_RestoreDataRes = -1; static gint ett_gsm_map_ms_VBSDataList = -1; static gint ett_gsm_map_ms_VGCSDataList = -1; static gint ett_gsm_map_ms_VoiceGroupCallData = -1; static gint ett_gsm_map_ms_AdditionalSubscriptions = -1; static gint ett_gsm_map_ms_VoiceBroadcastData = -1; static gint ett_gsm_map_ms_ProvideSubscriberInfoArg = -1; static gint ett_gsm_map_ms_ProvideSubscriberInfoRes = -1; static gint ett_gsm_map_ms_SubscriberInfo = -1; static gint ett_gsm_map_ms_MNPInfoRes = -1; static gint ett_gsm_map_ms_GPRSMSClass = -1; static gint ett_gsm_map_ms_RequestedInfo = -1; static gint ett_gsm_map_ms_LocationInformation = -1; static gint ett_gsm_map_ms_LocationInformationGPRS = -1; static gint ett_gsm_map_ms_SubscriberState = -1; static gint ett_gsm_map_ms_PS_SubscriberState = -1; static gint ett_gsm_map_ms_PDP_ContextInfoList = -1; static gint ett_gsm_map_ms_PDP_ContextInfo = -1; static gint ett_gsm_map_ms_AnyTimeInterrogationArg = -1; static gint ett_gsm_map_ms_AnyTimeInterrogationRes = -1; static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg = -1; static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes = -1; static gint ett_gsm_map_ms_RequestedSubscriptionInfo = -1; static gint ett_gsm_map_ms_MSISDN_BS_List = -1; static gint ett_gsm_map_ms_MSISDN_BS = -1; static gint ett_gsm_map_ms_CallForwardingData = -1; static gint ett_gsm_map_ms_CallBarringData = -1; static gint ett_gsm_map_ms_ODB_Info = -1; static gint ett_gsm_map_ms_CAMEL_SubscriptionInfo = -1; static gint ett_gsm_map_ms_AnyTimeModificationArg = -1; static gint ett_gsm_map_ms_AnyTimeModificationRes = -1; static gint ett_gsm_map_ms_ModificationRequestFor_CF_Info = -1; static gint ett_gsm_map_ms_ModificationRequestFor_CB_Info = -1; static gint ett_gsm_map_ms_ModificationRequestFor_ODB_data = -1; static gint ett_gsm_map_ms_ModificationRequestFor_CSI = -1; static gint ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data = -1; static gint ett_gsm_map_ms_NoteSubscriberDataModifiedArg = -1; static gint ett_gsm_map_ms_NoteSubscriberDataModifiedRes = -1; static gint ett_gsm_map_ms_NoteMM_EventArg = -1; static gint ett_gsm_map_ms_NoteMM_EventRes = -1; static gint ett_gsm_map_ms_Ext_SS_InfoFor_CSE = -1; static gint ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE = -1; static gint ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE = -1; /* --- Module MAP-CH-DataTypes --- --- --- */ static gint ett_gsm_map_ch_CUG_CheckInfo = -1; static gint ett_gsm_map_ch_SendRoutingInfoArg = -1; static gint ett_gsm_map_ch_SuppressMTSS = -1; static gint ett_gsm_map_ch_SendRoutingInfoRes_U = -1; static gint ett_gsm_map_ch_AllowedServices = -1; static gint ett_gsm_map_ch_CCBS_Indicators = -1; static gint ett_gsm_map_ch_RoutingInfo = -1; static gint ett_gsm_map_ch_ForwardingData = -1; static gint ett_gsm_map_ch_ProvideRoamingNumberArg = -1; static gint ett_gsm_map_ch_ProvideRoamingNumberRes = -1; static gint ett_gsm_map_ch_ResumeCallHandlingArg = -1; static gint ett_gsm_map_ch_UU_Data = -1; static gint ett_gsm_map_ch_ResumeCallHandlingRes = -1; static gint ett_gsm_map_ch_CamelInfo = -1; static gint ett_gsm_map_ch_ExtendedRoutingInfo = -1; static gint ett_gsm_map_ch_CamelRoutingInfo = -1; static gint ett_gsm_map_ch_GmscCamelSubscriptionInfo = -1; static gint ett_gsm_map_ch_SetReportingStateArg = -1; static gint ett_gsm_map_ch_SetReportingStateRes = -1; static gint ett_gsm_map_ch_StatusReportArg = -1; static gint ett_gsm_map_ch_EventReportData = -1; static gint ett_gsm_map_ch_CallReportData = -1; static gint ett_gsm_map_ch_StatusReportRes = -1; static gint ett_gsm_map_ch_RemoteUserFreeArg = -1; static gint ett_gsm_map_ch_RemoteUserFreeRes = -1; static gint ett_gsm_map_ch_IST_AlertArg = -1; static gint ett_gsm_map_ch_IST_AlertRes = -1; static gint ett_gsm_map_ch_IST_CommandArg = -1; static gint ett_gsm_map_ch_IST_CommandRes = -1; static gint ett_gsm_map_ch_ReleaseResourcesArg = -1; static gint ett_gsm_map_ch_ReleaseResourcesRes = -1; /* --- Module MAP-LCS-DataTypes --- --- --- */ static gint ett_gsm_map_lcs_RoutingInfoForLCS_Arg = -1; static gint ett_gsm_map_lcs_RoutingInfoForLCS_Res = -1; static gint ett_gsm_map_lcs_LCSLocationInfo = -1; static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Arg = -1; static gint ett_gsm_map_lcs_LocationType = -1; static gint ett_gsm_map_lcs_DeferredLocationEventType = -1; static gint ett_gsm_map_lcs_LCS_ClientID = -1; static gint ett_gsm_map_lcs_LCSClientName = -1; static gint ett_gsm_map_lcs_LCSRequestorID = -1; static gint ett_gsm_map_lcs_LCS_QoS = -1; static gint ett_gsm_map_lcs_ResponseTime = -1; static gint ett_gsm_map_lcs_SupportedGADShapes = -1; static gint ett_gsm_map_lcs_LCSCodeword = -1; static gint ett_gsm_map_lcs_LCS_PrivacyCheck = -1; static gint ett_gsm_map_lcs_AreaEventInfo = -1; static gint ett_gsm_map_lcs_AreaDefinition = -1; static gint ett_gsm_map_lcs_AreaList = -1; static gint ett_gsm_map_lcs_Area = -1; static gint ett_gsm_map_lcs_PeriodicLDRInfo = -1; static gint ett_gsm_map_lcs_ReportingPLMNList = -1; static gint ett_gsm_map_lcs_PLMNList = -1; static gint ett_gsm_map_lcs_ReportingPLMN = -1; static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Res = -1; static gint ett_gsm_map_lcs_SubscriberLocationReport_Arg = -1; static gint ett_gsm_map_lcs_Deferredmt_lrData = -1; static gint ett_gsm_map_lcs_SubscriberLocationReport_Res = -1; /* --- Module MAP-GR-DataTypes --- --- --- */ static gint ett_gsm_map_gr_PrepareGroupCallArg = -1; static gint ett_gsm_map_gr_PrepareGroupCallRes = -1; static gint ett_gsm_map_gr_SendGroupCallEndSignalArg = -1; static gint ett_gsm_map_gr_SendGroupCallEndSignalRes = -1; static gint ett_gsm_map_gr_ForwardGroupCallSignallingArg = -1; static gint ett_gsm_map_gr_ProcessGroupCallSignallingArg = -1; static gint ett_gsm_map_gr_StateAttributes = -1; static gint ett_gsm_map_gr_SendGroupCallInfoArg = -1; static gint ett_gsm_map_gr_SendGroupCallInfoRes = -1; /* --- Module MAP-DialogueInformation --- --- --- */ static gint ett_gsm_map_dialogue_MAP_DialoguePDU = -1; static gint ett_gsm_map_dialogue_MAP_OpenInfo = -1; static gint ett_gsm_map_dialogue_MAP_AcceptInfo = -1; static gint ett_gsm_map_dialogue_MAP_CloseInfo = -1; static gint ett_gsm_map_dialogue_MAP_RefuseInfo = -1; static gint ett_gsm_map_dialogue_MAP_UserAbortInfo = -1; static gint ett_gsm_map_dialogue_MAP_UserAbortChoice = -1; static gint ett_gsm_map_dialogue_MAP_ProviderAbortInfo = -1; /* --- Module MAP-LocationServiceOperations --- --- --- */ /* --- Module MAP-Group-Call-Operations --- --- --- */ /* --- Module MAP-ShortMessageServiceOperations --- --- --- */ /* --- Module MAP-SupplementaryServiceOperations --- --- --- */ /* --- Module MAP-CallHandlingOperations --- --- --- */ /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */ /* --- Module MAP-MobileServiceOperations --- --- --- */ /* --- Module MAP-Errors --- --- --- */ /* --- Module MAP-Protocol --- --- --- */ /* --- Module DummyMAP --- --- --- */ static gint ett_gsm_old_Component = -1; static gint ett_gsm_old_Invoke = -1; static gint ett_gsm_old_ReturnResult = -1; static gint ett_gsm_old_T_resultretres = -1; static gint ett_gsm_old_ReturnError = -1; static gint ett_gsm_old_Reject = -1; static gint ett_gsm_old_T_invokeIDRej = -1; static gint ett_gsm_old_T_problem = -1; static gint ett_gsm_old_MAP_OPERATION = -1; static gint ett_gsm_old_MAP_ERROR = -1; static gint ett_gsm_old_Bss_APDU = -1; static gint ett_gsm_old_ProvideSIWFSNumberArg = -1; static gint ett_gsm_old_ProvideSIWFSNumberRes = -1; static gint ett_gsm_old_PurgeMSArgV2 = -1; static gint ett_gsm_old_PrepareHO_ArgOld = -1; static gint ett_gsm_old_PrepareHO_ResOld = -1; static gint ett_gsm_old_SendAuthenticationInfoResOld = -1; static gint ett_gsm_old_SendAuthenticationInfoResOld_item = -1; static gint ett_gsm_old_SendIdentificationResV2 = -1; static gint ett_gsm_old_TripletListold = -1; static gint ett_gsm_old_AuthenticationTriplet_v2 = -1; static gint ett_gsm_old_SIWFSSignallingModifyArg = -1; static gint ett_gsm_old_SIWFSSignallingModifyRes = -1; static gint ett_gsm_old_SecureTransportArg = -1; static gint ett_gsm_old_SecureTransportErrorParam = -1; static gint ett_gsm_old_SecureTransportRes = -1; static gint ett_gsm_old_SecurityHeader = -1; static gint ett_gsm_old_OriginalComponentIdentifier = -1; static gint ett_gsm_old_OperationCode = -1; static gint ett_gsm_old_ErrorCode = -1; static gint ett_gsm_old_PlmnContainer_U = -1; static gint ett_gsm_old_T_operatorSS_Code = -1; static gint ett_gsm_old_ForwardSM_Arg = -1; static gint ett_gsm_old_SM_RP_DAold = -1; static gint ett_gsm_old_SM_RP_OAold = -1; static gint ett_gsm_old_SendRoutingInfoArgV2 = -1; static gint ett_gsm_old_SendRoutingInfoResV2 = -1; /* --- Module SS-DataTypes --- --- --- */ static gint ett_gsm_ss_NotifySS_Arg = -1; static gint ett_gsm_ss_BeginSubscriberActivityArg = -1; static gint ett_gsm_ss_ForwardChargeAdviceArg = -1; static gint ett_gsm_ss_ChargingInformation = -1; static gint ett_gsm_ss_ForwardCUG_InfoArg = -1; static gint ett_gsm_ss_ECT_Indicator = -1; static gint ett_gsm_ss_NameIndicator = -1; static gint ett_gsm_ss_Name = -1; static gint ett_gsm_ss_NameSet = -1; static gint ett_gsm_ss_RDN = -1; static gint ett_gsm_ss_RemotePartyNumber = -1; static gint ett_gsm_ss_AccessRegisterCCEntryArg = -1; static gint ett_gsm_ss_CallDeflectionArg = -1; static gint ett_gsm_ss_UserUserServiceArg = -1; static gint ett_gsm_ss_LocationNotificationArg = -1; static gint ett_gsm_ss_LocationNotificationRes = -1; static gint ett_gsm_ss_LCS_MOLRArg = -1; static gint ett_gsm_ss_LCS_MOLRRes = -1; static gint ett_gsm_ss_LCS_AreaEventRequestArg = -1; static gint ett_gsm_ss_LCS_AreaEventReportArg = -1; static gint ett_gsm_ss_LCS_AreaEventCancellationArg = -1; static gint ett_gsm_ss_LCS_PeriodicLocationRequestArg = -1; static gint ett_gsm_ss_LCS_PeriodicLocationRequestRes = -1; static gint ett_gsm_ss_LCS_LocationUpdateArg = -1; static gint ett_gsm_ss_LCS_LocationUpdateRes = -1; static gint ett_gsm_ss_LCS_PeriodicLocationCancellationArg = -1; /* --- Module SS-Operations --- --- --- */ /*--- End of included file: packet-gsm_map-ett.c ---*/ #line 185 "packet-gsmmap-template.c" static dissector_table_t sms_dissector_table; /* SMS TPDU */ static dissector_handle_t data_handle; static dissector_handle_t ranap_handle; static dissector_handle_t map_handle; /* Preferenc settings default */ #define MAX_SSN 254 static range_t *global_ssn_range; static range_t *ssn_range; /* Global variables */ static guint32 opcode=0; static guint32 errorCode; static proto_tree *top_tree; static int application_context_version; static guint ProtocolId; guint protocolId; guint AccessNetworkProtocolId; const char *obj_id = NULL; static int gsm_map_tap = -1; #define SMS_ENCODING_NOT_SET 0 #define SMS_ENCODING_7BIT 1 #define SMS_ENCODING_8BIT 2 #define SMS_ENCODING_UCS2 3 #define SMS_ENCODING_7BIT_LANG 4 #define SMS_ENCODING_UCS2_LANG 5 static guint8 sms_encoding; /* Forward declarations */ static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx); static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx); static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx); const gchar* gsm_map_opr_code(guint32 val); /* Value strings */ const value_string gsm_map_PDP_Type_Organisation_vals[] = { { 0, "ETSI" }, { 1, "IETF" }, { 0, NULL } }; const value_string gsm_map_ietf_defined_pdp_vals[] = { { 0x21, "IPv4 Address" }, { 0x57, "IPv6 Address" }, { 0, NULL } }; const value_string gsm_map_etsi_defined_pdp_vals[] = { { 1, "PPP" }, { 0, NULL } }; char * unpack_digits(tvbuff_t *tvb, int offset) { int length; guint8 octet; int i=0; char *digit_str; length = tvb_length(tvb); if (length < offset) return ""; digit_str = ep_alloc((length - offset)*2+1); while ( offset < length ){ octet = tvb_get_guint8(tvb,offset); digit_str[i] = ((octet & 0x0f) + '0'); i++; /* * unpack second value in byte */ octet = octet >> 4; if (octet == 0x0f) /* odd number bytes - hit filler */ break; digit_str[i] = ((octet & 0x0f) + '0'); i++; offset++; } digit_str[i]= '\0'; return digit_str; } /* returns value in kb/s */ static guint gsm_map_calc_bitrate(guint8 value){ guint8 granularity; guint returnvalue; if (value == 0xff) return 0; granularity = value >> 6; returnvalue = value & 0x7f; switch (granularity){ case 0: break; case 1: returnvalue = ((returnvalue - 0x40) << 3)+64; break; case 2: returnvalue = (returnvalue << 6)+576; break; case 3: returnvalue = (returnvalue << 6)+576; break; } return returnvalue; } static void dissect_gsm_map_ext_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){ int offset = 0; proto_tree *subtree; guint8 octet; guint16 value; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext_qos_subscribed); /* OCTET 1: Allocation/Retention Priority (This octet encodes each priority level defined in 23.107 as the binary value of the priority level, declaration in 29.060) Octets 2-9 are coded according to 3GPP TS 24.008[35] Quality of Service Octets 6-13. */ /* Allocation/Retention Priority */ proto_tree_add_item(subtree, hf_gsm_map_ext_qos_subscribed_pri, tvb, offset, 1, FALSE); offset++; /* Quality of Service Octets 6-13.( Octet 2 - 9 Here) */ /* Traffic class, octet 6 (see 3GPP TS 23.107) Bits 8 7 6 */ proto_tree_add_item(subtree, hf_gsm_map_qos_traffic_cls, tvb, offset, 1, FALSE); /* Delivery order, octet 6 (see 3GPP TS 23.107) Bits 5 4 */ proto_tree_add_item(subtree, hf_gsm_map_qos_del_order, tvb, offset, 1, FALSE); /* Delivery of erroneous SDUs, octet 6 (see 3GPP TS 23.107) Bits 3 2 1 */ proto_tree_add_item(subtree, hf_gsm_map_qos_del_of_err_sdu, tvb, offset, 1, FALSE); offset++; /* Maximum SDU size, octet 7 (see 3GPP TS 23.107) */ octet = tvb_get_guint8(tvb,offset); switch (octet){ case 0: proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum SDU size/Reserved"); break; case 0x93: value = 1502; proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value); break; case 0x98: value = 1510; proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value); break; case 0x99: value = 1532; proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value); break; default: if (octet<0x97){ value = octet * 10; proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value); }else{ proto_tree_add_text(subtree, tvb, offset, 1, "Maximum SDU size value 0x%x not defined in TS 24.008",octet); } } offset++; /* Maximum bit rate for uplink, octet 8 */ octet = tvb_get_guint8(tvb,offset); if (octet == 0 ){ proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum bit rate for uplink/Reserved" ); }else{ proto_tree_add_uint(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet)); } offset++; /* Maximum bit rate for downlink, octet 9 (see 3GPP TS 23.107) */ octet = tvb_get_guint8(tvb,offset); if (octet == 0 ){ proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum bit rate for downlink/Reserved" ); }else{ proto_tree_add_uint(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet)); } offset++; /* Residual Bit Error Rate (BER), octet 10 (see 3GPP TS 23.107) Bits 8 7 6 5 */ proto_tree_add_item(subtree, hf_gsm_map_qos_ber, tvb, offset, 1, FALSE); /* SDU error ratio, octet 10 (see 3GPP TS 23.107) */ proto_tree_add_item(subtree, hf_gsm_map_qos_sdu_err_rat, tvb, offset, 1, FALSE); offset++; /* Transfer delay, octet 11 (See 3GPP TS 23.107) Bits 8 7 6 5 4 3 */ proto_tree_add_item(subtree, hf_gsm_map_qos_transfer_delay, tvb, offset, 1, FALSE); /* Traffic handling priority, octet 11 (see 3GPP TS 23.107) Bits 2 1 */ proto_tree_add_item(subtree, hf_gsm_map_qos_traff_hdl_pri, tvb, offset, 1, FALSE); offset++; /* Guaranteed bit rate for uplink, octet 12 (See 3GPP TS 23.107) Coding is identical to that of Maximum bit rate for uplink. */ octet = tvb_get_guint8(tvb,offset); if (octet == 0 ){ proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Guaranteed bit rate for uplink/Reserved" ); }else{ proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet)); } offset++; /* Guaranteed bit rate for downlink, octet 13(See 3GPP TS 23.107) Coding is identical to that of Maximum bit rate for uplink. */ octet = tvb_get_guint8(tvb,offset); if (octet == 0 ){ proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Guaranteed bit rate for downlink/Reserved" ); }else{ proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet)); } } #define ELLIPSOID_POINT 0 /* TS 23 032 Table 2a: Coding of Type of Shape */ static const value_string type_of_shape_vals[] = { { ELLIPSOID_POINT, "Ellipsoid Point"}, { 1, "Ellipsoid point with uncertainty Circle"}, { 3, "Ellipsoid point with uncertainty Ellipse"}, { 5, "Polygon"}, { 8, "Ellipsoid point with altitude"}, { 9, "Ellipsoid point with altitude and uncertainty Ellipsoid"}, { 10, "Ellipsoid Arc"}, { 0, NULL } }; /* 3GPP TS 23.032 7.3.1 */ static const value_string sign_of_latitude_vals[] = { { 0, "North"}, { 1, "South"}, { 0, NULL } }; static const value_string dir_of_alt_vals[] = { { 0, "Altitude expresses height"}, { 1, "Altitude expresses depth"}, { 0, NULL } }; void dissect_geographical_description(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree){ proto_item *lat_item, *long_item, *major_item, *minor_item, *alt_item; /*proto_tree *subtree; */ guint8 type_of_shape; guint8 no_of_points; int offset = 0; int length; guint8 value; guint32 value32; /*subtree = proto_item_add_subtree(item, ett_gsm_map_geo_desc);*/ length = tvb_reported_length_remaining(tvb,0); /* Geographical Location * The Location Estimate field is composed of 1 or more octets with an internal structure * according to section 7 in [23.032]. */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_type_of_shape, tvb, 0, 1, FALSE); if (length<2) return; type_of_shape = tvb_get_guint8(tvb,offset)>>4; switch (type_of_shape){ case ELLIPSOID_POINT: /* Ellipsoid Point */ case 2: /* Ellipsoid Point with uncertainty Circle */ case 3: /* Ellipsoid Point with uncertainty Ellipse */ case 8: /* Ellipsoid Point with Altitude */ case 9: /* Ellipsoid Point with altitude and uncertainty ellipsoid */ case 10: /* Ellipsoid Arc */ offset++; if (length<4) return; proto_tree_add_item(tree, hf_gsm_map_geo_loc_sign_of_lat, tvb, offset, 1, FALSE); value32 = tvb_get_ntoh24(tvb,offset)&0x7fffff; /* convert degrees (X/0x7fffff) * 90 = degrees */ lat_item = proto_tree_add_item(tree, hf_gsm_map_geo_loc_deg_of_lat, tvb, offset, 3, FALSE); proto_item_append_text(lat_item,"(%.5f degrees)", (((double)value32/8388607) * 90)); if (length<7) return; offset = offset + 3; value32 = tvb_get_ntoh24(tvb,offset)&0x7fffff; long_item = proto_tree_add_item(tree, hf_gsm_map_geo_loc_deg_of_long, tvb, offset, 3, FALSE); /* (X/0xffffff) *360 = degrees */ proto_item_append_text(long_item,"(%.5f degrees)", (((double)value32/16777215) * 360)); offset = offset + 3; if(type_of_shape==2){ /* Ellipsoid Point with uncertainty Circle */ if (length<8) return; /* Uncertainty code */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_uncertainty_code, tvb, offset, 1, FALSE); }else if(type_of_shape==3){ /* Ellipsoid Point with uncertainty Ellipse */ /* Uncertainty semi-major octet 10 * To convert to metres 10*(((1.1)^X)-1) */ value = tvb_get_guint8(tvb,offset)&0x7f; major_item = proto_tree_add_item(tree, hf_gsm_map_geo_loc_uncertainty_semi_major, tvb, offset, 1, FALSE); proto_item_append_text(major_item,"(%.1f m)", 10 * (pow(1.1, (double)value) - 1)); offset++; /* Uncertainty semi-minor Octet 11 * To convert to metres 10*(((1.1)^X)-1) */ value = tvb_get_guint8(tvb,offset)&0x7f; minor_item = proto_tree_add_item(tree, hf_gsm_map_geo_loc_uncertainty_semi_minor, tvb, offset, 1, FALSE); proto_item_append_text(minor_item,"(%.1f m)", 10 * (pow(1.1, (double)value) - 1)); offset++; /* Orientation of major axis octet 12 * allowed value from 0-179 to convert * to actual degrees multiply by 2. */ value = tvb_get_guint8(tvb,offset)&0x7f; proto_tree_add_uint(tree, hf_gsm_map_geo_loc_orientation_of_major_axis, tvb, offset, 1, value*2); offset++; /* Confidence */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_confidence, tvb, offset, 1, FALSE); offset++; }else if(type_of_shape==8){ /* Ellipsoid Point with Altitude */ /*D: Direction of Altitude */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_D, tvb, offset, 1, FALSE); /* Altitude */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_altitude, tvb, offset, 2, FALSE); }else if(type_of_shape==9){ /* Ellipsoid Point with altitude and uncertainty ellipsoid */ /*D: Direction of Altitude octet 8,9 */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_D, tvb, offset, 1, FALSE); /* Altitude Octet 8,9*/ proto_tree_add_item(tree, hf_gsm_map_geo_loc_altitude, tvb, offset, 2, FALSE); offset = offset +2; /* Uncertainty semi-major octet 10 * To convert to metres 10*(((1.1)^X)-1) */ value = tvb_get_guint8(tvb,offset)&0x7f; major_item = proto_tree_add_item(tree, hf_gsm_map_geo_loc_uncertainty_semi_major, tvb, offset, 1, FALSE); proto_item_append_text(major_item,"(%.1f m)", 10 * (pow(1.1, (double)value) - 1)); offset++; /* Uncertainty semi-minor Octet 11 * To convert to metres 10*(((1.1)^X)-1) */ value = tvb_get_guint8(tvb,offset)&0x7f; minor_item = proto_tree_add_item(tree, hf_gsm_map_geo_loc_uncertainty_semi_minor, tvb, offset, 1, FALSE); proto_item_append_text(minor_item,"(%.1f m)", 10 * (pow(1.1, (double)value) - 1)); offset++; /* Orientation of major axis octet 12 * allowed value from 0-179 to convert * to actual degrees multiply by 2. */ value = tvb_get_guint8(tvb,offset)&0x7f; proto_tree_add_uint(tree, hf_gsm_map_geo_loc_orientation_of_major_axis, tvb, offset, 1, value*2); offset++; /* Uncertainty Altitude 13 * to convert to metres 45*(((1.025)^X)-1) */ value = tvb_get_guint8(tvb,offset)&0x7f; alt_item = proto_tree_add_item(tree, hf_gsm_map_geo_loc_uncertainty_altitude, tvb, offset, 1, FALSE); proto_item_append_text(alt_item,"(%.1f m)", 45 * (pow(1.025, (double)value) - 1)); offset++; /* Confidence octet 14 */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_confidence, tvb, offset, 1, FALSE); }else if(type_of_shape==10){ /* Ellipsoid Arc */ /* Inner radius */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_inner_radius, tvb, offset, 2, FALSE); offset= offset +2; /* Uncertainty radius */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_uncertainty_radius, tvb, offset, 1, FALSE); offset++; /* Offset angle */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_offset_angle, tvb, offset, 1, FALSE); offset++; /* Included angle */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_included_angle, tvb, offset, 1, FALSE); offset++; /* Confidence */ proto_tree_add_item(tree, hf_gsm_map_geo_loc_confidence, tvb, offset, 1, FALSE); } break; case 5: /* Polygon */ /* Number of points */ no_of_points = tvb_get_guint8(tvb,offset)&0x0f; proto_tree_add_item(tree, hf_gsm_map_geo_loc_no_of_points, tvb, offset, 1, FALSE); /* while ( no_of_points > 0){ offset++; no_of_points--; } */ break; default: break; } } static const value_string gsm_map_cbs_data_coding_scheme_coding_grp_vals[] = { { 0, "Coding Group 0(Language using the GSM 7 bit default alphabet)" }, { 1, "Coding Group 1" }, { 2, "Coding Group 2" }, { 3, "Coding Group 3" }, { 4, "General Data Coding indication" }, { 5, "General Data Coding indication" }, { 6, "General Data Coding indication" }, { 7, "General Data Coding indication" }, { 8, "Reserved" }, { 9, "Message with User Data Header (UDH) structure" }, { 10,"Reserved" }, { 11,"Reserved" }, { 12,"Reserved" }, { 13,"Reserved" }, { 14,"Defined by the WAP Forum" }, { 15,"Data coding / message handling" }, { 0, NULL} }; /* Coding group 0 * Bits 3..0 indicate the language: */ static const value_string gsm_map_cbs_coding_grp0_lang_vals[] = { { 0, "German"}, { 1, "English"}, { 2, "Italian"}, { 3, "French"}, { 4, "Spanish"}, { 5, "Dutch"}, { 6, "Swedish"}, { 7, "Danish"}, { 8, "Portuguese"}, { 9, "Finnish"}, { 10, "Norwegian"}, { 11, "Greek"}, { 12, "Turkish"}, { 13, "Hungarian"}, { 14, "Polish"}, { 15, "Language unspecified"}, { 0, NULL } }; static const value_string gsm_map_cbs_coding_grp1_lang_vals[] = { { 0, "GSM 7 bit default alphabet; message preceded by language indication"}, { 1, "UCS2; message preceded by language indication"}, { 2, "Reserved"}, { 3, "Reserved"}, { 4, "Reserved"}, { 5, "Reserved"}, { 6, "Reserved"}, { 7, "Reserved"}, { 8, "Reserved"}, { 9, "Reserved"}, { 10, "Reserved"}, { 11, "Reserved"}, { 12, "Reserved"}, { 13, "Reserved"}, { 14, "Reserved"}, { 15, "Reserved"}, { 0, NULL } }; static const value_string gsm_map_cbs_coding_grp2_lang_vals[] = { { 0, "Czech"}, { 1, "Hebrew"}, { 2, "Arabic"}, { 3, "Russian"}, { 4, "Icelandic"}, { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 0, NULL } }; static const value_string gsm_map_cbs_coding_grp3_lang_vals[] = { { 0, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 1, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 2, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 3, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 4, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"}, { 0, NULL } }; static const true_false_string gsm_map_cbs_coding_grp4_7_comp_vals = { "The text is compressed using the compression algorithm defined in 3GPP TS 23.042", "The text is uncompressed" }; static const true_false_string gsm_map_cbs_coding_grp4_7_class_ind_vals = { "Bits 1 to 0 have a message class meaning", "Bits 1 to 0 are reserved and have no message class meaning" }; /* Bits 3 and 2 indicate the character set being used, as follows: */ static const value_string gsm_map_cbs_coding_grp4_7_char_set_vals[] = { { 0, "GSM 7 bit default alphabet"}, { 1, "8 bit data"}, { 2, "UCS2 (16 bit)"}, { 3, "Reserved"}, { 0, NULL } }; static const value_string gsm_map_cbs_coding_grp4_7_class_vals[] = { { 0, "Class 0"}, { 1, "Class 1 Default meaning: ME-specific"}, { 2, "Class 2 (U)SIM specific message"}, { 3, "Class 3 Default meaning: TE-specific (see 3GPP TS 27.005"}, { 0, NULL } }; static const value_string gsm_map_cbs_coding_grp15_mess_code_vals[] = { { 0, "GSM 7 bit default alphabet"}, { 1, "8 bit data"}, { 0, NULL } }; static const value_string gsm_map_cbs_coding_grp15_class_vals[] = { { 0, "GSM 7 bit default alphabet"}, { 1, "8 bit data"}, { 0, NULL } }; /* 3GPP TS 23.038 version 7.0.0 Release 7 */ guint8 dissect_cbs_data_coding_scheme(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree) { guint8 octet; guint8 coding_grp; guint8 character_set; octet = tvb_get_guint8(tvb,0); coding_grp = octet >>4; proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp, tvb, 0, 1, FALSE); sms_encoding = SMS_ENCODING_NOT_SET; switch (coding_grp){ case 0: proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp0_lang, tvb, 0, 1, FALSE); sms_encoding = SMS_ENCODING_7BIT; break; case 1: proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp1_lang, tvb, 0, 1, FALSE); if ((octet & 0x0f)== 0){ sms_encoding = SMS_ENCODING_7BIT_LANG; }else{ sms_encoding = SMS_ENCODING_UCS2_LANG; } break; case 2: proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp2_lang, tvb, 0, 1, FALSE); sms_encoding = SMS_ENCODING_7BIT; break; case 3: proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp3_lang, tvb, 0, 1, FALSE); sms_encoding = SMS_ENCODING_7BIT; break; /* Coding_grp 01xx */ case 4: case 5: case 6: case 7: proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_comp, tvb, 0, 1, FALSE); proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class_ind, tvb, 0, 1, FALSE); proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, 0, 1, FALSE); if ((octet & 0x10)== 0x10){ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, 0, 1, FALSE); } /* Bits 3 and 2 indicate the character set being used, */ character_set = (octet&0x0c)>>2; switch (character_set){ case 0: /* GSM 7 bit default alphabet */ sms_encoding = SMS_ENCODING_7BIT; break; case 1: /* 8 bit data */ sms_encoding = SMS_ENCODING_8BIT; break; case 2: /* UCS2 (16 bit) */ sms_encoding = SMS_ENCODING_UCS2; break; case 3: /* Reserved */ sms_encoding = SMS_ENCODING_NOT_SET; break; default: break; } break; case 8: /* Reserved coding groups */ break; case 9: /* Message with User Data Header (UDH) structure:*/ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, 0, 1, FALSE); proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, 0, 1, FALSE); character_set = (octet&0x0c)>>2; switch (character_set){ case 0: /* GSM 7 bit default alphabet */ sms_encoding = SMS_ENCODING_7BIT; break; case 1: /* 8 bit data */ sms_encoding = SMS_ENCODING_8BIT; break; case 2: /* UCS2 (16 bit) */ sms_encoding = SMS_ENCODING_UCS2; break; case 3: /* Reserved */ sms_encoding = SMS_ENCODING_NOT_SET; break; default: break; } break; case 10: case 11: case 12: case 13: /* 1010..1101 Reserved coding groups */ break; case 14: /* Defined by the WAP Forum * "Wireless Datagram Protocol Specification", Wireless Application Protocol Forum Ltd. */ break; case 15: /* Data coding / message handling */ proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_mess_code, tvb, 0, 1, FALSE); proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_class, tvb, 0, 1, FALSE); character_set = (octet&0x04)>>2; if (character_set == 0){ sms_encoding = SMS_ENCODING_7BIT; }else{ sms_encoding = SMS_ENCODING_8BIT; } break; default: break; } return sms_encoding; } /*--- Included file: packet-gsm_map-fn.c ---*/ #line 1 "packet-gsm_map-fn.c" /* --- Module MAP-SS-Code --- --- --- */ int dissect_gsm_map_SS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } /* --- Module MAP-BS-Code --- --- --- */ static int dissect_gsm_map_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_Ext_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } /* --- Module MAP-TS-Code --- --- --- */ static int dissect_gsm_map_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_Ext_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } /* --- Module MAP-ExtensionDataTypes --- --- --- */ static int dissect_gsm_map_T_extId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &obj_id); return offset; } static int dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 163 "gsmmap.cnf" proto_tree_add_text(tree, tvb, offset, -1, "Extension Data"); if (obj_id){ offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, tree); }else{ call_dissector(data_handle, tvb, actx->pinfo, tree); offset = tvb_length_remaining(tvb,offset); } return offset; } static const ber_sequence_t gsm_map_PrivateExtension_sequence[] = { { &hf_gsm_map_extId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extId }, { &hf_gsm_map_extType , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extType }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_PrivateExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension); return offset; } static const ber_sequence_t gsm_map_PrivateExtensionList_sequence_of[1] = { { &hf_gsm_map_PrivateExtensionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PrivateExtension }, }; static int dissect_gsm_map_PrivateExtensionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList); return offset; } static const ber_sequence_t gsm_map_PCS_Extensions_sequence[] = { { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_PCS_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_PCS_Extensions_sequence, hf_index, ett_gsm_map_PCS_Extensions); return offset; } static const ber_sequence_t gsm_map_ExtensionContainer_sequence[] = { { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList }, { &hf_gsm_map_pcs_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PCS_Extensions }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer); return offset; } static int dissect_gsm_map_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const ber_sequence_t gsm_map_SLR_Arg_PCS_Extensions_sequence[] = { { &hf_gsm_map_na_ESRK_Request, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_SLR_Arg_PCS_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_SLR_Arg_PCS_Extensions_sequence, hf_index, ett_gsm_map_SLR_Arg_PCS_Extensions); return offset; } static const ber_sequence_t gsm_map_SLR_ArgExtensionContainer_sequence[] = { { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList }, { &hf_gsm_map_slr_Arg_PCS_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SLR_Arg_PCS_Extensions }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_SLR_ArgExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_SLR_ArgExtensionContainer_sequence, hf_index, ett_gsm_map_SLR_ArgExtensionContainer); return offset; } /* --- Module MAP-CommonDataTypes --- --- --- */ static int dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 204 "gsmmap.cnf" tvbuff_t *parameter_tvb; char *digit_str; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; digit_str = unpack_digits(parameter_tvb, 0); proto_tree_add_string(tree, hf_gsm_map_TBCD_digits, parameter_tvb, 0, -1, digit_str); return offset; } int dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 172 "gsmmap.cnf" tvbuff_t *parameter_tvb; char *digit_str; guint8 octet; guint8 na; guint8 np; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_isdn_address_string); proto_tree_add_item(subtree, hf_gsm_map_extension, parameter_tvb, 0,1,FALSE); proto_tree_add_item(subtree, hf_gsm_map_nature_of_number, parameter_tvb, 0,1,FALSE); proto_tree_add_item(subtree, hf_gsm_map_number_plan, parameter_tvb, 0,1,FALSE); digit_str = unpack_digits(parameter_tvb, 1); proto_tree_add_string(subtree, hf_gsm_map_address_digits, parameter_tvb, 1, -1, digit_str); octet = tvb_get_guint8(parameter_tvb,0); na = (octet & 0x70)>>4; np = octet & 0x0f; if ((na == 1) && (np==1))/*International Number & E164*/ dissect_e164_cc(parameter_tvb, subtree, 1, TRUE); else if(np==6) dissect_e212_mcc_mnc(parameter_tvb, subtree, 1); return offset; } int dissect_gsm_map_ISDN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static int dissect_gsm_map_FTN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } int dissect_gsm_map_ISDN_SubaddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ProtocolId_vals[] = { { 1, "gsm-0408" }, { 2, "gsm-0806" }, { 3, "gsm-BSSMAP" }, { 4, "ets-300102-1" }, { 0, NULL } }; static int dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &ProtocolId); return offset; } static int dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 276 "gsmmap.cnf" tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); actx->value_ptr = parameter_tvb; return offset; } static const ber_sequence_t gsm_map_ExternalSignalInfo_sequence[] = { { &hf_gsm_map_protocolId , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ProtocolId }, { &hf_gsm_map_signalInfo , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 623 "gsmmap.cnf" guint8 octet; guint8 length; tvbuff_t *next_tvb; proto_tree *subtree; ProtocolId = 0xffffffff; offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_ExternalSignalInfo); if (!actx->value_ptr) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo); switch (ProtocolId){ /* gsm-0408 */ case 1: break; /* gsm-0806 */ case 2: break; /* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/ case 3: octet = tvb_get_guint8(actx->value_ptr,0); length = tvb_get_guint8(actx->value_ptr,1); if ( octet == 0) {/* DISCRIMINATION TS 48 006 */ next_tvb = tvb_new_subset(actx->value_ptr, 2, -1, -1); dissect_bssmap(next_tvb, actx->pinfo, subtree); } break; /* ets-300102-1 (~Q.931 ) */ case 4: octet = tvb_get_guint8(actx->value_ptr,0); length = tvb_get_guint8(actx->value_ptr,1); if ( octet == 4 ) dissect_q931_bearer_capability_ie(actx->value_ptr, 2, length, subtree); break; default: break; } return offset; } static const value_string gsm_map_Ext_ProtocolId_vals[] = { { 1, "ets-300356" }, { 0, NULL } }; static int dissect_gsm_map_Ext_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_Ext_ExternalSignalInfo_sequence[] = { { &hf_gsm_map_ext_ProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_ProtocolId }, { &hf_gsm_map_signalInfo , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_Ext_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_Ext_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_Ext_ExternalSignalInfo); return offset; } static const value_string gsm_map_AccessNetworkProtocolId_vals[] = { { 1, "ts3G-48006" }, { 2, "ts3G-25413" }, { 0, NULL } }; static int dissect_gsm_map_AccessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 223 "gsmmap.cnf" tvbuff_t *parameter_tvb; guint8 octet; guint8 length; tvbuff_t *next_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo); switch (AccessNetworkProtocolId){ /* ts3G-48006 */ case 1: octet = tvb_get_guint8(parameter_tvb,0); length = tvb_get_guint8(parameter_tvb,1); if ( octet == 0) {/* DISCRIMINATION TS 48 006 */ /* gsm-BSSMAP? */ next_tvb = tvb_new_subset(parameter_tvb, 2, -1, -1); dissect_bssmap(next_tvb, actx->pinfo, tree); } break; /* ts3G-25413 */ case 2: call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree); break; default: break; } return offset; } static const ber_sequence_t gsm_map_AccessNetworkSignalInfo_sequence[] = { { &hf_gsm_map_accessNetworkProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkProtocolId }, { &hf_gsm_map_signalInfo_01, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LongSignalInfo }, { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_AccessNetworkSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_AccessNetworkSignalInfo_sequence, hf_index, ett_gsm_map_AccessNetworkSignalInfo); return offset; } int dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static int dissect_gsm_map_LMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_IMSI_WithLMSI_sequence[] = { { &hf_gsm_map_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_lmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_IMSI_WithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_IMSI_WithLMSI_sequence, hf_index, ett_gsm_map_IMSI_WithLMSI); return offset; } static const value_string gsm_map_Identity_vals[] = { { 0, "imsi" }, { 1, "imsi-WithLMSI" }, { 0, NULL } }; static const ber_choice_t gsm_map_Identity_choice[] = { { 0, &hf_gsm_map_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { 1, &hf_gsm_map_imsi_WithLMSI, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI_WithLMSI }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_Identity_choice, hf_index, ett_gsm_map_Identity, NULL); return offset; } static int dissect_gsm_map_ASCI_CallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static int dissect_gsm_map_TMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_SubscriberId_vals[] = { { 0, "imsi" }, { 1, "tmsi" }, { 0, NULL } }; static const ber_choice_t gsm_map_SubscriberId_choice[] = { { 0, &hf_gsm_map_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { 1, &hf_gsm_map_tmsi , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_TMSI }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_SubscriberId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_SubscriberId_choice, hf_index, ett_gsm_map_SubscriberId, NULL); return offset; } int dissect_gsm_map_IMEI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static int dissect_gsm_map_HLR_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const ber_sequence_t gsm_map_HLR_List_sequence_of[1] = { { &hf_gsm_map_HLR_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_Id }, }; static int dissect_gsm_map_HLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_HLR_List_sequence_of, hf_index, ett_gsm_map_HLR_List); return offset; } int dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 661 "gsmmap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId); be_cell_id_aux(parameter_tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0, 0); return offset; } static const value_string gsm_map_NetworkResource_vals[] = { { 0, "plmn" }, { 1, "hlr" }, { 2, "vlr" }, { 3, "pvlr" }, { 4, "controllingMSC" }, { 5, "vmsc" }, { 6, "eir" }, { 7, "rss" }, { 0, NULL } }; static int dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_AdditionalNetworkResource_vals[] = { { 0, "sgsn" }, { 1, "ggsn" }, { 2, "gmlc" }, { 3, "gsmSCF" }, { 4, "nplr" }, { 5, "auc" }, { 6, "ue" }, { 0, NULL } }; static int dissect_gsm_map_AdditionalNetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_NAEA_CIC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_NAEA_PreferredCI_sequence[] = { { &hf_gsm_map_naea_PreferredCIC, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_CIC }, { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_NAEA_PreferredCI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_NAEA_PreferredCI_sequence, hf_index, ett_gsm_map_NAEA_PreferredCI); return offset; } static const value_string gsm_map_SubscriberIdentity_vals[] = { { 0, "imsi" }, { 1, "msisdn" }, { 0, NULL } }; static const ber_choice_t gsm_map_SubscriberIdentity_choice[] = { { 0, &hf_gsm_map_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { 1, &hf_gsm_map_msisdn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_SubscriberIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity, NULL); return offset; } static const ber_sequence_t gsm_map_LCSClientExternalID_sequence[] = { { &hf_gsm_map_externalAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_LCSClientExternalID_sequence, hf_index, ett_gsm_map_LCSClientExternalID); return offset; } static const value_string gsm_map_LCSClientInternalID_vals[] = { { 0, "broadcastService" }, { 1, "o-andM-HPLMN" }, { 2, "o-andM-VPLMN" }, { 3, "anonymousLocation" }, { 4, "targetMSsubscribedService" }, { 0, NULL } }; static int dissect_gsm_map_LCSClientInternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } const value_string gsm_map_LCSServiceTypeID_vals[] = { { 0, "emergencyServices" }, { 1, "emergencyAlertServices" }, { 2, "personTracking" }, { 3, "fleetManagement" }, { 4, "assetManagement" }, { 5, "trafficCongestionReporting" }, { 6, "roadsideAssistance" }, { 7, "routingToNearestCommercialEnterprise" }, { 8, "navigation" }, { 9, "citySightseeing" }, { 10, "localizedAdvertising" }, { 11, "mobileYellowPages" }, { 12, "trafficAndPublicTransportationInfo" }, { 13, "weather" }, { 14, "assetAndServiceFinding" }, { 15, "gaming" }, { 16, "findYourFriend" }, { 17, "dating" }, { 18, "chatting" }, { 19, "routeFinding" }, { 20, "whereAmI" }, { 64, "serv64" }, { 65, "serv65" }, { 66, "serv66" }, { 67, "serv67" }, { 68, "serv68" }, { 69, "serv69" }, { 70, "serv70" }, { 71, "serv71" }, { 72, "serv72" }, { 73, "serv73" }, { 74, "serv74" }, { 75, "serv75" }, { 76, "serv76" }, { 77, "serv77" }, { 78, "serv78" }, { 79, "serv79" }, { 80, "serv80" }, { 81, "serv81" }, { 82, "serv82" }, { 83, "serv83" }, { 84, "serv84" }, { 85, "serv85" }, { 86, "serv86" }, { 87, "serv87" }, { 88, "serv88" }, { 89, "serv89" }, { 90, "serv90" }, { 91, "serv91" }, { 92, "serv92" }, { 93, "serv93" }, { 94, "serv94" }, { 95, "serv95" }, { 96, "serv96" }, { 97, "serv97" }, { 98, "serv98" }, { 99, "serv99" }, { 100, "serv100" }, { 101, "serv101" }, { 102, "serv102" }, { 103, "serv103" }, { 104, "serv104" }, { 105, "serv105" }, { 106, "serv106" }, { 107, "serv107" }, { 108, "serv108" }, { 109, "serv109" }, { 110, "serv110" }, { 111, "serv111" }, { 112, "serv112" }, { 113, "serv113" }, { 114, "serv114" }, { 115, "serv115" }, { 116, "serv116" }, { 117, "serv117" }, { 118, "serv118" }, { 119, "serv119" }, { 120, "serv120" }, { 121, "serv121" }, { 122, "serv122" }, { 123, "serv123" }, { 124, "serv124" }, { 125, "serv125" }, { 126, "serv126" }, { 127, "serv127" }, { 0, NULL } }; int dissect_gsm_map_LCSServiceTypeID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_PLMN_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 561 "gsmmap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength); dissect_e212_mcc_mnc(parameter_tvb, subtree, 0); return offset; } static const value_string gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals[] = { { 0, "cellGlobalIdOrServiceAreaIdFixedLength" }, { 1, "laiFixedLength" }, { 0, NULL } }; static const ber_choice_t gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_choice[] = { { 0, &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength }, { 1, &hf_gsm_map_laiFixedLength, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_choice, hf_index, ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI, NULL); return offset; } static const value_string gsm_map_BasicServiceCode_vals[] = { { 2, "bearerService" }, { 3, "teleservice" }, { 0, NULL } }; static const ber_choice_t gsm_map_BasicServiceCode_choice[] = { { 2, &hf_gsm_map_bearerService, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_BearerServiceCode }, { 3, &hf_gsm_map_teleservice , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_TeleserviceCode }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_BasicServiceCode_choice, hf_index, ett_gsm_map_BasicServiceCode, NULL); return offset; } const value_string gsm_map_Ext_BasicServiceCode_vals[] = { { 2, "ext-BearerService" }, { 3, "ext-Teleservice" }, { 0, NULL } }; static const ber_choice_t gsm_map_Ext_BasicServiceCode_choice[] = { { 2, &hf_gsm_map_ext_BearerService, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BearerServiceCode }, { 3, &hf_gsm_map_ext_Teleservice, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_TeleserviceCode }, { 0, NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_Ext_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_Ext_BasicServiceCode_choice, hf_index, ett_gsm_map_Ext_BasicServiceCode, NULL); return offset; } static const value_string gsm_map_EMLPP_Priority_vals[] = { { 6, "priorityLevelA" }, { 5, "priorityLevelB" }, { 0, "priorityLevel0" }, { 1, "priorityLevel1" }, { 2, "priorityLevel2" }, { 3, "priorityLevel3" }, { 4, "priorityLevel4" }, { 0, NULL } }; static int dissect_gsm_map_EMLPP_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_EMLPP_Info_sequence[] = { { &hf_gsm_map_maximumentitledPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority }, { &hf_gsm_map_defaultPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority }, { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_EMLPP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_EMLPP_Info_sequence, hf_index, ett_gsm_map_EMLPP_Info); return offset; } static int dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 374 "gsmmap.cnf" /* Note Ext-SS-Status can have more than one byte */ tvbuff_t *parameter_tvb; guint8 octet; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; octet = tvb_get_guint8(parameter_tvb,0); proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet); if ((octet & 0x01)== 1) proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet); proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); return offset; } static int dissect_gsm_map_MaxMC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_MC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_MC_SS_Info_sequence[] = { { &hf_gsm_map_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_Status , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_nbrSB , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_MaxMC_Bearers }, { &hf_gsm_map_nbrUser , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers }, { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_MC_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_MC_SS_Info_sequence, hf_index, ett_gsm_map_MC_SS_Info); return offset; } int dissect_gsm_map_AgeOfLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } /* --- Module MAP-SS-DataTypes --- --- --- */ static int dissect_gsm_map_ss_NoReplyConditionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ss_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const ber_sequence_t gsm_map_ss_RegisterSS_Arg_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode }, { &hf_gsm_map_ss_forwardedToNumber, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_ss_forwardedToSubaddress, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { &hf_gsm_map_ss_noReplyConditionTime, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NoReplyConditionTime }, { &hf_gsm_map_ss_defaultPriority, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority }, { &hf_gsm_map_ss_nbrUser , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers }, { &hf_gsm_map_ss_longFTN_Supported, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NULL }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_RegisterSS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_RegisterSS_Arg_sequence, hf_index, ett_gsm_map_ss_RegisterSS_Arg); return offset; } int dissect_gsm_map_ss_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 354 "gsmmap.cnf" tvbuff_t *parameter_tvb; guint8 octet; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; octet = tvb_get_guint8(parameter_tvb,0); proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet); if ((octet & 0x01)== 1) proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet); proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet); proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet); proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet); return offset; } static int dissect_gsm_map_ss_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); #line 468 "gsmmap.cnf" proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,FALSE); return offset; } static const ber_sequence_t gsm_map_ss_ForwardingFeature_sequence[] = { { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode }, { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status }, { &hf_gsm_map_ss_forwardedToNumber_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ss_forwardedToSubaddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { &hf_gsm_map_ss_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingOptions }, { &hf_gsm_map_ss_noReplyConditionTime, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NoReplyConditionTime }, { &hf_gsm_map_ss_longForwardedToNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_ForwardingFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_ForwardingFeature_sequence, hf_index, ett_gsm_map_ss_ForwardingFeature); return offset; } static const ber_sequence_t gsm_map_ss_ForwardingFeatureList_sequence_of[1] = { { &hf_gsm_map_ss_ForwardingFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_ForwardingFeature }, }; static int dissect_gsm_map_ss_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_ss_ForwardingFeatureList); return offset; } static const ber_sequence_t gsm_map_ss_ForwardingInfo_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_ForwardingFeatureList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_ForwardingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_ForwardingInfo_sequence, hf_index, ett_gsm_map_ss_ForwardingInfo); return offset; } static const ber_sequence_t gsm_map_ss_CallBarringFeature_sequence[] = { { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode }, { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_CallBarringFeature_sequence, hf_index, ett_gsm_map_ss_CallBarringFeature); return offset; } static const ber_sequence_t gsm_map_ss_CallBarringFeatureList_sequence_of[1] = { { &hf_gsm_map_ss_CallBarringFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CallBarringFeature }, }; static int dissect_gsm_map_ss_CallBarringFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_CallBarringFeatureList_sequence_of, hf_index, ett_gsm_map_ss_CallBarringFeatureList); return offset; } static const ber_sequence_t gsm_map_ss_CallBarringInfo_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CallBarringFeatureList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_CallBarringInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_CallBarringInfo_sequence, hf_index, ett_gsm_map_ss_CallBarringInfo); return offset; } static const value_string gsm_map_ss_CliRestrictionOption_vals[] = { { 0, "permanent" }, { 1, "temporaryDefaultRestricted" }, { 2, "temporaryDefaultAllowed" }, { 0, NULL } }; static int dissect_gsm_map_ss_CliRestrictionOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ss_OverrideCategory_vals[] = { { 0, "overrideEnabled" }, { 1, "overrideDisabled" }, { 0, NULL } }; static int dissect_gsm_map_ss_OverrideCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ss_SS_SubscriptionOption_vals[] = { { 2, "cliRestrictionOption" }, { 1, "overrideCategory" }, { 0, NULL } }; static const ber_choice_t gsm_map_ss_SS_SubscriptionOption_choice[] = { { 2, &hf_gsm_map_ss_cliRestrictionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CliRestrictionOption }, { 1, &hf_gsm_map_ss_overrideCategory, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_OverrideCategory }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_SS_SubscriptionOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ss_SS_SubscriptionOption_choice, hf_index, ett_gsm_map_ss_SS_SubscriptionOption, NULL); return offset; } static const ber_sequence_t gsm_map_ss_BasicServiceGroupList_sequence_of[1] = { { &hf_gsm_map_ss_BasicServiceGroupList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode }, }; static int dissect_gsm_map_ss_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_ss_BasicServiceGroupList); return offset; } static const ber_sequence_t gsm_map_ss_SS_Data_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status }, { &hf_gsm_map_ss_ss_SubscriptionOption, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ss_SS_SubscriptionOption }, { &hf_gsm_map_ss_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_BasicServiceGroupList }, { &hf_gsm_map_ss_defaultPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority }, { &hf_gsm_map_ss_nbrUser , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_SS_Data_sequence, hf_index, ett_gsm_map_ss_SS_Data); return offset; } const value_string gsm_map_ss_SS_Info_vals[] = { { 0, "forwardingInfo" }, { 1, "callBarringInfo" }, { 3, "ss-Data" }, { 0, NULL } }; static const ber_choice_t gsm_map_ss_SS_Info_choice[] = { { 0, &hf_gsm_map_ss_forwardingInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingInfo }, { 1, &hf_gsm_map_ss_callBarringInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CallBarringInfo }, { 3, &hf_gsm_map_ss_ss_Data , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Data }, { 0, NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ss_SS_Info_choice, hf_index, ett_gsm_map_ss_SS_Info, NULL); return offset; } static const ber_sequence_t gsm_map_ss_SS_ForBS_Code_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode }, { &hf_gsm_map_ss_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NULL }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_SS_ForBS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_SS_ForBS_Code_sequence, hf_index, ett_gsm_map_ss_SS_ForBS_Code); return offset; } static int dissect_gsm_map_ss_CCBS_Index(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ss_CCBS_Feature_sequence[] = { { &hf_gsm_map_ss_ccbs_Index, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Index }, { &hf_gsm_map_ss_b_subscriberNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ss_b_subscriberSubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { &hf_gsm_map_ss_basicServiceGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_BasicServiceCode }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_CCBS_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_CCBS_Feature_sequence, hf_index, ett_gsm_map_ss_CCBS_Feature); return offset; } static const ber_sequence_t gsm_map_ss_CCBS_FeatureList_sequence_of[1] = { { &hf_gsm_map_ss_CCBS_FeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CCBS_Feature }, }; static int dissect_gsm_map_ss_CCBS_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_CCBS_FeatureList_sequence_of, hf_index, ett_gsm_map_ss_CCBS_FeatureList); return offset; } static const ber_sequence_t gsm_map_ss_GenericServiceInfo_sequence[] = { { &hf_gsm_map_ss_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_SS_Status }, { &hf_gsm_map_ss_cliRestrictionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CliRestrictionOption }, { &hf_gsm_map_ss_maximumEntitledPriority, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority }, { &hf_gsm_map_ss_defaultPriority, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority }, { &hf_gsm_map_ss_ccbs_FeatureList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_FeatureList }, { &hf_gsm_map_ss_nbrSB , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MaxMC_Bearers }, { &hf_gsm_map_ss_nbrUser , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers }, { &hf_gsm_map_ss_nbrSN , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_GenericServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_GenericServiceInfo_sequence, hf_index, ett_gsm_map_ss_GenericServiceInfo); return offset; } const value_string gsm_map_ss_InterrogateSS_Res_vals[] = { { 0, "ss-Status" }, { 2, "basicServiceGroupList" }, { 3, "forwardingFeatureList" }, { 4, "genericServiceInfo" }, { 0, NULL } }; static const ber_choice_t gsm_map_ss_InterrogateSS_Res_choice[] = { { 0, &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status }, { 2, &hf_gsm_map_ss_basicServiceGroupList, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_BasicServiceGroupList }, { 3, &hf_gsm_map_ss_forwardingFeatureList, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingFeatureList }, { 4, &hf_gsm_map_ss_genericServiceInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_GenericServiceInfo }, { 0, NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_InterrogateSS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ss_InterrogateSS_Res_choice, hf_index, ett_gsm_map_ss_InterrogateSS_Res, NULL); return offset; } int dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 397 "gsmmap.cnf" /*The structure of the USSD-DataCodingScheme is defined by * the Cell Broadcast Data Coding Scheme as described in * TS 3GPP TS 23.038 * TODO: Should dissect_cbs_data_coding_scheme return encoding type? - like 7bit Alphabet */ tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_cbs_data_coding); dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree); return offset; } int dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 412 "gsmmap.cnf" tvbuff_t *parameter_tvb; int length; guint8 out_len; /* XXX - The maximum item label length is 240. Does this really need to be 1024? * use ep_alloc ? */ static unsigned char bigbuf[1024]; gchar *utf8_text = NULL; GIConv cd; GError *l_conv_error = NULL; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; length = tvb_length_remaining(parameter_tvb,0); switch(sms_encoding){ case SMS_ENCODING_7BIT: case SMS_ENCODING_7BIT_LANG: out_len = gsm_sms_char_7bit_unpack(0, length, sizeof(bigbuf), tvb_get_ptr(parameter_tvb, 0, length), bigbuf); bigbuf[out_len] = '\0'; gsm_sms_char_ascii_decode(bigbuf, bigbuf, out_len); bigbuf[1023] = '\0'; proto_tree_add_text(tree, parameter_tvb, 0, length, "USSD String: %s", bigbuf); break; case SMS_ENCODING_8BIT: proto_tree_add_text(tree, parameter_tvb , 0, length, "USSD String: %s", tvb_get_ptr(parameter_tvb, 0, length)); break; case SMS_ENCODING_UCS2: case SMS_ENCODING_UCS2_LANG: if ((cd = g_iconv_open("UTF-8","UCS-2BE")) != (GIConv) -1) { utf8_text = g_convert_with_iconv(tvb->real_data, length, cd, NULL, NULL, &l_conv_error); if(!l_conv_error) proto_tree_add_text(tree, tvb, 0, length, "USSD String: %s", utf8_text); else proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_convert_with_iconv FAILED"); if(utf8_text) g_free(utf8_text); g_iconv_close(cd); } else proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_iconv_open FAILED contact wireshark"); break; default: break; } return offset; } static const ber_sequence_t gsm_map_ss_USSD_Arg_sequence[] = { { &hf_gsm_map_ss_ussd_DataCodingScheme, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_DataCodingScheme }, { &hf_gsm_map_ss_ussd_String, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_String }, { &hf_gsm_map_ss_alertingPattern, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_AlertingPattern }, { &hf_gsm_map_ss_msisdn , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_USSD_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_USSD_Arg_sequence, hf_index, ett_gsm_map_ss_USSD_Arg); return offset; } static const ber_sequence_t gsm_map_ss_USSD_Res_sequence[] = { { &hf_gsm_map_ss_ussd_DataCodingScheme, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_DataCodingScheme }, { &hf_gsm_map_ss_ussd_String, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_String }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_USSD_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_USSD_Res_sequence, hf_index, ett_gsm_map_ss_USSD_Res); return offset; } static int dissect_gsm_map_ss_Password(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ss_GuidanceInfo_vals[] = { { 0, "enterPW" }, { 1, "enterNewPW" }, { 2, "enterNewPW-Again" }, { 0, NULL } }; static int dissect_gsm_map_ss_GuidanceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ss_SS_List_sequence_of[1] = { { &hf_gsm_map_ss_SS_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, }; static int dissect_gsm_map_ss_SS_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_SS_List_sequence_of, hf_index, ett_gsm_map_ss_SS_List); return offset; } static const ber_sequence_t gsm_map_ss_SS_InfoList_sequence_of[1] = { { &hf_gsm_map_ss_SS_InfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ss_SS_Info }, }; static int dissect_gsm_map_ss_SS_InfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_SS_InfoList_sequence_of, hf_index, ett_gsm_map_ss_SS_InfoList); return offset; } static const ber_sequence_t gsm_map_ss_SS_EventSpecification_sequence_of[1] = { { &hf_gsm_map_ss_SS_EventSpecification_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString }, }; static int dissect_gsm_map_ss_SS_EventSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_SS_EventSpecification_sequence_of, hf_index, ett_gsm_map_ss_SS_EventSpecification); return offset; } static const value_string gsm_map_ss_CCBS_RequestState_vals[] = { { 0, "request" }, { 1, "recall" }, { 2, "active" }, { 3, "completed" }, { 4, "suspended" }, { 5, "frozen" }, { 6, "deleted" }, { 0, NULL } }; static int dissect_gsm_map_ss_CCBS_RequestState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ss_SS_InvocationNotificationArg_sequence[] = { { &hf_gsm_map_ss_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ss_msisdn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ss_ss_Event , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_ss_EventSpecification, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_EventSpecification }, { &hf_gsm_map_ss_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ss_b_subscriberNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ss_ccbs_RequestState, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_RequestState }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_SS_InvocationNotificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_SS_InvocationNotificationArg_sequence, hf_index, ett_gsm_map_ss_SS_InvocationNotificationArg); return offset; } static const ber_sequence_t gsm_map_ss_SS_InvocationNotificationRes_sequence[] = { { &hf_gsm_map_ss_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_SS_InvocationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_SS_InvocationNotificationRes_sequence, hf_index, ett_gsm_map_ss_SS_InvocationNotificationRes); return offset; } static const asn_namedbit gsm_map_ss_ServiceIndicator_bits[] = { { 0, &hf_gsm_map_ss_ServiceIndicator_clir_invoked, -1, -1, "clir-invoked", NULL }, { 1, &hf_gsm_map_ss_ServiceIndicator_camel_invoked, -1, -1, "camel-invoked", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ss_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_ServiceIndicator_bits, hf_index, ett_gsm_map_ss_ServiceIndicator, NULL); return offset; } static const ber_sequence_t gsm_map_ss_CCBS_Data_sequence[] = { { &hf_gsm_map_ss_ccbs_Feature, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature }, { &hf_gsm_map_ss_translatedB_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ss_serviceIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ServiceIndicator }, { &hf_gsm_map_ss_callInfo , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_map_ss_networkSignalInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_CCBS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_CCBS_Data_sequence, hf_index, ett_gsm_map_ss_CCBS_Data); return offset; } static const ber_sequence_t gsm_map_ss_RegisterCC_EntryArg_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_ccbs_Data, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Data }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ss_RegisterCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_RegisterCC_EntryArg_sequence, hf_index, ett_gsm_map_ss_RegisterCC_EntryArg); return offset; } static const ber_sequence_t gsm_map_ss_RegisterCC_EntryRes_sequence[] = { { &hf_gsm_map_ss_ccbs_Feature, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_RegisterCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_RegisterCC_EntryRes_sequence, hf_index, ett_gsm_map_ss_RegisterCC_EntryRes); return offset; } static const ber_sequence_t gsm_map_ss_EraseCC_EntryArg_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_ccbs_Index, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Index }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_EraseCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_EraseCC_EntryArg_sequence, hf_index, ett_gsm_map_ss_EraseCC_EntryArg); return offset; } static const ber_sequence_t gsm_map_ss_EraseCC_EntryRes_sequence[] = { { &hf_gsm_map_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ss_EraseCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ss_EraseCC_EntryRes_sequence, hf_index, ett_gsm_map_ss_EraseCC_EntryRes); return offset; } /* --- Module MAP-ER-DataTypes --- --- --- */ static const value_string gsm_map_er_RoamingNotAllowedCause_vals[] = { { 0, "plmnRoamingNotAllowed" }, { 3, "operatorDeterminedBarring" }, { 0, NULL } }; static int dissect_gsm_map_er_RoamingNotAllowedCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_er_AdditionalRoamingNotAllowedCause_vals[] = { { 0, "supportedRAT-TypesNotAllowed" }, { 0, NULL } }; static int dissect_gsm_map_er_AdditionalRoamingNotAllowedCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_RoamingNotAllowedParam_sequence[] = { { &hf_gsm_map_er_roamingNotAllowedCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_RoamingNotAllowedCause }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_additionalRoamingNotAllowedCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AdditionalRoamingNotAllowedCause }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_RoamingNotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_RoamingNotAllowedParam_sequence, hf_index, ett_gsm_map_er_RoamingNotAllowedParam); return offset; } static const value_string gsm_map_er_CallBarringCause_vals[] = { { 0, "barringServiceActive" }, { 1, "operatorBarring" }, { 0, NULL } }; static int dissect_gsm_map_er_CallBarringCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_er_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const ber_sequence_t gsm_map_er_ExtensibleCallBarredParam_sequence[] = { { &hf_gsm_map_er_callBarringCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CallBarringCause }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_unauthorisedMessageOriginator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ExtensibleCallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ExtensibleCallBarredParam_sequence, hf_index, ett_gsm_map_er_ExtensibleCallBarredParam); return offset; } static const value_string gsm_map_er_CallBarredParam_vals[] = { { 0, "callBarringCause" }, { 1, "extensibleCallBarredParam" }, { 0, NULL } }; static const ber_choice_t gsm_map_er_CallBarredParam_choice[] = { { 0, &hf_gsm_map_er_callBarringCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CallBarringCause }, { 1, &hf_gsm_map_er_extensibleCallBarredParam, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_ExtensibleCallBarredParam }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_CallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_er_CallBarredParam_choice, hf_index, ett_gsm_map_er_CallBarredParam, NULL); return offset; } static const value_string gsm_map_er_CUG_RejectCause_vals[] = { { 0, "incomingCallsBarredWithinCUG" }, { 1, "subscriberNotMemberOfCUG" }, { 5, "requestedBasicServiceViolatesCUG-Constraints" }, { 7, "calledPartySS-InteractionViolation" }, { 0, NULL } }; static int dissect_gsm_map_er_CUG_RejectCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_CUG_RejectParam_sequence[] = { { &hf_gsm_map_er_cug_RejectCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CUG_RejectCause }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_CUG_RejectParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_CUG_RejectParam_sequence, hf_index, ett_gsm_map_er_CUG_RejectParam); return offset; } static const ber_sequence_t gsm_map_er_SS_IncompatibilityCause_sequence[] = { { &hf_gsm_map_er_ss_Code , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_er_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode }, { &hf_gsm_map_er_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_SS_IncompatibilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_SS_IncompatibilityCause_sequence, hf_index, ett_gsm_map_er_SS_IncompatibilityCause); return offset; } static const value_string gsm_map_er_PW_RegistrationFailureCause_vals[] = { { 0, "undetermined" }, { 1, "invalidFormat" }, { 2, "newPasswordsMismatch" }, { 0, NULL } }; static int dissect_gsm_map_er_PW_RegistrationFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_er_SM_EnumeratedDeliveryFailureCause_vals[] = { { 0, "memoryCapacityExceeded" }, { 1, "equipmentProtocolError" }, { 2, "equipmentNotSM-Equipped" }, { 3, "unknownServiceCentre" }, { 4, "sc-Congestion" }, { 5, "invalidSME-Address" }, { 6, "subscriberNotSC-Subscriber" }, { 0, NULL } }; static int dissect_gsm_map_er_SM_EnumeratedDeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_SM_DeliveryFailureCause_sequence[] = { { &hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_SM_EnumeratedDeliveryFailureCause }, { &hf_gsm_map_er_diagnosticInfo, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_SM_DeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 283 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_SM_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_er_SM_DeliveryFailureCause); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } static int dissect_gsm_map_er_AbsentSubscriberDiagnosticSM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_AbsentSubscriberSM_Param_sequence[] = { { &hf_gsm_map_er_absentSubscriberDiagnosticSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_AbsentSubscriberSM_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_AbsentSubscriberSM_Param_sequence, hf_index, ett_gsm_map_er_AbsentSubscriberSM_Param); return offset; } static const value_string gsm_map_er_FailureCauseParam_vals[] = { { 0, "limitReachedOnNumberOfConcurrentLocationRequests" }, { 0, NULL } }; static int dissect_gsm_map_er_FailureCauseParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_ExtensibleSystemFailureParam_sequence[] = { { &hf_gsm_map_er_networkResource, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_NetworkResource }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_additionalNetworkResource, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AdditionalNetworkResource }, { &hf_gsm_map_er_failureCauseParam, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_FailureCauseParam }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ExtensibleSystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ExtensibleSystemFailureParam_sequence, hf_index, ett_gsm_map_er_ExtensibleSystemFailureParam); return offset; } static const value_string gsm_map_er_SystemFailureParam_vals[] = { { 0, "networkResource" }, { 1, "extensibleSystemFailureParam" }, { 0, NULL } }; static const ber_choice_t gsm_map_er_SystemFailureParam_choice[] = { { 0, &hf_gsm_map_er_networkResource, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_NetworkResource }, { 1, &hf_gsm_map_er_extensibleSystemFailureParam, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_ExtensibleSystemFailureParam }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_SystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_er_SystemFailureParam_choice, hf_index, ett_gsm_map_er_SystemFailureParam, NULL); return offset; } static const ber_sequence_t gsm_map_er_DataMissingParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_DataMissingParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_DataMissingParam_sequence, hf_index, ett_gsm_map_er_DataMissingParam); return offset; } static const ber_sequence_t gsm_map_er_UnexpectedDataParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_UnexpectedDataParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_UnexpectedDataParam_sequence, hf_index, ett_gsm_map_er_UnexpectedDataParam); return offset; } static const ber_sequence_t gsm_map_er_FacilityNotSupParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_shapeOfLocationEstimateNotSupported, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL }, { &hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_FacilityNotSupParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_FacilityNotSupParam_sequence, hf_index, ett_gsm_map_er_FacilityNotSupParam); return offset; } static const ber_sequence_t gsm_map_er_OR_NotAllowedParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_OR_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_OR_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_OR_NotAllowedParam); return offset; } static const value_string gsm_map_er_UnknownSubscriberDiagnostic_vals[] = { { 0, "imsiUnknown" }, { 1, "gprsSubscriptionUnknown" }, { 2, "npdbMismatch" }, { 0, NULL } }; static int dissect_gsm_map_er_UnknownSubscriberDiagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_UnknownSubscriberParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_unknownSubscriberDiagnostic, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_UnknownSubscriberDiagnostic }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_UnknownSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_UnknownSubscriberParam_sequence, hf_index, ett_gsm_map_er_UnknownSubscriberParam); return offset; } static const ber_sequence_t gsm_map_er_NumberChangedParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_NumberChangedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_NumberChangedParam_sequence, hf_index, ett_gsm_map_er_NumberChangedParam); return offset; } static const ber_sequence_t gsm_map_er_UnidentifiedSubParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_UnidentifiedSubParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_UnidentifiedSubParam_sequence, hf_index, ett_gsm_map_er_UnidentifiedSubParam); return offset; } static const ber_sequence_t gsm_map_er_IllegalSubscriberParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_IllegalSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_IllegalSubscriberParam_sequence, hf_index, ett_gsm_map_er_IllegalSubscriberParam); return offset; } static const ber_sequence_t gsm_map_er_IllegalEquipmentParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_IllegalEquipmentParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_IllegalEquipmentParam_sequence, hf_index, ett_gsm_map_er_IllegalEquipmentParam); return offset; } static const ber_sequence_t gsm_map_er_BearerServNotProvParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_BearerServNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_BearerServNotProvParam_sequence, hf_index, ett_gsm_map_er_BearerServNotProvParam); return offset; } static const ber_sequence_t gsm_map_er_TeleservNotProvParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_TeleservNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_TeleservNotProvParam_sequence, hf_index, ett_gsm_map_er_TeleservNotProvParam); return offset; } static const ber_sequence_t gsm_map_er_TracingBufferFullParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_TracingBufferFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_TracingBufferFullParam_sequence, hf_index, ett_gsm_map_er_TracingBufferFullParam); return offset; } static const ber_sequence_t gsm_map_er_NoRoamingNbParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_NoRoamingNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_NoRoamingNbParam_sequence, hf_index, ett_gsm_map_er_NoRoamingNbParam); return offset; } static const value_string gsm_map_er_AbsentSubscriberReason_vals[] = { { 0, "imsiDetach" }, { 1, "restrictedArea" }, { 2, "noPageResponse" }, { 3, "purgedMS" }, { 0, NULL } }; static int dissect_gsm_map_er_AbsentSubscriberReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_AbsentSubscriberParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_absentSubscriberReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberReason }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_AbsentSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_AbsentSubscriberParam_sequence, hf_index, ett_gsm_map_er_AbsentSubscriberParam); return offset; } static const ber_sequence_t gsm_map_er_BusySubscriberParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_ccbs_Possible, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL }, { &hf_gsm_map_er_ccbs_Busy, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_BusySubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_BusySubscriberParam_sequence, hf_index, ett_gsm_map_er_BusySubscriberParam); return offset; } static const ber_sequence_t gsm_map_er_NoSubscriberReplyParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_NoSubscriberReplyParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_NoSubscriberReplyParam_sequence, hf_index, ett_gsm_map_er_NoSubscriberReplyParam); return offset; } static const ber_sequence_t gsm_map_er_ForwardingViolationParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ForwardingViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ForwardingViolationParam_sequence, hf_index, ett_gsm_map_er_ForwardingViolationParam); return offset; } static const ber_sequence_t gsm_map_er_ForwardingFailedParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ForwardingFailedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ForwardingFailedParam_sequence, hf_index, ett_gsm_map_er_ForwardingFailedParam); return offset; } static const ber_sequence_t gsm_map_er_ATI_NotAllowedParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ATI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ATI_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATI_NotAllowedParam); return offset; } static const ber_sequence_t gsm_map_er_ATSI_NotAllowedParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ATSI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ATSI_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATSI_NotAllowedParam); return offset; } static const ber_sequence_t gsm_map_er_ATM_NotAllowedParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ATM_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ATM_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATM_NotAllowedParam); return offset; } static const ber_sequence_t gsm_map_er_IllegalSS_OperationParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_IllegalSS_OperationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_IllegalSS_OperationParam_sequence, hf_index, ett_gsm_map_er_IllegalSS_OperationParam); return offset; } static const ber_sequence_t gsm_map_er_SS_NotAvailableParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_SS_NotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_SS_NotAvailableParam_sequence, hf_index, ett_gsm_map_er_SS_NotAvailableParam); return offset; } static const ber_sequence_t gsm_map_er_SS_SubscriptionViolationParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_SS_SubscriptionViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_SS_SubscriptionViolationParam_sequence, hf_index, ett_gsm_map_er_SS_SubscriptionViolationParam); return offset; } static const ber_sequence_t gsm_map_er_InformationNotAvailableParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_InformationNotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_InformationNotAvailableParam_sequence, hf_index, ett_gsm_map_er_InformationNotAvailableParam); return offset; } static const ber_sequence_t gsm_map_er_SubBusyForMT_SMS_Param_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_er_gprsConnectionSuspended, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_SubBusyForMT_SMS_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_SubBusyForMT_SMS_Param_sequence, hf_index, ett_gsm_map_er_SubBusyForMT_SMS_Param); return offset; } static const ber_sequence_t gsm_map_er_MessageWaitListFullParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_MessageWaitListFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_MessageWaitListFullParam_sequence, hf_index, ett_gsm_map_er_MessageWaitListFullParam); return offset; } static const ber_sequence_t gsm_map_er_ResourceLimitationParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ResourceLimitationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ResourceLimitationParam_sequence, hf_index, ett_gsm_map_er_ResourceLimitationParam); return offset; } static const ber_sequence_t gsm_map_er_NoGroupCallNbParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_NoGroupCallNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_NoGroupCallNbParam_sequence, hf_index, ett_gsm_map_er_NoGroupCallNbParam); return offset; } static const ber_sequence_t gsm_map_er_IncompatibleTerminalParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_IncompatibleTerminalParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_IncompatibleTerminalParam_sequence, hf_index, ett_gsm_map_er_IncompatibleTerminalParam); return offset; } static const ber_sequence_t gsm_map_er_ShortTermDenialParam_sequence[] = { { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_ShortTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_ShortTermDenialParam_sequence, hf_index, ett_gsm_map_er_ShortTermDenialParam); return offset; } static const ber_sequence_t gsm_map_er_LongTermDenialParam_sequence[] = { { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_LongTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_LongTermDenialParam_sequence, hf_index, ett_gsm_map_er_LongTermDenialParam); return offset; } static const ber_sequence_t gsm_map_er_UnauthorizedRequestingNetwork_Param_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_UnauthorizedRequestingNetwork_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_UnauthorizedRequestingNetwork_Param_sequence, hf_index, ett_gsm_map_er_UnauthorizedRequestingNetwork_Param); return offset; } static const value_string gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals[] = { { 0, "noAdditionalInformation" }, { 1, "clientNotInMSPrivacyExceptionList" }, { 2, "callToClientNotSetup" }, { 3, "privacyOverrideNotApplicable" }, { 4, "disallowedByLocalRegulatoryRequirements" }, { 5, "unauthorizedPrivacyClass" }, { 6, "unauthorizedCallSessionUnrelatedExternalClient" }, { 7, "unauthorizedCallSessionRelatedExternalClient" }, { 0, NULL } }; static int dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_UnauthorizedLCSClient_Param_sequence[] = { { &hf_gsm_map_er_unauthorizedLCSClient_Diagnostic, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_UnauthorizedLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_UnauthorizedLCSClient_Param_sequence, hf_index, ett_gsm_map_er_UnauthorizedLCSClient_Param); return offset; } static const value_string gsm_map_er_PositionMethodFailure_Diagnostic_vals[] = { { 0, "congestion" }, { 1, "insufficientResources" }, { 2, "insufficientMeasurementData" }, { 3, "inconsistentMeasurementData" }, { 4, "locationProcedureNotCompleted" }, { 5, "locationProcedureNotSupportedByTargetMS" }, { 6, "qoSNotAttainable" }, { 7, "positionMethodNotAvailableInNetwork" }, { 8, "positionMethodNotAvailableInLocationArea" }, { 0, NULL } }; static int dissect_gsm_map_er_PositionMethodFailure_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_er_PositionMethodFailure_Param_sequence[] = { { &hf_gsm_map_er_positionMethodFailure_Diagnostic, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_PositionMethodFailure_Diagnostic }, { &hf_gsm_map_er_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_PositionMethodFailure_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_PositionMethodFailure_Param_sequence, hf_index, ett_gsm_map_er_PositionMethodFailure_Param); return offset; } static const ber_sequence_t gsm_map_er_UnknownOrUnreachableLCSClient_Param_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_UnknownOrUnreachableLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_UnknownOrUnreachableLCSClient_Param_sequence, hf_index, ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param); return offset; } static const ber_sequence_t gsm_map_er_MM_EventNotSupported_Param_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_MM_EventNotSupported_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_MM_EventNotSupported_Param_sequence, hf_index, ett_gsm_map_er_MM_EventNotSupported_Param); return offset; } static const ber_sequence_t gsm_map_er_TargetCellOutsideGCA_Param_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_TargetCellOutsideGCA_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_TargetCellOutsideGCA_Param_sequence, hf_index, ett_gsm_map_er_TargetCellOutsideGCA_Param); return offset; } static const ber_sequence_t gsm_map_er_OngoingGroupCallParam_sequence[] = { { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_er_OngoingGroupCallParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_er_OngoingGroupCallParam_sequence, hf_index, ett_gsm_map_er_OngoingGroupCallParam); return offset; } /* --- Module MAP-SM-DataTypes --- --- --- */ static int dissect_gsm_map_sm_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_sm_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static int dissect_gsm_map_sm_SM_RP_MTI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_sm_SM_RP_SMEA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_sm_SM_DeliveryNotIntended_vals[] = { { 0, "onlyIMSI-requested" }, { 1, "onlyMCC-MNC-requested" }, { 0, NULL } }; static int dissect_gsm_map_sm_SM_DeliveryNotIntended(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_sm_RoutingInfoForSM_Arg_sequence[] = { { &hf_gsm_map_sm_msisdn , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_sm_sm_RP_PRI, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_BOOLEAN }, { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_sm_gprsSupportIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_sm_RP_MTI, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_RP_MTI }, { &hf_gsm_map_sm_sm_RP_SMEA, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_RP_SMEA }, { &hf_gsm_map_sm_sm_deliveryNotIntended, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryNotIntended }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_RoutingInfoForSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_RoutingInfoForSM_Arg_sequence, hf_index, ett_gsm_map_sm_RoutingInfoForSM_Arg); return offset; } static const value_string gsm_map_sm_Additional_Number_vals[] = { { 0, "msc-Number" }, { 1, "sgsn-Number" }, { 0, NULL } }; static const ber_choice_t gsm_map_sm_Additional_Number_choice[] = { { 0, &hf_gsm_map_sm_msc_Number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { 1, &hf_gsm_map_sm_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_Additional_Number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_sm_Additional_Number_choice, hf_index, ett_gsm_map_sm_Additional_Number, NULL); return offset; } static const ber_sequence_t gsm_map_sm_LocationInfoWithLMSI_sequence[] = { { &hf_gsm_map_sm_networkNode_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_sm_lmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_sm_gprsNodeIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_additional_Number, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_Additional_Number }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_LocationInfoWithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_LocationInfoWithLMSI_sequence, hf_index, ett_gsm_map_sm_LocationInfoWithLMSI); return offset; } static const ber_sequence_t gsm_map_sm_RoutingInfoForSM_Res_sequence[] = { { &hf_gsm_map_sm_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_sm_locationInfoWithLMSI, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_LocationInfoWithLMSI }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_RoutingInfoForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_RoutingInfoForSM_Res_sequence, hf_index, ett_gsm_map_sm_RoutingInfoForSM_Res); return offset; } static const value_string gsm_map_sm_SM_RP_DA_vals[] = { { 0, "imsi" }, { 1, "lmsi" }, { 4, "serviceCentreAddressDA" }, { 5, "noSM-RP-DA" }, { 0, NULL } }; static const ber_choice_t gsm_map_sm_SM_RP_DA_choice[] = { { 0, &hf_gsm_map_sm_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { 1, &hf_gsm_map_sm_lmsi , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { 4, &hf_gsm_map_sm_serviceCentreAddressDA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { 5, &hf_gsm_map_sm_noSM_RP_DA, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_SM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_sm_SM_RP_DA_choice, hf_index, ett_gsm_map_sm_SM_RP_DA, NULL); return offset; } static int dissect_gsm_map_sm_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 272 "gsmmap.cnf" actx->pinfo->p2p_dir = P2P_DIR_RECV; offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static int dissect_gsm_map_sm_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 264 "gsmmap.cnf" actx->pinfo->p2p_dir = P2P_DIR_SENT; offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const value_string gsm_map_sm_SM_RP_OA_vals[] = { { 2, "msisdn" }, { 4, "serviceCentreAddressOA" }, { 5, "noSM-RP-OA" }, { 0, NULL } }; static const ber_choice_t gsm_map_sm_SM_RP_OA_choice[] = { { 2, &hf_gsm_map_sm_msisdn_01, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_msisdn }, { 4, &hf_gsm_map_sm_serviceCentreAddressOA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_serviceCentreAddressOA }, { 5, &hf_gsm_map_sm_noSM_RP_OA, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_SM_RP_OA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_sm_SM_RP_OA_choice, hf_index, ett_gsm_map_sm_SM_RP_OA, NULL); return offset; } static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Arg_sequence[] = { { &hf_gsm_map_sm_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_DA }, { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA }, { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_sm_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_MO_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 300 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_MO_ForwardSM_Arg_sequence, hf_index, ett_gsm_map_sm_MO_ForwardSM_Arg); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Res_sequence[] = { { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_MO_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 309 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_MO_ForwardSM_Res_sequence, hf_index, ett_gsm_map_sm_MO_ForwardSM_Res); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Arg_sequence[] = { { &hf_gsm_map_sm_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_DA }, { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA }, { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_sm_moreMessagesToSend, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_MT_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 318 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_MT_ForwardSM_Arg_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_Arg); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Res_sequence[] = { { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_MT_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 327 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_MT_ForwardSM_Res_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_Res); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } static const value_string gsm_map_sm_SM_DeliveryOutcome_vals[] = { { 0, "memoryCapacityExceeded" }, { 1, "absentSubscriber" }, { 2, "successfulTransfer" }, { 0, NULL } }; static int dissect_gsm_map_sm_SM_DeliveryOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_sm_ReportSM_DeliveryStatusArg_sequence[] = { { &hf_gsm_map_sm_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_sm_sm_DeliveryOutcome, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryOutcome }, { &hf_gsm_map_sm_absentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_sm_gprsSupportIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_deliveryOutcomeIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_additionalSM_DeliveryOutcome, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome }, { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { &hf_gsm_map_sm_ip_sm_gw_Indicator, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome }, { &hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_ReportSM_DeliveryStatusArg_sequence, hf_index, ett_gsm_map_sm_ReportSM_DeliveryStatusArg); return offset; } static const ber_sequence_t gsm_map_sm_ReportSM_DeliveryStatusRes_sequence[] = { { &hf_gsm_map_sm_storedMSISDN, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_ReportSM_DeliveryStatusRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_ReportSM_DeliveryStatusRes_sequence, hf_index, ett_gsm_map_sm_ReportSM_DeliveryStatusRes); return offset; } static const ber_sequence_t gsm_map_sm_AlertServiceCentreArg_sequence[] = { { &hf_gsm_map_sm_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_AlertServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_AlertServiceCentreArg_sequence, hf_index, ett_gsm_map_sm_AlertServiceCentreArg); return offset; } static const asn_namedbit gsm_map_sm_MW_Status_bits[] = { { 0, &hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded, -1, -1, "sc-AddressNotIncluded", NULL }, { 1, &hf_gsm_map_sm_MW_Status_mnrf_Set, -1, -1, "mnrf-Set", NULL }, { 2, &hf_gsm_map_sm_MW_Status_mcef_Set, -1, -1, "mcef-Set", NULL }, { 3, &hf_gsm_map_sm_MW_Status_mnrg_Set, -1, -1, "mnrg-Set", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_sm_MW_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_MW_Status_bits, hf_index, ett_gsm_map_sm_MW_Status, NULL); return offset; } static const ber_sequence_t gsm_map_sm_InformServiceCentreArg_sequence[] = { { &hf_gsm_map_sm_storedMSISDN, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_sm_mw_Status, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_MW_Status }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_sm_absentSubscriberDiagnosticSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_InformServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_InformServiceCentreArg_sequence, hf_index, ett_gsm_map_sm_InformServiceCentreArg); return offset; } static const value_string gsm_map_sm_AlertReason_vals[] = { { 0, "ms-Present" }, { 1, "memoryAvailable" }, { 0, NULL } }; static int dissect_gsm_map_sm_AlertReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_sm_ReadyForSM_Arg_sequence[] = { { &hf_gsm_map_sm_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_sm_alertReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_AlertReason }, { &hf_gsm_map_sm_alertReasonIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_sm_additionalAlertReasonIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_ReadyForSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_ReadyForSM_Arg_sequence, hf_index, ett_gsm_map_sm_ReadyForSM_Arg); return offset; } static const ber_sequence_t gsm_map_sm_ReadyForSM_Res_sequence[] = { { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_ReadyForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_ReadyForSM_Res_sequence, hf_index, ett_gsm_map_sm_ReadyForSM_Res); return offset; } static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence[] = { { &hf_gsm_map_sm_asciCallReference, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ASCI_CallReference }, { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA }, { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 336 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } static const ber_sequence_t gsm_map_sm_DispatcherList_sequence_of[1] = { { &hf_gsm_map_sm_DispatcherList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, }; static int dissect_gsm_map_sm_DispatcherList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_DispatcherList_sequence_of, hf_index, ett_gsm_map_sm_DispatcherList); return offset; } static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence[] = { { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_sm_dispatcherList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_DispatcherList }, { &hf_gsm_map_sm_ongoingCall, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL }, { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 345 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_VGCS_Res); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } /* --- Module MAP-OM-DataTypes --- --- --- */ static int dissect_gsm_map_om_TraceReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_om_TraceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_om_TraceReference2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_om_TraceDepth_vals[] = { { 0, "minimum" }, { 1, "medium" }, { 2, "maximum" }, { 0, NULL } }; static int dissect_gsm_map_om_TraceDepth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_om_TraceDepthList_sequence[] = { { &hf_gsm_map_om_msc_s_TraceDepth, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_mgw_TraceDepth, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_sgsn_TraceDepth, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_ggsn_TraceDepth, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_rnc_TraceDepth, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_bmsc_TraceDepth, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_TraceDepthList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_TraceDepthList_sequence, hf_index, ett_gsm_map_om_TraceDepthList); return offset; } static const asn_namedbit gsm_map_om_TraceNE_TypeList_bits[] = { { 0, &hf_gsm_map_om_TraceNE_TypeList_msc_s, -1, -1, "msc-s", NULL }, { 1, &hf_gsm_map_om_TraceNE_TypeList_mgw, -1, -1, "mgw", NULL }, { 2, &hf_gsm_map_om_TraceNE_TypeList_sgsn, -1, -1, "sgsn", NULL }, { 3, &hf_gsm_map_om_TraceNE_TypeList_ggsn, -1, -1, "ggsn", NULL }, { 4, &hf_gsm_map_om_TraceNE_TypeList_rnc, -1, -1, "rnc", NULL }, { 5, &hf_gsm_map_om_TraceNE_TypeList_bm_sc, -1, -1, "bm-sc", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_TraceNE_TypeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_TraceNE_TypeList_bits, hf_index, ett_gsm_map_om_TraceNE_TypeList, NULL); return offset; } static const asn_namedbit gsm_map_om_MSC_S_InterfaceList_bits[] = { { 0, &hf_gsm_map_om_MSC_S_InterfaceList_a, -1, -1, "a", NULL }, { 1, &hf_gsm_map_om_MSC_S_InterfaceList_iu, -1, -1, "iu", NULL }, { 2, &hf_gsm_map_om_MSC_S_InterfaceList_mc, -1, -1, "mc", NULL }, { 3, &hf_gsm_map_om_MSC_S_InterfaceList_map_g, -1, -1, "map-g", NULL }, { 4, &hf_gsm_map_om_MSC_S_InterfaceList_map_b, -1, -1, "map-b", NULL }, { 5, &hf_gsm_map_om_MSC_S_InterfaceList_map_e, -1, -1, "map-e", NULL }, { 6, &hf_gsm_map_om_MSC_S_InterfaceList_map_f, -1, -1, "map-f", NULL }, { 7, &hf_gsm_map_om_MSC_S_InterfaceList_cap, -1, -1, "cap", NULL }, { 8, &hf_gsm_map_om_MSC_S_InterfaceList_map_d, -1, -1, "map-d", NULL }, { 9, &hf_gsm_map_om_MSC_S_InterfaceList_map_c, -1, -1, "map-c", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_MSC_S_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_MSC_S_InterfaceList_bits, hf_index, ett_gsm_map_om_MSC_S_InterfaceList, NULL); return offset; } static const asn_namedbit gsm_map_om_MGW_InterfaceList_bits[] = { { 0, &hf_gsm_map_om_MGW_InterfaceList_mc, -1, -1, "mc", NULL }, { 1, &hf_gsm_map_om_MGW_InterfaceList_nb_up, -1, -1, "nb-up", NULL }, { 2, &hf_gsm_map_om_MGW_InterfaceList_iu_up, -1, -1, "iu-up", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_MGW_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_MGW_InterfaceList_bits, hf_index, ett_gsm_map_om_MGW_InterfaceList, NULL); return offset; } static const asn_namedbit gsm_map_om_SGSN_InterfaceList_bits[] = { { 0, &hf_gsm_map_om_SGSN_InterfaceList_gb, -1, -1, "gb", NULL }, { 1, &hf_gsm_map_om_SGSN_InterfaceList_iu, -1, -1, "iu", NULL }, { 2, &hf_gsm_map_om_SGSN_InterfaceList_gn, -1, -1, "gn", NULL }, { 3, &hf_gsm_map_om_SGSN_InterfaceList_map_gr, -1, -1, "map-gr", NULL }, { 4, &hf_gsm_map_om_SGSN_InterfaceList_map_gd, -1, -1, "map-gd", NULL }, { 5, &hf_gsm_map_om_SGSN_InterfaceList_map_gf, -1, -1, "map-gf", NULL }, { 6, &hf_gsm_map_om_SGSN_InterfaceList_gs, -1, -1, "gs", NULL }, { 7, &hf_gsm_map_om_SGSN_InterfaceList_ge, -1, -1, "ge", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_SGSN_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_SGSN_InterfaceList_bits, hf_index, ett_gsm_map_om_SGSN_InterfaceList, NULL); return offset; } static const asn_namedbit gsm_map_om_GGSN_InterfaceList_bits[] = { { 0, &hf_gsm_map_om_GGSN_InterfaceList_gn, -1, -1, "gn", NULL }, { 1, &hf_gsm_map_om_GGSN_InterfaceList_gi, -1, -1, "gi", NULL }, { 2, &hf_gsm_map_om_GGSN_InterfaceList_gmb, -1, -1, "gmb", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_GGSN_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_GGSN_InterfaceList_bits, hf_index, ett_gsm_map_om_GGSN_InterfaceList, NULL); return offset; } static const asn_namedbit gsm_map_om_RNC_InterfaceList_bits[] = { { 0, &hf_gsm_map_om_RNC_InterfaceList_iu, -1, -1, "iu", NULL }, { 1, &hf_gsm_map_om_RNC_InterfaceList_iur, -1, -1, "iur", NULL }, { 2, &hf_gsm_map_om_RNC_InterfaceList_iub, -1, -1, "iub", NULL }, { 3, &hf_gsm_map_om_RNC_InterfaceList_uu, -1, -1, "uu", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_RNC_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_RNC_InterfaceList_bits, hf_index, ett_gsm_map_om_RNC_InterfaceList, NULL); return offset; } static const asn_namedbit gsm_map_om_BMSC_InterfaceList_bits[] = { { 0, &hf_gsm_map_om_BMSC_InterfaceList_gmb, -1, -1, "gmb", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_BMSC_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_BMSC_InterfaceList_bits, hf_index, ett_gsm_map_om_BMSC_InterfaceList, NULL); return offset; } static const ber_sequence_t gsm_map_om_TraceInterfaceList_sequence[] = { { &hf_gsm_map_om_msc_s_List, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_InterfaceList }, { &hf_gsm_map_om_mgw_List , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_InterfaceList }, { &hf_gsm_map_om_sgsn_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGSN_InterfaceList }, { &hf_gsm_map_om_ggsn_List, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_GGSN_InterfaceList }, { &hf_gsm_map_om_rnc_List , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RNC_InterfaceList }, { &hf_gsm_map_om_bmsc_List, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_BMSC_InterfaceList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_TraceInterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_TraceInterfaceList_sequence, hf_index, ett_gsm_map_om_TraceInterfaceList); return offset; } static const asn_namedbit gsm_map_om_MSC_S_EventList_bits[] = { { 0, &hf_gsm_map_om_MSC_S_EventList_mo_mtCall, -1, -1, "mo-mtCall", NULL }, { 1, &hf_gsm_map_om_MSC_S_EventList_mo_mt_sms, -1, -1, "mo-mt-sms", NULL }, { 2, &hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach, -1, -1, "lu-imsiAttach-imsiDetach", NULL }, { 3, &hf_gsm_map_om_MSC_S_EventList_handovers, -1, -1, "handovers", NULL }, { 4, &hf_gsm_map_om_MSC_S_EventList_ss, -1, -1, "ss", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_MSC_S_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_MSC_S_EventList_bits, hf_index, ett_gsm_map_om_MSC_S_EventList, NULL); return offset; } static const asn_namedbit gsm_map_om_MGW_EventList_bits[] = { { 0, &hf_gsm_map_om_MGW_EventList_context, -1, -1, "context", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_MGW_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_MGW_EventList_bits, hf_index, ett_gsm_map_om_MGW_EventList, NULL); return offset; } static const asn_namedbit gsm_map_om_SGSN_EventList_bits[] = { { 0, &hf_gsm_map_om_SGSN_EventList_pdpContext, -1, -1, "pdpContext", NULL }, { 1, &hf_gsm_map_om_SGSN_EventList_mo_mt_sms, -1, -1, "mo-mt-sms", NULL }, { 2, &hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach, -1, -1, "rau-gprsAttach-gprsDetach", NULL }, { 3, &hf_gsm_map_om_SGSN_EventList_mbmsContext, -1, -1, "mbmsContext", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_SGSN_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_SGSN_EventList_bits, hf_index, ett_gsm_map_om_SGSN_EventList, NULL); return offset; } static const asn_namedbit gsm_map_om_GGSN_EventList_bits[] = { { 0, &hf_gsm_map_om_GGSN_EventList_pdpContext, -1, -1, "pdpContext", NULL }, { 1, &hf_gsm_map_om_GGSN_EventList_mbmsContext, -1, -1, "mbmsContext", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_GGSN_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_GGSN_EventList_bits, hf_index, ett_gsm_map_om_GGSN_EventList, NULL); return offset; } static const asn_namedbit gsm_map_om_BMSC_EventList_bits[] = { { 0, &hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation, -1, -1, "mbmsMulticastServiceActivation", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_om_BMSC_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_om_BMSC_EventList_bits, hf_index, ett_gsm_map_om_BMSC_EventList, NULL); return offset; } static const ber_sequence_t gsm_map_om_TraceEventList_sequence[] = { { &hf_gsm_map_om_msc_s_List_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_EventList }, { &hf_gsm_map_om_mgw_List_01, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_EventList }, { &hf_gsm_map_om_sgsn_List_01, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGSN_EventList }, { &hf_gsm_map_om_ggsn_List_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_GGSN_EventList }, { &hf_gsm_map_om_bmsc_List_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_BMSC_EventList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_TraceEventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_TraceEventList_sequence, hf_index, ett_gsm_map_om_TraceEventList); return offset; } static const ber_sequence_t gsm_map_om_ActivateTraceModeArg_sequence[] = { { &hf_gsm_map_om_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference }, { &hf_gsm_map_om_traceType, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType }, { &hf_gsm_map_om_omc_Id , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 }, { &hf_gsm_map_om_traceDepthList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthList }, { &hf_gsm_map_om_traceNE_TypeList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceNE_TypeList }, { &hf_gsm_map_om_traceInterfaceList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceInterfaceList }, { &hf_gsm_map_om_traceEventList, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceEventList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_ActivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_ActivateTraceModeArg_sequence, hf_index, ett_gsm_map_om_ActivateTraceModeArg); return offset; } static int dissect_gsm_map_om_TraceRecordingSessionReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_om_TracePropagationList_sequence[] = { { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference }, { &hf_gsm_map_om_traceType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType }, { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 }, { &hf_gsm_map_om_traceRecordingSessionReference, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceRecordingSessionReference }, { &hf_gsm_map_om_rnc_TraceDepth, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_rnc_InterfaceList, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RNC_InterfaceList }, { &hf_gsm_map_om_msc_s_TraceDepth, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_msc_s_InterfaceList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_InterfaceList }, { &hf_gsm_map_om_msc_s_EventList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_EventList }, { &hf_gsm_map_om_mgw_TraceDepth, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth }, { &hf_gsm_map_om_mgw_InterfaceList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_InterfaceList }, { &hf_gsm_map_om_mgw_EventList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_EventList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_TracePropagationList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_TracePropagationList_sequence, hf_index, ett_gsm_map_om_TracePropagationList); return offset; } static int dissect_gsm_map_om_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const ber_sequence_t gsm_map_om_ActivateTraceModeRes_sequence[] = { { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_om_traceSupportIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_ActivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_ActivateTraceModeRes_sequence, hf_index, ett_gsm_map_om_ActivateTraceModeRes); return offset; } static const ber_sequence_t gsm_map_om_DeactivateTraceModeArg_sequence[] = { { &hf_gsm_map_om_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference }, { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_DeactivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_DeactivateTraceModeArg_sequence, hf_index, ett_gsm_map_om_DeactivateTraceModeArg); return offset; } static const ber_sequence_t gsm_map_om_DeactivateTraceModeRes_sequence[] = { { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_om_DeactivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_om_DeactivateTraceModeRes_sequence, hf_index, ett_gsm_map_om_DeactivateTraceModeRes); return offset; } /* --- Module MAP-MS-DataTypes --- --- --- */ static const asn_namedbit gsm_map_ms_SupportedCamelPhases_bits[] = { { 0, &hf_gsm_map_ms_SupportedCamelPhases_phase1, -1, -1, "phase1", NULL }, { 1, &hf_gsm_map_ms_SupportedCamelPhases_phase2, -1, -1, "phase2", NULL }, { 2, &hf_gsm_map_ms_SupportedCamelPhases_phase3, -1, -1, "phase3", NULL }, { 3, &hf_gsm_map_ms_SupportedCamelPhases_phase4, -1, -1, "phase4", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; int dissect_gsm_map_ms_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SupportedCamelPhases_bits, hf_index, ett_gsm_map_ms_SupportedCamelPhases, NULL); return offset; } static int dissect_gsm_map_ms_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const value_string gsm_map_ms_IST_SupportIndicator_vals[] = { { 0, "basicISTSupported" }, { 1, "istCommandSupported" }, { 0, NULL } }; static int dissect_gsm_map_ms_IST_SupportIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_AgeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_SuperChargerInfo_vals[] = { { 0, "sendSubscriberData" }, { 1, "subscriberDataStored" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_SuperChargerInfo_choice[] = { { 0, &hf_gsm_map_ms_sendSubscriberData, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 1, &hf_gsm_map_ms_subscriberDataStored, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AgeIndicator }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SuperChargerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_SuperChargerInfo_choice, hf_index, ett_gsm_map_ms_SuperChargerInfo, NULL); return offset; } static const asn_namedbit gsm_map_ms_SupportedLCS_CapabilitySets_bits[] = { { 0, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1, -1, -1, "lcsCapabilitySet1", NULL }, { 1, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2, -1, -1, "lcsCapabilitySet2", NULL }, { 2, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3, -1, -1, "lcsCapabilitySet3", NULL }, { 3, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4, -1, -1, "lcsCapabilitySet4", NULL }, { 4, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5, -1, -1, "lcsCapabilitySet5", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_SupportedLCS_CapabilitySets(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SupportedLCS_CapabilitySets_bits, hf_index, ett_gsm_map_ms_SupportedLCS_CapabilitySets, NULL); return offset; } static const asn_namedbit gsm_map_ms_OfferedCamel4CSIs_bits[] = { { 0, &hf_gsm_map_ms_OfferedCamel4CSIs_o_csi, -1, -1, "o-csi", NULL }, { 1, &hf_gsm_map_ms_OfferedCamel4CSIs_d_csi, -1, -1, "d-csi", NULL }, { 2, &hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi, -1, -1, "vt-csi", NULL }, { 3, &hf_gsm_map_ms_OfferedCamel4CSIs_t_csi, -1, -1, "t-csi", NULL }, { 4, &hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi, -1, -1, "mt-sms-csi", NULL }, { 5, &hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi, -1, -1, "mg-csi", NULL }, { 6, &hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements, -1, -1, "psi-enhancements", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_OfferedCamel4CSIs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_OfferedCamel4CSIs_bits, hf_index, ett_gsm_map_ms_OfferedCamel4CSIs, NULL); return offset; } static const asn_namedbit gsm_map_ms_SupportedRAT_Types_bits[] = { { 0, &hf_gsm_map_ms_SupportedRAT_Types_utran, -1, -1, "utran", NULL }, { 1, &hf_gsm_map_ms_SupportedRAT_Types_geran, -1, -1, "geran", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_SupportedRAT_Types(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SupportedRAT_Types_bits, hf_index, ett_gsm_map_ms_SupportedRAT_Types, NULL); return offset; } static const ber_sequence_t gsm_map_ms_VLR_Capability_sequence[] = { { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_solsaSupportIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_istSupportIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_SupportIndicator }, { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SuperChargerInfo }, { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_supportedLCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets }, { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { &hf_gsm_map_ms_supportedRAT_TypesIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedRAT_Types }, { &hf_gsm_map_ms_longGroupID_Supported, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_VLR_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_VLR_Capability_sequence, hf_index, ett_gsm_map_ms_VLR_Capability); return offset; } int dissect_gsm_map_ms_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 525 "gsmmap.cnf" tvbuff_t *parameter_tvb; guint8 octet; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_pdptypenumber); octet = tvb_get_guint8(parameter_tvb,0); switch(octet){ case 0x04: /* IPv4 */ proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), FALSE); break; case 0x50: /* IPv4 */ proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), FALSE); break; default: break; } return offset; } static const ber_sequence_t gsm_map_ms_ADD_Info_sequence[] = { { &hf_gsm_map_ms_imeisv , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, { &hf_gsm_map_ms_skipSubscriberDataUpdate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ADD_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ADD_Info_sequence, hf_index, ett_gsm_map_ms_ADD_Info); return offset; } static const ber_sequence_t gsm_map_ms_UpdateLocationArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_msc_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_vlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_lmsi , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_vlr_Capability, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VLR_Capability }, { &hf_gsm_map_ms_informPreviousNetworkEntity, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_cs_LCS_NotSupportedByUE, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_v_gmlc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_add_info , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ADD_Info }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_UpdateLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_UpdateLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateLocationArg); return offset; } static const ber_sequence_t gsm_map_ms_UpdateLocationRes_sequence[] = { { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_add_Capability, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_UpdateLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_UpdateLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateLocationRes); return offset; } static const value_string gsm_map_ms_CancellationType_vals[] = { { 0, "updateProcedure" }, { 1, "subscriptionWithdraw" }, { 0, NULL } }; static int dissect_gsm_map_ms_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_CancelLocationArg_U_sequence[] = { { &hf_gsm_map_ms_identity , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Identity }, { &hf_gsm_map_ms_cancellationType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CancellationType }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CancelLocationArg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CancelLocationArg_U_sequence, hf_index, ett_gsm_map_ms_CancelLocationArg_U); return offset; } static int dissect_gsm_map_ms_CancelLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_CancelLocationArg_U); return offset; } static const ber_sequence_t gsm_map_ms_CancelLocationRes_sequence[] = { { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CancelLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CancelLocationRes_sequence, hf_index, ett_gsm_map_ms_CancelLocationRes); return offset; } static const ber_sequence_t gsm_map_ms_PurgeMS_Arg_U_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PurgeMS_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PurgeMS_Arg_U_sequence, hf_index, ett_gsm_map_ms_PurgeMS_Arg_U); return offset; } static int dissect_gsm_map_ms_PurgeMS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PurgeMS_Arg_U); return offset; } static const ber_sequence_t gsm_map_ms_PurgeMS_Res_sequence[] = { { &hf_gsm_map_ms_freezeTMSI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_freezeP_TMSI, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PurgeMS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PurgeMS_Res_sequence, hf_index, ett_gsm_map_ms_PurgeMS_Res); return offset; } static int dissect_gsm_map_ms_NumberOfRequestedVectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_HopCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_SendIdentificationArg_sequence[] = { { &hf_gsm_map_ms_tmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_TMSI }, { &hf_gsm_map_ms_numberOfRequestedVectors, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NumberOfRequestedVectors }, { &hf_gsm_map_ms_segmentationProhibited, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_msc_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_previous_LAI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength }, { &hf_gsm_map_ms_hopCounter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_HopCounter }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendIdentificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendIdentificationArg_sequence, hf_index, ett_gsm_map_ms_SendIdentificationArg); return offset; } static int dissect_gsm_map_ms_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_AuthenticationTriplet_sequence[] = { { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND }, { &hf_gsm_map_ms_sres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SRES }, { &hf_gsm_map_ms_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Kc }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AuthenticationTriplet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AuthenticationTriplet_sequence, hf_index, ett_gsm_map_ms_AuthenticationTriplet); return offset; } static const ber_sequence_t gsm_map_ms_TripletList_sequence_of[1] = { { &hf_gsm_map_ms_TripletList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AuthenticationTriplet }, }; static int dissect_gsm_map_ms_TripletList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_TripletList_sequence_of, hf_index, ett_gsm_map_ms_TripletList); return offset; } static int dissect_gsm_map_ms_XRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_CK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_IK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_AUTN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_AuthenticationQuintuplet_sequence[] = { { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND }, { &hf_gsm_map_ms_xres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_XRES }, { &hf_gsm_map_ms_ck , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CK }, { &hf_gsm_map_ms_ik , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IK }, { &hf_gsm_map_ms_autn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTN }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AuthenticationQuintuplet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AuthenticationQuintuplet_sequence, hf_index, ett_gsm_map_ms_AuthenticationQuintuplet); return offset; } static const ber_sequence_t gsm_map_ms_QuintupletList_sequence_of[1] = { { &hf_gsm_map_ms_QuintupletList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AuthenticationQuintuplet }, }; static int dissect_gsm_map_ms_QuintupletList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_QuintupletList_sequence_of, hf_index, ett_gsm_map_ms_QuintupletList); return offset; } static const value_string gsm_map_ms_AuthenticationSetList_vals[] = { { 0, "tripletList" }, { 1, "quintupletList" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_AuthenticationSetList_choice[] = { { 0, &hf_gsm_map_ms_tripletList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TripletList }, { 1, &hf_gsm_map_ms_quintupletList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QuintupletList }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AuthenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_AuthenticationSetList_choice, hf_index, ett_gsm_map_ms_AuthenticationSetList, NULL); return offset; } static int dissect_gsm_map_ms_Cksn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_GSM_SecurityContextData_sequence[] = { { &hf_gsm_map_ms_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Kc }, { &hf_gsm_map_ms_cksn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Cksn }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_GSM_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GSM_SecurityContextData_sequence, hf_index, ett_gsm_map_ms_GSM_SecurityContextData); return offset; } static int dissect_gsm_map_ms_KSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_UMTS_SecurityContextData_sequence[] = { { &hf_gsm_map_ms_ck , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CK }, { &hf_gsm_map_ms_ik , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IK }, { &hf_gsm_map_ms_ksi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_KSI }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_UMTS_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_UMTS_SecurityContextData_sequence, hf_index, ett_gsm_map_ms_UMTS_SecurityContextData); return offset; } static const value_string gsm_map_ms_CurrentSecurityContext_vals[] = { { 0, "gsm-SecurityContextData" }, { 1, "umts-SecurityContextData" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_CurrentSecurityContext_choice[] = { { 0, &hf_gsm_map_ms_gsm_SecurityContextData, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSM_SecurityContextData }, { 1, &hf_gsm_map_ms_umts_SecurityContextData, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UMTS_SecurityContextData }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CurrentSecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_CurrentSecurityContext_choice, hf_index, ett_gsm_map_ms_CurrentSecurityContext, NULL); return offset; } static const ber_sequence_t gsm_map_ms_SendIdentificationRes_U_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_authenticationSetList, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_AuthenticationSetList }, { &hf_gsm_map_ms_currentSecurityContext, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_CurrentSecurityContext }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendIdentificationRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendIdentificationRes_U_sequence, hf_index, ett_gsm_map_ms_SendIdentificationRes_U); return offset; } static int dissect_gsm_map_ms_SendIdentificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendIdentificationRes_U); return offset; } static int dissect_gsm_map_ms_AUTS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_FailureCause_vals[] = { { 0, "wrongUserResponse" }, { 1, "wrongNetworkSignature" }, { 0, NULL } }; static int dissect_gsm_map_ms_FailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_AccessType_vals[] = { { 0, "call" }, { 1, "emergencyCall" }, { 2, "locationUpdating" }, { 3, "supplementaryService" }, { 4, "shortMessage" }, { 5, "gprsAttach" }, { 6, "routingAreaUpdating" }, { 7, "serviceRequest" }, { 8, "pdpContextActivation" }, { 9, "pdpContextDeactivation" }, { 10, "gprsDetach" }, { 0, NULL } }; static int dissect_gsm_map_ms_AccessType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_AuthenticationFailureReportArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_FailureCause }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_re_attempt, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BOOLEAN }, { &hf_gsm_map_ms_accessType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AccessType }, { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND }, { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AuthenticationFailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AuthenticationFailureReportArg_sequence, hf_index, ett_gsm_map_ms_AuthenticationFailureReportArg); return offset; } static const ber_sequence_t gsm_map_ms_AuthenticationFailureReportRes_sequence[] = { { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AuthenticationFailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AuthenticationFailureReportRes_sequence, hf_index, ett_gsm_map_ms_AuthenticationFailureReportRes); return offset; } static const ber_sequence_t gsm_map_ms_SGSN_Capability_sequence[] = { { &hf_gsm_map_ms_solsaSupportIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SuperChargerInfo }, { &hf_gsm_map_ms_gprsEnhancementsSupportIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ms_supportedLCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets }, { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { &hf_gsm_map_ms_smsCallBarringSupportIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_supportedRAT_TypesIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedRAT_Types }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SGSN_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SGSN_Capability_sequence, hf_index, ett_gsm_map_ms_SGSN_Capability); return offset; } static const ber_sequence_t gsm_map_ms_UpdateGprsLocationArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_sgsn_Capability, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SGSN_Capability }, { &hf_gsm_map_ms_informPreviousNetworkEntity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_ps_LCS_NotSupportedByUE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_v_gmlc_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_add_info , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ADD_Info }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_UpdateGprsLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_UpdateGprsLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateGprsLocationArg); return offset; } static const ber_sequence_t gsm_map_ms_UpdateGprsLocationRes_sequence[] = { { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_add_Capability, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_UpdateGprsLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateGprsLocationRes); return offset; } static int dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 597 "gsmmap.cnf" tvbuff_t *parameter_tvb; asn1_ctx_t asn1_ctx; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); dissect_ranap_IntegrityProtectionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_IntegrityProtectionInformation); return offset; } static int dissect_gsm_map_ms_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 609 "gsmmap.cnf" tvbuff_t *parameter_tvb; asn1_ctx_t asn1_ctx; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); dissect_ranap_EncryptionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_EncryptionInformation); return offset; } static const value_string gsm_map_ms_KeyStatus_vals[] = { { 0, "old" }, { 1, "new" }, { 0, NULL } }; static int dissect_gsm_map_ms_KeyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_AllowedGSM_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_PermittedIntegrityProtectionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_PermittedEncryptionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_AllowedUMTS_Algorithms_sequence[] = { { &hf_gsm_map_ms_integrityProtectionAlgorithms, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PermittedIntegrityProtectionAlgorithms }, { &hf_gsm_map_ms_encryptionAlgorithms, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PermittedEncryptionAlgorithms }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AllowedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_ms_AllowedUMTS_Algorithms); return offset; } static int dissect_gsm_map_ms_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 573 "gsmmap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation); be_chan_type(parameter_tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0); return offset; } static int dissect_gsm_map_ms_RAB_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_RadioResource_sequence[] = { { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RadioResourceInformation }, { &hf_gsm_map_ms_rab_Id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_RadioResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RadioResource_sequence, hf_index, ett_gsm_map_ms_RadioResource); return offset; } static const ber_sequence_t gsm_map_ms_RadioResourceList_sequence_of[1] = { { &hf_gsm_map_ms_RadioResourceList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RadioResource }, }; static int dissect_gsm_map_ms_RadioResourceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RadioResourceList_sequence_of, hf_index, ett_gsm_map_ms_RadioResourceList); return offset; } static int dissect_gsm_map_ms_BSSMAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 585 "gsmmap.cnf" tvbuff_t *parameter_tvb; asn1_ctx_t asn1_ctx; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo); dissect_ranap_Service_Handover(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_ranap_service_Handover); return offset; } static const ber_sequence_t gsm_map_ms_BSSMAP_ServiceHandoverInfo_sequence[] = { { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover }, { &hf_gsm_map_ms_rab_Id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_BSSMAP_ServiceHandoverInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_BSSMAP_ServiceHandoverInfo_sequence, hf_index, ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo); return offset; } static const ber_sequence_t gsm_map_ms_BSSMAP_ServiceHandoverList_sequence_of[1] = { { &hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverInfo }, }; static int dissect_gsm_map_ms_BSSMAP_ServiceHandoverList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_BSSMAP_ServiceHandoverList_sequence_of, hf_index, ett_gsm_map_ms_BSSMAP_ServiceHandoverList); return offset; } static int dissect_gsm_map_ms_Codec(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_CodecList_sequence[] = { { &hf_gsm_map_ms_codec1 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_codec2 , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_codec3 , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_codec4 , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_codec5 , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_codec6 , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_codec7 , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_codec8 , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CodecList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CodecList_sequence, hf_index, ett_gsm_map_ms_CodecList); return offset; } static const ber_sequence_t gsm_map_ms_SupportedCodecsList_sequence[] = { { &hf_gsm_map_ms_utranCodecList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList }, { &hf_gsm_map_ms_geranCodecList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SupportedCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SupportedCodecsList_sequence, hf_index, ett_gsm_map_ms_SupportedCodecsList); return offset; } static const ber_sequence_t gsm_map_ms_ForwardAccessSignalling_Arg_U_sequence[] = { { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { &hf_gsm_map_ms_integrityProtectionInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IntegrityProtectionInformation }, { &hf_gsm_map_ms_encryptionInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EncryptionInformation }, { &hf_gsm_map_ms_keyStatus, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_KeyStatus }, { &hf_gsm_map_ms_allowedGSM_Algorithms, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedGSM_Algorithms }, { &hf_gsm_map_ms_allowedUMTS_Algorithms, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedUMTS_Algorithms }, { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_radioResourceList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceList }, { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover }, { &hf_gsm_map_ms_ranap_ServiceHandover, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RANAP_ServiceHandover }, { &hf_gsm_map_ms_bssmap_ServiceHandoverList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverList }, { &hf_gsm_map_ms_currentlyUsedCodec, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_iuSupportedCodecsList, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCodecsList }, { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_iuSelectedCodec, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_alternativeChannelType, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation }, { &hf_gsm_map_ms_tracePropagationList, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TracePropagationList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ForwardAccessSignalling_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ForwardAccessSignalling_Arg_U_sequence, hf_index, ett_gsm_map_ms_ForwardAccessSignalling_Arg_U); return offset; } static int dissect_gsm_map_ms_ForwardAccessSignalling_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_ForwardAccessSignalling_Arg_U); return offset; } static int dissect_gsm_map_ms_RNCId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_GERAN_Classmark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_UESBI_IuA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, NULL, hf_index, -1, NULL); return offset; } static int dissect_gsm_map_ms_UESBI_IuB(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, NULL, hf_index, -1, NULL); return offset; } static const ber_sequence_t gsm_map_ms_UESBI_Iu_sequence[] = { { &hf_gsm_map_ms_uesbi_IuA, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_IuA }, { &hf_gsm_map_ms_uesbi_IuB, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_IuB }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_UESBI_Iu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_UESBI_Iu_sequence, hf_index, ett_gsm_map_ms_UESBI_Iu); return offset; } static const ber_sequence_t gsm_map_ms_PrepareHO_Arg_U_sequence[] = { { &hf_gsm_map_ms_targetCellId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId }, { &hf_gsm_map_ms_ho_NumberNotRequired, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_targetRNCId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RNCId }, { &hf_gsm_map_ms_an_APDU , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { &hf_gsm_map_ms_multipleBearerRequested, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_integrityProtectionInfo, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IntegrityProtectionInformation }, { &hf_gsm_map_ms_encryptionInfo, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EncryptionInformation }, { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation }, { &hf_gsm_map_ms_allowedGSM_Algorithms, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedGSM_Algorithms }, { &hf_gsm_map_ms_allowedUMTS_Algorithms, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedUMTS_Algorithms }, { &hf_gsm_map_ms_radioResourceList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_rab_Id , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id }, { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover }, { &hf_gsm_map_ms_ranap_ServiceHandover, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RANAP_ServiceHandover }, { &hf_gsm_map_ms_bssmap_ServiceHandoverList, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverList }, { &hf_gsm_map_ms_asciCallReference, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ASCI_CallReference }, { &hf_gsm_map_ms_geran_classmark, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GERAN_Classmark }, { &hf_gsm_map_ms_iuCurrentlyUsedCodec, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_iuSupportedCodecsList, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCodecsList }, { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_uesbi_Iu , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_Iu }, { &hf_gsm_map_ms_imeisv , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, { &hf_gsm_map_ms_alternativeChannelType, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation }, { &hf_gsm_map_ms_tracePropagationList, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TracePropagationList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PrepareHO_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PrepareHO_Arg_U_sequence, hf_index, ett_gsm_map_ms_PrepareHO_Arg_U); return offset; } static int dissect_gsm_map_ms_PrepareHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareHO_Arg_U); return offset; } static const ber_sequence_t gsm_map_ms_RelocationNumber_sequence[] = { { &hf_gsm_map_ms_handoverNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_rab_Id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_RelocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RelocationNumber_sequence, hf_index, ett_gsm_map_ms_RelocationNumber); return offset; } static const ber_sequence_t gsm_map_ms_RelocationNumberList_sequence_of[1] = { { &hf_gsm_map_ms_RelocationNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RelocationNumber }, }; static int dissect_gsm_map_ms_RelocationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RelocationNumberList_sequence_of, hf_index, ett_gsm_map_ms_RelocationNumberList); return offset; } static int dissect_gsm_map_ms_MulticallBearerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_ChosenIntegrityProtectionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_ChosenEncryptionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_SelectedUMTS_Algorithms_sequence[] = { { &hf_gsm_map_ms_integrityProtectionAlgorithm, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenIntegrityProtectionAlgorithm }, { &hf_gsm_map_ms_encryptionAlgorithm, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenEncryptionAlgorithm }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SelectedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SelectedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_ms_SelectedUMTS_Algorithms); return offset; } static int dissect_gsm_map_ms_ChosenChannelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_ChosenSpeechVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_ChosenRadioResourceInformation_sequence[] = { { &hf_gsm_map_ms_chosenChannelInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenChannelInfo }, { &hf_gsm_map_ms_chosenSpeechVersion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenSpeechVersion }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ChosenRadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ChosenRadioResourceInformation_sequence, hf_index, ett_gsm_map_ms_ChosenRadioResourceInformation); return offset; } static const ber_sequence_t gsm_map_ms_PrepareHO_Res_U_sequence[] = { { &hf_gsm_map_ms_handoverNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_relocationNumberList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RelocationNumberList }, { &hf_gsm_map_ms_an_APDU , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { &hf_gsm_map_ms_multicallBearerInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MulticallBearerInfo }, { &hf_gsm_map_ms_multipleBearerNotSupported, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_selectedUMTS_Algorithms, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedUMTS_Algorithms }, { &hf_gsm_map_ms_chosenRadioResourceInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenRadioResourceInformation }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_iuSelectedCodec, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_iuAvailableCodecsList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PrepareHO_Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PrepareHO_Res_U_sequence, hf_index, ett_gsm_map_ms_PrepareHO_Res_U); return offset; } static int dissect_gsm_map_ms_PrepareHO_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareHO_Res_U); return offset; } static const ber_sequence_t gsm_map_ms_PrepareSubsequentHO_Arg_U_sequence[] = { { &hf_gsm_map_ms_targetCellId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId }, { &hf_gsm_map_ms_targetMSC_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_targetRNCId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RNCId }, { &hf_gsm_map_ms_an_APDU , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { &hf_gsm_map_ms_selectedRab_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_geran_classmark, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GERAN_Classmark }, { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PrepareSubsequentHO_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PrepareSubsequentHO_Arg_U_sequence, hf_index, ett_gsm_map_ms_PrepareSubsequentHO_Arg_U); return offset; } static int dissect_gsm_map_ms_PrepareSubsequentHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg_U); return offset; } static const ber_sequence_t gsm_map_ms_PrepareSubsequentHO_Res_U_sequence[] = { { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PrepareSubsequentHO_Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PrepareSubsequentHO_Res_U_sequence, hf_index, ett_gsm_map_ms_PrepareSubsequentHO_Res_U); return offset; } static int dissect_gsm_map_ms_PrepareSubsequentHO_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Res_U); return offset; } static int dissect_gsm_map_ms_SelectedGSM_Algorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_ProcessAccessSignalling_Arg_U_sequence[] = { { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { &hf_gsm_map_ms_selectedUMTS_Algorithms, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedUMTS_Algorithms }, { &hf_gsm_map_ms_selectedGSM_Algorithm, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedGSM_Algorithm }, { &hf_gsm_map_ms_chosenRadioResourceInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenRadioResourceInformation }, { &hf_gsm_map_ms_selectedRab_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_iUSelectedCodec, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec }, { &hf_gsm_map_ms_iuAvailableCodecsList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ProcessAccessSignalling_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ProcessAccessSignalling_Arg_U_sequence, hf_index, ett_gsm_map_ms_ProcessAccessSignalling_Arg_U); return offset; } static int dissect_gsm_map_ms_ProcessAccessSignalling_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_ProcessAccessSignalling_Arg_U); return offset; } static const ber_sequence_t gsm_map_ms_SendEndSignal_Arg_U_sequence[] = { { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendEndSignal_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendEndSignal_Arg_U_sequence, hf_index, ett_gsm_map_ms_SendEndSignal_Arg_U); return offset; } static int dissect_gsm_map_ms_SendEndSignal_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendEndSignal_Arg_U); return offset; } static const ber_sequence_t gsm_map_ms_SendEndSignal_Res_sequence[] = { { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendEndSignal_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendEndSignal_Res_sequence, hf_index, ett_gsm_map_ms_SendEndSignal_Res); return offset; } static const ber_sequence_t gsm_map_ms_Re_synchronisationInfo_sequence[] = { { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND }, { &hf_gsm_map_ms_auts , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTS }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Re_synchronisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Re_synchronisationInfo_sequence, hf_index, ett_gsm_map_ms_Re_synchronisationInfo); return offset; } static const value_string gsm_map_ms_RequestingNodeType_vals[] = { { 0, "vlr" }, { 1, "sgsn" }, { 2, "s-cscf" }, { 3, "bsf" }, { 4, "gan-aaa-server" }, { 5, "wlan-aaa-server" }, { 0, NULL } }; static int dissect_gsm_map_ms_RequestingNodeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_SendAuthenticationInfoArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_numberOfRequestedVectors, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NumberOfRequestedVectors }, { &hf_gsm_map_ms_segmentationProhibited, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_immediateResponsePreferred, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_re_synchronisationInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Re_synchronisationInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_requestingNodeType, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestingNodeType }, { &hf_gsm_map_ms_requestingPLMN_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendAuthenticationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendAuthenticationInfoArg_sequence, hf_index, ett_gsm_map_ms_SendAuthenticationInfoArg); return offset; } static const ber_sequence_t gsm_map_ms_SendAuthenticationInfoRes_U_sequence[] = { { &hf_gsm_map_ms_authenticationSetList, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_AuthenticationSetList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendAuthenticationInfoRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendAuthenticationInfoRes_U_sequence, hf_index, ett_gsm_map_ms_SendAuthenticationInfoRes_U); return offset; } static int dissect_gsm_map_ms_SendAuthenticationInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendAuthenticationInfoRes_U); return offset; } static const asn_namedbit gsm_map_ms_RequestedEquipmentInfo_bits[] = { { 0, &hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus, -1, -1, "equipmentStatus", NULL }, { 1, &hf_gsm_map_ms_RequestedEquipmentInfo_bmuef, -1, -1, "bmuef", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_RequestedEquipmentInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RequestedEquipmentInfo_bits, hf_index, ett_gsm_map_ms_RequestedEquipmentInfo, NULL); return offset; } static const ber_sequence_t gsm_map_ms_CheckIMEI_Arg_sequence[] = { { &hf_gsm_map_ms_imei , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMEI }, { &hf_gsm_map_ms_requestedEquipmentInfo, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RequestedEquipmentInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CheckIMEI_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CheckIMEI_Arg_sequence, hf_index, ett_gsm_map_ms_CheckIMEI_Arg); return offset; } static const value_string gsm_map_ms_EquipmentStatus_vals[] = { { 0, "whiteListed" }, { 1, "blackListed" }, { 2, "greyListed" }, { 0, NULL } }; static int dissect_gsm_map_ms_EquipmentStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_CheckIMEI_Res_sequence[] = { { &hf_gsm_map_ms_equipmentStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_EquipmentStatus }, { &hf_gsm_map_ms_bmuef , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_UESBI_Iu }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CheckIMEI_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CheckIMEI_Res_sequence, hf_index, ett_gsm_map_ms_CheckIMEI_Res); return offset; } static int dissect_gsm_map_ms_Category(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_SubscriberStatus_vals[] = { { 0, "serviceGranted" }, { 1, "operatorDeterminedBarring" }, { 0, NULL } }; static int dissect_gsm_map_ms_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_BearerServiceList_sequence_of[1] = { { &hf_gsm_map_ms_BearerServiceList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BearerServiceCode }, }; static int dissect_gsm_map_ms_BearerServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_BearerServiceList_sequence_of, hf_index, ett_gsm_map_ms_BearerServiceList); return offset; } static const ber_sequence_t gsm_map_ms_TeleserviceList_sequence_of[1] = { { &hf_gsm_map_ms_TeleserviceList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode }, }; static int dissect_gsm_map_ms_TeleserviceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_TeleserviceList_sequence_of, hf_index, ett_gsm_map_ms_TeleserviceList); return offset; } static int dissect_gsm_map_ms_Ext_ForwOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_ms_Ext_ForwOptions(implicit_tag, tvb, offset, actx, tree, hf_index); #line 474 "gsmmap.cnf" proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,FALSE); return offset; } static int dissect_gsm_map_ms_Ext_NoRepCondTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_Ext_ForwFeature_sequence[] = { { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_ms_forwardedToNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_forwardedToSubaddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { &hf_gsm_map_ms_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_forwardingOptions }, { &hf_gsm_map_ms_noReplyConditionTime, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_NoRepCondTime }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_longForwardedToNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_ForwFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_ForwFeature_sequence, hf_index, ett_gsm_map_ms_Ext_ForwFeature); return offset; } static const ber_sequence_t gsm_map_ms_Ext_ForwFeatureList_sequence_of[1] = { { &hf_gsm_map_ms_Ext_ForwFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeature }, }; static int dissect_gsm_map_ms_Ext_ForwFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_ForwFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_ForwFeatureList); return offset; } static const ber_sequence_t gsm_map_ms_Ext_ForwInfo_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeatureList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_ForwInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_ForwInfo_sequence, hf_index, ett_gsm_map_ms_Ext_ForwInfo); return offset; } static const ber_sequence_t gsm_map_ms_Ext_CallBarringFeature_sequence[] = { { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_CallBarringFeature_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarringFeature); return offset; } static const ber_sequence_t gsm_map_ms_Ext_CallBarFeatureList_sequence_of[1] = { { &hf_gsm_map_ms_Ext_CallBarFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarringFeature }, }; static int dissect_gsm_map_ms_Ext_CallBarFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_CallBarFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_CallBarFeatureList); return offset; } static const ber_sequence_t gsm_map_ms_Ext_CallBarInfo_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_CallBarInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_CallBarInfo_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarInfo); return offset; } int dissect_gsm_map_ms_CUG_Index(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_ms_CUG_Interlock(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_IntraCUG_Options_vals[] = { { 0, "noCUG-Restrictions" }, { 1, "cugIC-CallBarred" }, { 2, "cugOG-CallBarred" }, { 0, NULL } }; static int dissect_gsm_map_ms_IntraCUG_Options(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_Ext_BasicServiceGroupList_sequence_of[1] = { { &hf_gsm_map_ms_Ext_BasicServiceGroupList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode }, }; static int dissect_gsm_map_ms_Ext_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_ms_Ext_BasicServiceGroupList); return offset; } static const ber_sequence_t gsm_map_ms_CUG_Subscription_sequence[] = { { &hf_gsm_map_ms_cug_Index, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Index }, { &hf_gsm_map_ms_cug_Interlock, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Interlock }, { &hf_gsm_map_ms_intraCUG_Options, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IntraCUG_Options }, { &hf_gsm_map_ms_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_BasicServiceGroupList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CUG_Subscription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CUG_Subscription_sequence, hf_index, ett_gsm_map_ms_CUG_Subscription); return offset; } static const ber_sequence_t gsm_map_ms_CUG_SubscriptionList_sequence_of[1] = { { &hf_gsm_map_ms_CUG_SubscriptionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Subscription }, }; static int dissect_gsm_map_ms_CUG_SubscriptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CUG_SubscriptionList_sequence_of, hf_index, ett_gsm_map_ms_CUG_SubscriptionList); return offset; } static int dissect_gsm_map_ms_InterCUG_Restrictions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_CUG_Feature_sequence[] = { { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ms_preferentialCUG_Indicator, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Index }, { &hf_gsm_map_ms_interCUG_Restrictions, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_InterCUG_Restrictions }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CUG_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CUG_Feature_sequence, hf_index, ett_gsm_map_ms_CUG_Feature); return offset; } static const ber_sequence_t gsm_map_ms_CUG_FeatureList_sequence_of[1] = { { &hf_gsm_map_ms_CUG_FeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Feature }, }; static int dissect_gsm_map_ms_CUG_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CUG_FeatureList_sequence_of, hf_index, ett_gsm_map_ms_CUG_FeatureList); return offset; } static const ber_sequence_t gsm_map_ms_CUG_Info_sequence[] = { { &hf_gsm_map_ms_cug_SubscriptionList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_SubscriptionList }, { &hf_gsm_map_ms_cug_FeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_FeatureList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ms_CUG_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CUG_Info_sequence, hf_index, ett_gsm_map_ms_CUG_Info); return offset; } static const ber_sequence_t gsm_map_ms_Ext_SS_Data_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_ms_ss_SubscriptionOption, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_SS_SubscriptionOption }, { &hf_gsm_map_ms_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_BasicServiceGroupList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_SS_Data_sequence, hf_index, ett_gsm_map_ms_Ext_SS_Data); return offset; } static const value_string gsm_map_ms_Ext_SS_Info_vals[] = { { 0, "forwardingInfo" }, { 1, "callBarringInfo" }, { 2, "cug-Info" }, { 3, "ss-Data" }, { 4, "emlpp-Info" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_Ext_SS_Info_choice[] = { { 0, &hf_gsm_map_ms_forwardingInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwInfo }, { 1, &hf_gsm_map_ms_callBarringInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarInfo }, { 2, &hf_gsm_map_ms_cug_Info , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Info }, { 3, &hf_gsm_map_ms_ss_Data , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_Data }, { 4, &hf_gsm_map_ms_emlpp_Info, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Info }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_Ext_SS_Info_choice, hf_index, ett_gsm_map_ms_Ext_SS_Info, NULL); return offset; } static const ber_sequence_t gsm_map_ms_Ext_SS_InfoList_sequence_of[1] = { { &hf_gsm_map_ms_Ext_SS_InfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_Ext_SS_Info }, }; static int dissect_gsm_map_ms_Ext_SS_InfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_SS_InfoList_sequence_of, hf_index, ett_gsm_map_ms_Ext_SS_InfoList); return offset; } static const asn_namedbit gsm_map_ms_ODB_GeneralData_bits[] = { { 0, &hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred, -1, -1, "allOG-CallsBarred", NULL }, { 1, &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred, -1, -1, "internationalOGCallsBarred", NULL }, { 2, &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "internationalOGCallsNotToHPLMN-CountryBarred", NULL }, { 6, &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred, -1, -1, "interzonalOGCallsBarred", NULL }, { 7, &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsNotToHPLMN-CountryBarred", NULL }, { 8, &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", NULL }, { 3, &hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred, -1, -1, "premiumRateInformationOGCallsBarred", NULL }, { 4, &hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred, -1, -1, "premiumRateEntertainementOGCallsBarred", NULL }, { 5, &hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred, -1, -1, "ss-AccessBarred", NULL }, { 9, &hf_gsm_map_ms_ODB_GeneralData_allECT_Barred, -1, -1, "allECT-Barred", NULL }, { 10, &hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred, -1, -1, "chargeableECT-Barred", NULL }, { 11, &hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred, -1, -1, "internationalECT-Barred", NULL }, { 12, &hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred, -1, -1, "interzonalECT-Barred", NULL }, { 13, &hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred, -1, -1, "doublyChargeableECT-Barred", NULL }, { 14, &hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred, -1, -1, "multipleECT-Barred", NULL }, { 15, &hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred, -1, -1, "allPacketOrientedServicesBarred", NULL }, { 16, &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred, -1, -1, "roamerAccessToHPLMN-AP-Barred", NULL }, { 17, &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred, -1, -1, "roamerAccessToVPLMN-AP-Barred", NULL }, { 18, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred, -1, -1, "roamingOutsidePLMNOG-CallsBarred", NULL }, { 19, &hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred, -1, -1, "allIC-CallsBarred", NULL }, { 20, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred, -1, -1, "roamingOutsidePLMNIC-CallsBarred", NULL }, { 21, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred, -1, -1, "roamingOutsidePLMNICountryIC-CallsBarred", NULL }, { 22, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred, -1, -1, "roamingOutsidePLMN-Barred", NULL }, { 23, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred, -1, -1, "roamingOutsidePLMN-CountryBarred", NULL }, { 24, &hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred, -1, -1, "registrationAllCF-Barred", NULL }, { 25, &hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred, -1, -1, "registrationCFNotToHPLMN-Barred", NULL }, { 26, &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred, -1, -1, "registrationInterzonalCF-Barred", NULL }, { 27, &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred, -1, -1, "registrationInterzonalCFNotToHPLMN-Barred", NULL }, { 28, &hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred, -1, -1, "registrationInternationalCF-Barred", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_ODB_GeneralData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ODB_GeneralData_bits, hf_index, ett_gsm_map_ms_ODB_GeneralData, NULL); return offset; } static const asn_namedbit gsm_map_ms_ODB_HPLMN_Data_bits[] = { { 0, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1, -1, -1, "plmn-SpecificBarringType1", NULL }, { 1, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2, -1, -1, "plmn-SpecificBarringType2", NULL }, { 2, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3, -1, -1, "plmn-SpecificBarringType3", NULL }, { 3, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4, -1, -1, "plmn-SpecificBarringType4", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_ODB_HPLMN_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ODB_HPLMN_Data_bits, hf_index, ett_gsm_map_ms_ODB_HPLMN_Data, NULL); return offset; } static const ber_sequence_t gsm_map_ms_ODB_Data_sequence[] = { { &hf_gsm_map_ms_odb_GeneralData, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_GeneralData }, { &hf_gsm_map_ms_odb_HPLMN_Data, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_HPLMN_Data }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ODB_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ODB_Data_sequence, hf_index, ett_gsm_map_ms_ODB_Data); return offset; } static int dissect_gsm_map_ms_ZoneCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_ZoneCodeList_sequence_of[1] = { { &hf_gsm_map_ms_ZoneCodeList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ZoneCode }, }; static int dissect_gsm_map_ms_ZoneCodeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ZoneCodeList_sequence_of, hf_index, ett_gsm_map_ms_ZoneCodeList); return offset; } static int dissect_gsm_map_ms_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const ber_sequence_t gsm_map_ms_VoiceBroadcastData_sequence[] = { { &hf_gsm_map_ms_groupid , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GroupId }, { &hf_gsm_map_ms_broadcastInitEntitlement, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_VoiceBroadcastData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_VoiceBroadcastData_sequence, hf_index, ett_gsm_map_ms_VoiceBroadcastData); return offset; } static const ber_sequence_t gsm_map_ms_VBSDataList_sequence_of[1] = { { &hf_gsm_map_ms_VBSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_VoiceBroadcastData }, }; static int dissect_gsm_map_ms_VBSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_VBSDataList_sequence_of, hf_index, ett_gsm_map_ms_VBSDataList); return offset; } static const asn_namedbit gsm_map_ms_AdditionalSubscriptions_bits[] = { { 0, &hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest, -1, -1, "privilegedUplinkRequest", NULL }, { 1, &hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest, -1, -1, "emergencyUplinkRequest", NULL }, { 2, &hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset, -1, -1, "emergencyReset", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_AdditionalSubscriptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AdditionalSubscriptions_bits, hf_index, ett_gsm_map_ms_AdditionalSubscriptions, NULL); return offset; } static int dissect_gsm_map_ms_AdditionalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, NULL, hf_index, -1, NULL); return offset; } static int dissect_gsm_map_ms_Long_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const ber_sequence_t gsm_map_ms_VoiceGroupCallData_sequence[] = { { &hf_gsm_map_ms_groupId , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GroupId }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_additionalSubscriptions, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AdditionalSubscriptions }, { &hf_gsm_map_ms_additionalInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo }, { &hf_gsm_map_ms_longGroupId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Long_GroupId }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_VoiceGroupCallData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_VoiceGroupCallData_sequence, hf_index, ett_gsm_map_ms_VoiceGroupCallData); return offset; } static const ber_sequence_t gsm_map_ms_VGCSDataList_sequence_of[1] = { { &hf_gsm_map_ms_VGCSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_VoiceGroupCallData }, }; static int dissect_gsm_map_ms_VGCSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_VGCSDataList_sequence_of, hf_index, ett_gsm_map_ms_VGCSDataList); return offset; } static const value_string gsm_map_ms_O_BcsmTriggerDetectionPoint_vals[] = { { 2, "collectedInfo" }, { 4, "routeSelectFailure" }, { 0, NULL } }; static int dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_DefaultCallHandling_vals[] = { { 0, "continueCall" }, { 1, "releaseCall" }, { 0, NULL } }; static int dissect_gsm_map_ms_DefaultCallHandling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPData_sequence[] = { { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint }, { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultCallHandling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_O_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_O_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPData); return offset; } static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPDataList_sequence_of[1] = { { &hf_gsm_map_ms_O_BcsmCamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDPData }, }; static int dissect_gsm_map_ms_O_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_O_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPDataList); return offset; } static int dissect_gsm_map_ms_CamelCapabilityHandling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_O_CSI_sequence[] = { { &hf_gsm_map_ms_o_BcsmCamelTDPDataList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDPDataList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csiActive, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_O_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_O_CSI_sequence, hf_index, ett_gsm_map_ms_O_CSI); return offset; } static const ber_sequence_t gsm_map_ms_SS_EventList_sequence_of[1] = { { &hf_gsm_map_ms_SS_EventList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, }; static int dissect_gsm_map_ms_SS_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SS_EventList_sequence_of, hf_index, ett_gsm_map_ms_SS_EventList); return offset; } static const ber_sequence_t gsm_map_ms_SS_CamelData_sequence[] = { { &hf_gsm_map_ms_ss_EventList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SS_EventList }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SS_CamelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SS_CamelData_sequence, hf_index, ett_gsm_map_ms_SS_CamelData); return offset; } static const ber_sequence_t gsm_map_ms_SS_CSI_sequence[] = { { &hf_gsm_map_ms_ss_CamelData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SS_CamelData }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SS_CSI_sequence, hf_index, ett_gsm_map_ms_SS_CSI); return offset; } static const value_string gsm_map_ms_MatchType_vals[] = { { 0, "inhibiting" }, { 1, "enabling" }, { 0, NULL } }; static int dissect_gsm_map_ms_MatchType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_DestinationNumberList_sequence_of[1] = { { &hf_gsm_map_ms_DestinationNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, }; static int dissect_gsm_map_ms_DestinationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_DestinationNumberList_sequence_of, hf_index, ett_gsm_map_ms_DestinationNumberList); return offset; } static int dissect_gsm_map_ms_INTEGER_1_maxNumOfISDN_AddressDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_DestinationNumberLengthList_sequence_of[1] = { { &hf_gsm_map_ms_DestinationNumberLengthList_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_INTEGER_1_maxNumOfISDN_AddressDigits }, }; static int dissect_gsm_map_ms_DestinationNumberLengthList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_DestinationNumberLengthList_sequence_of, hf_index, ett_gsm_map_ms_DestinationNumberLengthList); return offset; } static const ber_sequence_t gsm_map_ms_DestinationNumberCriteria_sequence[] = { { &hf_gsm_map_ms_matchType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MatchType }, { &hf_gsm_map_ms_destinationNumberList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberList }, { &hf_gsm_map_ms_destinationNumberLengthList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberLengthList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_DestinationNumberCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_DestinationNumberCriteria_sequence, hf_index, ett_gsm_map_ms_DestinationNumberCriteria); return offset; } static const ber_sequence_t gsm_map_ms_BasicServiceCriteria_sequence_of[1] = { { &hf_gsm_map_ms_BasicServiceCriteria_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode }, }; static int dissect_gsm_map_ms_BasicServiceCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_BasicServiceCriteria_sequence_of, hf_index, ett_gsm_map_ms_BasicServiceCriteria); return offset; } static const value_string gsm_map_ms_CallTypeCriteria_vals[] = { { 0, "forwarded" }, { 1, "notForwarded" }, { 0, NULL } }; static int dissect_gsm_map_ms_CallTypeCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_CauseValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_O_CauseValueCriteria_sequence_of[1] = { { &hf_gsm_map_ms_O_CauseValueCriteria_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CauseValue }, }; static int dissect_gsm_map_ms_O_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_O_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_ms_O_CauseValueCriteria); return offset; } static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDP_Criteria_sequence[] = { { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint }, { &hf_gsm_map_ms_destinationNumberCriteria, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberCriteria }, { &hf_gsm_map_ms_basicServiceCriteria, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceCriteria }, { &hf_gsm_map_ms_callTypeCriteria, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallTypeCriteria }, { &hf_gsm_map_ms_o_CauseValueCriteria, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CauseValueCriteria }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_O_BcsmCamelTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_O_BcsmCamelTDP_Criteria_sequence, hf_index, ett_gsm_map_ms_O_BcsmCamelTDP_Criteria); return offset; } static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPCriteriaList_sequence_of[1] = { { &hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDP_Criteria }, }; static int dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_O_BcsmCamelTDPCriteriaList_sequence_of, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList); return offset; } static int dissect_gsm_map_ms_MM_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_MobilityTriggers_sequence_of[1] = { { &hf_gsm_map_ms_MobilityTriggers_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MM_Code }, }; static int dissect_gsm_map_ms_MobilityTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MobilityTriggers_sequence_of, hf_index, ett_gsm_map_ms_MobilityTriggers); return offset; } static const ber_sequence_t gsm_map_ms_M_CSI_sequence[] = { { &hf_gsm_map_ms_mobilityTriggers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MobilityTriggers }, { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_M_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_M_CSI_sequence, hf_index, ett_gsm_map_ms_M_CSI); return offset; } static const value_string gsm_map_ms_SMS_TriggerDetectionPoint_vals[] = { { 1, "sms-CollectedInfo" }, { 2, "sms-DeliveryRequest" }, { 0, NULL } }; static int dissect_gsm_map_ms_SMS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_DefaultSMS_Handling_vals[] = { { 0, "continueTransaction" }, { 1, "releaseTransaction" }, { 0, NULL } }; static int dissect_gsm_map_ms_DefaultSMS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_SMS_CAMEL_TDP_Data_sequence[] = { { &hf_gsm_map_ms_sms_TriggerDetectionPoint, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_TriggerDetectionPoint }, { &hf_gsm_map_ms_serviceKey, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_defaultSMS_Handling, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultSMS_Handling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SMS_CAMEL_TDP_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SMS_CAMEL_TDP_Data_sequence, hf_index, ett_gsm_map_ms_SMS_CAMEL_TDP_Data); return offset; } static const ber_sequence_t gsm_map_ms_SMS_CAMEL_TDP_DataList_sequence_of[1] = { { &hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SMS_CAMEL_TDP_Data }, }; static int dissect_gsm_map_ms_SMS_CAMEL_TDP_DataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SMS_CAMEL_TDP_DataList_sequence_of, hf_index, ett_gsm_map_ms_SMS_CAMEL_TDP_DataList); return offset; } static const ber_sequence_t gsm_map_ms_SMS_CSI_sequence[] = { { &hf_gsm_map_ms_sms_CAMEL_TDP_DataList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CAMEL_TDP_DataList }, { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SMS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SMS_CSI_sequence, hf_index, ett_gsm_map_ms_SMS_CSI); return offset; } static const value_string gsm_map_ms_T_BcsmTriggerDetectionPoint_vals[] = { { 12, "termAttemptAuthorized" }, { 13, "tBusy" }, { 14, "tNoAnswer" }, { 0, NULL } }; static int dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_T_BcsmCamelTDPData_sequence[] = { { &hf_gsm_map_ms_t_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint }, { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultCallHandling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_T_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_T_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_ms_T_BcsmCamelTDPData); return offset; } static const ber_sequence_t gsm_map_ms_T_BcsmCamelTDPDataList_sequence_of[1] = { { &hf_gsm_map_ms_T_BcsmCamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmCamelTDPData }, }; static int dissect_gsm_map_ms_T_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_T_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_T_BcsmCamelTDPDataList); return offset; } static const ber_sequence_t gsm_map_ms_T_CSI_sequence[] = { { &hf_gsm_map_ms_t_BcsmCamelTDPDataList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmCamelTDPDataList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_T_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_T_CSI_sequence, hf_index, ett_gsm_map_ms_T_CSI); return offset; } static const ber_sequence_t gsm_map_ms_T_CauseValueCriteria_sequence_of[1] = { { &hf_gsm_map_ms_T_CauseValueCriteria_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CauseValue }, }; static int dissect_gsm_map_ms_T_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_T_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_ms_T_CauseValueCriteria); return offset; } static const ber_sequence_t gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria_sequence[] = { { &hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint }, { &hf_gsm_map_ms_basicServiceCriteria, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceCriteria }, { &hf_gsm_map_ms_t_CauseValueCriteria, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CauseValueCriteria }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria_sequence, hf_index, ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria); return offset; } static const ber_sequence_t gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = { { &hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria }, }; static int dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList); return offset; } static const ber_sequence_t gsm_map_ms_DP_AnalysedInfoCriterium_sequence[] = { { &hf_gsm_map_ms_dialledNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_DefaultCallHandling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_DP_AnalysedInfoCriterium(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_DP_AnalysedInfoCriterium_sequence, hf_index, ett_gsm_map_ms_DP_AnalysedInfoCriterium); return offset; } static const ber_sequence_t gsm_map_ms_DP_AnalysedInfoCriteriaList_sequence_of[1] = { { &hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_DP_AnalysedInfoCriterium }, }; static int dissect_gsm_map_ms_DP_AnalysedInfoCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_DP_AnalysedInfoCriteriaList_sequence_of, hf_index, ett_gsm_map_ms_DP_AnalysedInfoCriteriaList); return offset; } static const ber_sequence_t gsm_map_ms_D_CSI_sequence[] = { { &hf_gsm_map_ms_dp_AnalysedInfoCriteriaList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DP_AnalysedInfoCriteriaList }, { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_D_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_D_CSI_sequence, hf_index, ett_gsm_map_ms_D_CSI); return offset; } static const value_string gsm_map_ms_MT_SMS_TPDU_Type_vals[] = { { 0, "sms-DELIVER" }, { 1, "sms-SUBMIT-REPORT" }, { 2, "sms-STATUS-REPORT" }, { 0, NULL } }; static int dissect_gsm_map_ms_MT_SMS_TPDU_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_TPDU_TypeCriterion_sequence_of[1] = { { &hf_gsm_map_ms_TPDU_TypeCriterion_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MT_SMS_TPDU_Type }, }; static int dissect_gsm_map_ms_TPDU_TypeCriterion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_TPDU_TypeCriterion_sequence_of, hf_index, ett_gsm_map_ms_TPDU_TypeCriterion); return offset; } static const ber_sequence_t gsm_map_ms_MT_smsCAMELTDP_Criteria_sequence[] = { { &hf_gsm_map_ms_sms_TriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SMS_TriggerDetectionPoint }, { &hf_gsm_map_ms_tpdu_TypeCriterion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TPDU_TypeCriterion }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_MT_smsCAMELTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MT_smsCAMELTDP_Criteria_sequence, hf_index, ett_gsm_map_ms_MT_smsCAMELTDP_Criteria); return offset; } static const ber_sequence_t gsm_map_ms_MT_smsCAMELTDP_CriteriaList_sequence_of[1] = { { &hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_Criteria }, }; static int dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MT_smsCAMELTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList); return offset; } static const ber_sequence_t gsm_map_ms_VlrCamelSubscriptionInfo_sequence[] = { { &hf_gsm_map_ms_o_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_ss_CSI , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SS_CSI }, { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList }, { &hf_gsm_map_ms_tif_CSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_m_CSI , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_M_CSI }, { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI }, { &hf_gsm_map_ms_vt_CSI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI }, { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList }, { &hf_gsm_map_ms_d_CSI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI }, { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI }, { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_VlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_VlrCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_VlrCamelSubscriptionInfo); return offset; } static int dissect_gsm_map_ms_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 482 "gsmmap.cnf" guint8 pdp_type_org; tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; proto_tree_add_item(tree, hf_gsm_map_pdp_type_org, parameter_tvb, 0,1,FALSE); pdp_type_org = tvb_get_guint8(parameter_tvb,1); switch (pdp_type_org){ case 0: /* ETSI */ proto_tree_add_item(tree, hf_gsm_map_etsi_pdp_type_number, parameter_tvb, 0,1,FALSE); break; case 1: /* IETF */ proto_tree_add_item(tree, hf_gsm_map_ietf_pdp_type_number, parameter_tvb, 0,1,FALSE); break; default: break; } return offset; } static int dissect_gsm_map_ms_PDP_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 504 "gsmmap.cnf" tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; de_sm_qos(parameter_tvb, tree, 0, 3, NULL,0); return offset; } static int dissect_gsm_map_ms_APN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_ms_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 515 "gsmmap.cnf" tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; dissect_gsm_map_ext_qos_subscribed(tvb, actx->pinfo, tree, actx); return offset; } static int dissect_gsm_map_ms_ChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_ms_Ext2_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_Ext3_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_PDP_Context_sequence[] = { { &hf_gsm_map_ms_pdp_ContextId, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId }, { &hf_gsm_map_ms_pdp_Type , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Type }, { &hf_gsm_map_ms_pdp_Address, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address }, { &hf_gsm_map_ms_qos_Subscribed, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QoS_Subscribed }, { &hf_gsm_map_ms_vplmnAddressAllowed, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_apn , BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_ext_QoS_Subscribed, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed }, { &hf_gsm_map_ms_pdp_ChargingCharacteristics, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics }, { &hf_gsm_map_ms_ext2_QoS_Subscribed, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed }, { &hf_gsm_map_ms_ext3_QoS_Subscribed, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PDP_Context(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PDP_Context_sequence, hf_index, ett_gsm_map_ms_PDP_Context); return offset; } static const ber_sequence_t gsm_map_ms_GPRSDataList_sequence_of[1] = { { &hf_gsm_map_ms_GPRSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_PDP_Context }, }; static int dissect_gsm_map_ms_GPRSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GPRSDataList_sequence_of, hf_index, ett_gsm_map_ms_GPRSDataList); return offset; } static const ber_sequence_t gsm_map_ms_GPRSSubscriptionData_sequence[] = { { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_gprsDataList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSDataList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_GPRSSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GPRSSubscriptionData_sequence, hf_index, ett_gsm_map_ms_GPRSSubscriptionData); return offset; } static const value_string gsm_map_ms_NetworkAccessMode_vals[] = { { 0, "bothMSCAndSGSN" }, { 1, "onlyMSC" }, { 2, "onlySGSN" }, { 0, NULL } }; static int dissect_gsm_map_ms_NetworkAccessMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_LSAOnlyAccessIndicator_vals[] = { { 0, "accessOutsideLSAsAllowed" }, { 1, "accessOutsideLSAsRestricted" }, { 0, NULL } }; static int dissect_gsm_map_ms_LSAOnlyAccessIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_ms_LSAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_LSAAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_LSAData_sequence[] = { { &hf_gsm_map_ms_lsaIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity }, { &hf_gsm_map_ms_lsaAttributes, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAAttributes }, { &hf_gsm_map_ms_lsaActiveModeIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_LSAData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LSAData_sequence, hf_index, ett_gsm_map_ms_LSAData); return offset; } static const ber_sequence_t gsm_map_ms_LSADataList_sequence_of[1] = { { &hf_gsm_map_ms_LSADataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAData }, }; static int dissect_gsm_map_ms_LSADataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LSADataList_sequence_of, hf_index, ett_gsm_map_ms_LSADataList); return offset; } static const ber_sequence_t gsm_map_ms_LSAInformation_sequence[] = { { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_lsaOnlyAccessIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAOnlyAccessIndicator }, { &hf_gsm_map_ms_lsaDataList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSADataList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_LSAInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LSAInformation_sequence, hf_index, ett_gsm_map_ms_LSAInformation); return offset; } static const ber_sequence_t gsm_map_ms_GMLC_List_sequence_of[1] = { { &hf_gsm_map_ms_GMLC_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, }; static int dissect_gsm_map_ms_GMLC_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GMLC_List_sequence_of, hf_index, ett_gsm_map_ms_GMLC_List); return offset; } const value_string gsm_map_ms_NotificationToMSUser_vals[] = { { 0, "notifyLocationAllowed" }, { 1, "notifyAndVerify-LocationAllowedIfNoResponse" }, { 2, "notifyAndVerify-LocationNotAllowedIfNoResponse" }, { 3, "locationNotAllowed" }, { 0, NULL } }; int dissect_gsm_map_ms_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_GMLC_Restriction_vals[] = { { 0, "gmlc-List" }, { 1, "home-Country" }, { 0, NULL } }; static int dissect_gsm_map_ms_GMLC_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_ExternalClient_sequence[] = { { &hf_gsm_map_ms_clientIdentity, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSClientExternalID }, { &hf_gsm_map_ms_gmlc_Restriction, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_Restriction }, { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ExternalClient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ExternalClient_sequence, hf_index, ett_gsm_map_ms_ExternalClient); return offset; } static const ber_sequence_t gsm_map_ms_ExternalClientList_sequence_of[1] = { { &hf_gsm_map_ms_ExternalClientList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ExternalClient }, }; static int dissect_gsm_map_ms_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ExternalClientList_sequence_of, hf_index, ett_gsm_map_ms_ExternalClientList); return offset; } static const ber_sequence_t gsm_map_ms_PLMNClientList_sequence_of[1] = { { &hf_gsm_map_ms_PLMNClientList_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSClientInternalID }, }; static int dissect_gsm_map_ms_PLMNClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PLMNClientList_sequence_of, hf_index, ett_gsm_map_ms_PLMNClientList); return offset; } static const ber_sequence_t gsm_map_ms_Ext_ExternalClientList_sequence_of[1] = { { &hf_gsm_map_ms_Ext_ExternalClientList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ExternalClient }, }; static int dissect_gsm_map_ms_Ext_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_ExternalClientList_sequence_of, hf_index, ett_gsm_map_ms_Ext_ExternalClientList); return offset; } static const ber_sequence_t gsm_map_ms_ServiceType_sequence[] = { { &hf_gsm_map_ms_serviceTypeIdentity, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSServiceTypeID }, { &hf_gsm_map_ms_gmlc_Restriction, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_Restriction }, { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ServiceType_sequence, hf_index, ett_gsm_map_ms_ServiceType); return offset; } static const ber_sequence_t gsm_map_ms_ServiceTypeList_sequence_of[1] = { { &hf_gsm_map_ms_ServiceTypeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceType }, }; static int dissect_gsm_map_ms_ServiceTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ServiceTypeList_sequence_of, hf_index, ett_gsm_map_ms_ServiceTypeList); return offset; } static const ber_sequence_t gsm_map_ms_LCS_PrivacyClass_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser }, { &hf_gsm_map_ms_externalClientList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ExternalClientList }, { &hf_gsm_map_ms_plmnClientList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PLMNClientList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_ext_externalClientList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ExternalClientList }, { &hf_gsm_map_ms_serviceTypeList, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceTypeList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_LCS_PrivacyClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LCS_PrivacyClass_sequence, hf_index, ett_gsm_map_ms_LCS_PrivacyClass); return offset; } static const ber_sequence_t gsm_map_ms_LCS_PrivacyExceptionList_sequence_of[1] = { { &hf_gsm_map_ms_LCS_PrivacyExceptionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LCS_PrivacyClass }, }; static int dissect_gsm_map_ms_LCS_PrivacyExceptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LCS_PrivacyExceptionList_sequence_of, hf_index, ett_gsm_map_ms_LCS_PrivacyExceptionList); return offset; } static const ber_sequence_t gsm_map_ms_MOLR_Class_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_MOLR_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MOLR_Class_sequence, hf_index, ett_gsm_map_ms_MOLR_Class); return offset; } static const ber_sequence_t gsm_map_ms_MOLR_List_sequence_of[1] = { { &hf_gsm_map_ms_MOLR_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MOLR_Class }, }; static int dissect_gsm_map_ms_MOLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MOLR_List_sequence_of, hf_index, ett_gsm_map_ms_MOLR_List); return offset; } static const ber_sequence_t gsm_map_ms_LCSInformation_sequence[] = { { &hf_gsm_map_ms_gmlc_List, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_List }, { &hf_gsm_map_ms_lcs_PrivacyExceptionList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCS_PrivacyExceptionList }, { &hf_gsm_map_ms_molr_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MOLR_List }, { &hf_gsm_map_ms_add_lcs_PrivacyExceptionList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCS_PrivacyExceptionList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_LCSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LCSInformation_sequence, hf_index, ett_gsm_map_ms_LCSInformation); return offset; } static int dissect_gsm_map_ms_IST_AlertTimerValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_CS_AllocationRetentionPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_GPRS_TriggerDetectionPoint_vals[] = { { 1, "attach" }, { 2, "attachChangeOfPosition" }, { 11, "pdp-ContextEstablishment" }, { 12, "pdp-ContextEstablishmentAcknowledgement" }, { 14, "pdp-ContextChangeOfPosition" }, { 0, NULL } }; static int dissect_gsm_map_ms_GPRS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_DefaultGPRS_Handling_vals[] = { { 0, "continueTransaction" }, { 1, "releaseTransaction" }, { 0, NULL } }; static int dissect_gsm_map_ms_DefaultGPRS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_GPRS_CamelTDPData_sequence[] = { { &hf_gsm_map_ms_gprs_TriggerDetectionPoint, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_TriggerDetectionPoint }, { &hf_gsm_map_ms_serviceKey, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_defaultSessionHandling, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultGPRS_Handling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_GPRS_CamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GPRS_CamelTDPData_sequence, hf_index, ett_gsm_map_ms_GPRS_CamelTDPData); return offset; } static const ber_sequence_t gsm_map_ms_GPRS_CamelTDPDataList_sequence_of[1] = { { &hf_gsm_map_ms_GPRS_CamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GPRS_CamelTDPData }, }; static int dissect_gsm_map_ms_GPRS_CamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GPRS_CamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_GPRS_CamelTDPDataList); return offset; } static const ber_sequence_t gsm_map_ms_GPRS_CSI_sequence[] = { { &hf_gsm_map_ms_gprs_CamelTDPDataList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CamelTDPDataList }, { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_GPRS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GPRS_CSI_sequence, hf_index, ett_gsm_map_ms_GPRS_CSI); return offset; } static const ber_sequence_t gsm_map_ms_MG_CSI_sequence[] = { { &hf_gsm_map_ms_mobilityTriggers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MobilityTriggers }, { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_MG_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MG_CSI_sequence, hf_index, ett_gsm_map_ms_MG_CSI); return offset; } static const ber_sequence_t gsm_map_ms_SGSN_CAMEL_SubscriptionInfo_sequence[] = { { &hf_gsm_map_ms_gprs_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CSI }, { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI }, { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList }, { &hf_gsm_map_ms_mg_csi , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MG_CSI }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SGSN_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo); return offset; } static const asn_namedbit gsm_map_ms_AccessRestrictionData_bits[] = { { 0, &hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed, -1, -1, "utranNotAllowed", NULL }, { 1, &hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed, -1, -1, "geranNotAllowed", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_AccessRestrictionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AccessRestrictionData_bits, hf_index, ett_gsm_map_ms_AccessRestrictionData, NULL); return offset; } static const ber_sequence_t gsm_map_ms_InsertSubscriberDataArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_category , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category }, { &hf_gsm_map_ms_subscriberStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberStatus }, { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList }, { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList }, { &hf_gsm_map_ms_provisionedSS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_InfoList }, { &hf_gsm_map_ms_odb_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data }, { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList }, { &hf_gsm_map_ms_vbsSubscriptionData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VBSDataList }, { &hf_gsm_map_ms_vgcsSubscriptionData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VGCSDataList }, { &hf_gsm_map_ms_vlrCamelSubscriptionInfo, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VlrCamelSubscriptionInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_naea_PreferredCI, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_PreferredCI }, { &hf_gsm_map_ms_gprsSubscriptionData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSSubscriptionData }, { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_networkAccessMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NetworkAccessMode }, { &hf_gsm_map_ms_lsaInformation, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAInformation }, { &hf_gsm_map_ms_lmu_Indicator, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_lcsInformation, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCSInformation }, { &hf_gsm_map_ms_istAlertTimer, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue }, { &hf_gsm_map_ms_superChargerSupportedInHLR, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AgeIndicator }, { &hf_gsm_map_ms_mc_SS_Info, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_SS_Info }, { &hf_gsm_map_ms_cs_AllocationRetentionPriority, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CS_AllocationRetentionPriority }, { &hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo }, { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics }, { &hf_gsm_map_ms_accessRestrictionData, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AccessRestrictionData }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_InsertSubscriberDataArg_sequence, hf_index, ett_gsm_map_ms_InsertSubscriberDataArg); return offset; } static const ber_sequence_t gsm_map_ms_SubscriberData_sequence[] = { { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_category , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category }, { &hf_gsm_map_ms_subscriberStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberStatus }, { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList }, { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList }, { &hf_gsm_map_ms_provisionedSS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_InfoList }, { &hf_gsm_map_ms_odb_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data }, { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList }, { &hf_gsm_map_ms_vbsSubscriptionData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VBSDataList }, { &hf_gsm_map_ms_vgcsSubscriptionData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VGCSDataList }, { &hf_gsm_map_ms_vlrCamelSubscriptionInfo, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VlrCamelSubscriptionInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SubscriberData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SubscriberData_sequence, hf_index, ett_gsm_map_ms_SubscriberData); return offset; } static const value_string gsm_map_ms_RegionalSubscriptionResponse_vals[] = { { 0, "networkNode-AreaRestricted" }, { 1, "tooManyZoneCodes" }, { 2, "zoneCodesConflict" }, { 3, "regionalSubscNotSupported" }, { 0, NULL } }; static int dissect_gsm_map_ms_RegionalSubscriptionResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_InsertSubscriberDataRes_sequence[] = { { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList }, { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList }, { &hf_gsm_map_ms_ss_List , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List }, { &hf_gsm_map_ms_odb_GeneralData, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_GeneralData }, { &hf_gsm_map_ms_regionalSubscriptionResponse, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RegionalSubscriptionResponse }, { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_InsertSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_InsertSubscriberDataRes_sequence, hf_index, ett_gsm_map_ms_InsertSubscriberDataRes); return offset; } static const ber_sequence_t gsm_map_ms_BasicServiceList_sequence_of[1] = { { &hf_gsm_map_ms_BasicServiceList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode }, }; static int dissect_gsm_map_ms_BasicServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_BasicServiceList_sequence_of, hf_index, ett_gsm_map_ms_BasicServiceList); return offset; } static const ber_sequence_t gsm_map_ms_ContextIdList_sequence_of[1] = { { &hf_gsm_map_ms_ContextIdList_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId }, }; static int dissect_gsm_map_ms_ContextIdList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ContextIdList_sequence_of, hf_index, ett_gsm_map_ms_ContextIdList); return offset; } static const value_string gsm_map_ms_GPRSSubscriptionDataWithdraw_vals[] = { { 0, "allGPRSData" }, { 1, "contextIdList" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_GPRSSubscriptionDataWithdraw_choice[] = { { 0, &hf_gsm_map_ms_allGPRSData, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { 1, &hf_gsm_map_ms_contextIdList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextIdList }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_GPRSSubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_GPRSSubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_ms_GPRSSubscriptionDataWithdraw, NULL); return offset; } static const ber_sequence_t gsm_map_ms_LSAIdentityList_sequence_of[1] = { { &hf_gsm_map_ms_LSAIdentityList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAIdentity }, }; static int dissect_gsm_map_ms_LSAIdentityList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LSAIdentityList_sequence_of, hf_index, ett_gsm_map_ms_LSAIdentityList); return offset; } static const value_string gsm_map_ms_LSAInformationWithdraw_vals[] = { { 0, "allLSAData" }, { 1, "lsaIdentityList" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_LSAInformationWithdraw_choice[] = { { 0, &hf_gsm_map_ms_allLSAData, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { 1, &hf_gsm_map_ms_lsaIdentityList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAIdentityList }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_LSAInformationWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_LSAInformationWithdraw_choice, hf_index, ett_gsm_map_ms_LSAInformationWithdraw, NULL); return offset; } static const asn_namedbit gsm_map_ms_SpecificCSI_Withdraw_bits[] = { { 0, &hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi, -1, -1, "o-csi", NULL }, { 1, &hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi, -1, -1, "ss-csi", NULL }, { 2, &hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi, -1, -1, "tif-csi", NULL }, { 3, &hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi, -1, -1, "d-csi", NULL }, { 4, &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi, -1, -1, "vt-csi", NULL }, { 5, &hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi, -1, -1, "mo-sms-csi", NULL }, { 6, &hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi, -1, -1, "m-csi", NULL }, { 7, &hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi, -1, -1, "gprs-csi", NULL }, { 8, &hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi, -1, -1, "t-csi", NULL }, { 9, &hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi, -1, -1, "mt-sms-csi", NULL }, { 10, &hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi, -1, -1, "mg-csi", NULL }, { 11, &hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI, -1, -1, "o-IM-CSI", NULL }, { 12, &hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI, -1, -1, "d-IM-CSI", NULL }, { 13, &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI, -1, -1, "vt-IM-CSI", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ms_SpecificCSI_Withdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SpecificCSI_Withdraw_bits, hf_index, ett_gsm_map_ms_SpecificCSI_Withdraw, NULL); return offset; } static const ber_sequence_t gsm_map_ms_DeleteSubscriberDataArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_basicServiceList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceList }, { &hf_gsm_map_ms_ss_List , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List }, { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_regionalSubscriptionIdentifier, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCode }, { &hf_gsm_map_ms_vbsGroupIndication, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_vgcsGroupIndication, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_camelSubscriptionInfoWithdraw, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_gprsSubscriptionDataWithdraw, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_GPRSSubscriptionDataWithdraw }, { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_lsaInformationWithdraw, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_LSAInformationWithdraw }, { &hf_gsm_map_ms_gmlc_ListWithdraw, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_istInformationWithdraw, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_specificCSI_Withdraw, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificCSI_Withdraw }, { &hf_gsm_map_ms_chargingCharacteristicsWithdraw, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_DeleteSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_DeleteSubscriberDataArg_sequence, hf_index, ett_gsm_map_ms_DeleteSubscriberDataArg); return offset; } static const ber_sequence_t gsm_map_ms_DeleteSubscriberDataRes_sequence[] = { { &hf_gsm_map_ms_regionalSubscriptionResponse, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RegionalSubscriptionResponse }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_DeleteSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_DeleteSubscriberDataRes_sequence, hf_index, ett_gsm_map_ms_DeleteSubscriberDataRes); return offset; } static const asn_namedbit gsm_map_ms_OfferedCamel4Functionalities_bits[] = { { 0, &hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt, -1, -1, "initiateCallAttempt", NULL }, { 1, &hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg, -1, -1, "splitLeg", NULL }, { 2, &hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg, -1, -1, "moveLeg", NULL }, { 3, &hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg, -1, -1, "disconnectLeg", NULL }, { 4, &hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased, -1, -1, "entityReleased", NULL }, { 5, &hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument, -1, -1, "dfc-WithArgument", NULL }, { 6, &hf_gsm_map_ms_OfferedCamel4Functionalities_playTone, -1, -1, "playTone", NULL }, { 7, &hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall, -1, -1, "dtmf-MidCall", NULL }, { 8, &hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator, -1, -1, "chargingIndicator", NULL }, { 9, &hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP, -1, -1, "alertingDP", NULL }, { 10, &hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting, -1, -1, "locationAtAlerting", NULL }, { 11, &hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP, -1, -1, "changeOfPositionDP", NULL }, { 12, &hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions, -1, -1, "or-Interactions", NULL }, { 13, &hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements, -1, -1, "warningToneEnhancements", NULL }, { 14, &hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements, -1, -1, "cf-Enhancements", NULL }, { 15, &hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices, -1, -1, "subscribedEnhancedDialledServices", NULL }, { 16, &hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices, -1, -1, "servingNetworkEnhancedDialledServices", NULL }, { 17, &hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP, -1, -1, "criteriaForChangeOfPositionDP", NULL }, { 18, &hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP, -1, -1, "serviceChangeDP", NULL }, { 19, &hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation, -1, -1, "collectInformation", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; int dissect_gsm_map_ms_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_OfferedCamel4Functionalities_bits, hf_index, ett_gsm_map_ms_OfferedCamel4Functionalities, NULL); return offset; } static const ber_sequence_t gsm_map_ms_SendRoutingInfoForGprsArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_ggsn_Number, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendRoutingInfoForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendRoutingInfoForGprsArg_sequence, hf_index, ett_gsm_map_ms_SendRoutingInfoForGprsArg); return offset; } static const ber_sequence_t gsm_map_ms_SendRoutingInfoForGprsRes_sequence[] = { { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_mobileNotReachableReason, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SendRoutingInfoForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SendRoutingInfoForGprsRes_sequence, hf_index, ett_gsm_map_ms_SendRoutingInfoForGprsRes); return offset; } static const ber_sequence_t gsm_map_ms_FailureReportArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_ggsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_FailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_FailureReportArg_sequence, hf_index, ett_gsm_map_ms_FailureReportArg); return offset; } static const ber_sequence_t gsm_map_ms_FailureReportRes_sequence[] = { { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_FailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_FailureReportRes_sequence, hf_index, ett_gsm_map_ms_FailureReportRes); return offset; } static const ber_sequence_t gsm_map_ms_NoteMsPresentForGprsArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_NoteMsPresentForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_NoteMsPresentForGprsArg_sequence, hf_index, ett_gsm_map_ms_NoteMsPresentForGprsArg); return offset; } static const ber_sequence_t gsm_map_ms_NoteMsPresentForGprsRes_sequence[] = { { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_NoteMsPresentForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_NoteMsPresentForGprsRes_sequence, hf_index, ett_gsm_map_ms_NoteMsPresentForGprsRes); return offset; } static const ber_sequence_t gsm_map_ms_ResetArg_sequence[] = { { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_hlr_List , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_List }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ResetArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ResetArg_sequence, hf_index, ett_gsm_map_ms_ResetArg); return offset; } static const ber_sequence_t gsm_map_ms_RestoreDataArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_lmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_vlr_Capability, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VLR_Capability }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_RestoreDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RestoreDataArg_sequence, hf_index, ett_gsm_map_ms_RestoreDataArg); return offset; } static const ber_sequence_t gsm_map_ms_RestoreDataRes_sequence[] = { { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_msNotReachable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_RestoreDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RestoreDataRes_sequence, hf_index, ett_gsm_map_ms_RestoreDataRes); return offset; } static const value_string gsm_map_ms_DomainType_vals[] = { { 0, "cs-Domain" }, { 1, "ps-Domain" }, { 0, NULL } }; static int dissect_gsm_map_ms_DomainType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_RequestedInfo_sequence[] = { { &hf_gsm_map_ms_locationInformation_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_subscriberState_01, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_currentLocation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_requestedDomain, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DomainType }, { &hf_gsm_map_ms_imei_01 , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_ms_classmark, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_mnpRequestedInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RequestedInfo_sequence, hf_index, ett_gsm_map_ms_RequestedInfo); return offset; } static const ber_sequence_t gsm_map_ms_ProvideSubscriberInfoArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_lmsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_ms_requestedInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ProvideSubscriberInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ProvideSubscriberInfoArg_sequence, hf_index, ett_gsm_map_ms_ProvideSubscriberInfoArg); return offset; } int dissect_gsm_map_ms_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_LocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_GeodeticInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_LocationInformation_sequence[] = { { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_AgeOfLocationInformation }, { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation }, { &hf_gsm_map_ms_vlr_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_locationNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationNumber }, { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_selectedLSA_Id, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity }, { &hf_gsm_map_ms_msc_Number, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation }, { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_sai_Present, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ms_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LocationInformation_sequence, hf_index, ett_gsm_map_ms_LocationInformation); return offset; } static const value_string gsm_map_ms_NotReachableReason_vals[] = { { 0, "msPurged" }, { 1, "imsiDetached" }, { 2, "restrictedArea" }, { 3, "notRegistered" }, { 0, NULL } }; static int dissect_gsm_map_ms_NotReachableReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } const value_string gsm_map_ms_SubscriberState_vals[] = { { 0, "assumedIdle" }, { 1, "camelBusy" }, { 2, "netDetNotReachable" }, { 3, "notProvidedFromVLR" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_SubscriberState_choice[] = { { 0, &hf_gsm_map_ms_assumedIdle, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 1, &hf_gsm_map_ms_camelBusy, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 2, &hf_gsm_map_ms_netDetNotReachable, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NotReachableReason }, { 3, &hf_gsm_map_ms_notProvidedFromVLR, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 0, NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ms_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_SubscriberState_choice, hf_index, ett_gsm_map_ms_SubscriberState, NULL); return offset; } int dissect_gsm_map_ms_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 549 "gsmmap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RAIdentity); de_gmm_rai(parameter_tvb, subtree, 0, 3, NULL,0); return offset; } static const ber_sequence_t gsm_map_ms_LocationInformationGPRS_sequence[] = { { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI }, { &hf_gsm_map_ms_routeingAreaIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAIdentity }, { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation }, { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_selectedLSAIdentity, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_sai_Present, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation }, { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_LocationInformationGPRS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_LocationInformationGPRS_sequence, hf_index, ett_gsm_map_ms_LocationInformationGPRS); return offset; } static int dissect_gsm_map_ms_NSAPI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_TransactionId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_TEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_ms_GPRSChargingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_PDP_ContextInfo_sequence[] = { { &hf_gsm_map_ms_pdp_ContextIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId }, { &hf_gsm_map_ms_pdp_ContextActive, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_pdp_Type , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Type }, { &hf_gsm_map_ms_pdp_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address }, { &hf_gsm_map_ms_apn_Subscribed, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN }, { &hf_gsm_map_ms_apn_InUse, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN }, { &hf_gsm_map_ms_nsapi , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NSAPI }, { &hf_gsm_map_ms_transactionId, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TransactionId }, { &hf_gsm_map_ms_teid_ForGnAndGp, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TEID }, { &hf_gsm_map_ms_teid_ForIu, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TEID }, { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_qos_Subscribed_01, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed }, { &hf_gsm_map_ms_qos_Requested, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed }, { &hf_gsm_map_ms_qos_Negotiated, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed }, { &hf_gsm_map_ms_chargingId, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSChargingID }, { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics }, { &hf_gsm_map_ms_rnc_Address, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_qos2_Subscribed, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed }, { &hf_gsm_map_ms_qos2_Requested, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed }, { &hf_gsm_map_ms_qos2_Negotiated, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed }, { &hf_gsm_map_ms_qos3_Subscribed, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed }, { &hf_gsm_map_ms_qos3_Requested, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed }, { &hf_gsm_map_ms_qos3_Negotiated, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PDP_ContextInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PDP_ContextInfo_sequence, hf_index, ett_gsm_map_ms_PDP_ContextInfo); return offset; } static const ber_sequence_t gsm_map_ms_PDP_ContextInfoList_sequence_of[1] = { { &hf_gsm_map_ms_PDP_ContextInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_PDP_ContextInfo }, }; static int dissect_gsm_map_ms_PDP_ContextInfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_PDP_ContextInfoList_sequence_of, hf_index, ett_gsm_map_ms_PDP_ContextInfoList); return offset; } static const value_string gsm_map_ms_PS_SubscriberState_vals[] = { { 0, "notProvidedFromSGSN" }, { 1, "ps-Detached" }, { 2, "ps-AttachedNotReachableForPaging" }, { 3, "ps-AttachedReachableForPaging" }, { 4, "ps-PDP-ActiveNotReachableForPaging" }, { 5, "ps-PDP-ActiveReachableForPaging" }, { 6, "netDetNotReachable" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_PS_SubscriberState_choice[] = { { 0, &hf_gsm_map_ms_notProvidedFromSGSN, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 1, &hf_gsm_map_ms_ps_Detached, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 2, &hf_gsm_map_ms_ps_AttachedNotReachableForPaging, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 3, &hf_gsm_map_ms_ps_AttachedReachableForPaging, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { 4, &hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_ContextInfoList }, { 5, &hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_ContextInfoList }, { 6, &hf_gsm_map_ms_netDetNotReachable, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NotReachableReason }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_PS_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_PS_SubscriberState_choice, hf_index, ett_gsm_map_ms_PS_SubscriberState, NULL); return offset; } int dissect_gsm_map_ms_MS_Classmark2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_MSNetworkCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ms_MSRadioAccessCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_GPRSMSClass_sequence[] = { { &hf_gsm_map_ms_mSNetworkCapability, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSNetworkCapability }, { &hf_gsm_map_ms_mSRadioAccessCapability, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSRadioAccessCapability }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ms_GPRSMSClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_GPRSMSClass_sequence, hf_index, ett_gsm_map_ms_GPRSMSClass); return offset; } static int dissect_gsm_map_ms_RouteingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const value_string gsm_map_ms_NumberPortabilityStatus_vals[] = { { 0, "notKnownToBePorted" }, { 1, "ownNumberPortedOut" }, { 2, "foreignNumberPortedToForeignNetwork" }, { 4, "ownNumberNotPortedOut" }, { 5, "foreignNumberPortedIn" }, { 0, NULL } }; static int dissect_gsm_map_ms_NumberPortabilityStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_MNPInfoRes_sequence[] = { { &hf_gsm_map_ms_routeingNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RouteingNumber }, { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_numberPortabilityStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberPortabilityStatus }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_MNPInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MNPInfoRes_sequence, hf_index, ett_gsm_map_ms_MNPInfoRes); return offset; } static const ber_sequence_t gsm_map_ms_SubscriberInfo_sequence[] = { { &hf_gsm_map_ms_locationInformation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation }, { &hf_gsm_map_ms_subscriberState, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SubscriberState }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_locationInformationGPRS, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationGPRS }, { &hf_gsm_map_ms_ps_SubscriberState, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_PS_SubscriberState }, { &hf_gsm_map_ms_imei , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, { &hf_gsm_map_ms_ms_Classmark2, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MS_Classmark2 }, { &hf_gsm_map_ms_gprs_MS_Class, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSMSClass }, { &hf_gsm_map_ms_mnpInfoRes, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MNPInfoRes }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_SubscriberInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_SubscriberInfo_sequence, hf_index, ett_gsm_map_ms_SubscriberInfo); return offset; } static const ber_sequence_t gsm_map_ms_ProvideSubscriberInfoRes_sequence[] = { { &hf_gsm_map_ms_subscriberInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SubscriberInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ProvideSubscriberInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ProvideSubscriberInfoRes_sequence, hf_index, ett_gsm_map_ms_ProvideSubscriberInfoRes); return offset; } static const ber_sequence_t gsm_map_ms_AnyTimeInterrogationArg_sequence[] = { { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity }, { &hf_gsm_map_ms_requestedInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedInfo }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AnyTimeInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AnyTimeInterrogationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeInterrogationArg); return offset; } static const ber_sequence_t gsm_map_ms_AnyTimeInterrogationRes_sequence[] = { { &hf_gsm_map_ms_subscriberInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SubscriberInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AnyTimeInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AnyTimeInterrogationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeInterrogationRes); return offset; } static const value_string gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals[] = { { 0, "o-CSI" }, { 1, "t-CSI" }, { 2, "vt-CSI" }, { 3, "tif-CSI" }, { 4, "gprs-CSI" }, { 5, "mo-sms-CSI" }, { 6, "ss-CSI" }, { 7, "m-CSI" }, { 8, "d-csi" }, { 0, NULL } }; static int dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo_vals[] = { { 0, "mt-sms-CSI" }, { 1, "mg-csi" }, { 2, "o-IM-CSI" }, { 3, "d-IM-CSI" }, { 4, "vt-IM-CSI" }, { 0, NULL } }; static int dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_RequestedSubscriptionInfo_sequence[] = { { &hf_gsm_map_ms_requestedSS_Info, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_ForBS_Code }, { &hf_gsm_map_ms_odb , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo }, { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo }, { &hf_gsm_map_ms_msisdn_BS_List_01, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_RequestedSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_RequestedSubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_RequestedSubscriptionInfo); return offset; } static const ber_sequence_t gsm_map_ms_AnyTimeSubscriptionInterrogationArg_sequence[] = { { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity }, { &hf_gsm_map_ms_requestedSubscriptionInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedSubscriptionInfo }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AnyTimeSubscriptionInterrogationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg); return offset; } static const ber_sequence_t gsm_map_ms_CallForwardingData_sequence[] = { { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeatureList }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CallForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CallForwardingData_sequence, hf_index, ett_gsm_map_ms_CallForwardingData); return offset; } static int dissect_gsm_map_ms_WrongPasswordAttemptsCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_CallBarringData_sequence[] = { { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList }, { &hf_gsm_map_ms_password , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_Password }, { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CallBarringData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CallBarringData_sequence, hf_index, ett_gsm_map_ms_CallBarringData); return offset; } static const ber_sequence_t gsm_map_ms_ODB_Info_sequence[] = { { &hf_gsm_map_ms_odb_Data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_Data }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ODB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ODB_Info_sequence, hf_index, ett_gsm_map_ms_ODB_Info); return offset; } static const ber_sequence_t gsm_map_ms_CAMEL_SubscriptionInfo_sequence[] = { { &hf_gsm_map_ms_o_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI }, { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList }, { &hf_gsm_map_ms_d_CSI , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI }, { &hf_gsm_map_ms_t_CSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI }, { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList }, { &hf_gsm_map_ms_vt_CSI , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI }, { &hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList }, { &hf_gsm_map_ms_tif_CSI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_tif_CSI_NotificationToCSE, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_gprs_CSI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CSI }, { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI }, { &hf_gsm_map_ms_ss_CSI , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SS_CSI }, { &hf_gsm_map_ms_m_CSI , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_M_CSI }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_specificCSIDeletedList, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificCSI_Withdraw }, { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI }, { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList }, { &hf_gsm_map_ms_mg_csi , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MG_CSI }, { &hf_gsm_map_ms_o_IM_CSI , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI }, { &hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList }, { &hf_gsm_map_ms_d_IM_CSI , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI }, { &hf_gsm_map_ms_vt_IM_CSI, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI }, { &hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_CAMEL_SubscriptionInfo); return offset; } static const ber_sequence_t gsm_map_ms_MSISDN_BS_sequence[] = { { &hf_gsm_map_ms_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_basicServiceList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceList }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_MSISDN_BS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MSISDN_BS_sequence, hf_index, ett_gsm_map_ms_MSISDN_BS); return offset; } static const ber_sequence_t gsm_map_ms_MSISDN_BS_List_sequence_of[1] = { { &hf_gsm_map_ms_MSISDN_BS_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MSISDN_BS }, }; static int dissect_gsm_map_ms_MSISDN_BS_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_MSISDN_BS_List_sequence_of, hf_index, ett_gsm_map_ms_MSISDN_BS_List); return offset; } static const ber_sequence_t gsm_map_ms_AnyTimeSubscriptionInterrogationRes_sequence[] = { { &hf_gsm_map_ms_callForwardingData, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallForwardingData }, { &hf_gsm_map_ms_callBarringData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallBarringData }, { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info }, { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo }, { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_offeredCamel4CSIsInVLR, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { &hf_gsm_map_ms_offeredCamel4CSIsInSGSN, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { &hf_gsm_map_ms_msisdn_BS_List, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSISDN_BS_List }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AnyTimeSubscriptionInterrogationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes); return offset; } static const value_string gsm_map_ms_ModificationInstruction_vals[] = { { 0, "deactivate" }, { 1, "activate" }, { 0, NULL } }; static int dissect_gsm_map_ms_ModificationInstruction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CF_Info_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_ms_forwardedToNumber_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_ms_forwardedToSubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { &hf_gsm_map_ms_noReplyConditionTime, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_NoRepCondTime }, { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ModificationRequestFor_CF_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ModificationRequestFor_CF_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CF_Info); return offset; } static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CB_Info_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status }, { &hf_gsm_map_ms_password , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_Password }, { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter }, { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ModificationRequestFor_CB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ModificationRequestFor_CB_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CB_Info); return offset; } static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CSI_sequence[] = { { &hf_gsm_map_ms_requestedCamel_SubscriptionInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo }, { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction }, { &hf_gsm_map_ms_modifyCSI_State, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ModificationRequestFor_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ModificationRequestFor_CSI_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CSI); return offset; } static const ber_sequence_t gsm_map_ms_ModificationRequestFor_ODB_data_sequence[] = { { &hf_gsm_map_ms_odb_data , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data }, { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ModificationRequestFor_ODB_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ModificationRequestFor_ODB_data_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_ODB_data); return offset; } static const ber_sequence_t gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data_sequence[] = { { &hf_gsm_map_ms_modifyRegistrationStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data); return offset; } static const ber_sequence_t gsm_map_ms_AnyTimeModificationArg_sequence[] = { { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity }, { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_modificationRequestFor_CF_Info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CF_Info }, { &hf_gsm_map_ms_modificationRequestFor_CB_Info, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CB_Info }, { &hf_gsm_map_ms_modificationRequestFor_CSI, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CSI }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_modificationRequestFor_ODB_data, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_ODB_data }, { &hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AnyTimeModificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AnyTimeModificationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeModificationArg); return offset; } static const ber_sequence_t gsm_map_ms_Ext_ForwardingInfoFor_CSE_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwFeatureList }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_ForwardingInfoFor_CSE_sequence, hf_index, ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE); return offset; } static const ber_sequence_t gsm_map_ms_Ext_CallBarringInfoFor_CSE_sequence[] = { { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList }, { &hf_gsm_map_ms_password , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_Password }, { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter }, { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_Ext_CallBarringInfoFor_CSE_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE); return offset; } static const value_string gsm_map_ms_Ext_SS_InfoFor_CSE_vals[] = { { 0, "forwardingInfoFor-CSE" }, { 1, "callBarringInfoFor-CSE" }, { 0, NULL } }; static const ber_choice_t gsm_map_ms_Ext_SS_InfoFor_CSE_choice[] = { { 0, &hf_gsm_map_ms_forwardingInfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE }, { 1, &hf_gsm_map_ms_callBarringInfoFor_CSE, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_Ext_SS_InfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ms_Ext_SS_InfoFor_CSE_choice, hf_index, ett_gsm_map_ms_Ext_SS_InfoFor_CSE, NULL); return offset; } static const ber_sequence_t gsm_map_ms_AnyTimeModificationRes_sequence[] = { { &hf_gsm_map_ms_ss_InfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_Ext_SS_InfoFor_CSE }, { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_AnyTimeModificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_AnyTimeModificationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeModificationRes); return offset; } static const ber_sequence_t gsm_map_ms_NoteSubscriberDataModifiedArg_sequence[] = { { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_forwardingInfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE }, { &hf_gsm_map_ms_callBarringInfoFor_CSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE }, { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info }, { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo }, { &hf_gsm_map_ms_allInformationSent, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_NoteSubscriberDataModifiedArg_sequence, hf_index, ett_gsm_map_ms_NoteSubscriberDataModifiedArg); return offset; } static const ber_sequence_t gsm_map_ms_NoteSubscriberDataModifiedRes_sequence[] = { { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_NoteSubscriberDataModifiedRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_NoteSubscriberDataModifiedRes_sequence, hf_index, ett_gsm_map_ms_NoteSubscriberDataModifiedRes); return offset; } static const ber_sequence_t gsm_map_ms_NoteMM_EventArg_sequence[] = { { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey }, { &hf_gsm_map_ms_eventMet , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MM_Code }, { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ms_locationInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation }, { &hf_gsm_map_ms_supportedCAMELPhases, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ms_locationInformationGPRS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationGPRS }, { &hf_gsm_map_ms_offeredCamel4Functionalities, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4Functionalities }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_NoteMM_EventArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_NoteMM_EventArg_sequence, hf_index, ett_gsm_map_ms_NoteMM_EventArg); return offset; } static const ber_sequence_t gsm_map_ms_NoteMM_EventRes_sequence[] = { { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ms_NoteMM_EventRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ms_NoteMM_EventRes_sequence, hf_index, ett_gsm_map_ms_NoteMM_EventRes); return offset; } /* --- Module MAP-CH-DataTypes --- --- --- */ static int dissect_gsm_map_ch_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const ber_sequence_t gsm_map_ch_CUG_CheckInfo_sequence[] = { { &hf_gsm_map_ch_cug_Interlock, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Interlock }, { &hf_gsm_map_ch_cug_OutgoingAccess, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_CUG_CheckInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_CUG_CheckInfo_sequence, hf_index, ett_gsm_map_ch_CUG_CheckInfo); return offset; } static int dissect_gsm_map_ch_NumberOfForwarding(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ch_InterrogationType_vals[] = { { 0, "basicCall" }, { 1, "forwarding" }, { 0, NULL } }; static int dissect_gsm_map_ch_InterrogationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ch_OR_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_ch_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ch_ForwardingReason_vals[] = { { 0, "notReachable" }, { 1, "busy" }, { 2, "noReply" }, { 0, NULL } }; static int dissect_gsm_map_ch_ForwardingReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_CamelInfo_sequence[] = { { &hf_gsm_map_ch_supportedCamelPhases, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ch_suppress_T_CSI, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_offeredCamel4CSIs, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_CamelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_CamelInfo_sequence, hf_index, ett_gsm_map_ch_CamelInfo); return offset; } int dissect_gsm_map_ch_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static int dissect_gsm_map_ch_SupportedCCBS_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ch_CallDiversionTreatmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const asn_namedbit gsm_map_ch_SuppressMTSS_bits[] = { { 0, &hf_gsm_map_ch_SuppressMTSS_suppressCUG, -1, -1, "suppressCUG", NULL }, { 1, &hf_gsm_map_ch_SuppressMTSS_suppressCCBS, -1, -1, "suppressCCBS", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ch_SuppressMTSS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_SuppressMTSS_bits, hf_index, ett_gsm_map_ch_SuppressMTSS, NULL); return offset; } static const ber_sequence_t gsm_map_ch_SendRoutingInfoArg_sequence[] = { { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo }, { &hf_gsm_map_ch_numberOfForwarding, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NumberOfForwarding }, { &hf_gsm_map_ch_interrogationType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_InterrogationType }, { &hf_gsm_map_ch_or_Interrogation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_or_Capability, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_OR_Phase }, { &hf_gsm_map_ch_gmsc_OrGsmSCF_Address, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber }, { &hf_gsm_map_ch_forwardingReason, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ForwardingReason }, { &hf_gsm_map_ch_basicServiceGroup, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ch_networkSignalInfo, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_map_ch_camelInfo, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CamelInfo }, { &hf_gsm_map_ch_suppressionOfAnnouncement, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressionOfAnnouncement }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern }, { &hf_gsm_map_ch_ccbs_Call, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_supportedCCBS_Phase, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SupportedCCBS_Phase }, { &hf_gsm_map_ch_additionalSignalInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_ExternalSignalInfo }, { &hf_gsm_map_ch_istSupportIndicator, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_SupportIndicator }, { &hf_gsm_map_ch_pre_pagingSupported, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_callDiversionTreatmentIndicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallDiversionTreatmentIndicator }, { &hf_gsm_map_ch_longFTN_Supported, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_suppress_VT_CSI, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_suppressIncomingCallBarring, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_gsmSCF_InitiatedCall, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_basicServiceGroup2, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ch_networkSignalInfo2, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_map_ch_suppressMTSS, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressMTSS }, { &hf_gsm_map_ch_mtRoamingRetrySupported, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_SendRoutingInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_SendRoutingInfoArg_sequence, hf_index, ett_gsm_map_ch_SendRoutingInfoArg); return offset; } static const ber_sequence_t gsm_map_ch_ForwardingData_sequence[] = { { &hf_gsm_map_ch_forwardedToNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_forwardedToSubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { &hf_gsm_map_ch_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingOptions }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_longForwardedToNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_ForwardingData_sequence, hf_index, ett_gsm_map_ch_ForwardingData); return offset; } static const value_string gsm_map_ch_RoutingInfo_vals[] = { { 0, "roamingNumber" }, { 1, "forwardingData" }, { 0, NULL } }; static const ber_choice_t gsm_map_ch_RoutingInfo_choice[] = { { 0, &hf_gsm_map_ch_roamingNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { 1, &hf_gsm_map_ch_forwardingData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_ForwardingData }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_RoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ch_RoutingInfo_choice, hf_index, ett_gsm_map_ch_RoutingInfo, NULL); return offset; } static const ber_sequence_t gsm_map_ch_GmscCamelSubscriptionInfo_sequence[] = { { &hf_gsm_map_ch_t_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI }, { &hf_gsm_map_ch_o_CSI , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList }, { &hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList }, { &hf_gsm_map_ch_d_csi , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_GmscCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_GmscCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_ch_GmscCamelSubscriptionInfo); return offset; } static const ber_sequence_t gsm_map_ch_CamelRoutingInfo_sequence[] = { { &hf_gsm_map_ch_forwardingData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_ForwardingData }, { &hf_gsm_map_ch_gmscCamelSubscriptionInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_GmscCamelSubscriptionInfo }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_CamelRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_CamelRoutingInfo_sequence, hf_index, ett_gsm_map_ch_CamelRoutingInfo); return offset; } static const value_string gsm_map_ch_ExtendedRoutingInfo_vals[] = { { 0, "routingInfo" }, { 1, "camelRoutingInfo" }, { 0, NULL } }; static const ber_choice_t gsm_map_ch_ExtendedRoutingInfo_choice[] = { { 0, &hf_gsm_map_ch_routingInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_RoutingInfo }, { 1, &hf_gsm_map_ch_camelRoutingInfo, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CamelRoutingInfo }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ExtendedRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_ch_ExtendedRoutingInfo_choice, hf_index, ett_gsm_map_ch_ExtendedRoutingInfo, NULL); return offset; } static const ber_sequence_t gsm_map_ch_CCBS_Indicators_sequence[] = { { &hf_gsm_map_ch_ccbs_Possible, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_keepCCBS_CallIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_CCBS_Indicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_CCBS_Indicators_sequence, hf_index, ett_gsm_map_ch_CCBS_Indicators); return offset; } static const asn_namedbit gsm_map_ch_AllowedServices_bits[] = { { 0, &hf_gsm_map_ch_AllowedServices_firstServiceAllowed, -1, -1, "firstServiceAllowed", NULL }, { 1, &hf_gsm_map_ch_AllowedServices_secondServiceAllowed, -1, -1, "secondServiceAllowed", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int dissect_gsm_map_ch_AllowedServices(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_AllowedServices_bits, hf_index, ett_gsm_map_ch_AllowedServices, NULL); return offset; } static const value_string gsm_map_ch_UnavailabilityCause_vals[] = { { 1, "bearerServiceNotProvisioned" }, { 2, "teleserviceNotProvisioned" }, { 3, "absentSubscriber" }, { 4, "busySubscriber" }, { 5, "callBarred" }, { 6, "cug-Reject" }, { 0, NULL } }; static int dissect_gsm_map_ch_UnavailabilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_SendRoutingInfoRes_U_sequence[] = { { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_extendedRoutingInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ch_ExtendedRoutingInfo }, { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo }, { &hf_gsm_map_ch_cugSubscriptionFlag, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_subscriberInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberInfo }, { &hf_gsm_map_ch_ss_List , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List }, { &hf_gsm_map_ch_basicService, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ch_forwardingInterrogationRequired, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_vmsc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_naea_PreferredCI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_PreferredCI }, { &hf_gsm_map_ch_ccbs_Indicators, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_Indicators }, { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_numberPortabilityStatus, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberPortabilityStatus }, { &hf_gsm_map_ch_istAlertTimer, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue }, { &hf_gsm_map_ch_supportedCamelPhasesInVMSC, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ch_offeredCamel4CSIsInVMSC, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { &hf_gsm_map_ch_routingInfo2, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ch_RoutingInfo }, { &hf_gsm_map_ch_ss_List2 , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List }, { &hf_gsm_map_ch_basicService2, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ch_allowedServices, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_AllowedServices }, { &hf_gsm_map_ch_unavailabilityCause, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UnavailabilityCause }, { &hf_gsm_map_ch_releaseResourcesSupported, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_gsm_BearerCapability, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_SendRoutingInfoRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_SendRoutingInfoRes_U_sequence, hf_index, ett_gsm_map_ch_SendRoutingInfoRes_U); return offset; } static int dissect_gsm_map_ch_SendRoutingInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ch_SendRoutingInfoRes_U); return offset; } static const ber_sequence_t gsm_map_ch_ProvideRoamingNumberArg_sequence[] = { { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_msc_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_lmsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_ch_gsm_BearerCapability, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_map_ch_networkSignalInfo, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_map_ch_suppressionOfAnnouncement, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressionOfAnnouncement }, { &hf_gsm_map_ch_gmsc_Address, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber }, { &hf_gsm_map_ch_or_Interrogation, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern }, { &hf_gsm_map_ch_ccbs_Call, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases }, { &hf_gsm_map_ch_additionalSignalInfo, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_ExternalSignalInfo }, { &hf_gsm_map_ch_orNotSupportedInGMSC, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_pre_pagingSupported, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_longFTN_Supported, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_suppress_VT_CSI, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs }, { &hf_gsm_map_ch_mtRoamingRetrySupported, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ProvideRoamingNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_ProvideRoamingNumberArg_sequence, hf_index, ett_gsm_map_ch_ProvideRoamingNumberArg); return offset; } static const ber_sequence_t gsm_map_ch_ProvideRoamingNumberRes_sequence[] = { { &hf_gsm_map_ch_roamingNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_releaseResourcesSupported, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ProvideRoamingNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_ProvideRoamingNumberRes_sequence, hf_index, ett_gsm_map_ch_ProvideRoamingNumberRes); return offset; } static int dissect_gsm_map_ch_UUIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_ch_UUI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_UU_Data_sequence[] = { { &hf_gsm_map_ch_uuIndicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UUIndicator }, { &hf_gsm_map_ch_uui , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UUI }, { &hf_gsm_map_ch_uusCFInteraction, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_ch_UU_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_UU_Data_sequence, hf_index, ett_gsm_map_ch_UU_Data); return offset; } static const ber_sequence_t gsm_map_ch_ResumeCallHandlingArg_sequence[] = { { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber }, { &hf_gsm_map_ch_basicServiceGroup, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ch_forwardingData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ForwardingData }, { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo }, { &hf_gsm_map_ch_o_CSI , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_ch_ccbs_Possible, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_uu_Data , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UU_Data }, { &hf_gsm_map_ch_allInformationSent, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_d_csi , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI }, { &hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList }, { &hf_gsm_map_ch_basicServiceGroup2, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode }, { &hf_gsm_map_ch_mtRoamingRetry, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ResumeCallHandlingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_ResumeCallHandlingArg_sequence, hf_index, ett_gsm_map_ch_ResumeCallHandlingArg); return offset; } static const ber_sequence_t gsm_map_ch_ResumeCallHandlingRes_sequence[] = { { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ResumeCallHandlingRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_ResumeCallHandlingRes_sequence, hf_index, ett_gsm_map_ch_ResumeCallHandlingRes); return offset; } static const value_string gsm_map_ch_ReportingState_vals[] = { { 0, "stopMonitoring" }, { 1, "startMonitoring" }, { 0, NULL } }; static int dissect_gsm_map_ch_ReportingState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_SetReportingStateArg_sequence[] = { { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_lmsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_ch_ccbs_Monitoring, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ReportingState }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_SetReportingStateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_SetReportingStateArg_sequence, hf_index, ett_gsm_map_ch_SetReportingStateArg); return offset; } static const value_string gsm_map_ch_CCBS_SubscriberStatus_vals[] = { { 0, "ccbsNotIdle" }, { 1, "ccbsIdle" }, { 2, "ccbsNotReachable" }, { 0, NULL } }; static int dissect_gsm_map_ch_CCBS_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_SetReportingStateRes_sequence[] = { { &hf_gsm_map_ch_ccbs_SubscriberStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_SubscriberStatus }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_SetReportingStateRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_SetReportingStateRes_sequence, hf_index, ett_gsm_map_ch_SetReportingStateRes); return offset; } static const ber_sequence_t gsm_map_ch_EventReportData_sequence[] = { { &hf_gsm_map_ch_ccbs_SubscriberStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_SubscriberStatus }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_EventReportData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_EventReportData_sequence, hf_index, ett_gsm_map_ch_EventReportData); return offset; } static const value_string gsm_map_ch_MonitoringMode_vals[] = { { 0, "a-side" }, { 1, "b-side" }, { 0, NULL } }; static int dissect_gsm_map_ch_MonitoringMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_ch_CallOutcome_vals[] = { { 0, "success" }, { 1, "failure" }, { 2, "busy" }, { 0, NULL } }; static int dissect_gsm_map_ch_CallOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_CallReportData_sequence[] = { { &hf_gsm_map_ch_monitoringMode, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_MonitoringMode }, { &hf_gsm_map_ch_callOutcome, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallOutcome }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_CallReportData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_CallReportData_sequence, hf_index, ett_gsm_map_ch_CallReportData); return offset; } static const ber_sequence_t gsm_map_ch_StatusReportArg_sequence[] = { { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_eventReportData, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_EventReportData }, { &hf_gsm_map_ch_callReportdata, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReportData }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_StatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_StatusReportArg_sequence, hf_index, ett_gsm_map_ch_StatusReportArg); return offset; } static const ber_sequence_t gsm_map_ch_StatusReportRes_sequence[] = { { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_StatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_StatusReportRes_sequence, hf_index, ett_gsm_map_ch_StatusReportRes); return offset; } static const ber_sequence_t gsm_map_ch_RemoteUserFreeArg_sequence[] = { { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_callInfo , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_map_ch_ccbs_Feature, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature }, { &hf_gsm_map_ch_translatedB_Number, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_replaceB_Number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_RemoteUserFreeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_RemoteUserFreeArg_sequence, hf_index, ett_gsm_map_ch_RemoteUserFreeArg); return offset; } static const value_string gsm_map_ch_RUF_Outcome_vals[] = { { 0, "accepted" }, { 1, "rejected" }, { 2, "noResponseFromFreeMS" }, { 3, "noResponseFromBusyMS" }, { 4, "udubFromFreeMS" }, { 5, "udubFromBusyMS" }, { 0, NULL } }; static int dissect_gsm_map_ch_RUF_Outcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_RemoteUserFreeRes_sequence[] = { { &hf_gsm_map_ch_ruf_Outcome, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_RUF_Outcome }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_RemoteUserFreeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_RemoteUserFreeRes_sequence, hf_index, ett_gsm_map_ch_RemoteUserFreeRes); return offset; } static const ber_sequence_t gsm_map_ch_IST_AlertArg_sequence[] = { { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_IST_AlertArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_IST_AlertArg_sequence, hf_index, ett_gsm_map_ch_IST_AlertArg); return offset; } static const value_string gsm_map_ch_CallTerminationIndicator_vals[] = { { 0, "terminateCallActivityReferred" }, { 1, "terminateAllCallActivities" }, { 0, NULL } }; static int dissect_gsm_map_ch_CallTerminationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_ch_IST_AlertRes_sequence[] = { { &hf_gsm_map_ch_istAlertTimer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue }, { &hf_gsm_map_ch_istInformationWithdraw, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL }, { &hf_gsm_map_ch_callTerminationIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallTerminationIndicator }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_IST_AlertRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_IST_AlertRes_sequence, hf_index, ett_gsm_map_ch_IST_AlertRes); return offset; } static const ber_sequence_t gsm_map_ch_IST_CommandArg_sequence[] = { { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_IST_CommandArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_IST_CommandArg_sequence, hf_index, ett_gsm_map_ch_IST_CommandArg); return offset; } static const ber_sequence_t gsm_map_ch_IST_CommandRes_sequence[] = { { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_IST_CommandRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_IST_CommandRes_sequence, hf_index, ett_gsm_map_ch_IST_CommandRes); return offset; } static const ber_sequence_t gsm_map_ch_ReleaseResourcesArg_sequence[] = { { &hf_gsm_map_ch_msrn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ReleaseResourcesArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_ReleaseResourcesArg_sequence, hf_index, ett_gsm_map_ch_ReleaseResourcesArg); return offset; } static const ber_sequence_t gsm_map_ch_ReleaseResourcesRes_sequence[] = { { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_ch_ReleaseResourcesRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_ch_ReleaseResourcesRes_sequence, hf_index, ett_gsm_map_ch_ReleaseResourcesRes); return offset; } /* --- Module MAP-LCS-DataTypes --- --- --- */ static const ber_sequence_t gsm_map_lcs_RoutingInfoForLCS_Arg_sequence[] = { { &hf_gsm_map_lcs_mlcNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_targetMS, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity }, { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_RoutingInfoForLCS_Arg_sequence, hf_index, ett_gsm_map_lcs_RoutingInfoForLCS_Arg); return offset; } static int dissect_gsm_map_lcs_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const ber_sequence_t gsm_map_lcs_LCSLocationInfo_sequence[] = { { &hf_gsm_map_lcs_networkNode_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_lmsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_lcs_gprsNodeIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_additional_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_Additional_Number }, { &hf_gsm_map_lcs_supportedLCS_CapabilitySets, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets }, { &hf_gsm_map_lcs_additional_LCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_LCSLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LCSLocationInfo_sequence, hf_index, ett_gsm_map_lcs_LCSLocationInfo); return offset; } static const ber_sequence_t gsm_map_lcs_RoutingInfoForLCS_Res_sequence[] = { { &hf_gsm_map_lcs_targetMS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity }, { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSLocationInfo }, { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_lcs_v_gmlc_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_lcs_ppr_Address, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_lcs_additional_v_gmlc_Address, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_RoutingInfoForLCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_RoutingInfoForLCS_Res_sequence, hf_index, ett_gsm_map_lcs_RoutingInfoForLCS_Res); return offset; } static const value_string gsm_map_lcs_LocationEstimateType_vals[] = { { 0, "currentLocation" }, { 1, "currentOrLastKnownLocation" }, { 2, "initialLocation" }, { 3, "activateDeferredLocation" }, { 4, "cancelDeferredLocation" }, { 5, "notificationVerificationOnly" }, { 0, NULL } }; static int dissect_gsm_map_lcs_LocationEstimateType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const asn_namedbit gsm_map_lcs_DeferredLocationEventType_bits[] = { { 0, &hf_gsm_map_lcs_DeferredLocationEventType_msAvailable, -1, -1, "msAvailable", NULL }, { 1, &hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea, -1, -1, "enteringIntoArea", NULL }, { 2, &hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea, -1, -1, "leavingFromArea", NULL }, { 3, &hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea, -1, -1, "beingInsideArea", NULL }, { 4, &hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR, -1, -1, "periodicLDR", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; int dissect_gsm_map_lcs_DeferredLocationEventType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_DeferredLocationEventType_bits, hf_index, ett_gsm_map_lcs_DeferredLocationEventType, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_LocationType_sequence[] = { { &hf_gsm_map_lcs_locationEstimateType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationEstimateType }, { &hf_gsm_map_lcs_deferredLocationEventType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_DeferredLocationEventType }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_lcs_LocationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LocationType_sequence, hf_index, ett_gsm_map_lcs_LocationType); return offset; } static const value_string gsm_map_lcs_LCSClientType_vals[] = { { 0, "emergencyServices" }, { 1, "valueAddedServices" }, { 2, "plmnOperatorServices" }, { 3, "lawfulInterceptServices" }, { 0, NULL } }; static int dissect_gsm_map_lcs_LCSClientType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_NameString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const value_string gsm_map_lcs_LCS_FormatIndicator_vals[] = { { 0, "logicalName" }, { 1, "e-mailAddress" }, { 2, "msisdn" }, { 3, "url" }, { 4, "sipUrl" }, { 0, NULL } }; static int dissect_gsm_map_lcs_LCS_FormatIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_LCSClientName_sequence[] = { { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme }, { &hf_gsm_map_lcs_nameString, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NameString }, { &hf_gsm_map_lcs_lcs_FormatIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_FormatIndicator }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_lcs_LCSClientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LCSClientName_sequence, hf_index, ett_gsm_map_lcs_LCSClientName); return offset; } static int dissect_gsm_map_lcs_RequestorIDString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const ber_sequence_t gsm_map_lcs_LCSRequestorID_sequence[] = { { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme }, { &hf_gsm_map_lcs_requestorIDString, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_RequestorIDString }, { &hf_gsm_map_lcs_lcs_FormatIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_FormatIndicator }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_lcs_LCSRequestorID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LCSRequestorID_sequence, hf_index, ett_gsm_map_lcs_LCSRequestorID); return offset; } static const ber_sequence_t gsm_map_lcs_LCS_ClientID_sequence[] = { { &hf_gsm_map_lcs_lcsClientType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType }, { &hf_gsm_map_lcs_lcsClientExternalID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID }, { &hf_gsm_map_lcs_lcsClientDialedByMS, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_lcs_lcsClientInternalID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientInternalID }, { &hf_gsm_map_lcs_lcsClientName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientName }, { &hf_gsm_map_lcs_lcsAPN , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN }, { &hf_gsm_map_lcs_lcsRequestorID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSRequestorID }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_LCS_ClientID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LCS_ClientID_sequence, hf_index, ett_gsm_map_lcs_LCS_ClientID); return offset; } static int dissect_gsm_map_lcs_LCS_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_Horizontal_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_Vertical_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_lcs_ResponseTimeCategory_vals[] = { { 0, "lowdelay" }, { 1, "delaytolerant" }, { 0, NULL } }; static int dissect_gsm_map_lcs_ResponseTimeCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_ResponseTime_sequence[] = { { &hf_gsm_map_lcs_responseTimeCategory, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ResponseTimeCategory }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_ResponseTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_ResponseTime_sequence, hf_index, ett_gsm_map_lcs_ResponseTime); return offset; } static const ber_sequence_t gsm_map_lcs_LCS_QoS_sequence[] = { { &hf_gsm_map_lcs_horizontal_accuracy, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Horizontal_Accuracy }, { &hf_gsm_map_lcs_verticalCoordinateRequest, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_vertical_accuracy, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Vertical_Accuracy }, { &hf_gsm_map_lcs_responseTime, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ResponseTime }, { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_lcs_velocityRequest, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_lcs_LCS_QoS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LCS_QoS_sequence, hf_index, ett_gsm_map_lcs_LCS_QoS); return offset; } static const asn_namedbit gsm_map_lcs_SupportedGADShapes_bits[] = { { 0, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint, -1, -1, "ellipsoidPoint", NULL }, { 1, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle, -1, -1, "ellipsoidPointWithUncertaintyCircle", NULL }, { 2, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse, -1, -1, "ellipsoidPointWithUncertaintyEllipse", NULL }, { 3, &hf_gsm_map_lcs_SupportedGADShapes_polygon, -1, -1, "polygon", NULL }, { 4, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude, -1, -1, "ellipsoidPointWithAltitude", NULL }, { 5, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid, -1, -1, "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", NULL }, { 6, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc, -1, -1, "ellipsoidArc", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; int dissect_gsm_map_lcs_SupportedGADShapes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_SupportedGADShapes_bits, hf_index, ett_gsm_map_lcs_SupportedGADShapes, NULL); return offset; } int dissect_gsm_map_lcs_LCS_ReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_LCSCodewordString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const ber_sequence_t gsm_map_lcs_LCSCodeword_sequence[] = { { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme }, { &hf_gsm_map_lcs_lcsCodewordString, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodewordString }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_lcs_LCSCodeword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LCSCodeword_sequence, hf_index, ett_gsm_map_lcs_LCSCodeword); return offset; } static const value_string gsm_map_lcs_PrivacyCheckRelatedAction_vals[] = { { 0, "allowedWithoutNotification" }, { 1, "allowedWithNotification" }, { 2, "allowedIfNoResponse" }, { 3, "restrictedIfNoResponse" }, { 4, "notAllowed" }, { 0, NULL } }; static int dissect_gsm_map_lcs_PrivacyCheckRelatedAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_LCS_PrivacyCheck_sequence[] = { { &hf_gsm_map_lcs_callSessionUnrelated, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PrivacyCheckRelatedAction }, { &hf_gsm_map_lcs_callSessionRelated, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PrivacyCheckRelatedAction }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_LCS_PrivacyCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_LCS_PrivacyCheck_sequence, hf_index, ett_gsm_map_lcs_LCS_PrivacyCheck); return offset; } static const value_string gsm_map_lcs_AreaType_vals[] = { { 0, "countryCode" }, { 1, "plmnId" }, { 2, "locationAreaId" }, { 3, "routingAreaId" }, { 4, "cellGlobalId" }, { 5, "utranCellId" }, { 0, NULL } }; static int dissect_gsm_map_lcs_AreaType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_AreaIdentification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_Area_sequence[] = { { &hf_gsm_map_lcs_areaType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaType }, { &hf_gsm_map_lcs_areaIdentification, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaIdentification }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_Area(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_Area_sequence, hf_index, ett_gsm_map_lcs_Area); return offset; } static const ber_sequence_t gsm_map_lcs_AreaList_sequence_of[1] = { { &hf_gsm_map_lcs_AreaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_Area }, }; static int dissect_gsm_map_lcs_AreaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_AreaList_sequence_of, hf_index, ett_gsm_map_lcs_AreaList); return offset; } static const ber_sequence_t gsm_map_lcs_AreaDefinition_sequence[] = { { &hf_gsm_map_lcs_areaList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_AreaDefinition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_AreaDefinition_sequence, hf_index, ett_gsm_map_lcs_AreaDefinition); return offset; } static const value_string gsm_map_lcs_OccurrenceInfo_vals[] = { { 0, "oneTimeEvent" }, { 1, "multipleTimeEvent" }, { 0, NULL } }; static int dissect_gsm_map_lcs_OccurrenceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_IntervalTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_AreaEventInfo_sequence[] = { { &hf_gsm_map_lcs_areaDefinition, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaDefinition }, { &hf_gsm_map_lcs_occurrenceInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_OccurrenceInfo }, { &hf_gsm_map_lcs_intervalTime, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_IntervalTime }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_map_lcs_AreaEventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_AreaEventInfo_sequence, hf_index, ett_gsm_map_lcs_AreaEventInfo); return offset; } static int dissect_gsm_map_lcs_ReportingAmount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_ReportingInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_PeriodicLDRInfo_sequence[] = { { &hf_gsm_map_lcs_reportingAmount, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingAmount }, { &hf_gsm_map_lcs_reportingInterval, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingInterval }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_PeriodicLDRInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_PeriodicLDRInfo_sequence, hf_index, ett_gsm_map_lcs_PeriodicLDRInfo); return offset; } static const value_string gsm_map_lcs_RAN_Technology_vals[] = { { 0, "gsm" }, { 1, "umts" }, { 0, NULL } }; static int dissect_gsm_map_lcs_RAN_Technology(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_ReportingPLMN_sequence[] = { { &hf_gsm_map_lcs_plmn_Id , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id }, { &hf_gsm_map_lcs_ran_Technology, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_RAN_Technology }, { &hf_gsm_map_lcs_ran_PeriodicLocationSupport, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_ReportingPLMN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_ReportingPLMN_sequence, hf_index, ett_gsm_map_lcs_ReportingPLMN); return offset; } static const ber_sequence_t gsm_map_lcs_PLMNList_sequence_of[1] = { { &hf_gsm_map_lcs_PLMNList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingPLMN }, }; static int dissect_gsm_map_lcs_PLMNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_PLMNList_sequence_of, hf_index, ett_gsm_map_lcs_PLMNList); return offset; } static const ber_sequence_t gsm_map_lcs_ReportingPLMNList_sequence[] = { { &hf_gsm_map_lcs_plmn_ListPrioritized, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_plmn_List, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PLMNList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_ReportingPLMNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_ReportingPLMNList_sequence, hf_index, ett_gsm_map_lcs_ReportingPLMNList); return offset; } static const ber_sequence_t gsm_map_lcs_ProvideSubscriberLocation_Arg_sequence[] = { { &hf_gsm_map_lcs_locationType, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LocationType }, { &hf_gsm_map_lcs_mlc_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_lcs_ClientID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ClientID }, { &hf_gsm_map_lcs_privacyOverride, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_imsi , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_lcs_msisdn , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_lmsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { &hf_gsm_map_lcs_imei , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, { &hf_gsm_map_lcs_lcs_Priority, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority }, { &hf_gsm_map_lcs_lcs_QoS , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS }, { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_lcs_supportedGADShapes, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SupportedGADShapes }, { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_map_lcs_lcsServiceTypeID, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID }, { &hf_gsm_map_lcs_lcsCodeword, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodeword }, { &hf_gsm_map_lcs_lcs_PrivacyCheck, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_PrivacyCheck }, { &hf_gsm_map_lcs_areaEventInfo, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaEventInfo }, { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_periodicLDRInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo }, { &hf_gsm_map_lcs_reportingPLMNList, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_ProvideSubscriberLocation_Arg_sequence, hf_index, ett_gsm_map_lcs_ProvideSubscriberLocation_Arg); return offset; } int dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 673 "gsmmap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation); dissect_geographical_description(parameter_tvb, actx->pinfo, subtree); return offset; } int dissect_gsm_map_lcs_Add_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_PositioningDataInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_lcs_UtranPositioningDataInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_lcs_AccuracyFulfilmentIndicator_vals[] = { { 0, "requestedAccuracyFulfilled" }, { 1, "requestedAccuracyNotFulfilled" }, { 0, NULL } }; static int dissect_gsm_map_lcs_AccuracyFulfilmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_map_lcs_VelocityEstimate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_ProvideSubscriberLocation_Res_sequence[] = { { &hf_gsm_map_lcs_locationEstimate, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation }, { &hf_gsm_map_lcs_ageOfLocationEstimate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation }, { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_lcs_add_LocationEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation }, { &hf_gsm_map_lcs_deferredmt_lrResponseIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_geranPositioningData, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PositioningDataInformation }, { &hf_gsm_map_lcs_utranPositioningData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranPositioningDataInfo }, { &hf_gsm_map_lcs_cellIdOrSai, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI }, { &hf_gsm_map_lcs_sai_Present, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_accuracyFulfilmentIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AccuracyFulfilmentIndicator }, { &hf_gsm_map_lcs_velocityEstimate, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate }, { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_ProvideSubscriberLocation_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_ProvideSubscriberLocation_Res_sequence, hf_index, ett_gsm_map_lcs_ProvideSubscriberLocation_Res); return offset; } static const value_string gsm_map_lcs_LCS_Event_vals[] = { { 0, "emergencyCallOrigination" }, { 1, "emergencyCallRelease" }, { 2, "mo-lr" }, { 3, "deferredmt-lrResponse" }, { 4, "deferredmo-lrTTTPInitiation" }, { 0, NULL } }; static int dissect_gsm_map_lcs_LCS_Event(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_lcs_TerminationCause_vals[] = { { 0, "normal" }, { 1, "errorundefined" }, { 2, "internalTimeout" }, { 3, "congestion" }, { 4, "mt-lrRestart" }, { 5, "privacyViolation" }, { 6, "shapeOfLocationEstimateNotSupported" }, { 7, "subscriberTermination" }, { 8, "uETermination" }, { 9, "networkTermination" }, { 0, NULL } }; static int dissect_gsm_map_lcs_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_Deferredmt_lrData_sequence[] = { { &hf_gsm_map_lcs_deferredLocationEventType, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_DeferredLocationEventType }, { &hf_gsm_map_lcs_terminationCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_TerminationCause }, { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSLocationInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_Deferredmt_lrData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_Deferredmt_lrData_sequence, hf_index, ett_gsm_map_lcs_Deferredmt_lrData); return offset; } static int dissect_gsm_map_lcs_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_lcs_SubscriberLocationReport_Arg_sequence[] = { { &hf_gsm_map_lcs_lcs_Event, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCS_Event }, { &hf_gsm_map_lcs_lcs_ClientID, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCS_ClientID }, { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCSLocationInfo }, { &hf_gsm_map_lcs_msisdn , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_imsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_lcs_imei , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI }, { &hf_gsm_map_lcs_na_ESRD , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_na_ESRK , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_locationEstimate, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation }, { &hf_gsm_map_lcs_ageOfLocationEstimate, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation }, { &hf_gsm_map_lcs_slr_ArgExtensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SLR_ArgExtensionContainer }, { &hf_gsm_map_lcs_add_LocationEstimate, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation }, { &hf_gsm_map_lcs_deferredmt_lrData, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Deferredmt_lrData }, { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_map_lcs_geranPositioningData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PositioningDataInformation }, { &hf_gsm_map_lcs_utranPositioningData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranPositioningDataInfo }, { &hf_gsm_map_lcs_cellIdOrSai, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI }, { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_lcs_lcsServiceTypeID, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID }, { &hf_gsm_map_lcs_sai_Present, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_pseudonymIndicator, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_accuracyFulfilmentIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AccuracyFulfilmentIndicator }, { &hf_gsm_map_lcs_velocityEstimate, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate }, { &hf_gsm_map_lcs_sequenceNumber, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber }, { &hf_gsm_map_lcs_periodicLDRInfo, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo }, { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_SubscriberLocationReport_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_SubscriberLocationReport_Arg_sequence, hf_index, ett_gsm_map_lcs_SubscriberLocationReport_Arg); return offset; } static const ber_sequence_t gsm_map_lcs_SubscriberLocationReport_Res_sequence[] = { { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_lcs_na_ESRK , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_na_ESRD , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL }, { &hf_gsm_map_lcs_reportingPLMNList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList }, { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_lcs_SubscriberLocationReport_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_lcs_SubscriberLocationReport_Res_sequence, hf_index, ett_gsm_map_lcs_SubscriberLocationReport_Res); return offset; } /* --- Module MAP-GR-DataTypes --- --- --- */ static int dissect_gsm_map_gr_CODEC_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_gr_CipheringAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_gr_GroupKeyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_gr_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static int dissect_gsm_map_gr_VSTK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_gr_VSTK_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_gr_PrepareGroupCallArg_sequence[] = { { &hf_gsm_map_gr_teleservice, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode }, { &hf_gsm_map_gr_asciCallReference, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ASCI_CallReference }, { &hf_gsm_map_gr_codec_Info, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_CODEC_Info }, { &hf_gsm_map_gr_cipheringAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_CipheringAlgorithm }, { &hf_gsm_map_gr_groupKeyNumber_Vk_Id, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_GroupKeyNumber }, { &hf_gsm_map_gr_groupKey , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Kc }, { &hf_gsm_map_gr_priority , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority }, { &hf_gsm_map_gr_uplinkFree, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_gr_vstk , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_VSTK }, { &hf_gsm_map_gr_vstk_rand, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_VSTK_RAND }, { &hf_gsm_map_gr_talkerChannelParameter, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_PrepareGroupCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_PrepareGroupCallArg_sequence, hf_index, ett_gsm_map_gr_PrepareGroupCallArg); return offset; } static const ber_sequence_t gsm_map_gr_PrepareGroupCallRes_sequence[] = { { &hf_gsm_map_gr_groupCallNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_PrepareGroupCallRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_PrepareGroupCallRes_sequence, hf_index, ett_gsm_map_gr_PrepareGroupCallRes); return offset; } static const value_string gsm_map_gr_TalkerPriority_vals[] = { { 0, "normal" }, { 1, "privileged" }, { 2, "emergency" }, { 0, NULL } }; static int dissect_gsm_map_gr_TalkerPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_gr_SendGroupCallEndSignalArg_sequence[] = { { &hf_gsm_map_gr_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority }, { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_SendGroupCallEndSignalArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_SendGroupCallEndSignalArg_sequence, hf_index, ett_gsm_map_gr_SendGroupCallEndSignalArg); return offset; } static const ber_sequence_t gsm_map_gr_SendGroupCallEndSignalRes_sequence[] = { { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_SendGroupCallEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_SendGroupCallEndSignalRes_sequence, hf_index, ett_gsm_map_gr_SendGroupCallEndSignalRes); return offset; } static const ber_sequence_t gsm_map_gr_StateAttributes_sequence[] = { { &hf_gsm_map_gr_downlinkAttached, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_uplinkAttached, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_dualCommunication, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_callOriginator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_StateAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_StateAttributes_sequence, hf_index, ett_gsm_map_gr_StateAttributes); return offset; } static const ber_sequence_t gsm_map_gr_ForwardGroupCallSignallingArg_sequence[] = { { &hf_gsm_map_gr_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_gr_uplinkRequestAck, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_uplinkReleaseIndication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_uplinkRejectCommand, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_uplinkSeizedCommand, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_uplinkReleaseCommand, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_gr_stateAttributes, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_StateAttributes }, { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority }, { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo }, { &hf_gsm_map_gr_emergencyModeResetCommandFlag, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_sm_RP_UI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_map_gr_an_APDU , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_ForwardGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_ForwardGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_gr_ForwardGroupCallSignallingArg); return offset; } static const ber_sequence_t gsm_map_gr_ProcessGroupCallSignallingArg_sequence[] = { { &hf_gsm_map_gr_uplinkRequest, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_uplinkReleaseIndication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_releaseGroupCall, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority }, { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo }, { &hf_gsm_map_gr_emergencyModeResetCommandFlag, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL }, { &hf_gsm_map_gr_an_APDU , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_ProcessGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_ProcessGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_gr_ProcessGroupCallSignallingArg); return offset; } static const value_string gsm_map_gr_RequestedInfo_vals[] = { { 0, "anchorMSC-AddressAndASCI-CallReference" }, { 1, "imsiAndAdditionalInfoAndAdditionalSubscription" }, { 0, NULL } }; static int dissect_gsm_map_gr_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_gr_SendGroupCallInfoArg_sequence[] = { { &hf_gsm_map_gr_requestedInfo, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_RequestedInfo }, { &hf_gsm_map_gr_groupId , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Long_GroupId }, { &hf_gsm_map_gr_teleservice, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode }, { &hf_gsm_map_gr_cellId , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId }, { &hf_gsm_map_gr_imsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_gr_tmsi , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_TMSI }, { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo }, { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority }, { &hf_gsm_map_gr_cksn , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Cksn }, { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_SendGroupCallInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_SendGroupCallInfoArg_sequence, hf_index, ett_gsm_map_gr_SendGroupCallInfoArg); return offset; } static const ber_sequence_t gsm_map_gr_SendGroupCallInfoRes_sequence[] = { { &hf_gsm_map_gr_anchorMSC_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_map_gr_asciCallReference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ASCI_CallReference }, { &hf_gsm_map_gr_imsi , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo }, { &hf_gsm_map_gr_additionalSubscriptions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalSubscriptions }, { &hf_gsm_map_gr_kc , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Kc }, { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_gr_SendGroupCallInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_gr_SendGroupCallInfoRes_sequence, hf_index, ett_gsm_map_gr_SendGroupCallInfoRes); return offset; } /* --- Module MAP-DialogueInformation --- --- --- */ static const ber_sequence_t gsm_map_dialogue_MAP_OpenInfo_sequence[] = { { &hf_gsm_map_dialogue_destinationReference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_dialogue_originationReference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_OpenInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_dialogue_MAP_OpenInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_OpenInfo); return offset; } static const ber_sequence_t gsm_map_dialogue_MAP_AcceptInfo_sequence[] = { { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_AcceptInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_dialogue_MAP_AcceptInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_AcceptInfo); return offset; } static const ber_sequence_t gsm_map_dialogue_MAP_CloseInfo_sequence[] = { { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_CloseInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_dialogue_MAP_CloseInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_CloseInfo); return offset; } static const value_string gsm_map_dialogue_Reason_vals[] = { { 0, "noReasonGiven" }, { 1, "invalidDestinationReference" }, { 2, "invalidOriginatingReference" }, { 0, NULL } }; static int dissect_gsm_map_dialogue_Reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_map_dialogue_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_dialogue_MAP_RefuseInfo_sequence[] = { { &hf_gsm_map_dialogue_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_Reason }, { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { &hf_gsm_map_dialogue_alternativeApplicationContext, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_OBJECT_IDENTIFIER }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_RefuseInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_dialogue_MAP_RefuseInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_RefuseInfo); return offset; } static int dissect_gsm_map_dialogue_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const value_string gsm_map_dialogue_ResourceUnavailableReason_vals[] = { { 0, "shortTermResourceLimitation" }, { 1, "longTermResourceLimitation" }, { 0, NULL } }; static int dissect_gsm_map_dialogue_ResourceUnavailableReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_dialogue_ProcedureCancellationReason_vals[] = { { 0, "handoverCancellation" }, { 1, "radioChannelRelease" }, { 2, "networkPathRelease" }, { 3, "callRelease" }, { 4, "associatedProcedureFailure" }, { 5, "tandemDialogueRelease" }, { 6, "remoteOperationsFailure" }, { 0, NULL } }; static int dissect_gsm_map_dialogue_ProcedureCancellationReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_map_dialogue_MAP_UserAbortChoice_vals[] = { { 0, "userSpecificReason" }, { 1, "userResourceLimitation" }, { 2, "resourceUnavailable" }, { 3, "applicationProcedureCancellation" }, { 0, NULL } }; static const ber_choice_t gsm_map_dialogue_MAP_UserAbortChoice_choice[] = { { 0, &hf_gsm_map_dialogue_userSpecificReason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_NULL }, { 1, &hf_gsm_map_dialogue_userResourceLimitation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_NULL }, { 2, &hf_gsm_map_dialogue_resourceUnavailable, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_ResourceUnavailableReason }, { 3, &hf_gsm_map_dialogue_applicationProcedureCancellation, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_ProcedureCancellationReason }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_UserAbortChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_dialogue_MAP_UserAbortChoice_choice, hf_index, ett_gsm_map_dialogue_MAP_UserAbortChoice, NULL); return offset; } static const ber_sequence_t gsm_map_dialogue_MAP_UserAbortInfo_sequence[] = { { &hf_gsm_map_dialogue_map_UserAbortChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_dialogue_MAP_UserAbortChoice }, { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_UserAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_dialogue_MAP_UserAbortInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_UserAbortInfo); return offset; } static const value_string gsm_map_dialogue_MAP_ProviderAbortReason_vals[] = { { 0, "abnormalDialogue" }, { 1, "invalidPDU" }, { 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_ProviderAbortReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_map_dialogue_MAP_ProviderAbortInfo_sequence[] = { { &hf_gsm_map_dialogue_map_ProviderAbortReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_MAP_ProviderAbortReason }, { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_ProviderAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_map_dialogue_MAP_ProviderAbortInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_ProviderAbortInfo); return offset; } static const value_string gsm_map_dialogue_MAP_DialoguePDU_vals[] = { { 0, "map-open" }, { 1, "map-accept" }, { 2, "map-close" }, { 3, "map-refuse" }, { 4, "map-userAbort" }, { 5, "map-providerAbort" }, { 0, NULL } }; static const ber_choice_t gsm_map_dialogue_MAP_DialoguePDU_choice[] = { { 0, &hf_gsm_map_dialogue_map_open, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_OpenInfo }, { 1, &hf_gsm_map_dialogue_map_accept, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_AcceptInfo }, { 2, &hf_gsm_map_dialogue_map_close, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_CloseInfo }, { 3, &hf_gsm_map_dialogue_map_refuse, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_RefuseInfo }, { 4, &hf_gsm_map_dialogue_map_userAbort, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_UserAbortInfo }, { 5, &hf_gsm_map_dialogue_map_providerAbort, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_ProviderAbortInfo }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_map_dialogue_MAP_DialoguePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_map_dialogue_MAP_DialoguePDU_choice, hf_index, ett_gsm_map_dialogue_MAP_DialoguePDU, NULL); return offset; } /*--- PDUs ---*/ static void dissect_gsm_map_dialogue_MAP_DialoguePDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); dissect_gsm_map_dialogue_MAP_DialoguePDU(FALSE, tvb, 0, &asn1_ctx, tree, hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU); } /* --- Module MAP-LocationServiceOperations --- --- --- */ /* --- Module MAP-Group-Call-Operations --- --- --- */ /* --- Module MAP-ShortMessageServiceOperations --- --- --- */ /* --- Module MAP-SupplementaryServiceOperations --- --- --- */ /* --- Module MAP-CallHandlingOperations --- --- --- */ /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */ /* --- Module MAP-MobileServiceOperations --- --- --- */ /* --- Module MAP-Errors --- --- --- */ /* --- Module MAP-Protocol --- --- --- */ /* --- Module DummyMAP --- --- --- */ static int dissect_gsm_old_InvokeIdType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_old_GSMMAPOperationLocalvalue_vals[] = { { 2, "updateLocation" }, { 3, "cancelLocation" }, { 4, "provideRoamingNumber" }, { 5, "noteSubscriberDataModified" }, { 6, "resumeCallHandling" }, { 7, "insertSubscriberData" }, { 8, "deleteSubscriberData" }, { 9, "sendParameters" }, { 10, "registerSS" }, { 11, "eraseSS" }, { 12, "activateSS" }, { 13, "deactivateSS" }, { 14, "interrogateSS" }, { 15, "authenticationFailureReport" }, { 16, "notifySS" }, { 17, "registerPassword" }, { 18, "getPassword" }, { 19, "processUnstructuredSS-Data" }, { 20, "releaseResources" }, { 21, "mt-ForwardSM-VGCS" }, { 22, "sendRoutingInfo" }, { 23, "updateGprsLocation" }, { 24, "sendRoutingInfoForGprs" }, { 25, "failureReport" }, { 26, "noteMsPresentForGprs" }, { 28, "performHandover" }, { 29, "sendEndSignal" }, { 30, "performSubsequentHandover" }, { 31, "provideSIWFSNumber" }, { 32, "sIWFSSignallingModify" }, { 33, "processAccessSignalling" }, { 34, "forwardAccessSignalling" }, { 35, "noteInternalHandover" }, { 37, "reset" }, { 38, "forwardCheckSS" }, { 39, "prepareGroupCall" }, { 40, "sendGroupCallEndSignal" }, { 41, "processGroupCallSignalling" }, { 42, "forwardGroupCallSignalling" }, { 43, "checkIMEI" }, { 44, "mt-forwardSM" }, { 45, "sendRoutingInfoForSM" }, { 46, "mo-forwardSM" }, { 47, "reportSM-DeliveryStatus" }, { 48, "noteSubscriberPresent" }, { 49, "alertServiceCentreWithoutResult" }, { 50, "activateTraceMode" }, { 51, "deactivateTraceMode" }, { 52, "traceSubscriberActivity" }, { 54, "beginSubscriberActivity" }, { 55, "sendIdentification" }, { 56, "sendAuthenticationInfo" }, { 57, "restoreData" }, { 58, "sendIMSI" }, { 59, "processUnstructuredSS-Request" }, { 60, "unstructuredSS-Request" }, { 61, "unstructuredSS-Notify" }, { 62, "anyTimeSubscriptionInterrogation" }, { 63, "informServiceCentre" }, { 64, "alertServiceCentre" }, { 65, "anyTimeModification" }, { 66, "readyForSM" }, { 67, "purgeMS" }, { 68, "prepareHandover" }, { 69, "prepareSubsequentHandover" }, { 70, "provideSubscriberInfo" }, { 71, "anyTimeInterrogation" }, { 72, "ss-InvocationNotification" }, { 73, "setReportingState" }, { 74, "statusReport" }, { 75, "remoteUserFree" }, { 76, "registerCC-Entry" }, { 77, "eraseCC-Entry" }, { 78, "secureTransportClass1" }, { 79, "secureTransportClass2" }, { 80, "secureTransportClass3" }, { 81, "secureTransportClass4" }, { 83, "provideSubscriberLocation" }, { 84, "sendGroupCallInfo" }, { 85, "sendRoutingInfoForLCS" }, { 86, "subscriberLocationReport" }, { 87, "ist-Alert" }, { 88, "ist-Command" }, { 89, "noteMM-Event" }, { 109, "lcs-PeriodicLocationCancellation" }, { 110, "lcs-LocationUpdate" }, { 111, "lcs-PeriodicLocationRequest" }, { 112, "lcs-AreaEventCancellation" }, { 113, "lcs-AreaEventReport" }, { 114, "lcs-AreaEventRequest" }, { 115, "lcs-MOLR" }, { 116, "lcs-LocationNotification" }, { 117, "callDeflection" }, { 118, "userUserService" }, { 119, "accessRegisterCCEntry" }, { 120, "forwardCUG-Info" }, { 121, "splitMPTY" }, { 122, "retrieveMPTY" }, { 123, "holdMPTY" }, { 124, "buildMPTY" }, { 125, "forwardChargeAdvice" }, { 126, "explicitCT" }, { 0, NULL } }; static int dissect_gsm_old_GSMMAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 148 "gsmmap.cnf" offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &opcode); if (check_col(actx->pinfo->cinfo, COL_INFO)){ col_append_str(actx->pinfo->cinfo, COL_INFO, gsm_map_opr_code(opcode)); } return offset; } static int dissect_gsm_old_OperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_old_GSMMAPOperationLocalvalue(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static int dissect_gsm_old_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_old_MAP_OPERATION_vals[] = { { 0, "localValue" }, { 1, "globalValue" }, { 0, NULL } }; static const ber_choice_t gsm_old_MAP_OPERATION_choice[] = { { 0, &hf_gsm_old_localValue , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OperationLocalvalue }, { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_MAP_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_MAP_OPERATION_choice, hf_index, ett_gsm_old_MAP_OPERATION, NULL); return offset; } static int dissect_gsm_old_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 135 "gsmmap.cnf" offset = dissect_invokeData(tree, tvb, offset, actx); return offset; } static const ber_sequence_t gsm_old_Invoke_sequence[] = { { &hf_gsm_old_invokeID , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType }, { &hf_gsm_old_linkedID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_InvokeIdType }, { &hf_gsm_old_opCode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_OPERATION }, { &hf_gsm_old_invokeparameter, BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeParameter }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_Invoke_sequence, hf_index, ett_gsm_old_Invoke); return offset; } static int dissect_gsm_old_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 138 "gsmmap.cnf" offset = dissect_returnResultData(tree, tvb, offset, actx); return offset; } static const ber_sequence_t gsm_old_T_resultretres_sequence[] = { { &hf_gsm_old_opCode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_OPERATION }, { &hf_gsm_old_returnparameter, BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ReturnResultParameter }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_T_resultretres(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_T_resultretres_sequence, hf_index, ett_gsm_old_T_resultretres); return offset; } static const ber_sequence_t gsm_old_ReturnResult_sequence[] = { { &hf_gsm_old_invokeID , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType }, { &hf_gsm_old_resultretres, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_T_resultretres }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_ReturnResult_sequence, hf_index, ett_gsm_old_ReturnResult); return offset; } const value_string gsm_old_GSMMAPLocalErrorcode_vals[] = { { 34, "systemFailure" }, { 35, "dataMissing" }, { 36, "unexpectedDataValue" }, { 21, "facilityNotSupported" }, { 28, "incompatibleTerminal" }, { 51, "resourceLimitation" }, { 1, "unknownSubscriber" }, { 44, "numberChanged" }, { 3, "unknownMSC" }, { 5, "unidentifiedSubscriber" }, { 7, "unknownEquipment" }, { 8, "roamingNotAllowed" }, { 9, "illegalSubscriber" }, { 12, "illegalEquipment" }, { 10, "bearerServiceNotProvisioned" }, { 11, "teleserviceNotProvisioned" }, { 25, "noHandoverNumberAvailable" }, { 26, "subsequentHandoverFailure" }, { 42, "targetCellOutsideGroupCallArea" }, { 40, "tracingBufferFull" }, { 39, "noRoamingNumberAvailable" }, { 27, "absentSubscriber" }, { 45, "busySubscriber" }, { 46, "noSubscriberReply" }, { 13, "callBarred" }, { 14, "forwardingViolation" }, { 47, "forwardingFailed" }, { 15, "cug-Reject" }, { 48, "or-NotAllowed" }, { 49, "ati-NotAllowed" }, { 60, "atsi-NotAllowed" }, { 61, "atm-NotAllowed" }, { 62, "informationNotAvailabl" }, { 16, "illegalSS-Operation" }, { 17, "ss-ErrorStatus" }, { 18, "ss-NotAvailable" }, { 19, "ss-SubscriptionViolatio" }, { 20, "ss-Incompatibility" }, { 71, "unknownAlphabe" }, { 72, "ussd-Busy" }, { 37, "pw-RegistrationFailur" }, { 38, "negativePW-Check" }, { 43, "numberOfPW-AttemptsViolation" }, { 29, "shortTermDenial" }, { 30, "longTermDenial" }, { 31, "subscriberBusyForMT-SMS" }, { 32, "sm-DeliveryFailure" }, { 33, "messageWaitingListFull" }, { 6, "absentSubscriberSM" }, { 50, "noGroupCallNumberAvailable" }, { 52, "unauthorizedRequestingNetwork" }, { 53, "unauthorizedLCSClient" }, { 54, "positionMethodFailure" }, { 58, "unknownOrUnreachableLCSClient" }, { 59, "mm-EventNotSupported" }, { 4, "secureTransportError" }, { 0, NULL } }; int dissect_gsm_old_GSMMAPLocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &errorCode); return offset; } static int dissect_gsm_old_LocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_gsm_old_GSMMAPLocalErrorcode(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const value_string gsm_old_MAP_ERROR_vals[] = { { 0, "localValue" }, { 1, "globalValue" }, { 0, NULL } }; static const ber_choice_t gsm_old_MAP_ERROR_choice[] = { { 0, &hf_gsm_old_localValue_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_LocalErrorcode }, { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_MAP_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_MAP_ERROR_choice, hf_index, ett_gsm_old_MAP_ERROR, NULL); return offset; } static int dissect_gsm_old_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 141 "gsmmap.cnf" offset = dissect_returnErrorData(tree, tvb, offset, actx); return offset; } static const ber_sequence_t gsm_old_ReturnError_sequence[] = { { &hf_gsm_old_invokeID , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType }, { &hf_gsm_old_errorCode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_ERROR }, { &hf_gsm_old_parameter , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ReturnErrorParameter }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_ReturnError_sequence, hf_index, ett_gsm_old_ReturnError); return offset; } static int dissect_gsm_old_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const value_string gsm_old_T_invokeIDRej_vals[] = { { 0, "derivable" }, { 1, "not-derivable" }, { 0, NULL } }; static const ber_choice_t gsm_old_T_invokeIDRej_choice[] = { { 0, &hf_gsm_old_derivable , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType }, { 1, &hf_gsm_old_not_derivable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_T_invokeIDRej(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_T_invokeIDRej_choice, hf_index, ett_gsm_old_T_invokeIDRej, NULL); return offset; } static const value_string gsm_old_GeneralProblem_vals[] = { { 0, "unrecognizedComponent" }, { 1, "mistypedComponent" }, { 2, "badlyStructuredComponent" }, { 0, NULL } }; static int dissect_gsm_old_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_old_InvokeProblem_vals[] = { { 0, "duplicateInvokeID" }, { 1, "unrecognizedOperation" }, { 2, "mistypedParameter" }, { 3, "resourceLimitation" }, { 4, "initiatingRelease" }, { 5, "unrecognizedLinkedID" }, { 6, "linkedResponseUnexpected" }, { 7, "unexpectedLinkedOperation" }, { 0, NULL } }; static int dissect_gsm_old_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_old_ReturnResultProblem_vals[] = { { 0, "unrecognizedInvokeID" }, { 1, "returnResultUnexpected" }, { 2, "mistypedParameter" }, { 0, NULL } }; static int dissect_gsm_old_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_old_ReturnErrorProblem_vals[] = { { 0, "unrecognizedInvokeID" }, { 1, "returnErrorUnexpected" }, { 2, "unrecognizedError" }, { 3, "unexpectedError" }, { 4, "mistypedParameter" }, { 0, NULL } }; static int dissect_gsm_old_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_old_T_problem_vals[] = { { 0, "generalProblem" }, { 1, "invokeProblem" }, { 2, "returnResultProblem" }, { 3, "returnErrorProblem" }, { 0, NULL } }; static const ber_choice_t gsm_old_T_problem_choice[] = { { 0, &hf_gsm_old_generalProblem, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_GeneralProblem }, { 1, &hf_gsm_old_invokeProblem, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_InvokeProblem }, { 2, &hf_gsm_old_returnResultProblem, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResultProblem }, { 3, &hf_gsm_old_returnErrorProblem, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnErrorProblem }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_T_problem_choice, hf_index, ett_gsm_old_T_problem, NULL); return offset; } static const ber_sequence_t gsm_old_Reject_sequence[] = { { &hf_gsm_old_invokeIDRej , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_T_invokeIDRej }, { &hf_gsm_old_problem , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_T_problem }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_Reject_sequence, hf_index, ett_gsm_old_Reject); return offset; } static const value_string gsm_old_Component_vals[] = { { 1, "invoke" }, { 2, "returnResultLast" }, { 3, "returnError" }, { 4, "reject" }, { 7, "returnResultNotLast" }, { 0, NULL } }; static const ber_choice_t gsm_old_Component_choice[] = { { 1, &hf_gsm_old_invoke , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_Invoke }, { 2, &hf_gsm_old_returnResultLast, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResult }, { 3, &hf_gsm_old_returnError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnError }, { 4, &hf_gsm_old_reject , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_Reject }, { 7, &hf_gsm_old_returnResultNotLast, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResult }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_Component(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_Component_choice, hf_index, ett_gsm_old_Component, NULL); return offset; } static const ber_sequence_t gsm_old_Bss_APDU_sequence[] = { { &hf_gsm_old_protocolId , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ProtocolId }, { &hf_gsm_old_signalInfo , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_old_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_Bss_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_Bss_APDU_sequence, hf_index, ett_gsm_old_Bss_APDU); return offset; } static int dissect_gsm_old_CallDirection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_old_ProvideSIWFSNumberArg_sequence[] = { { &hf_gsm_old_gsm_BearerCapability, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_isdn_BearerCapability, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_call_Direction, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_CallDirection }, { &hf_gsm_old_b_Subscriber_Address, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_old_chosenChannel, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_lowerLayerCompatibility, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_highLayerCompatibility, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_ProvideSIWFSNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_ProvideSIWFSNumberArg_sequence, hf_index, ett_gsm_old_ProvideSIWFSNumberArg); return offset; } static const ber_sequence_t gsm_old_ProvideSIWFSNumberRes_sequence[] = { { &hf_gsm_old_sIWFSNumber , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_ProvideSIWFSNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_ProvideSIWFSNumberRes_sequence, hf_index, ett_gsm_old_ProvideSIWFSNumberRes); return offset; } static const ber_sequence_t gsm_old_PurgeMSArgV2_sequence[] = { { &hf_gsm_old_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_old_vlr_Number , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_PurgeMSArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_PurgeMSArgV2_sequence, hf_index, ett_gsm_old_PurgeMSArgV2); return offset; } static const ber_sequence_t gsm_old_PrepareHO_ArgOld_sequence[] = { { &hf_gsm_old_targetCellId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_GlobalCellId }, { &hf_gsm_old_ho_NumberNotRequired, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL }, { &hf_gsm_old_bss_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_Bss_APDU }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_PrepareHO_ArgOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_PrepareHO_ArgOld_sequence, hf_index, ett_gsm_old_PrepareHO_ArgOld); return offset; } static const ber_sequence_t gsm_old_PrepareHO_ResOld_sequence[] = { { &hf_gsm_old_handoverNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_old_bss_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_Bss_APDU }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_PrepareHO_ResOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_PrepareHO_ResOld_sequence, hf_index, ett_gsm_old_PrepareHO_ResOld); return offset; } static int dissect_gsm_old_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_old_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_old_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_old_SendAuthenticationInfoResOld_item_sequence[] = { { &hf_gsm_old_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RAND }, { &hf_gsm_old_sres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SRES }, { &hf_gsm_old_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_Kc }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SendAuthenticationInfoResOld_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SendAuthenticationInfoResOld_item_sequence, hf_index, ett_gsm_old_SendAuthenticationInfoResOld_item); return offset; } static const ber_sequence_t gsm_old_SendAuthenticationInfoResOld_sequence_of[1] = { { &hf_gsm_old_SendAuthenticationInfoResOld_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SendAuthenticationInfoResOld_item }, }; static int dissect_gsm_old_SendAuthenticationInfoResOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_old_SendAuthenticationInfoResOld_sequence_of, hf_index, ett_gsm_old_SendAuthenticationInfoResOld); return offset; } static const ber_sequence_t gsm_old_AuthenticationTriplet_v2_sequence[] = { { &hf_gsm_old_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RAND }, { &hf_gsm_old_sres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SRES }, { &hf_gsm_old_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_Kc }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_AuthenticationTriplet_v2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_AuthenticationTriplet_v2_sequence, hf_index, ett_gsm_old_AuthenticationTriplet_v2); return offset; } static const ber_sequence_t gsm_old_TripletListold_sequence_of[1] = { { &hf_gsm_old_TripletListold_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_AuthenticationTriplet_v2 }, }; static int dissect_gsm_old_TripletListold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_old_TripletListold_sequence_of, hf_index, ett_gsm_old_TripletListold); return offset; } static const ber_sequence_t gsm_old_SendIdentificationResV2_sequence[] = { { &hf_gsm_old_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_old_tripletList , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_TripletListold }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SendIdentificationResV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SendIdentificationResV2_sequence, hf_index, ett_gsm_old_SendIdentificationResV2); return offset; } static const ber_sequence_t gsm_old_SIWFSSignallingModifyArg_sequence[] = { { &hf_gsm_old_channelType , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_chosenChannel, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SIWFSSignallingModifyArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SIWFSSignallingModifyArg_sequence, hf_index, ett_gsm_old_SIWFSSignallingModifyArg); return offset; } static const ber_sequence_t gsm_old_SIWFSSignallingModifyRes_sequence[] = { { &hf_gsm_old_channelType , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SIWFSSignallingModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SIWFSSignallingModifyRes_sequence, hf_index, ett_gsm_old_SIWFSSignallingModifyRes); return offset; } int dissect_gsm_old_NewPassword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, actx, tree, tvb, offset, hf_index, NULL); return offset; } const value_string gsm_old_GetPasswordArg_vals[] = { { 0, "enterPW" }, { 1, "enterNewPW" }, { 2, "enterNewPW-Again" }, { 0, NULL } }; int dissect_gsm_old_GetPasswordArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } int dissect_gsm_old_CurrentPassword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_old_SecurityParametersIndex(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_old_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_old_OperationCode_vals[] = { { 0, "localValue" }, { 1, "globalValue" }, { 0, NULL } }; static const ber_choice_t gsm_old_OperationCode_choice[] = { { 0, &hf_gsm_old_localValue_02, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_INTEGER }, { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_OperationCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_OperationCode_choice, hf_index, ett_gsm_old_OperationCode, NULL); return offset; } static const value_string gsm_old_ErrorCode_vals[] = { { 0, "localValue" }, { 1, "globalValue" }, { 0, NULL } }; static const ber_choice_t gsm_old_ErrorCode_choice[] = { { 0, &hf_gsm_old_localValue_02, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_INTEGER }, { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_ErrorCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_ErrorCode_choice, hf_index, ett_gsm_old_ErrorCode, NULL); return offset; } static const value_string gsm_old_OriginalComponentIdentifier_vals[] = { { 0, "operationCode" }, { 1, "errorCode" }, { 2, "userInfo" }, { 0, NULL } }; static const ber_choice_t gsm_old_OriginalComponentIdentifier_choice[] = { { 0, &hf_gsm_old_operationCode, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_OperationCode }, { 1, &hf_gsm_old_errorCode_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_ErrorCode }, { 2, &hf_gsm_old_userInfo , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_NULL }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_OriginalComponentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_OriginalComponentIdentifier_choice, hf_index, ett_gsm_old_OriginalComponentIdentifier, NULL); return offset; } static int dissect_gsm_old_InitialisationVector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_old_SecurityHeader_sequence[] = { { &hf_gsm_old_securityParametersIndex, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityParametersIndex }, { &hf_gsm_old_originalComponentIdentifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_OriginalComponentIdentifier }, { &hf_gsm_old_initialisationVector, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_InitialisationVector }, { NULL, 0, 0, 0, NULL } }; int dissect_gsm_old_SecurityHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SecurityHeader_sequence, hf_index, ett_gsm_old_SecurityHeader); return offset; } int dissect_gsm_old_ProtectedPayload(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_old_SecureTransportArg_sequence[] = { { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader }, { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SecureTransportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SecureTransportArg_sequence, hf_index, ett_gsm_old_SecureTransportArg); return offset; } static const ber_sequence_t gsm_old_SecureTransportErrorParam_sequence[] = { { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader }, { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SecureTransportErrorParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SecureTransportErrorParam_sequence, hf_index, ett_gsm_old_SecureTransportErrorParam); return offset; } static const ber_sequence_t gsm_old_SecureTransportRes_sequence[] = { { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader }, { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SecureTransportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SecureTransportRes_sequence, hf_index, ett_gsm_old_SecureTransportRes); return offset; } static int dissect_gsm_old_Category(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_old_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_old_T_operatorSS_Code_sequence_of[1] = { { &hf_gsm_old_operatorSS_Code_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OCTET_STRING_SIZE_1 }, }; static int dissect_gsm_old_T_operatorSS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, gsm_old_T_operatorSS_Code_sequence_of, hf_index, ett_gsm_old_T_operatorSS_Code); return offset; } static const ber_sequence_t gsm_old_PlmnContainer_U_sequence[] = { { &hf_gsm_old_msisdn , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_old_category , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_Category }, { &hf_gsm_old_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode }, { &hf_gsm_old_operatorSS_Code, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_T_operatorSS_Code }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_PlmnContainer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_PlmnContainer_U_sequence, hf_index, ett_gsm_old_PlmnContainer_U); return offset; } static int dissect_gsm_old_PlmnContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_PRI, 2, TRUE, dissect_gsm_old_PlmnContainer_U); return offset; } static const value_string gsm_old_SM_RP_DAold_vals[] = { { 0, "imsi" }, { 1, "lmsi" }, { 4, "serviceCentreAddressDA" }, { 5, "noSM-RP-DA" }, { 0, NULL } }; static const ber_choice_t gsm_old_SM_RP_DAold_choice[] = { { 0, &hf_gsm_old_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI }, { 1, &hf_gsm_old_lmsi , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI }, { 4, &hf_gsm_old_serviceCentreAddressDA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { 5, &hf_gsm_old_noSM_RP_DA , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_old_NULL }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SM_RP_DAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_SM_RP_DAold_choice, hf_index, ett_gsm_old_SM_RP_DAold, NULL); return offset; } static int dissect_gsm_old_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 268 "gsmmap.cnf" actx->pinfo->p2p_dir = P2P_DIR_RECV; offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static int dissect_gsm_old_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 260 "gsmmap.cnf" actx->pinfo->p2p_dir = P2P_DIR_SENT; offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const value_string gsm_old_SM_RP_OAold_vals[] = { { 2, "msisdn" }, { 4, "serviceCentreAddressOA" }, { 5, "noSM-RP-OA" }, { 0, NULL } }; static const ber_choice_t gsm_old_SM_RP_OAold_choice[] = { { 2, &hf_gsm_old_msisdn_01 , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_msisdn }, { 4, &hf_gsm_old_serviceCentreAddressOA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_serviceCentreAddressOA }, { 5, &hf_gsm_old_noSM_RP_OA , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_old_NULL }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SM_RP_OAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_old_SM_RP_OAold_choice, hf_index, ett_gsm_old_SM_RP_OAold, NULL); return offset; } static const ber_sequence_t gsm_old_ForwardSM_Arg_sequence[] = { { &hf_gsm_old_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SM_RP_DAold }, { &hf_gsm_old_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SM_RP_OAold }, { &hf_gsm_old_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo }, { &hf_gsm_old_moreMessagesToSend, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 291 "gsmmap.cnf" /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_ForwardSM_Arg_sequence, hf_index, ett_gsm_old_ForwardSM_Arg); if (!actx->value_ptr) return offset; dissector_try_port(sms_dissector_table, 0, actx->value_ptr, actx->pinfo, top_tree); return offset; } static const ber_sequence_t gsm_old_SendRoutingInfoArgV2_sequence[] = { { &hf_gsm_old_msisdn , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_old_cug_CheckInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo }, { &hf_gsm_old_numberOfForwarding, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NumberOfForwarding }, { &hf_gsm_old_networkSignalInfo, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SendRoutingInfoArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SendRoutingInfoArgV2_sequence, hf_index, ett_gsm_old_SendRoutingInfoArgV2); return offset; } static const ber_sequence_t gsm_old_SendRoutingInfoResV2_sequence[] = { { &hf_gsm_old_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_old_routingInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_RoutingInfo }, { &hf_gsm_old_cug_CheckInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_CUG_CheckInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_old_SendRoutingInfoResV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_old_SendRoutingInfoResV2_sequence, hf_index, ett_gsm_old_SendRoutingInfoResV2); return offset; } /* --- Module SS-DataTypes --- --- --- */ static int dissect_gsm_ss_SS_UserData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_SS_Notification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } static const value_string gsm_ss_CallOnHold_Indicator_vals[] = { { 0, "callRetrieved" }, { 1, "callOnHold" }, { 0, NULL } }; static int dissect_gsm_ss_CallOnHold_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_ss_ECT_CallState_vals[] = { { 0, "alerting" }, { 1, "active" }, { 0, NULL } }; static int dissect_gsm_ss_ECT_CallState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_RemotePartyNumber_sequence[] = { { &hf_gsm_ss_partyNumber , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_ss_partyNumberSubaddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_RemotePartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_RemotePartyNumber_sequence, hf_index, ett_gsm_ss_RemotePartyNumber); return offset; } static const value_string gsm_ss_RDN_vals[] = { { 0, "presentationAllowedAddress" }, { 1, "presentationRestricted" }, { 2, "numberNotAvailableDueToInterworking" }, { 3, "presentationRestrictedAddress" }, { 0, NULL } }; static const ber_choice_t gsm_ss_RDN_choice[] = { { 0, &hf_gsm_ss_presentationAllowedAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_RemotePartyNumber }, { 1, &hf_gsm_ss_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { 2, &hf_gsm_ss_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { 3, &hf_gsm_ss_presentationRestrictedAddress, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_ss_RemotePartyNumber }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_RDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_ss_RDN_choice, hf_index, ett_gsm_ss_RDN, NULL); return offset; } static const ber_sequence_t gsm_ss_ECT_Indicator_sequence[] = { { &hf_gsm_ss_ect_CallState, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_ECT_CallState }, { &hf_gsm_ss_rdn , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_ss_RDN }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_ECT_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_ECT_Indicator_sequence, hf_index, ett_gsm_ss_ECT_Indicator); return offset; } static int dissect_gsm_ss_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_NameSet_sequence[] = { { &hf_gsm_ss_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme }, { &hf_gsm_ss_lengthInCharacters, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_INTEGER }, { &hf_gsm_ss_nameString , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_String }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_NameSet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_NameSet_sequence, hf_index, ett_gsm_ss_NameSet); return offset; } static const value_string gsm_ss_Name_vals[] = { { 0, "namePresentationAllowed" }, { 1, "presentationRestricted" }, { 2, "nameUnavailable" }, { 3, "namePresentationRestricted" }, { 0, NULL } }; static const ber_choice_t gsm_ss_Name_choice[] = { { 0, &hf_gsm_ss_namePresentationAllowed, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameSet }, { 1, &hf_gsm_ss_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { 2, &hf_gsm_ss_nameUnavailable, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { 3, &hf_gsm_ss_namePresentationRestricted, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameSet }, { 0, NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, gsm_ss_Name_choice, hf_index, ett_gsm_ss_Name, NULL); return offset; } static const ber_sequence_t gsm_ss_NameIndicator_sequence[] = { { &hf_gsm_ss_callingName , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_ss_Name }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_NameIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_NameIndicator_sequence, hf_index, ett_gsm_ss_NameIndicator); return offset; } static const value_string gsm_ss_Multicall_Indicator_vals[] = { { 0, "nbr-SNexceeded" }, { 1, "nbr-Userexceeded" }, { 0, NULL } }; static int dissect_gsm_ss_Multicall_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_NotifySS_Arg_sequence[] = { { &hf_gsm_ss_ss_Code , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_ss_ss_Status , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status }, { &hf_gsm_ss_ss_Notification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_SS_Notification }, { &hf_gsm_ss_callIsWaiting_Indicator, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_callOnHold_Indicator, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_CallOnHold_Indicator }, { &hf_gsm_ss_mpty_Indicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_cug_Index , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Index }, { &hf_gsm_ss_clirSuppressionRejected, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_ect_Indicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_ECT_Indicator }, { &hf_gsm_ss_nameIndicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameIndicator }, { &hf_gsm_ss_ccbs_Feature , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature }, { &hf_gsm_ss_alertingPattern, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern }, { &hf_gsm_ss_multicall_Indicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Multicall_Indicator }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_NotifySS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_NotifySS_Arg_sequence, hf_index, ett_gsm_ss_NotifySS_Arg); return offset; } static const ber_sequence_t gsm_ss_BeginSubscriberActivityArg_sequence[] = { { &hf_gsm_ss_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI }, { &hf_gsm_ss_originatingEntityNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_ss_msisdn , BER_CLASS_PRI, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_BeginSubscriberActivityArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_BeginSubscriberActivityArg_sequence, hf_index, ett_gsm_ss_BeginSubscriberActivityArg); return offset; } static int dissect_gsm_ss_E1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_E2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_E3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_E4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_E5(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_E6(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_E7(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_ChargingInformation_sequence[] = { { &hf_gsm_ss_e1 , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E1 }, { &hf_gsm_ss_e2 , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E2 }, { &hf_gsm_ss_e3 , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E3 }, { &hf_gsm_ss_e4 , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E4 }, { &hf_gsm_ss_e5 , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E5 }, { &hf_gsm_ss_e6 , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E6 }, { &hf_gsm_ss_e7 , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E7 }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_ChargingInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_ChargingInformation_sequence, hf_index, ett_gsm_ss_ChargingInformation); return offset; } static const ber_sequence_t gsm_ss_ForwardChargeAdviceArg_sequence[] = { { &hf_gsm_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code }, { &hf_gsm_ss_chargingInformation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_ChargingInformation }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_ForwardChargeAdviceArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_ForwardChargeAdviceArg_sequence, hf_index, ett_gsm_ss_ForwardChargeAdviceArg); return offset; } static const ber_sequence_t gsm_ss_ForwardCUG_InfoArg_sequence[] = { { &hf_gsm_ss_cug_Index , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Index }, { &hf_gsm_ss_suppressPrefCUG, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_suppressOA , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_ForwardCUG_InfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_ForwardCUG_InfoArg_sequence, hf_index, ett_gsm_ss_ForwardCUG_InfoArg); return offset; } static const ber_sequence_t gsm_ss_AccessRegisterCCEntryArg_sequence[] = { { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_AccessRegisterCCEntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_AccessRegisterCCEntryArg_sequence, hf_index, ett_gsm_ss_AccessRegisterCCEntryArg); return offset; } static const ber_sequence_t gsm_ss_CallDeflectionArg_sequence[] = { { &hf_gsm_ss_deflectedToNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString }, { &hf_gsm_ss_deflectedToSubaddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_CallDeflectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_CallDeflectionArg_sequence, hf_index, ett_gsm_ss_CallDeflectionArg); return offset; } static const value_string gsm_ss_UUS_Service_vals[] = { { 1, "uUS1" }, { 2, "uUS2" }, { 3, "uUS3" }, { 0, NULL } }; static int dissect_gsm_ss_UUS_Service(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_UserUserServiceArg_sequence[] = { { &hf_gsm_ss_uUS_Service , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_UUS_Service }, { &hf_gsm_ss_uUS_Required , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_BOOLEAN }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_UserUserServiceArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_UserUserServiceArg_sequence, hf_index, ett_gsm_ss_UserUserServiceArg); return offset; } static const ber_sequence_t gsm_ss_LocationNotificationArg_sequence[] = { { &hf_gsm_ss_notificationType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser }, { &hf_gsm_ss_locationType , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType }, { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID }, { &hf_gsm_ss_lcsClientName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientName }, { &hf_gsm_ss_lcsRequestorID, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSRequestorID }, { &hf_gsm_ss_lcsCodeword , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodeword }, { &hf_gsm_ss_lcsServiceTypeID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LocationNotificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LocationNotificationArg_sequence, hf_index, ett_gsm_ss_LocationNotificationArg); return offset; } static const value_string gsm_ss_VerificationResponse_vals[] = { { 0, "permissionDenied" }, { 1, "permissionGranted" }, { 0, NULL } }; static int dissect_gsm_ss_VerificationResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_LocationNotificationRes_sequence[] = { { &hf_gsm_ss_verificationResponse, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_VerificationResponse }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LocationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LocationNotificationRes_sequence, hf_index, ett_gsm_ss_LocationNotificationRes); return offset; } static const value_string gsm_ss_MOLR_Type_vals[] = { { 0, "locationEstimate" }, { 1, "assistanceData" }, { 2, "deCipheringKeys" }, { 3, "deferredMo-lrTTTPInitiation" }, { 4, "deferredMo-lrSelfLocationInitiation" }, { 5, "deferredMt-lrOrmo-lrTTTPLocationEstimate" }, { 6, "deferredMt-lrOrmo-lrCancellation" }, { 0, NULL } }; static int dissect_gsm_ss_MOLR_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_ss_LocationMethod_vals[] = { { 0, "msBasedEOTD" }, { 1, "msAssistedEOTD" }, { 2, "assistedGPS" }, { 3, "msBasedOTDOA" }, { 4, "assistedGANSS" }, { 5, "assistedGPSandGANSS" }, { 0, NULL } }; static int dissect_gsm_ss_LocationMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_GPSAssistanceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const value_string gsm_ss_TerminationCause_vals[] = { { 0, "subscriberTermination" }, { 1, "uETermination" }, { 0, NULL } }; static int dissect_gsm_ss_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static int dissect_gsm_ss_GANSSAssistanceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_LCS_MOLRArg_sequence[] = { { &hf_gsm_ss_molr_Type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_MOLR_Type }, { &hf_gsm_ss_locationMethod, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_LocationMethod }, { &hf_gsm_ss_lcs_QoS , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS }, { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID }, { &hf_gsm_ss_mlc_Number , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString }, { &hf_gsm_ss_gpsAssistanceData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_GPSAssistanceData }, { &hf_gsm_ss_supportedGADShapes, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SupportedGADShapes }, { &hf_gsm_ss_lcsServiceTypeID, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID }, { &hf_gsm_ss_ageOfLocationInfo, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation }, { &hf_gsm_ss_locationType , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType }, { &hf_gsm_ss_pseudonymIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_ss_locationEstimate, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation }, { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate }, { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_periodicLDRInfo, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo }, { &hf_gsm_ss_locationUpdateRequest, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_sequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber }, { &hf_gsm_ss_terminationCause, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_TerminationCause }, { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_ganssAssistanceData, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_GANSSAssistanceData }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_MOLRArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_MOLRArg_sequence, hf_index, ett_gsm_ss_LCS_MOLRArg); return offset; } static int dissect_gsm_ss_DecipheringKeys(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; } static const ber_sequence_t gsm_ss_LCS_MOLRRes_sequence[] = { { &hf_gsm_ss_locationEstimate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation }, { &hf_gsm_ss_decipheringKeys, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_DecipheringKeys }, { &hf_gsm_ss_add_LocationEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation }, { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate }, { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_reportingPLMNList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_MOLRRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_MOLRRes_sequence, hf_index, ett_gsm_ss_LCS_MOLRRes); return offset; } static const ber_sequence_t gsm_ss_LCS_AreaEventRequestArg_sequence[] = { { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_ss_deferredLocationEventType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_DeferredLocationEventType }, { &hf_gsm_ss_areaEventInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaEventInfo }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_AreaEventRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_AreaEventRequestArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventRequestArg); return offset; } static const ber_sequence_t gsm_ss_LCS_AreaEventReportArg_sequence[] = { { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_AreaEventReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_AreaEventReportArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventReportArg); return offset; } static const ber_sequence_t gsm_ss_LCS_AreaEventCancellationArg_sequence[] = { { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_AreaEventCancellationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_AreaEventCancellationArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventCancellationArg); return offset; } static const ber_sequence_t gsm_ss_LCS_PeriodicLocationRequestArg_sequence[] = { { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_periodicLDRInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo }, { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID }, { &hf_gsm_ss_qoS , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS }, { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { &hf_gsm_ss_reportingPLMNList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_PeriodicLocationRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_PeriodicLocationRequestArg_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationRequestArg); return offset; } static const ber_sequence_t gsm_ss_LCS_PeriodicLocationRequestRes_sequence[] = { { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_PeriodicLocationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_PeriodicLocationRequestRes_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationRequestRes); return offset; } static const ber_sequence_t gsm_ss_LCS_LocationUpdateArg_sequence[] = { { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_add_LocationEstimate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation }, { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate }, { &hf_gsm_ss_sequenceNumber, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_LocationUpdateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_LocationUpdateArg_sequence, hf_index, ett_gsm_ss_LCS_LocationUpdateArg); return offset; } static const ber_sequence_t gsm_ss_LCS_LocationUpdateRes_sequence[] = { { &hf_gsm_ss_terminationCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_TerminationCause }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_LocationUpdateRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_LocationUpdateRes_sequence, hf_index, ett_gsm_ss_LCS_LocationUpdateRes); return offset; } static const ber_sequence_t gsm_ss_LCS_PeriodicLocationCancellationArg_sequence[] = { { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber }, { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSN_Address }, { NULL, 0, 0, 0, NULL } }; static int dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, gsm_ss_LCS_PeriodicLocationCancellationArg_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationCancellationArg); return offset; } /* --- Module SS-Operations --- --- --- */ /*--- End of included file: packet-gsm_map-fn.c ---*/ #line 871 "packet-gsmmap-template.c" /* Specific translation for MAP V3 */ const value_string gsm_map_V1V2_opr_code_strings[] = { { 44, "forwardSM" }, { 45, "sendRoutingInfoForSM" }, { 46, "forwardSM" }, { 0, NULL } }; /* Generic translation for MAP operation */ const value_string gsm_map_opr_code_strings[] = { /*--- Included file: packet-gsm_map-table.c ---*/ #line 1 "packet-gsm_map-table.c" /* --- Module Remote-Operations-Information-Objects --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MobileDomainDefinitions --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-ApplicationContexts --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-SS-Code --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-BS-Code --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-TS-Code --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-ExtensionDataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-CommonDataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-SS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-ER-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-SM-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-OM-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-MS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-CH-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-LCS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-GR-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-DialogueInformation --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-LocationServiceOperations --- --- --- */ { 85, "sendRoutingInfoForLCS" }, { 83, "provideSubscriberLocation" }, { 86, "subscriberLocationReport" }, /* --- Module MAP-Group-Call-Operations --- --- --- */ { 39, "prepareGroupCall" }, { 40, "sendGroupCallEndSignal" }, { 41, "processGroupCallSignalling" }, { 42, "forwardGroupCallSignalling" }, { 84, "sendGroupCallInfo" }, /* --- Module MAP-ShortMessageServiceOperations --- --- --- */ { 45, "sendRoutingInfoForSM" }, { 46, "mo_ForwardSM" }, { 44, "mt_ForwardSM" }, { 47, "reportSM_DeliveryStatus" }, { 64, "alertServiceCentre" }, { 63, "informServiceCentre" }, { 66, "readyForSM" }, { 21, "mt_ForwardSM_VGCS" }, /* --- Module MAP-SupplementaryServiceOperations --- --- --- */ { 10, "registerSS" }, { 11, "eraseSS" }, { 12, "activateSS" }, { 13, "deactivateSS" }, { 14, "interrogateSS" }, { 59, "processUnstructuredSS_Request" }, { 60, "unstructuredSS_Request" }, { 61, "unstructuredSS_Notify" }, { 17, "registerPassword" }, { 18, "getPassword" }, { 72, "ss_InvocationNotification" }, { 76, "registerCC_Entry" }, { 77, "eraseCC_Entry" }, /* --- Module MAP-CallHandlingOperations --- --- --- */ { 22, "sendRoutingInfo" }, { 4, "provideRoamingNumber" }, { 6, "resumeCallHandling" }, { 73, "setReportingState" }, { 74, "statusReport" }, { 75, "remoteUserFree" }, { 87, "ist_Alert" }, { 88, "ist_Command" }, { 20, "releaseResources" }, /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */ { 50, "activateTraceMode" }, { 51, "deactivateTraceMode" }, { 58, "sendIMSI" }, /* --- Module MAP-MobileServiceOperations --- --- --- */ { 2, "updateLocation" }, { 3, "cancelLocation" }, { 67, "purgeMS" }, { 55, "sendIdentification" }, { 23, "updateGprsLocation" }, { 70, "provideSubscriberInfo" }, { 71, "anyTimeInterrogation" }, { 62, "anyTimeSubscriptionInterrogation" }, { 65, "anyTimeModification" }, { 5, "noteSubscriberDataModified" }, { 68, "prepareHandover" }, { 29, "sendEndSignal" }, { 33, "processAccessSignalling" }, { 34, "forwardAccessSignalling" }, { 69, "prepareSubsequentHandover" }, { 56, "sendAuthenticationInfo" }, { 15, "authenticationFailureReport" }, { 43, "checkIMEI" }, { 7, "insertSubscriberData" }, { 8, "deleteSubscriberData" }, { 37, "reset" }, { 38, "forwardCheckSS_Indication" }, { 57, "restoreData" }, { 24, "sendRoutingInfoForGprs" }, { 25, "failureReport" }, { 26, "noteMsPresentForGprs" }, { 89, "noteMM_Event" }, /* --- Module MAP-Errors --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-Protocol --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module DummyMAP --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module SS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module SS-Operations --- --- --- */ { 19, "processUnstructuredSS_Data" }, { 54, "beginSubscriberActivity" }, { 16, "notifySS" }, { 125, "forwardChargeAdvice" }, { 120, "forwardCUG_Info" }, { 124, "buildMPTY" }, { 123, "holdMPTY" }, { 122, "retrieveMPTY" }, { 121, "splitMPTY" }, { 126, "explicitCT" }, { 119, "accessRegisterCCEntry" }, { 117, "callDeflection" }, { 118, "userUserService" }, { 116, "lcs_LocationNotification" }, { 115, "lcs_MOLR" }, { 114, "lcs_AreaEventRequest" }, { 113, "lcs_AreaEventReport" }, { 112, "lcs_AreaEventCancellation" }, { 111, "lcs_PeriodicLocationRequest" }, { 110, "lcs_LocationUpdate" }, { 109, "lcs_PeriodicLocationCancellation" }, /*--- End of included file: packet-gsm_map-table.c ---*/ #line 882 "packet-gsmmap-template.c" { 0, NULL } }; static const value_string gsm_map_err_code_string_vals[] = { /*--- Included file: packet-gsm_map-table.c ---*/ #line 1 "packet-gsm_map-table.c" /* --- Module Remote-Operations-Information-Objects --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MobileDomainDefinitions --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-ApplicationContexts --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-SS-Code --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-BS-Code --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-TS-Code --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-ExtensionDataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-CommonDataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-SS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-ER-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-SM-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-OM-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-MS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-CH-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-LCS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-GR-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-DialogueInformation --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-LocationServiceOperations --- --- --- */ { 85, "sendRoutingInfoForLCS" }, { 83, "provideSubscriberLocation" }, { 86, "subscriberLocationReport" }, /* --- Module MAP-Group-Call-Operations --- --- --- */ { 39, "prepareGroupCall" }, { 40, "sendGroupCallEndSignal" }, { 41, "processGroupCallSignalling" }, { 42, "forwardGroupCallSignalling" }, { 84, "sendGroupCallInfo" }, /* --- Module MAP-ShortMessageServiceOperations --- --- --- */ { 45, "sendRoutingInfoForSM" }, { 46, "mo_ForwardSM" }, { 44, "mt_ForwardSM" }, { 47, "reportSM_DeliveryStatus" }, { 64, "alertServiceCentre" }, { 63, "informServiceCentre" }, { 66, "readyForSM" }, { 21, "mt_ForwardSM_VGCS" }, /* --- Module MAP-SupplementaryServiceOperations --- --- --- */ { 10, "registerSS" }, { 11, "eraseSS" }, { 12, "activateSS" }, { 13, "deactivateSS" }, { 14, "interrogateSS" }, { 59, "processUnstructuredSS_Request" }, { 60, "unstructuredSS_Request" }, { 61, "unstructuredSS_Notify" }, { 17, "registerPassword" }, { 18, "getPassword" }, { 72, "ss_InvocationNotification" }, { 76, "registerCC_Entry" }, { 77, "eraseCC_Entry" }, /* --- Module MAP-CallHandlingOperations --- --- --- */ { 22, "sendRoutingInfo" }, { 4, "provideRoamingNumber" }, { 6, "resumeCallHandling" }, { 73, "setReportingState" }, { 74, "statusReport" }, { 75, "remoteUserFree" }, { 87, "ist_Alert" }, { 88, "ist_Command" }, { 20, "releaseResources" }, /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */ { 50, "activateTraceMode" }, { 51, "deactivateTraceMode" }, { 58, "sendIMSI" }, /* --- Module MAP-MobileServiceOperations --- --- --- */ { 2, "updateLocation" }, { 3, "cancelLocation" }, { 67, "purgeMS" }, { 55, "sendIdentification" }, { 23, "updateGprsLocation" }, { 70, "provideSubscriberInfo" }, { 71, "anyTimeInterrogation" }, { 62, "anyTimeSubscriptionInterrogation" }, { 65, "anyTimeModification" }, { 5, "noteSubscriberDataModified" }, { 68, "prepareHandover" }, { 29, "sendEndSignal" }, { 33, "processAccessSignalling" }, { 34, "forwardAccessSignalling" }, { 69, "prepareSubsequentHandover" }, { 56, "sendAuthenticationInfo" }, { 15, "authenticationFailureReport" }, { 43, "checkIMEI" }, { 7, "insertSubscriberData" }, { 8, "deleteSubscriberData" }, { 37, "reset" }, { 38, "forwardCheckSS_Indication" }, { 57, "restoreData" }, { 24, "sendRoutingInfoForGprs" }, { 25, "failureReport" }, { 26, "noteMsPresentForGprs" }, { 89, "noteMM_Event" }, /* --- Module MAP-Errors --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module MAP-Protocol --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module DummyMAP --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module SS-DataTypes --- --- --- */ /* Unknown or empty loop list OPERATION */ /* --- Module SS-Operations --- --- --- */ { 19, "processUnstructuredSS_Data" }, { 54, "beginSubscriberActivity" }, { 16, "notifySS" }, { 125, "forwardChargeAdvice" }, { 120, "forwardCUG_Info" }, { 124, "buildMPTY" }, { 123, "holdMPTY" }, { 122, "retrieveMPTY" }, { 121, "splitMPTY" }, { 126, "explicitCT" }, { 119, "accessRegisterCCEntry" }, { 117, "callDeflection" }, { 118, "userUserService" }, { 116, "lcs_LocationNotification" }, { 115, "lcs_MOLR" }, { 114, "lcs_AreaEventRequest" }, { 113, "lcs_AreaEventReport" }, { 112, "lcs_AreaEventCancellation" }, { 111, "lcs_PeriodicLocationRequest" }, { 110, "lcs_LocationUpdate" }, { 109, "lcs_PeriodicLocationCancellation" }, /*--- End of included file: packet-gsm_map-table.c ---*/ #line 886 "packet-gsmmap-template.c" { 0, NULL } }; static const true_false_string gsm_map_extension_value = { "No Extension", "Extension" }; static const value_string gsm_map_nature_of_number_values[] = { { 0x00, "unknown" }, { 0x01, "International Number" }, { 0x02, "National Significant Number" }, { 0x03, "Network Specific Number" }, { 0x04, "Subscriber Number" }, { 0x05, "Reserved" }, { 0x06, "Abbreviated Number" }, { 0x07, "Reserved for extension" }, { 0, NULL } }; static const value_string gsm_map_number_plan_values[] = { { 0x00, "unknown" }, { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" }, { 0x02, "spare" }, { 0x03, "Data Numbering (ITU-T Rec. X.121)" }, { 0x04, "Telex Numbering (ITU-T Rec. F.69)" }, { 0x05, "spare" }, { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" }, { 0x07, "spare" }, { 0x08, "National Numbering" }, { 0x09, "Private Numbering" }, { 0x0f, "Reserved for extension" }, { 0, NULL } }; static const true_false_string gsm_map_Ss_Status_q_bit_values = { "Quiescent", "Operative" }; static const true_false_string gsm_map_Ss_Status_p_values = { "Provisioned", "Not Provisioned" }; static const true_false_string gsm_map_Ss_Status_r_values = { "Registered", "Not Registered" }; static const true_false_string gsm_map_Ss_Status_a_values = { "Active", "not Active" }; /* * Translate the MAP operation code value to a text string * Take into account the MAP version for ForwardSM */ const gchar* gsm_map_opr_code(guint32 val) { switch (val) { case 44: /*mt-forwardSM*/ case 46: /*mo-forwardSM*/ if (application_context_version < 3) { return val_to_str(val, gsm_map_V1V2_opr_code_strings, "Unknown GSM-MAP (%u)"); } /* Else use the default map operation translation */ default: return val_to_str(val, gsm_old_GSMMAPOperationLocalvalue_vals, "Unknown GSM-MAP opcode (%u)"); break; } } /* Prototype for a decoding function */ typedef int (* dissect_function_t)( gboolean, tvbuff_t *, int , asn1_ctx_t *, proto_tree *, int); /* * Dissect Multiple Choice Message * This function is used to decode a message, when several encoding may be used. * For exemple, in the last MAP version, the Cancel Location is defined like this: * CancelLocationArg ::= [3] IMPLICIT SEQUENCE * But in the previous MAP version, it was a CHOICE between a SEQUENCE and an IMSI * As ASN1 encoders (or software) still uses the old encoding, this function allows * the decoding of both versions. * Moreover, some optimizations (or bad practice ?) in ASN1 encoder, removes the * SEQUENCE tag, when only one parameter is present in the SEQUENCE. * This explain why the function expects 3 parameters: * - a [3] SEQUENCE corresponding the recent ASN1 MAP encoding * - a SEQUENCE for old style * - and a single parameter, for old version or optimizations * * The analyze of the first ASN1 tag, indicate what kind of decoding should be used, * if the decoding function is provided (so not a NULL function) */ static int dissect_mc_message(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, gboolean implicit_param _U_, dissect_function_t parameter, int hf_index_param _U_, gboolean implicit_seq _U_, dissect_function_t sequence, int hf_index_seq _U_, gboolean implicit_seq3 _U_, dissect_function_t sequence3, int hf_index_seq3 _U_ ) { guint8 octet; gint8 bug_class; gboolean bug_pc, bug_ind_field; gint32 bug_tag; guint32 bug_len; proto_item *cause; octet = tvb_get_guint8(tvb,0); if ( (octet & 0xf) == 3) { /* XXX asn2wrs can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &bug_class, &bug_pc, &bug_tag); offset = get_ber_length(tvb, offset, &bug_len, &bug_ind_field); if (sequence3 != NULL) { offset= (sequence3) (implicit_seq3, tvb, offset, actx, tree, hf_index_seq3); } else { cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown or not implemented [3] sequence, cannot decode"); proto_item_set_expert_flags(cause, PI_UNDECODED, PI_ERROR); expert_add_info_format(actx->pinfo, cause, PI_UNDECODED, PI_ERROR, "Unknown or not implemented [3] sequence"); } } else if (octet == 0x30) { if (sequence != NULL) { offset= (sequence) (implicit_seq, tvb, 0, actx, tree, hf_index_seq); } else { cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown or not implemented sequence"); proto_item_set_expert_flags(cause, PI_UNDECODED, PI_ERROR); expert_add_info_format(actx->pinfo, cause, PI_UNDECODED, PI_ERROR, "Unknown or not implemented sequence"); } } else { if (parameter != NULL) { offset= (parameter) (implicit_param, tvb, offset, actx, tree, hf_index_param); } else { cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown or not implemented parameter"); proto_item_set_expert_flags(cause, PI_UNDECODED, PI_ERROR); expert_add_info_format(actx->pinfo, cause, PI_UNDECODED, PI_ERROR, "Unknown or not implemented parameter"); } } return offset; } static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) { proto_item *cause; switch(opcode){ case 2: /*updateLocation*/ offset=dissect_gsm_map_ms_UpdateLocationArg(FALSE, tvb, offset, actx, tree, -1); break; case 3: /*cancelLocation*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity, FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity, TRUE , dissect_gsm_map_ms_CancelLocationArg, -1);/*undefined*/ break; case 4: /*provideRoamingNumber*/ offset=dissect_gsm_map_ch_ProvideRoamingNumberArg(FALSE, tvb, offset, actx, tree, -1); break; case 5: /*noteSubscriberDataModified*/ offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(FALSE, tvb, offset, actx, tree, -1); break; case 6: /*resumeCallHandling*/ offset=dissect_gsm_map_ch_ResumeCallHandlingArg(FALSE, tvb, offset, actx, tree, -1); break; case 7: /*insertSubscriberData*/ offset=dissect_gsm_map_ms_InsertSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1); break; case 8: /*deleteSubscriberData*/ offset=dissect_gsm_map_ms_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1); break; /* TODO find out why this isn't in the ASN1 file */ /* reserved sendParameters (9) */ case 10: /*registerSS*/ offset=dissect_gsm_map_ss_RegisterSS_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 11: /*eraseSS*/ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1); break; case 12: /*activateSS*/ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1); break; case 13: /*deactivateSS*/ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1); break; case 14: /*interrogateSS*/ offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1); break; case 15: /*authenticationFailureReport*/ offset=dissect_gsm_map_ms_AuthenticationFailureReportArg(FALSE, tvb, offset, actx, tree, -1); break; case 16: /*SS-protocol notifySS*/ offset=dissect_gsm_ss_NotifySS_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 17: /*registerPassword*/ offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code); break; case 18: /*getPassword*/ offset=dissect_gsm_old_GetPasswordArg(FALSE, tvb, offset, actx, tree, hf_gsm_map_getPassword); break; case 19: /* SS-Protocol processUnstructuredSS-Data (19) */ offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData); break; case 20: /*releaseResources*/ offset=dissect_gsm_map_ch_ReleaseResourcesArg(FALSE, tvb, offset, actx, tree, -1); break; case 21: /*mt-ForwardSM-VGCS*/ offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 22: /*sendRoutingInfo*/ if (application_context_version == 3){ offset=dissect_gsm_map_ch_SendRoutingInfoArg(FALSE, tvb, offset, actx, tree, -1); }else{ offset=dissect_gsm_old_SendRoutingInfoArgV2(FALSE, tvb, offset, actx, tree, -1); } break; case 23: /*updateGprsLocation*/ offset=dissect_gsm_map_ms_UpdateGprsLocationArg(FALSE, tvb, offset, actx, tree, -1); break; case 24: /*sendRoutingInfoForGprs*/ offset=dissect_gsm_map_ms_SendRoutingInfoForGprsArg(FALSE, tvb, offset, actx, tree, -1); break; case 25: /*failureReport*/ offset=dissect_gsm_map_ms_FailureReportArg(FALSE, tvb, offset, actx, tree, -1); break; case 26: /*noteMsPresentForGprs*/ offset=dissect_gsm_map_ms_NoteMsPresentForGprsArg(FALSE, tvb, offset, actx, tree, -1); break; /* undefined 27 */ /* reserved performHandover (28) */ case 29: /*sendEndSignal*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, dissect_gsm_old_Bss_APDU, -1, TRUE , dissect_gsm_map_ms_SendEndSignal_Arg, -1); break; /* reserved performSubsequentHandover (30) */ case 31: /*provideSIWFSNumber*/ offset=dissect_gsm_old_ProvideSIWFSNumberArg(FALSE, tvb, offset, actx, tree, -1); break; case 32: /*sIWFSSignallingModify*/ offset=dissect_gsm_old_SIWFSSignallingModifyArg(FALSE, tvb, offset, actx, tree, -1); break; case 33: /*processAccessSignalling*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, dissect_gsm_old_Bss_APDU, -1, TRUE , dissect_gsm_map_ms_ProcessAccessSignalling_Arg, -1); break; case 34: /*forwardAccessSignalling*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, dissect_gsm_old_Bss_APDU, -1, TRUE , dissect_gsm_map_ms_ForwardAccessSignalling_Arg, -1); break; /* reserved noteInternalHandover (35) */ /* undefined 36 */ case 37: /*reset*/ offset=dissect_gsm_map_ms_ResetArg(FALSE, tvb, offset, actx, tree, -1); break; case 38: /*forwardCheckSS-Indication*/ return offset; break; case 39: /*prepareGroupCall*/ offset=dissect_gsm_map_gr_PrepareGroupCallArg(FALSE, tvb, offset, actx, tree, -1); break; case 40: /*sendGroupCallEndSignal*/ offset = dissect_gsm_map_gr_SendGroupCallEndSignalArg(FALSE, tvb, offset, actx, tree, -1); break; case 41: /*processGroupCallSignalling*/ offset = dissect_gsm_map_gr_ProcessGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1); break; case 42: /*forwardGroupCallSignalling*/ offset=dissect_gsm_map_gr_ForwardGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1); break; case 43: /*checkIMEI*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei, FALSE, dissect_gsm_map_ms_CheckIMEI_Arg, -1, TRUE , NULL, -1); /* no [3] SEQUENCE */ break; case 44: /*mt-forwardSM(v3) or ForwardSM(v1/v2)*/ if (application_context_version == 3) offset=dissect_gsm_map_sm_MT_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1); else { offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1); } break; case 45: /*sendRoutingInfoForSM*/ offset=dissect_gsm_map_sm_RoutingInfoForSM_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 46: /*mo-forwardSM(v3) or ForwardSM(v1/v2)*/ if (application_context_version == 3) offset=dissect_gsm_map_sm_MO_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1); else { offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1); } break; case 47: /*reportSM-DeliveryStatus*/ offset=dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, actx, tree, -1); break; /* reserved noteSubscriberPresent (48) */ /* reserved alertServiceCentreWithoutResult (49) * ETS 300 599: December 2000 (GSM 09.02 version 4.19.1) * -- alertServiceCentreWithoutResult must not be used in * -- version greater 1 */ case 49: offset = dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1); break; case 50: /*activateTraceMode*/ offset=dissect_gsm_map_om_ActivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1); break; case 51: /*deactivateTraceMode*/ offset=dissect_gsm_map_om_DeactivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1); break; /* reserved traceSubscriberActivity (52) */ /* undefined 53 */ case 54: /*beginSubscriberActivity*/ offset=dissect_gsm_ss_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1); break; case 55: /*sendIdentification*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi, FALSE, dissect_gsm_map_ms_SendIdentificationArg, -1, TRUE, NULL, -1); break; case 56: /*sendAuthenticationInfo*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi, FALSE, dissect_gsm_map_ms_SendAuthenticationInfoArg, -1, TRUE, NULL, -1); break; case 57: /*restoreData*/ offset=dissect_gsm_map_ms_RestoreDataArg(FALSE, tvb, offset, actx, tree, -1); break; case 58: /*sendIMSI*/ offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, actx, tree, hf_gsm_map_msisdn); break; case 59: /*processUnstructuredSS-Request*/ offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 60: /*unstructuredSS-Request*/ offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 61: /*unstructuredSS-Notify*/ offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 62: /*AnyTimeSubscriptionInterrogation*/ offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, actx, tree, -1); break; case 63: /*informServiceCentre*/ offset=dissect_gsm_map_sm_InformServiceCentreArg(FALSE, tvb, offset, actx, tree, -1); break; case 64: /*alertServiceCentre*/ offset=dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1); break; case 65: /*AnyTimeModification*/ offset=dissect_gsm_map_ms_AnyTimeModificationArg(FALSE, tvb, offset, actx, tree, -1); break; case 66: /*readyForSM*/ offset=dissect_gsm_map_sm_ReadyForSM_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 67: /*purgeMS*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi, FALSE, dissect_gsm_old_PurgeMSArgV2, -1, /*undefined*/ TRUE , dissect_gsm_map_ms_PurgeMS_Arg, -1); break; case 68: /*prepareHandover*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, dissect_gsm_old_PrepareHO_ArgOld, -1, TRUE, dissect_gsm_map_ms_PrepareHO_Arg, -1); break; case 69: /*prepareSubsequentHandover*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, NULL, -1, TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg, -1); break; case 70: /*provideSubscriberInfo*/ offset=dissect_gsm_map_ms_ProvideSubscriberInfoArg(FALSE, tvb, offset, actx, tree, -1); break; case 71: /*anyTimeInterrogation*/ offset=dissect_gsm_map_ms_AnyTimeInterrogationArg(FALSE, tvb, offset, actx, tree, -1); break; case 72: /*ss-InvocationNotificatio*/ offset=dissect_gsm_map_ss_SS_InvocationNotificationArg(FALSE, tvb, offset, actx, tree, -1); break; case 73: /*setReportingState*/ offset=dissect_gsm_map_ch_SetReportingStateArg(FALSE, tvb, offset, actx, tree, -1); break; case 74: /*statusReport*/ offset=dissect_gsm_map_ch_StatusReportArg(FALSE, tvb, offset, actx, tree, -1); break; case 75: /*remoteUserFree*/ offset=dissect_gsm_map_ch_RemoteUserFreeArg(FALSE, tvb, offset, actx, tree, -1); break; case 76: /*registerCC-Entry*/ offset=dissect_gsm_map_ss_RegisterCC_EntryArg(FALSE, tvb, offset, actx, tree, -1); break; case 77: /*eraseCC-Entry*/ offset=dissect_gsm_map_ss_EraseCC_EntryArg(FALSE, tvb, offset, actx, tree, -1); break; case 78: /*secureTransportClass1*/ case 79: /*secureTransportClass1*/ case 80: /*secureTransportClass1*/ case 81: /*secureTransportClass1*/ offset=dissect_gsm_old_SecureTransportArg(FALSE, tvb, offset, actx, tree, -1); break; /* undefined 82 */ case 83: /*provideSubscriberLocation*/ offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 84: /*sendGroupCallInfo*/ offset=dissect_gsm_map_gr_SendGroupCallInfoArg(FALSE, tvb, offset, actx, tree, -1); break; case 85: /*sendRoutingInfoForLCS*/ offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 86: /*subscriberLocationReport*/ offset=dissect_gsm_map_lcs_SubscriberLocationReport_Arg(FALSE, tvb, offset, actx, tree, -1); break; case 87: /*ist-Alert*/ offset=dissect_gsm_map_ch_IST_AlertArg(FALSE, tvb, offset, actx, tree, -1); break; case 88: /*ist-Command*/ offset=dissect_gsm_map_ch_IST_CommandArg(FALSE, tvb, offset, actx, tree, -1); break; case 89: /*noteMM-Event*/ offset=dissect_gsm_map_ms_NoteMM_EventArg(FALSE, tvb, offset, actx, tree, -1); break; case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/ offset=dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(FALSE, tvb, offset, actx, tree, -1); break; case 110: /*SS-protocol lcs-LocationUpdate*/ offset=dissect_gsm_ss_LCS_LocationUpdateArg(FALSE, tvb, offset, actx, tree, -1); break; case 111: /*SS-protocol lcs-PeriodicLocationRequest*/ offset=dissect_gsm_ss_LCS_PeriodicLocationRequestArg(FALSE, tvb, offset, actx, tree, -1); break; case 112: /*SS-protocol lcs-AreaEventCancellation*/ offset=dissect_gsm_ss_LCS_AreaEventCancellationArg(FALSE, tvb, offset, actx, tree, -1); break; case 113: /*SS-protocol lcs-AreaEventReport*/ offset=dissect_gsm_ss_LCS_AreaEventReportArg(FALSE, tvb, offset, actx, tree, -1); break; case 114: /*SS-protocol lcs-AreaEventRequest*/ offset=dissect_gsm_ss_LCS_AreaEventRequestArg(FALSE, tvb, offset, actx, tree, -1); break; case 115: /*SS-protocol lcs-MOLR*/ offset=dissect_gsm_ss_LCS_MOLRArg(FALSE, tvb, offset, actx, tree, -1); break; case 116: /*SS-protocol lcs-LocationNotification*/ offset=dissect_gsm_ss_LocationNotificationArg(FALSE, tvb, offset, actx, tree, -1); break; case 117: /*SS-protocol callDeflection*/ offset=dissect_gsm_ss_CallDeflectionArg(FALSE, tvb, offset, actx, tree, -1); break; case 118: /*SS-protocol userUserService*/ offset=dissect_gsm_ss_UserUserServiceArg(FALSE, tvb, offset, actx, tree, -1); break; case 119: /*SS-protocol accessRegisterCCEntry*/ offset=dissect_gsm_ss_AccessRegisterCCEntryArg(FALSE, tvb, offset, actx, tree, -1); break; case 120: /*SS-protocol forwardCUG-Info*/ application_context_version = 3; offset=dissect_gsm_ss_ForwardCUG_InfoArg(FALSE, tvb, offset, actx, tree, -1); break; case 121: /*SS-protocol splitMPTY no Argument*/ break; case 122: /*SS-protocol retrieveMPTY no Argument*/ break; case 123: /*SS-protocol holdMPTY no Argument*/ break; case 124: /*SS-protocol buildMPTY no Argument*/ break; case 125: /*SS-protocol forwardChargeAdvice*/ offset=dissect_gsm_ss_ForwardChargeAdviceArg(FALSE, tvb, offset, actx, tree, -1); break; case 126: /*SS-protocol explicitCT no Argument*/ break; default: cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob"); proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN); expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "Unknown invokeData %d",opcode); } return offset; } static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) { proto_item *cause; switch(opcode){ case 2: /*updateLocation*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi, FALSE, dissect_gsm_map_ms_UpdateLocationRes, -1, TRUE , NULL, -1); break; case 3: /*cancelLocation*/ offset=dissect_gsm_map_ms_CancelLocationRes(FALSE, tvb, offset, actx, tree, -1); break; case 4: /*provideRoamingNumber*/ offset=dissect_gsm_map_ch_ProvideRoamingNumberRes(FALSE, tvb, offset, actx, tree, -1); break; case 5: /*noteSubscriberDataModified*/ offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedRes(FALSE, tvb, offset, actx, tree, -1); break; case 6: /*resumeCallHandling*/ offset=dissect_gsm_map_ch_ResumeCallHandlingRes(FALSE, tvb, offset, actx, tree, -1); break; case 7: /*insertSubscriberData*/ offset=dissect_gsm_map_ms_InsertSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1); break; case 8: /*deleteSubscriberData*/ offset=dissect_gsm_map_ms_DeleteSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1); break; /* TODO find out why this isn't in the ASN1 file case 9: sendParameters offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1); break; */ case 10: /*registerSS*/ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1); break; case 11: /*eraseSS*/ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1); break; case 12: /*activateSS*/ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1); break; case 13: /*deactivateSS*/ offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1); break; case 14: /*interrogateSS*/ offset=dissect_gsm_map_ss_InterrogateSS_Res(FALSE, tvb, offset, actx, tree, -1); break; case 15: /*authenticationFailureReport*/ offset=dissect_gsm_map_ms_AuthenticationFailureReportRes(FALSE, tvb, offset, actx, tree, -1); break; case 17: /*registerPassword*/ /* change hf_gsm_map_ss_Code to something with password */ offset=dissect_gsm_old_NewPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code); break; case 18: /*getPassword*/ offset=dissect_gsm_old_CurrentPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_currentPassword); break; case 19: /* SS-Protocol processUnstructuredSS-Data (19) */ offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData); break; case 20: /*releaseResources*/ offset=dissect_gsm_map_ch_ReleaseResourcesRes(FALSE, tvb, offset, actx, tree, -1); break; case 21: /*mt-ForwardSM-VGCS*/ offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(FALSE, tvb, offset, actx, tree, -1); break; case 22: /*sendRoutingInfo*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi, FALSE, dissect_gsm_old_SendRoutingInfoResV2, -1, TRUE , dissect_gsm_map_ch_SendRoutingInfoRes, -1); break; case 23: /*updateGprsLocation*/ offset=dissect_gsm_map_ms_UpdateGprsLocationRes(FALSE, tvb, offset, actx, tree, -1); break; case 24: /*sendRoutingInfoForGprs*/ offset=dissect_gsm_map_ms_SendRoutingInfoForGprsRes(FALSE, tvb, offset, actx, tree, -1); break; case 25: /*failureReport*/ offset=dissect_gsm_map_ms_FailureReportRes(FALSE, tvb, offset, actx, tree, -1); break; case 26: /*noteMsPresentForGprs*/ offset=dissect_gsm_map_ms_NoteMsPresentForGprsRes(FALSE, tvb, offset, actx, tree, -1); break; case 29: /*sendEndSignal*/ /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) } */ offset=dissect_gsm_map_ms_SendEndSignal_Res(FALSE, tvb, offset, actx, tree, -1); break; case 31: /*provideSIWFSNumber*/ offset=dissect_gsm_old_ProvideSIWFSNumberRes(FALSE, tvb, offset, actx, tree, -1); break; case 32: /*provideSIWFSSignallingModify*/ offset=dissect_gsm_old_SIWFSSignallingModifyRes(FALSE, tvb, offset, actx, tree, -1); break; case 39: /*prepareGroupCall*/ offset=dissect_gsm_map_gr_PrepareGroupCallRes(FALSE, tvb, offset, actx, tree, -1); break; case 40: /*sendGroupCallEndSignal*/ offset=dissect_gsm_map_gr_SendGroupCallEndSignalRes(FALSE, tvb, offset, actx, tree, -1); break; case 43: /*checkIMEI*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_ms_EquipmentStatus, hf_gsm_map_ms_equipmentStatus, FALSE, dissect_gsm_map_ms_CheckIMEI_Res, -1, TRUE, NULL, -1); break; case 44: /*mt-forwardSM*/ offset=dissect_gsm_map_sm_MT_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1); break; case 45: /*sendRoutingInfoForSM*/ offset=dissect_gsm_map_sm_RoutingInfoForSM_Res(FALSE, tvb, offset, actx, tree, -1); break; case 46: /*mo-forwardSM*/ offset=dissect_gsm_map_sm_MO_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1); break; case 47: /*reportSM-DeliveryStatus*/ offset=dissect_gsm_map_sm_ReportSM_DeliveryStatusRes(FALSE, tvb, offset, actx, tree, -1); break; case 48: /*noteSubscriberPresent*/ break; case 50: /*activateTraceMode*/ offset=dissect_gsm_map_om_ActivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1); break; case 51: /*deactivateTraceMode*/ offset=dissect_gsm_map_om_DeactivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1); break; case 55: /*sendIdentification */ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi, FALSE, dissect_gsm_old_SendIdentificationResV2, -1,/*undefined*/ TRUE, dissect_gsm_map_ms_SendIdentificationRes, -1); break; case 56: /*sendAuthenticationInfo*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, dissect_gsm_old_SendAuthenticationInfoResOld, -1, TRUE , dissect_gsm_map_ms_SendAuthenticationInfoRes, -1); break; case 57: /*restoreData*/ offset=dissect_gsm_map_ms_RestoreDataRes(FALSE, tvb, offset, actx, tree, -1); break; case 58: /*sendIMSI*/ offset=dissect_gsm_map_IMSI(FALSE, tvb, offset, actx, tree, hf_gsm_map_ms_imsi); break; case 59: /*unstructuredSS-Request*/ offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1); break; case 60: /*unstructuredSS-Request*/ offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1); break; case 61: /*unstructuredSS-Notify*/ /* TRUE ? */ proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob"); break; case 62: /*AnyTimeSubscriptionInterrogation*/ offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, actx, tree, -1); break; case 64: /*alertServiceCentre*/ /* TRUE */ break; case 65: /*AnyTimeModification*/ offset=dissect_gsm_map_ms_AnyTimeModificationRes(FALSE, tvb, offset, actx, tree, -1); break; case 66: /*readyForSM*/ offset=dissect_gsm_map_sm_ReadyForSM_Res(FALSE, tvb, offset, actx, tree, -1); break; case 67: /*purgeMS*/ offset=dissect_gsm_map_ms_PurgeMS_Res(FALSE, tvb, offset, actx, tree, -1); break; case 68: /*prepareHandover*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, dissect_gsm_old_PrepareHO_ResOld, -1, TRUE , dissect_gsm_map_ms_PrepareHO_Res, -1); break; case 69: /*prepareSubsequentHandover*/ offset=dissect_mc_message(tvb, offset, actx, tree, FALSE, NULL, -1, FALSE, NULL, -1, TRUE , dissect_gsm_map_ms_PrepareSubsequentHO_Res, -1); break; case 70: /*provideSubscriberInfo*/ offset=dissect_gsm_map_ms_ProvideSubscriberInfoRes(FALSE, tvb, offset, actx, tree, -1); break; case 71: /*anyTimeInterrogation*/ offset=dissect_gsm_map_ms_AnyTimeInterrogationRes(FALSE, tvb, offset, actx, tree, -1); break; case 72: /*ss-InvocationNotificatio*/ offset=dissect_gsm_map_ss_SS_InvocationNotificationRes(FALSE, tvb, offset, actx, tree, -1); break; case 73: /*setReportingState*/ offset=dissect_gsm_map_ch_SetReportingStateRes(FALSE, tvb, offset, actx, tree, -1); break; case 74: /*statusReport*/ offset=dissect_gsm_map_ch_StatusReportRes(FALSE, tvb, offset, actx, tree, -1); break; case 75: /*remoteUserFree*/ offset=dissect_gsm_map_ch_RemoteUserFreeRes(FALSE, tvb, offset, actx, tree, -1); break; case 76: /*registerCC-Entry*/ offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1); break; case 77: /*eraseCC-Entry*/ offset=dissect_gsm_map_ss_EraseCC_EntryRes(FALSE, tvb, offset, actx, tree, -1); break; case 78: /*secureTransportClass1*/ case 79: /*secureTransportClass2*/ case 80: /*secureTransportClass3*/ case 81: /*secureTransportClass4*/ offset=dissect_gsm_old_SecureTransportRes(FALSE, tvb, offset, actx, tree, -1); break; case 83: /*provideSubscriberLocation*/ offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Res(FALSE, tvb, offset, actx, tree, -1); break; case 84: /*sendGroupCallInfo*/ offset=dissect_gsm_map_gr_SendGroupCallInfoRes(FALSE, tvb, offset, actx, tree, -1); break; case 85: /*sendRoutingInfoForLCS*/ offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Res(FALSE, tvb, offset, actx, tree, -1); break; case 86: /*subscriberLocationReport*/ offset=dissect_gsm_map_lcs_SubscriberLocationReport_Res(FALSE, tvb, offset, actx, tree, -1); break; case 87: /*ist-Alert*/ offset=dissect_gsm_map_ch_IST_AlertRes(FALSE, tvb, offset, actx, tree, -1); break; case 88: /*ist-Command*/ offset=dissect_gsm_map_ch_IST_CommandRes(FALSE, tvb, offset, actx, tree, -1); break; case 89: /*noteMM-Event*/ offset=dissect_gsm_map_ms_NoteMM_EventRes(FALSE, tvb, offset, actx, tree, -1); break; case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/ /* No parameter */ break; case 110: /*SS-protocol lcs-LocationUpdate*/ offset=dissect_gsm_ss_LCS_LocationUpdateRes(FALSE, tvb, offset, actx, tree, -1); break; case 111: /*SS-protocol lcs-PeriodicLocationRequest*/ offset=dissect_gsm_ss_LCS_PeriodicLocationRequestRes(FALSE, tvb, offset, actx, tree, -1); break; case 112: /*SS-protocol lcs-AreaEventCancellation*/ break; case 113: /*SS-protocol lcs-AreaEventReport*/ break; case 114: /*SS-protocol lcs-AreaEventRequest No RESULT data*/ break; case 115: /*SS-protocol lcs-MOLR*/ offset=dissect_gsm_ss_LCS_MOLRRes(FALSE, tvb, offset, actx, tree, -1); break; case 116: /*SS-protocol lcs-LocationNotification*/ offset=dissect_gsm_ss_LocationNotificationRes(FALSE, tvb, offset, actx, tree, -1); break; case 117: /*SS-protocol callDeflection no RESULT*/ break; case 118: /*SS-protocol userUserService no RESULT*/ break; case 119: /*SS-protocol accessRegisterCCEntry*/ offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1); break; case 120: /*SS-protocol forwardCUG-Info*/ /* No RETURN RESULT*/ break; case 121: /*SS-protocol splitMPTY no RESULT*/ break; case 122: /*SS-protocol retrieveMPTY no RESULT*/ break; case 123: /*SS-protocol holdMPTY no RESULT*/ break; case 124: /*SS-protocol buildMPTY no RESULT*/ break; case 125: /*SS-protocol forwardChargeAdvice no RESULT*/ break; case 126: /*SS-protocol explicitCT no RESULT*/ break; default: cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob"); proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN); expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "Unknown invokeData %d",opcode); } return offset; } static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) { proto_item *cause; switch(errorCode){ case 1: /* UnknownSubscriberParam */ offset=dissect_gsm_map_er_UnknownSubscriberParam(FALSE, tvb, offset, actx, tree, -1); break; case 4: /* SecureTransportErrorParam */ offset=dissect_gsm_old_SecureTransportErrorParam(FALSE, tvb, offset, actx, tree, -1); break; case 5: /* UnidentifiedSubParam */ offset=dissect_gsm_map_er_UnidentifiedSubParam(FALSE, tvb, offset, actx, tree, -1); break; case 6: /* AbsentSubscriberSM-Param */ offset=dissect_gsm_map_er_AbsentSubscriberSM_Param(FALSE, tvb, offset, actx, tree, -1); break; case 8: /* RoamingNotAllowedParam */ offset=dissect_gsm_map_er_RoamingNotAllowedParam(FALSE, tvb, offset, actx, tree, -1); break; case 9: /* IllegalSubscriberParam */ offset=dissect_gsm_map_er_IllegalSubscriberParam(FALSE, tvb, offset, actx, tree, -1); break; case 10: /* BearerServNotProvParam */ offset=dissect_gsm_map_er_BearerServNotProvParam(FALSE, tvb, offset, actx, tree, -1); break; case 11: /* TeleservNotProvParam */ offset=dissect_gsm_map_er_TeleservNotProvParam(FALSE, tvb, offset, actx, tree, -1); break; case 12: /* IllegalEquipmentParam */ offset=dissect_gsm_map_er_IllegalEquipmentParam(FALSE, tvb, offset, actx, tree, -1); break; case 13: /* CallBarredParam */ offset=dissect_gsm_map_er_CallBarredParam(FALSE, tvb, offset, actx, tree, -1); break; case 14: /* ForwardingViolationParam */ offset=dissect_gsm_map_er_ForwardingViolationParam(FALSE, tvb, offset, actx, tree, -1); break; case 15: /* CUG-RejectParam */ offset=dissect_gsm_map_er_CUG_RejectParam(FALSE, tvb, offset, actx, tree, -1); break; case 16: /* IllegalSS-OperationParam */ offset=dissect_gsm_map_er_IllegalSS_OperationParam(FALSE, tvb, offset, actx, tree, -1); break; case 17: /* SS-ErrorStatus */ offset=dissect_gsm_map_ss_SS_Status(FALSE, tvb, offset, actx, tree, -1); break; case 18: /* SS-NotAvailableParam */ offset=dissect_gsm_map_er_SS_NotAvailableParam(FALSE, tvb, offset, actx, tree, -1); break; case 19: /* SS-SubscriptionViolationParam */ offset=dissect_gsm_map_er_SS_SubscriptionViolationParam(FALSE, tvb, offset, actx, tree, -1); break; case 20: /* SS-IncompatibilityCause */ offset=dissect_gsm_map_er_SS_IncompatibilityCause(FALSE, tvb, offset, actx, tree, -1); break; case 21: /* FacilityNotSupParam */ offset=dissect_gsm_map_er_FacilityNotSupParam(FALSE, tvb, offset, actx, tree, -1); break; case 22: /* OngoingGroupCallParam */ offset=dissect_gsm_map_er_OngoingGroupCallParam(FALSE, tvb, offset, actx, tree, -1); break; case 27: /* AbsentSubscriberParam */ offset=dissect_gsm_map_er_AbsentSubscriberParam(FALSE, tvb, offset, actx, tree, -1); break; case 28: /* IncompatibleTerminalParam */ offset=dissect_gsm_map_er_IncompatibleTerminalParam(FALSE, tvb, offset, actx, tree, -1); break; case 29: /* ShortTermDenialParam */ offset=dissect_gsm_map_er_ShortTermDenialParam(FALSE, tvb, offset, actx, tree, -1); break; case 30: /* LongTermDenialParam */ offset=dissect_gsm_map_er_LongTermDenialParam(FALSE, tvb, offset, actx, tree, -1); break; case 31: /* SubBusyForMT-SMS-Param */ offset=dissect_gsm_map_er_SubBusyForMT_SMS_Param(FALSE, tvb, offset, actx, tree, -1); break; case 32: /* SM-DeliveryFailureCause */ offset=dissect_gsm_map_er_SM_DeliveryFailureCause(FALSE, tvb, offset, actx, tree, -1); break; case 33: /* MessageWaitListFullParam */ offset=dissect_gsm_map_er_MessageWaitListFullParam(FALSE, tvb, offset, actx, tree, -1); break; case 34: /* SystemFailureParam */ offset=dissect_gsm_map_er_SystemFailureParam(FALSE, tvb, offset, actx, tree, -1); break; case 35: /* DataMissingParam */ offset=dissect_gsm_map_er_DataMissingParam(FALSE, tvb, offset, actx, tree, -1); break; case 36: /* UnexpectedDataParam */ offset=dissect_gsm_map_er_UnexpectedDataParam(FALSE, tvb, offset, actx, tree, -1); break; case 37: /* PW-RegistrationFailureCause */ offset=dissect_gsm_map_er_PW_RegistrationFailureCause(FALSE, tvb, offset, actx, tree, -1); break; case 39: /* NoRoamingNbParam */ offset=dissect_gsm_map_er_NoRoamingNbParam(FALSE, tvb, offset, actx, tree, -1); break; case 40: /* TracingBufferFullParam */ offset=dissect_gsm_map_er_TracingBufferFullParam(FALSE, tvb, offset, actx, tree, -1); break; case 42: /* TargetCellOutsideGCA-Param */ offset=dissect_gsm_map_er_TargetCellOutsideGCA_Param(FALSE, tvb, offset, actx, tree, -1); break; case 44: /* NumberChangedParam */ offset=dissect_gsm_map_er_NumberChangedParam(FALSE, tvb, offset, actx, tree, -1); break; case 45: /* BusySubscriberParam */ offset=dissect_gsm_map_er_BusySubscriberParam(FALSE, tvb, offset, actx, tree, -1); break; case 46: /* NoSubscriberReplyParam */ offset=dissect_gsm_map_er_NoSubscriberReplyParam(FALSE, tvb, offset, actx, tree, -1); break; case 47: /* ForwardingFailedParam */ offset=dissect_gsm_map_er_ForwardingFailedParam(FALSE, tvb, offset, actx, tree, -1); break; case 48: /* OR-NotAllowedParam */ offset=dissect_gsm_map_er_OR_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1); break; case 49: /* ATI-NotAllowedParam */ offset=dissect_gsm_map_er_ATI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1); break; case 50: /* NoGroupCallNbParam */ offset=dissect_gsm_map_er_NoGroupCallNbParam(FALSE, tvb, offset, actx, tree, -1); break; case 51: /* ResourceLimitationParam */ offset=dissect_gsm_map_er_ResourceLimitationParam(FALSE, tvb, offset, actx, tree, -1); break; case 52: /* UnauthorizedRequestingNetwork-Param */ offset=dissect_gsm_map_er_UnauthorizedRequestingNetwork_Param(FALSE, tvb, offset, actx, tree, -1); break; case 53: /* UnauthorizedLCSClient-Param */ offset=dissect_gsm_map_er_UnauthorizedLCSClient_Param(FALSE, tvb, offset, actx, tree, -1); break; case 54: /* PositionMethodFailure-Param */ offset=dissect_gsm_map_er_PositionMethodFailure_Param(FALSE, tvb, offset, actx, tree, -1); break; case 58: /* UnknownOrUnreachableLCSClient-Param */ offset=dissect_gsm_map_er_UnknownOrUnreachableLCSClient_Param(FALSE, tvb, offset, actx, tree, -1); break; case 59: /* MM-EventNotSupported-Param */ offset=dissect_gsm_map_er_MM_EventNotSupported_Param(FALSE, tvb, offset, actx, tree, -1); break; case 60: /* ATSI-NotAllowedParam */ offset=dissect_gsm_map_er_ATSI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1); break; case 61: /* ATM-NotAllowedParam */ offset=dissect_gsm_map_er_ATM_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1); break; case 62: /* InformationNotAvailableParam */ offset=dissect_gsm_map_er_InformationNotAvailableParam(FALSE, tvb, offset, actx, tree, -1); break; default: cause=proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnErrorData blob"); proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN); expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "Unknown invokeData %d",errorCode); break; } return offset; } /* Private extension container for PLMN Data */ static void dissect_gsm_mapext_PlmnContainer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) { proto_item *item=NULL; proto_tree *tree=NULL; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); /* create display subtree for the protocol */ if(parent_tree){ item = proto_tree_add_text(parent_tree, tvb, 0, -1, "MAP Ext. Plmn Container"); tree = proto_item_add_subtree(item, ett_gsm_old_PlmnContainer_U); } dissect_gsm_old_PlmnContainer(FALSE, tvb, 0, &asn1_ctx, tree, -1); } static guint8 gsmmap_pdu_type = 0; static guint8 gsm_map_pdu_size = 0; static int dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) { char *version_ptr; struct tcap_private_t * p_private_tcap; opcode = 0; application_context_version = 0; if (actx->pinfo->private_data != NULL){ p_private_tcap=actx->pinfo->private_data; if (p_private_tcap->acv==TRUE ){ version_ptr = strrchr(p_private_tcap->oid,'.'); if (version_ptr){ application_context_version = atoi(version_ptr+1); } } } gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f; /* Get the length and add 2 */ gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2; if (check_col(actx->pinfo->cinfo, COL_INFO)){ col_set_str(actx->pinfo->cinfo, COL_INFO, val_to_str(gsmmap_pdu_type, gsm_old_Component_vals, "Unknown GSM-MAP PDU (%u)")); col_append_fstr(actx->pinfo->cinfo, COL_INFO, " "); } offset = dissect_gsm_old_Component(FALSE, tvb, 0, actx, tree, hf_gsm_map_old_Component_PDU); return offset; /* offset = dissect_ber_choice(pinfo, tree, tvb, offset, GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU, NULL); */ return offset; } static void dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) { proto_item *item=NULL; proto_tree *tree=NULL; /* Used for gsm_map TAP */ static gsm_map_tap_rec_t tap_rec; gint op_idx; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); if (check_col(pinfo->cinfo, COL_PROTOCOL)) { col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP"); } top_tree = parent_tree; /* create display subtree for the protocol */ if(parent_tree){ item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, FALSE); tree = proto_item_add_subtree(item, ett_gsm_map); } dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, &asn1_ctx, tree, -1); match_strval_idx(opcode, gsm_map_opr_code_strings, &op_idx); tap_rec.invoke = FALSE; if ( gsmmap_pdu_type == 1 ) tap_rec.invoke = TRUE; tap_rec.opr_code_idx = op_idx; tap_rec.size = gsm_map_pdu_size; tap_queue_packet(gsm_map_tap, pinfo, &tap_rec); } const value_string ssCode_vals[] = { { 0x00, "allSS - all SS" }, { 0x10 ,"allLineIdentificationSS - all line identification SS" }, { 0x11 ,"clip - calling line identification presentation" }, { 0x12 ,"clir - calling line identification restriction" }, { 0x13 ,"colp - connected line identification presentation" }, { 0x14 ,"colr - connected line identification restriction" }, { 0x15 ,"mci - malicious call identification" }, { 0x18 ,"allNameIdentificationSS - all name indentification SS" }, { 0x19 ,"cnap - calling name presentation" }, { 0x20 ,"allForwardingSS - all forwarding SS" }, { 0x21 ,"cfu - call forwarding unconditional" }, { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" }, { 0x29 ,"cfb - call forwarding busy" }, { 0x2a ,"cfnry - call forwarding on no reply" }, { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" }, { 0x24 ,"cd - call deflection" }, { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" }, { 0x31 ,"ect - explicit call transfer" }, { 0x32 ,"mah - mobile access hunting" }, { 0x40 ,"allCallCompletionSS - all Call completion SS" }, { 0x41 ,"cw - call waiting" }, { 0x42 ,"hold - call hold" }, { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" }, { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" }, { 0x45 ,"mc - multicall" }, { 0x50 ,"allMultiPartySS - all multiparty SS" }, { 0x51 ,"multiPTY - multiparty" }, { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" }, { 0x61 ,"cug - closed user group" }, { 0x70 ,"allChargingSS - all charging SS" }, { 0x71 ,"aoci - advice of charge information" }, { 0x72 ,"aocc - advice of charge charging" }, { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" }, { 0x81 ,"uus1 - UUS1 user-to-user signalling" }, { 0x82 ,"uus2 - UUS2 user-to-user signalling" }, { 0x83 ,"uus3 - UUS3 user-to-user signalling" }, { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" }, { 0x91 ,"barringOfOutgoingCalls" }, { 0x92 ,"baoc - barring of all outgoing calls" }, { 0x93 ,"boic - barring of outgoing international calls" }, { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" }, { 0x99 ,"barringOfIncomingCalls" }, { 0x9a ,"baic - barring of all incoming calls" }, { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" }, { 0xf0 ,"allPLMN-specificSS" }, { 0xa0 ,"allCallPrioritySS - all call priority SS" }, { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" }, { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" }, { 0xb1 ,"universal - allow location by any LCS client" }, { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" }, { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" }, { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" }, { 0xb5 ,"serviceType - allow location by LCS clients of a designated LCS service type" }, { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" }, { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" }, { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" }, { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" }, { 0xf1 ,"plmn-specificSS-1" }, { 0xf2 ,"plmn-specificSS-2" }, { 0xf3 ,"plmn-specificSS-3" }, { 0xf4 ,"plmn-specificSS-4" }, { 0xf5 ,"plmn-specificSS-5" }, { 0xf6 ,"plmn-specificSS-6" }, { 0xf7 ,"plmn-specificSS-7" }, { 0xf8 ,"plmn-specificSS-8" }, { 0xf9 ,"plmn-specificSS-9" }, { 0xfa ,"plmn-specificSS-a" }, { 0xfb ,"plmn-specificSS-b" }, { 0xfc ,"plmn-specificSS-c" }, { 0xfd ,"plmn-specificSS-d" }, { 0xfe ,"plmn-specificSS-e" }, { 0xff ,"plmn-specificSS-f" }, { 0, NULL } }; static const value_string Teleservice_vals[] = { {0x00, "allTeleservices" }, {0x10, "allSpeechTransmissionServices" }, {0x11, "telephony" }, {0x12, "emergencyCalls" }, {0x20, "allShortMessageServices" }, {0x21, "shortMessageMT-PP" }, {0x22, "shortMessageMO-PP" }, {0x60, "allFacsimileTransmissionServices" }, {0x61, "facsimileGroup3AndAlterSpeech" }, {0x62, "automaticFacsimileGroup3" }, {0x63, "facsimileGroup4" }, {0x70, "allDataTeleservices" }, {0x80, "allTeleservices-ExeptSMS" }, {0x90, "allVoiceGroupCallServices" }, {0x91, "voiceGroupCall" }, {0x92, "voiceBroadcastCall" }, {0xd0, "allPLMN-specificTS" }, {0xd1, "plmn-specificTS-1" }, {0xd2, "plmn-specificTS-2" }, {0xd3, "plmn-specificTS-3" }, {0xd4, "plmn-specificTS-4" }, {0xd5, "plmn-specificTS-5" }, {0xd6, "plmn-specificTS-6" }, {0xd7, "plmn-specificTS-7" }, {0xd8, "plmn-specificTS-8" }, {0xd9, "plmn-specificTS-9" }, {0xda, "plmn-specificTS-A" }, {0xdb, "plmn-specificTS-B" }, {0xdc, "plmn-specificTS-C" }, {0xdd, "plmn-specificTS-D" }, {0xde, "plmn-specificTS-E" }, {0xdf, "plmn-specificTS-F" }, { 0, NULL } }; static const value_string Bearerservice_vals[] = { {0x00, "allBearerServices" }, {0x10, "allDataCDA-Services" }, {0x11, "dataCDA-300bps" }, {0x12, "dataCDA-1200bps" }, {0x13, "dataCDA-1200-75bps" }, {0x14, "dataCDA-2400bps" }, {0x15, "dataCDA-4800bps" }, {0x16, "dataCDA-9600bps" }, {0x17, "general-dataCDA" }, {0x18, "allDataCDS-Services" }, {0x1A, "dataCDS-1200bps" }, {0x1C, "dataCDS-2400bps" }, {0x1D, "dataCDS-4800bps" }, {0x1E, "dataCDS-9600bps" }, {0x1F, "general-dataCDS" }, {0x20, "allPadAccessCA-Services" }, {0x21, "padAccessCA-300bps" }, {0x22, "padAccessCA-1200bps" }, {0x23, "padAccessCA-1200-75bps" }, {0x24, "padAccessCA-2400bps" }, {0x25, "padAccessCA-4800bps" }, {0x26, "padAccessCA-9600bps" }, {0x27, "general-padAccessCA" }, {0x28, "allDataPDS-Services" }, {0x2C, "dataPDS-2400bps" }, {0x2D, "dataPDS-4800bps" }, {0x2E, "dataPDS-9600bps" }, {0x2F, "general-dataPDS" }, {0x30, "allAlternateSpeech-DataCDA" }, {0x38, "allAlternateSpeech-DataCDS" }, {0x40, "allSpeechFollowedByDataCDA" }, {0x48, "allSpeechFollowedByDataCDS" }, {0x50, "allDataCircuitAsynchronous" }, {0x60, "allAsynchronousServices" }, {0x58, "allDataCircuitSynchronous" }, {0x68, "allSynchronousServices" }, {0xD0, "allPLMN-specificBS" }, {0xD1, "plmn-specificBS-1" }, {0xD2, "plmn-specificBS-2" }, {0xD3, "plmn-specificBS-3" }, {0xD4, "plmn-specificBS-4" }, {0xD5, "plmn-specificBS-5" }, {0xD6, "plmn-specificBS-6" }, {0xD7, "plmn-specificBS-7" }, {0xD8, "plmn-specificBS-8" }, {0xD9, "plmn-specificBS-9" }, {0xDA, "plmn-specificBS-A" }, {0xDB, "plmn-specificBS-B" }, {0xDC, "plmn-specificBS-C" }, {0xDD, "plmn-specificBS-D" }, {0xDE, "plmn-specificBS-E" }, {0xDF, "plmn-specificBS-F" }, { 0, NULL } }; /* ForwardingOptions -- bit 8: notification to forwarding party -- 0 no notification -- 1 notification */ static const true_false_string notification_value = { "Notification", "No notification" }; /* -- bit 7: redirecting presentation -- 0 no presentation -- 1 presentation */ static const true_false_string redirecting_presentation_value = { "Presentation", "No presentationn" }; /* -- bit 6: notification to calling party -- 0 no notification -- 1 notification */ /* -- bit 5: 0 (unused) -- bits 43: forwarding reason -- 00 ms not reachable -- 01 ms busy -- 10 no reply -- 11 unconditional when used in a SRI Result, -- or call deflection when used in a RCH Argument */ static const value_string forwarding_reason_values[] = { {0x0, "ms not reachable" }, {0x1, "ms busy" }, {0x2, "no reply" }, {0x3, "unconditional when used in a SRI Result or call deflection when used in a RCH Argument" }, { 0, NULL } }; /* -- bits 21: 00 (unused) */ static const value_string pdp_type_org_values[] = { {0x0, "ETSI" }, {0x1, "IETF" }, {0xf, "Empty PDP type" }, { 0, NULL } }; static const value_string etsi_pdp_type_number_values[] = { {0x0, "Reserved, used in earlier version of this protocol" }, {0x1, "PPP" }, { 0, NULL } }; static const value_string ietf_pdp_type_number_values[] = { {0x21, "IPv4 Address" }, {0x57, "IPv6 Address" }, { 0, NULL } }; /* ChargingCharacteristics ::= OCTET STRING (SIZE (2)) -- Octets are coded according to 3GPP TS 32.015. -- From 3GPP TS 32.015. -- -- Descriptions for the bits of the flag set: -- -- Bit 1: H (Hot billing) := '00000001'B -- Bit 2: F (Flat rate) := '00000010'B -- Bit 3: P (Prepaid service) := '00000100'B -- Bit 4: N (Normal billing) := '00001000'B -- Bit 5: - (Reserved, set to 0) := '00010000'B -- Bit 6: - (Reserved, set to 0) := '00100000'B -- Bit 7: - (Reserved, set to 0) := '01000000'B -- Bit 8: - (Reserved, set to 0) := '10000000'B */ static const value_string chargingcharacteristics_values[] = { {0x1, "H (Hot billing)" }, {0x2, "F (Flat rate)" }, {0x4, "P (Prepaid service)" }, {0x8, "N (Normal billing)" }, { 0, NULL } }; /*--- proto_reg_handoff_gsm_map ---------------------------------------*/ static void range_delete_callback(guint32 ssn) { if (ssn) { delete_itu_tcap_subdissector(ssn, map_handle); } } static void range_add_callback(guint32 ssn) { if (ssn) { add_itu_tcap_subdissector(ssn, map_handle); } } void proto_reg_handoff_gsm_map(void) { static int map_prefs_initialized = FALSE; data_handle = find_dissector("data"); ranap_handle = find_dissector("ranap"); if (!map_prefs_initialized) { map_prefs_initialized = TRUE; map_handle = create_dissector_handle(dissect_gsm_map, proto_gsm_map); register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3"); register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.1.1", map_handle, proto_gsm_map,"networkLocUpContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"locationCancellationContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"locationCancellationContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"locationCancellationContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.4.3", map_handle, proto_gsm_map,"istAlertingContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"callControlTransferContext-v4" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.6.3", map_handle, proto_gsm_map,"callControlTransferContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"reportingContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"callCompletionContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.9.3", map_handle, proto_gsm_map,"serviceTerminationContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"resetContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"resetContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"handoverControlContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"handoverControlContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"handoverControlContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"sIWFSAllocationContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.13.3", map_handle, proto_gsm_map,"equipmentMngtContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"equipmentMngtContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"equipmentMngtContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"infoRetrievalContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"infoRetrievalContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"infoRetrievalContext-v1" ); /* fallback to infoRetrieval(14) version1(1) and not interVlrInfoRetrieval(15) version1(1) */ /*register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"map-ac interVlrInfoRetrieval(15) version1(1)" );*/ register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"subscriberDataMngtContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"subscriberDataMngtContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"subscriberDataMngtContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.17.3", map_handle, proto_gsm_map,"tracingContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"tracingContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"tracingContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"networkFunctionalSsContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.18.1", map_handle, proto_gsm_map,"networkFunctionalSsContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.19.2", map_handle, proto_gsm_map,"networkUnstructuredSsContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.20.3", map_handle, proto_gsm_map,"shortMsgGatewayContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.20.2", map_handle, proto_gsm_map,"shortMsgGatewayContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.20.1", map_handle, proto_gsm_map,"shortMsgGatewayContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.21.3", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.21.2", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.21.1", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"subscriberDataModificationNotificationContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"shortMsgAlertContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"shortMsgAlertContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.24.3", map_handle, proto_gsm_map,"mwdMngtContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"mwdMngtContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"mwdMngtContext-v1" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.25.2", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.26.2", map_handle, proto_gsm_map,"imsiRetrievalContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.27.2", map_handle, proto_gsm_map,"msPurgingContext-v2" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.27.3", map_handle, proto_gsm_map,"msPurgingContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.28.3", map_handle, proto_gsm_map,"subscriberInfoEnquiryContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"anyTimeInfoEnquiryContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.31.3", map_handle, proto_gsm_map,"groupCallControlContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"gprsLocationUpdateContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v4" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.33.3", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"failureReportContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.35.3", map_handle, proto_gsm_map,"gprsNotifyContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"ss-InvocationNotificationContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"locationSvcGatewayContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"locationSvcEnquiryContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"authenticationFailureReportContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"secureTransportHandlingContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.41.3", map_handle, proto_gsm_map,"shortMsgMT-Relay-VGCS-Context-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"mm-EventReportingContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"anyTimeInfoHandlingContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.44.3", map_handle, proto_gsm_map,"resourceManagementContext-v3" ); register_ber_oid_dissector_handle("0.4.0.0.1.0.45.3", map_handle, proto_gsm_map,"groupCallInfoRetrievalContext-v3" ); /* Private extension container */ register_ber_oid_dissector("1.3.12.2.1006.53.2.1.3", dissect_gsm_mapext_PlmnContainer, proto_gsm_map,"alcatel-E10-MAP-extension-PlmnContainer" ); } else { range_foreach(ssn_range, range_delete_callback); } g_free(ssn_range); ssn_range = range_copy(global_ssn_range); range_foreach(ssn_range, range_add_callback); } /*--- proto_register_gsm_map -------------------------------------------*/ void proto_register_gsm_map(void) { module_t *gsm_map_module; /* List of fields */ static hf_register_info hf[] = { { &hf_gsm_map_old_Component_PDU, { "Component", "gsm_map.old.Component", FT_UINT32, BASE_DEC, VALS(gsm_old_Component_vals), 0, "gsm_map.old.Component", HFILL }}, { &hf_gsm_map_getPassword, { "getPassword", "gsm_map.getPassword", FT_BYTES, BASE_HEX, NULL, 0, "getPassword", HFILL }}, { &hf_gsm_map_currentPassword, { "currentPassword", "gsm_map.currentPassword", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }}, { &hf_gsm_map_extension, { "Extension", "gsm_map.extension", FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80, "Extension", HFILL }}, { &hf_gsm_map_nature_of_number, { "Nature of number", "gsm_map.nature_of_number", FT_UINT8, BASE_HEX, VALS(gsm_map_nature_of_number_values), 0x70, "Nature of number", HFILL }}, { &hf_gsm_map_number_plan, { "Number plan", "gsm_map.number_plan", FT_UINT8, BASE_HEX, VALS(gsm_map_number_plan_values), 0x0f, "Number plan", HFILL }}, { &hf_gsm_map_isdn_address_digits, { "ISDN Address digits", "gsm_map.isdn.address.digits", FT_STRING, BASE_NONE, NULL, 0, "ISDN Address digits", HFILL }}, { &hf_gsm_map_address_digits, { "Address digits", "gsm_map.address.digits", FT_STRING, BASE_NONE, NULL, 0, "Address digits", HFILL }}, { &hf_gsm_map_servicecentreaddress_digits, { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits", FT_STRING, BASE_NONE, NULL, 0, "ServiceCentreAddress digits", HFILL }}, { &hf_gsm_map_imsi_digits, { "IMSI digits", "gsm_map.imsi_digits", FT_STRING, BASE_NONE, NULL, 0, "IMSI digits", HFILL }}, { &hf_gsm_map_TBCD_digits, { "TBCD digits", "gsm_map.imsi_digits", FT_STRING, BASE_NONE, NULL, 0, "TBCD digits", HFILL }}, { &hf_gsm_map_Ss_Status_unused, { "Unused", "gsm_map.unused", FT_UINT8, BASE_HEX, NULL, 0xf0, "Unused", HFILL }}, { &hf_gsm_map_Ss_Status_q_bit, { "Q bit", "gsm_map.ss_status_q_bit", FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08, "Q bit", HFILL }}, { &hf_gsm_map_Ss_Status_p_bit, { "P bit", "gsm_map.ss_status_p_bit", FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04, "P bit", HFILL }}, { &hf_gsm_map_Ss_Status_r_bit, { "R bit", "gsm_map.ss_status_r_bit", FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02, "R bit", HFILL }}, { &hf_gsm_map_Ss_Status_a_bit, { "A bit", "gsm_map.ss_status_a_bit", FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01, "A bit", HFILL }}, { &hf_gsm_map_notification_to_forwarding_party, { "Notification to forwarding party", "gsm_map.notification_to_forwarding_party", FT_BOOLEAN, 8, TFS(¬ification_value), 0x80, "Notification to forwarding party", HFILL }}, { &hf_gsm_map_redirecting_presentation, { "Redirecting presentation", "gsm_map.redirecting_presentation", FT_BOOLEAN, 8, TFS(&redirecting_presentation_value), 0x40, "Redirecting presentation", HFILL }}, { &hf_gsm_map_notification_to_calling_party, { "Notification to calling party", "gsm_map.notification_to_clling_party", FT_BOOLEAN, 8, TFS(¬ification_value), 0x20, "Notification to calling party", HFILL }}, { &hf_gsm_map_forwarding_reason, { "Forwarding reason", "gsm_map.forwarding_reason", FT_UINT8, BASE_HEX, VALS(forwarding_reason_values), 0x0c, "forwarding reason", HFILL }}, { &hf_gsm_map_pdp_type_org, { "PDP Type Organization", "gsm_map.pdp_type_org", FT_UINT8, BASE_HEX, VALS(pdp_type_org_values), 0x0f, "PDP Type Organization", HFILL }}, { &hf_gsm_map_etsi_pdp_type_number, { "PDP Type Number", "gsm_map.pdp_type_org", FT_UINT8, BASE_HEX, VALS(etsi_pdp_type_number_values), 0, "ETSI PDP Type Number", HFILL }}, { &hf_gsm_map_ietf_pdp_type_number, { "PDP Type Number", "gsm_map.ietf_pdp_type_number", FT_UINT8, BASE_HEX, VALS(ietf_pdp_type_number_values), 0, "IETF PDP Type Number", HFILL }}, { &hf_gsm_map_ext_qos_subscribed_pri, { "Allocation/Retention priority", "gsm_map.ext_qos_subscribed_pri", FT_UINT8, BASE_DEC, NULL, 0xff, "Allocation/Retention priority", HFILL }}, { &hf_gsm_map_qos_traffic_cls, { "Traffic class", "gsm_map.qos.traffic_cls", FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0xe0, "Traffic class", HFILL }}, { &hf_gsm_map_qos_del_order, { "Delivery order", "gsm_map.qos.del_order", FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traffic_cls_vals), 0x18, "Delivery order", HFILL }}, { &hf_gsm_map_qos_del_of_err_sdu, { "Delivery of erroneous SDUs", "gsm_map.qos.del_of_err_sdu", FT_UINT8, BASE_DEC, VALS(gsm_a_qos_del_of_err_sdu_vals), 0x03, "Delivery of erroneous SDUs", HFILL }}, { &hf_gsm_map_qos_ber, { "Residual Bit Error Rate (BER)", "gsm_map.qos.ber", FT_UINT8, BASE_DEC, VALS(gsm_a_qos_ber_vals), 0xf0, "Residual Bit Error Rate (BER)", HFILL }}, { &hf_gsm_map_qos_sdu_err_rat, { "SDU error ratio", "gsm_map.qos.sdu_err_rat", FT_UINT8, BASE_DEC, VALS(gsm_a_qos_sdu_err_rat_vals), 0x0f, "SDU error ratio", HFILL }}, { &hf_gsm_map_qos_traff_hdl_pri, { "Traffic handling priority", "gsm_map.qos.traff_hdl_pri", FT_UINT8, BASE_DEC, VALS(gsm_a_qos_traff_hdl_pri_vals), 0x03, "Traffic handling priority", HFILL }}, { &hf_gsm_map_qos_max_sdu, { "Maximum SDU size", "gsm_map.qos.max_sdu", FT_UINT32, BASE_DEC, NULL, 0x0, "Maximum SDU size", HFILL }}, { &hf_gsm_map_max_brate_ulink, { "Maximum bit rate for uplink in kbit/s", "gsm_map.qos.max_brate_ulink", FT_UINT32, BASE_DEC, NULL, 0x0, "Maximum bit rate for uplink", HFILL }}, { &hf_gsm_map_max_brate_dlink, { "Maximum bit rate for downlink in kbit/s", "gsm_map.qos.max_brate_dlink", FT_UINT32, BASE_DEC, NULL, 0x0, "Maximum bit rate for downlink", HFILL }}, { &hf_gsm_map_qos_transfer_delay, { "Transfer delay (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.transfer_delay", FT_UINT8, BASE_DEC, NULL, 0xfc, "Transfer delay", HFILL }}, { &hf_gsm_map_guaranteed_max_brate_ulink, { "Guaranteed bit rate for uplink in kbit/s", "gsm_map.qos.brate_ulink", FT_UINT32, BASE_DEC, NULL, 0x0, "Guaranteed bit rate for uplink", HFILL }}, { &hf_gsm_map_guaranteed_max_brate_dlink, { "Guaranteed bit rate for downlink in kbit/s", "gsm_map.qos.brate_dlink", FT_UINT32, BASE_DEC, NULL, 0x0, "Guaranteed bit rate for downlink", HFILL }}, { &hf_gsm_map_GSNAddress_IPv4, { "GSN-Address IPv4", "gsm_map.gsnaddress_ipv4", FT_IPv4, BASE_NONE, NULL, 0, "IPAddress IPv4", HFILL }}, { &hf_gsm_map_GSNAddress_IPv6, { "GSN Address IPv6", "gsm_map.gsnaddress_ipv6", FT_IPv4, BASE_NONE, NULL, 0, "IPAddress IPv6", HFILL }}, { &hf_gsm_map_geo_loc_type_of_shape, { "Location estimate","gsm_map.gad.location_estimate", FT_UINT8,BASE_DEC, VALS(type_of_shape_vals), 0xf0, "Location estimate", HFILL } }, { &hf_gsm_map_geo_loc_sign_of_lat, { "Sign of latitude","gsm_map.gad.sign_of_latitude", FT_UINT8,BASE_DEC, VALS(sign_of_latitude_vals), 0x80, "Sign of latitude", HFILL } }, { &hf_gsm_map_geo_loc_deg_of_lat, { "Degrees of latitude","gsm_map.gad.sign_of_latitude", FT_UINT24,BASE_DEC, NULL, 0x7fffff, "Degrees of latitude", HFILL } }, { &hf_gsm_map_geo_loc_deg_of_long, { "Degrees of longitude","gsm_map.gad.sign_of_longitude", FT_UINT24,BASE_DEC, NULL, 0xffffff, "Degrees of longitude", HFILL } }, { &hf_gsm_map_geo_loc_uncertainty_code, { "Uncertainty code","gsm_map.gad.uncertainty_code", FT_UINT8,BASE_DEC, NULL, 0x7f, "Uncertainty code", HFILL } }, { &hf_gsm_map_geo_loc_uncertainty_semi_major, { "Uncertainty semi-major","gsm_map.gad.uncertainty_semi_major", FT_UINT8,BASE_DEC, NULL, 0x7f, "Uncertainty semi-major", HFILL } }, { &hf_gsm_map_geo_loc_uncertainty_semi_minor, { "Uncertainty semi-minor","gsm_map.gad.uncertainty_semi_minor", FT_UINT8,BASE_DEC, NULL, 0x7f, "Uncertainty semi-minor", HFILL } }, { &hf_gsm_map_geo_loc_orientation_of_major_axis, { "Orientation of major axis","gsm_map.gad.orientation_of_major_axis", FT_UINT8,BASE_DEC, NULL, 0x0, "Orientation of major axis", HFILL } }, { &hf_gsm_map_geo_loc_uncertainty_altitude, { "Uncertainty Altitude","gsm_map.gad.uncertainty_altitude", FT_UINT8,BASE_DEC, NULL, 0x7f, "Uncertainty Altitude", HFILL } }, { &hf_gsm_map_geo_loc_confidence, { "Confidence(%)","gsm_map.gad.confidence", FT_UINT8,BASE_DEC, NULL, 0x7f, "Confidence(%)", HFILL } }, { &hf_gsm_map_geo_loc_no_of_points, { "Number of points","gsm_map.gad.no_of_points", FT_UINT8,BASE_DEC, NULL, 0x0f, "Number of points", HFILL } }, { &hf_gsm_map_geo_loc_D, { "D: Direction of Altitude","gsm_map.gad.D", FT_UINT16,BASE_DEC, VALS(dir_of_alt_vals), 0x8000, "D: Direction of Altitude", HFILL } }, { &hf_gsm_map_geo_loc_altitude, { "Altitude in meters","gsm_map.gad.altitude", FT_UINT16,BASE_DEC, NULL, 0x7fff, "Altitude", HFILL } }, { &hf_gsm_map_geo_loc_inner_radius, { "Inner radius","gsm_map.gad.altitude", FT_UINT16,BASE_DEC, NULL, 0x0, "Inner radius", HFILL } }, { &hf_gsm_map_geo_loc_uncertainty_radius, { "Uncertainty radius","gsm_map.gad.no_of_points", FT_UINT8,BASE_DEC, NULL, 0x7f, "Uncertainty radius", HFILL } }, { &hf_gsm_map_geo_loc_offset_angle, { "Offset angle","gsm_map.gad.offset_angle", FT_UINT8,BASE_DEC, NULL, 0x0, "Offset angle", HFILL } }, { &hf_gsm_map_geo_loc_included_angle, { "Included angle","gsm_map.gad.included_angle", FT_UINT8,BASE_DEC, NULL, 0x0, "Included angle", HFILL } }, { &hf_gsm_map_ranap_service_Handover, { "service-Handover", "gsm_map.ranap.service_Handover", FT_UINT32, BASE_DEC, VALS(ranap_Service_Handover_vals), 0, "gsm_map.ranap.Service_Handover", HFILL }}, { &hf_gsm_map_IntegrityProtectionInformation, { "IntegrityProtectionInformation", "gsm_map.ranap.IntegrityProtectionInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ranap.IntegrityProtectionInformation", HFILL }}, { &hf_gsm_map_EncryptionInformation, { "EncryptionInformation", "gsm_map.ranap.EncryptionInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ranap.EncryptionInformation", HFILL }}, { &hf_gsm_map_PlmnContainer_PDU, { "PlmnContainer", "gsm_map.PlmnContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.PlmnContainer", HFILL }}, { &hf_gsm_map_ss_SS_UserData, { "SS-UserData", "gsm_ss.SS_UserData", FT_STRING, BASE_NONE, NULL, 0, "gsm_map.ss.SS_UserData", HFILL }}, { &hf_gsm_map_cbs_coding_grp, { "Coding Group","gsm_map.cbs.coding_grp", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_data_coding_scheme_coding_grp_vals), 0xf0, "Coding Group", HFILL } }, { &hf_gsm_map_cbs_coding_grp0_lang, { "Language","gsm_map.cbs.coding_grp0_lang", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp0_lang_vals), 0x0f, "Language", HFILL } }, { &hf_gsm_map_cbs_coding_grp1_lang, { "Language","gsm_map.cbs.coding_grp1_lang", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp1_lang_vals), 0x0f, "Language", HFILL } }, { &hf_gsm_map_cbs_coding_grp2_lang, { "Language","gsm_map.cbs.coding_grp2_lang", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp2_lang_vals), 0x0f, "Language", HFILL } }, { &hf_gsm_map_cbs_coding_grp3_lang, { "Language","gsm_map.cbs.coding_grp3_lang", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp3_lang_vals), 0x0f, "Language", HFILL } }, { &hf_gsm_map_cbs_coding_grp4_7_comp, { "Compressed indicator","gsm_map.cbs.coding_grp4_7_comp", FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_comp_vals), 0x20, "Compressed indicator", HFILL } }, { &hf_gsm_map_cbs_coding_grp4_7_class_ind, { "Message Class present","gsm_map.cbs.coding_grp4_7_class_ind", FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_class_ind_vals), 0x10, "Message Class present", HFILL } }, { &hf_gsm_map_cbs_coding_grp4_7_char_set, { "Character set being used","gsm_map.cbs.coding_grp4_7_char_set", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_char_set_vals), 0x0c, "Character set being used", HFILL } }, { &hf_gsm_map_cbs_coding_grp4_7_class, { "Message Class","gsm_map.cbs.coding_grp4_7_class", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_class_vals), 0x03, "Message Class", HFILL } }, { &hf_gsm_map_cbs_coding_grp15_mess_code, { "Message coding","gsm_map.cbs.cbs_coding_grp15_mess_code", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_mess_code_vals), 0x04, "Message coding", HFILL } }, { &hf_gsm_map_cbs_coding_grp15_class, { "Message Class","gsm_map.cbs.gsm_map_cbs_coding_grp15_class", FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_class_vals), 0x03, "Message Class", HFILL } }, /*--- Included file: packet-gsm_map-hfarr.c ---*/ #line 1 "packet-gsm_map-hfarr.c" /* --- Module MAP-ExtensionDataTypes --- --- --- */ { &hf_gsm_map_privateExtensionList, { "privateExtensionList", "gsm_map.privateExtensionList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.PrivateExtensionList", HFILL }}, { &hf_gsm_map_pcs_Extensions, { "pcs-Extensions", "gsm_map.pcs_Extensions", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.PCS_Extensions", HFILL }}, { &hf_gsm_map_slr_Arg_PCS_Extensions, { "slr-Arg-PCS-Extensions", "gsm_map.slr_Arg_PCS_Extensions", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.SLR_Arg_PCS_Extensions", HFILL }}, { &hf_gsm_map_PrivateExtensionList_item, { "Item", "gsm_map.PrivateExtensionList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.PrivateExtension", HFILL }}, { &hf_gsm_map_extId, { "extId", "gsm_map.extId", FT_OID, BASE_NONE, NULL, 0, "gsm_map.T_extId", HFILL }}, { &hf_gsm_map_extType, { "extType", "gsm_map.extType", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.T_extType", HFILL }}, { &hf_gsm_map_na_ESRK_Request, { "na-ESRK-Request", "gsm_map.na_ESRK_Request", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.NULL", HFILL }}, /* --- Module MAP-CommonDataTypes --- --- --- */ { &hf_gsm_map_protocolId, { "protocolId", "gsm_map.protocolId", FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0, "gsm_map.ProtocolId", HFILL }}, { &hf_gsm_map_signalInfo, { "signalInfo", "gsm_map.signalInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.SignalInfo", HFILL }}, { &hf_gsm_map_extensionContainer, { "extensionContainer", "gsm_map.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_ext_ProtocolId, { "ext-ProtocolId", "gsm_map.ext_ProtocolId", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_ProtocolId_vals), 0, "gsm_map.Ext_ProtocolId", HFILL }}, { &hf_gsm_map_accessNetworkProtocolId, { "accessNetworkProtocolId", "gsm_map.accessNetworkProtocolId", FT_UINT32, BASE_DEC, VALS(gsm_map_AccessNetworkProtocolId_vals), 0, "gsm_map.AccessNetworkProtocolId", HFILL }}, { &hf_gsm_map_signalInfo_01, { "signalInfo", "gsm_map.signalInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LongSignalInfo", HFILL }}, { &hf_gsm_map_imsi, { "imsi", "gsm_map.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_imsi_WithLMSI, { "imsi-WithLMSI", "gsm_map.imsi_WithLMSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.IMSI_WithLMSI", HFILL }}, { &hf_gsm_map_lmsi, { "lmsi", "gsm_map.lmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LMSI", HFILL }}, { &hf_gsm_map_tmsi, { "tmsi", "gsm_map.tmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.TMSI", HFILL }}, { &hf_gsm_map_HLR_List_item, { "Item", "gsm_map.HLR_List_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.HLR_Id", HFILL }}, { &hf_gsm_map_naea_PreferredCIC, { "naea-PreferredCIC", "gsm_map.naea_PreferredCIC", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.NAEA_CIC", HFILL }}, { &hf_gsm_map_msisdn, { "msisdn", "gsm_map.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_externalAddress, { "externalAddress", "gsm_map.externalAddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength, { "cellGlobalIdOrServiceAreaIdFixedLength", "gsm_map.cellGlobalIdOrServiceAreaIdFixedLength", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.CellGlobalIdOrServiceAreaIdFixedLength", HFILL }}, { &hf_gsm_map_laiFixedLength, { "laiFixedLength", "gsm_map.laiFixedLength", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LAIFixedLength", HFILL }}, { &hf_gsm_map_bearerService, { "bearerService", "gsm_map.bearerService", FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0, "gsm_map.BearerServiceCode", HFILL }}, { &hf_gsm_map_teleservice, { "teleservice", "gsm_map.teleservice", FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0, "gsm_map.TeleserviceCode", HFILL }}, { &hf_gsm_map_ext_BearerService, { "ext-BearerService", "gsm_map.ext_BearerService", FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0, "gsm_map.Ext_BearerServiceCode", HFILL }}, { &hf_gsm_map_ext_Teleservice, { "ext-Teleservice", "gsm_map.ext_Teleservice", FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0, "gsm_map.Ext_TeleserviceCode", HFILL }}, { &hf_gsm_map_maximumentitledPriority, { "maximumentitledPriority", "gsm_map.maximumentitledPriority", FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0, "gsm_map.EMLPP_Priority", HFILL }}, { &hf_gsm_map_defaultPriority, { "defaultPriority", "gsm_map.defaultPriority", FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0, "gsm_map.EMLPP_Priority", HFILL }}, { &hf_gsm_map_ss_Code, { "ss-Code", "gsm_map.ss_Code", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_map_ss_Status, { "ss-Status", "gsm_map.ss_Status", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.Ext_SS_Status", HFILL }}, { &hf_gsm_map_nbrSB, { "nbrSB", "gsm_map.nbrSB", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.MaxMC_Bearers", HFILL }}, { &hf_gsm_map_nbrUser, { "nbrUser", "gsm_map.nbrUser", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.MC_Bearers", HFILL }}, /* --- Module MAP-SS-DataTypes --- --- --- */ { &hf_gsm_map_ss_ss_Code, { "ss-Code", "gsm_map.ss.ss_Code", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_map_ss_basicService, { "basicService", "gsm_map.ss.basicService", FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0, "gsm_map.BasicServiceCode", HFILL }}, { &hf_gsm_map_ss_forwardedToNumber, { "forwardedToNumber", "gsm_map.ss.forwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_ss_forwardedToSubaddress, { "forwardedToSubaddress", "gsm_map.ss.forwardedToSubaddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_SubaddressString", HFILL }}, { &hf_gsm_map_ss_noReplyConditionTime, { "noReplyConditionTime", "gsm_map.ss.noReplyConditionTime", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.NoReplyConditionTime", HFILL }}, { &hf_gsm_map_ss_defaultPriority, { "defaultPriority", "gsm_map.ss.defaultPriority", FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0, "gsm_map.EMLPP_Priority", HFILL }}, { &hf_gsm_map_ss_nbrUser, { "nbrUser", "gsm_map.ss.nbrUser", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.MC_Bearers", HFILL }}, { &hf_gsm_map_ss_longFTN_Supported, { "longFTN-Supported", "gsm_map.ss.longFTN_Supported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.NULL", HFILL }}, { &hf_gsm_map_ss_forwardingInfo, { "forwardingInfo", "gsm_map.ss.forwardingInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.ForwardingInfo", HFILL }}, { &hf_gsm_map_ss_callBarringInfo, { "callBarringInfo", "gsm_map.ss.callBarringInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.CallBarringInfo", HFILL }}, { &hf_gsm_map_ss_ss_Data, { "ss-Data", "gsm_map.ss.ss_Data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.SS_Data", HFILL }}, { &hf_gsm_map_ss_forwardingFeatureList, { "forwardingFeatureList", "gsm_map.ss.forwardingFeatureList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.ForwardingFeatureList", HFILL }}, { &hf_gsm_map_ss_ForwardingFeatureList_item, { "Item", "gsm_map.ss.ForwardingFeatureList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.ForwardingFeature", HFILL }}, { &hf_gsm_map_ss_ss_Status, { "ss-Status", "gsm_map.ss.ss_Status", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.SS_Status", HFILL }}, { &hf_gsm_map_ss_forwardedToNumber_01, { "forwardedToNumber", "gsm_map.ss.forwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ss_forwardingOptions, { "forwardingOptions", "gsm_map.ss.forwardingOptions", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.ForwardingOptions", HFILL }}, { &hf_gsm_map_ss_longForwardedToNumber, { "longForwardedToNumber", "gsm_map.ss.longForwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.FTN_AddressString", HFILL }}, { &hf_gsm_map_ss_callBarringFeatureList, { "callBarringFeatureList", "gsm_map.ss.callBarringFeatureList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.CallBarringFeatureList", HFILL }}, { &hf_gsm_map_ss_CallBarringFeatureList_item, { "Item", "gsm_map.ss.CallBarringFeatureList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.CallBarringFeature", HFILL }}, { &hf_gsm_map_ss_ss_SubscriptionOption, { "ss-SubscriptionOption", "gsm_map.ss.ss_SubscriptionOption", FT_UINT32, BASE_DEC, VALS(gsm_map_ss_SS_SubscriptionOption_vals), 0, "gsm_map_ss.SS_SubscriptionOption", HFILL }}, { &hf_gsm_map_ss_basicServiceGroupList, { "basicServiceGroupList", "gsm_map.ss.basicServiceGroupList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.BasicServiceGroupList", HFILL }}, { &hf_gsm_map_ss_cliRestrictionOption, { "cliRestrictionOption", "gsm_map.ss.cliRestrictionOption", FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CliRestrictionOption_vals), 0, "gsm_map_ss.CliRestrictionOption", HFILL }}, { &hf_gsm_map_ss_overrideCategory, { "overrideCategory", "gsm_map.ss.overrideCategory", FT_UINT32, BASE_DEC, VALS(gsm_map_ss_OverrideCategory_vals), 0, "gsm_map_ss.OverrideCategory", HFILL }}, { &hf_gsm_map_ss_maximumEntitledPriority, { "maximumEntitledPriority", "gsm_map.ss.maximumEntitledPriority", FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0, "gsm_map.EMLPP_Priority", HFILL }}, { &hf_gsm_map_ss_ccbs_FeatureList, { "ccbs-FeatureList", "gsm_map.ss.ccbs_FeatureList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.CCBS_FeatureList", HFILL }}, { &hf_gsm_map_ss_nbrSB, { "nbrSB", "gsm_map.ss.nbrSB", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.MaxMC_Bearers", HFILL }}, { &hf_gsm_map_ss_nbrSN, { "nbrSN", "gsm_map.ss.nbrSN", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.MC_Bearers", HFILL }}, { &hf_gsm_map_ss_CCBS_FeatureList_item, { "Item", "gsm_map.ss.CCBS_FeatureList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.CCBS_Feature", HFILL }}, { &hf_gsm_map_ss_ccbs_Index, { "ccbs-Index", "gsm_map.ss.ccbs_Index", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.CCBS_Index", HFILL }}, { &hf_gsm_map_ss_b_subscriberNumber, { "b-subscriberNumber", "gsm_map.ss.b_subscriberNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ss_b_subscriberSubaddress, { "b-subscriberSubaddress", "gsm_map.ss.b_subscriberSubaddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_SubaddressString", HFILL }}, { &hf_gsm_map_ss_basicServiceGroup, { "basicServiceGroup", "gsm_map.ss.basicServiceGroup", FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0, "gsm_map.BasicServiceCode", HFILL }}, { &hf_gsm_map_ss_genericServiceInfo, { "genericServiceInfo", "gsm_map.ss.genericServiceInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.GenericServiceInfo", HFILL }}, { &hf_gsm_map_ss_ussd_DataCodingScheme, { "ussd-DataCodingScheme", "gsm_map.ss.ussd_DataCodingScheme", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.USSD_DataCodingScheme", HFILL }}, { &hf_gsm_map_ss_ussd_String, { "ussd-String", "gsm_map.ss.ussd_String", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.USSD_String", HFILL }}, { &hf_gsm_map_ss_alertingPattern, { "alertingPattern", "gsm_map.ss.alertingPattern", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AlertingPattern", HFILL }}, { &hf_gsm_map_ss_msisdn, { "msisdn", "gsm_map.ss.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ss_SS_List_item, { "Item", "gsm_map.ss.SS_List_item", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_map_ss_SS_InfoList_item, { "Item", "gsm_map.ss.SS_InfoList_item", FT_UINT32, BASE_DEC, VALS(gsm_map_ss_SS_Info_vals), 0, "gsm_map_ss.SS_Info", HFILL }}, { &hf_gsm_map_ss_BasicServiceGroupList_item, { "Item", "gsm_map.ss.BasicServiceGroupList_item", FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0, "gsm_map.BasicServiceCode", HFILL }}, { &hf_gsm_map_ss_imsi, { "imsi", "gsm_map.ss.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_ss_ss_Event, { "ss-Event", "gsm_map.ss.ss_Event", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_map_ss_ss_EventSpecification, { "ss-EventSpecification", "gsm_map.ss.ss_EventSpecification", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.SS_EventSpecification", HFILL }}, { &hf_gsm_map_ss_extensionContainer, { "extensionContainer", "gsm_map.ss.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_ss_ccbs_RequestState, { "ccbs-RequestState", "gsm_map.ss.ccbs_RequestState", FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CCBS_RequestState_vals), 0, "gsm_map_ss.CCBS_RequestState", HFILL }}, { &hf_gsm_map_ss_SS_EventSpecification_item, { "Item", "gsm_map.ss.SS_EventSpecification_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_ss_ccbs_Data, { "ccbs-Data", "gsm_map.ss.ccbs_Data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.CCBS_Data", HFILL }}, { &hf_gsm_map_ss_ccbs_Feature, { "ccbs-Feature", "gsm_map.ss.ccbs_Feature", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.CCBS_Feature", HFILL }}, { &hf_gsm_map_ss_translatedB_Number, { "translatedB-Number", "gsm_map.ss.translatedB_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ss_serviceIndicator, { "serviceIndicator", "gsm_map.ss.serviceIndicator", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.ServiceIndicator", HFILL }}, { &hf_gsm_map_ss_callInfo, { "callInfo", "gsm_map.ss.callInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_map_ss_networkSignalInfo, { "networkSignalInfo", "gsm_map.ss.networkSignalInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_map_ss_ServiceIndicator_clir_invoked, { "clir-invoked", "gsm_map.ss.clir-invoked", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ss_ServiceIndicator_camel_invoked, { "camel-invoked", "gsm_map.ss.camel-invoked", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, /* --- Module MAP-ER-DataTypes --- --- --- */ { &hf_gsm_map_er_roamingNotAllowedCause, { "roamingNotAllowedCause", "gsm_map.er.roamingNotAllowedCause", FT_UINT32, BASE_DEC, VALS(gsm_map_er_RoamingNotAllowedCause_vals), 0, "gsm_map_er.RoamingNotAllowedCause", HFILL }}, { &hf_gsm_map_er_extensionContainer, { "extensionContainer", "gsm_map.er.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_er_additionalRoamingNotAllowedCause, { "additionalRoamingNotAllowedCause", "gsm_map.er.additionalRoamingNotAllowedCause", FT_UINT32, BASE_DEC, VALS(gsm_map_er_AdditionalRoamingNotAllowedCause_vals), 0, "gsm_map_er.AdditionalRoamingNotAllowedCause", HFILL }}, { &hf_gsm_map_er_callBarringCause, { "callBarringCause", "gsm_map.er.callBarringCause", FT_UINT32, BASE_DEC, VALS(gsm_map_er_CallBarringCause_vals), 0, "gsm_map_er.CallBarringCause", HFILL }}, { &hf_gsm_map_er_extensibleCallBarredParam, { "extensibleCallBarredParam", "gsm_map.er.extensibleCallBarredParam", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.ExtensibleCallBarredParam", HFILL }}, { &hf_gsm_map_er_unauthorisedMessageOriginator, { "unauthorisedMessageOriginator", "gsm_map.er.unauthorisedMessageOriginator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.NULL", HFILL }}, { &hf_gsm_map_er_cug_RejectCause, { "cug-RejectCause", "gsm_map.er.cug_RejectCause", FT_UINT32, BASE_DEC, VALS(gsm_map_er_CUG_RejectCause_vals), 0, "gsm_map_er.CUG_RejectCause", HFILL }}, { &hf_gsm_map_er_ss_Code, { "ss-Code", "gsm_map.er.ss_Code", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_map_er_basicService, { "basicService", "gsm_map.er.basicService", FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0, "gsm_map.BasicServiceCode", HFILL }}, { &hf_gsm_map_er_ss_Status, { "ss-Status", "gsm_map.er.ss_Status", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.SS_Status", HFILL }}, { &hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause, { "sm-EnumeratedDeliveryFailureCause", "gsm_map.er.sm_EnumeratedDeliveryFailureCause", FT_UINT32, BASE_DEC, VALS(gsm_map_er_SM_EnumeratedDeliveryFailureCause_vals), 0, "gsm_map_er.SM_EnumeratedDeliveryFailureCause", HFILL }}, { &hf_gsm_map_er_diagnosticInfo, { "diagnosticInfo", "gsm_map.er.diagnosticInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.SignalInfo", HFILL }}, { &hf_gsm_map_er_absentSubscriberDiagnosticSM, { "absentSubscriberDiagnosticSM", "gsm_map.er.absentSubscriberDiagnosticSM", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_er.AbsentSubscriberDiagnosticSM", HFILL }}, { &hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM, { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.er.additionalAbsentSubscriberDiagnosticSM", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_er.AbsentSubscriberDiagnosticSM", HFILL }}, { &hf_gsm_map_er_networkResource, { "networkResource", "gsm_map.er.networkResource", FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0, "gsm_map.NetworkResource", HFILL }}, { &hf_gsm_map_er_extensibleSystemFailureParam, { "extensibleSystemFailureParam", "gsm_map.er.extensibleSystemFailureParam", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.ExtensibleSystemFailureParam", HFILL }}, { &hf_gsm_map_er_additionalNetworkResource, { "additionalNetworkResource", "gsm_map.er.additionalNetworkResource", FT_UINT32, BASE_DEC, VALS(gsm_map_AdditionalNetworkResource_vals), 0, "gsm_map.AdditionalNetworkResource", HFILL }}, { &hf_gsm_map_er_failureCauseParam, { "failureCauseParam", "gsm_map.er.failureCauseParam", FT_UINT32, BASE_DEC, VALS(gsm_map_er_FailureCauseParam_vals), 0, "gsm_map_er.FailureCauseParam", HFILL }}, { &hf_gsm_map_er_shapeOfLocationEstimateNotSupported, { "shapeOfLocationEstimateNotSupported", "gsm_map.er.shapeOfLocationEstimateNotSupported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.NULL", HFILL }}, { &hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode, { "neededLcsCapabilityNotSupportedInServingNode", "gsm_map.er.neededLcsCapabilityNotSupportedInServingNode", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.NULL", HFILL }}, { &hf_gsm_map_er_unknownSubscriberDiagnostic, { "unknownSubscriberDiagnostic", "gsm_map.er.unknownSubscriberDiagnostic", FT_UINT32, BASE_DEC, VALS(gsm_map_er_UnknownSubscriberDiagnostic_vals), 0, "gsm_map_er.UnknownSubscriberDiagnostic", HFILL }}, { &hf_gsm_map_er_absentSubscriberReason, { "absentSubscriberReason", "gsm_map.er.absentSubscriberReason", FT_UINT32, BASE_DEC, VALS(gsm_map_er_AbsentSubscriberReason_vals), 0, "gsm_map_er.AbsentSubscriberReason", HFILL }}, { &hf_gsm_map_er_ccbs_Possible, { "ccbs-Possible", "gsm_map.er.ccbs_Possible", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.NULL", HFILL }}, { &hf_gsm_map_er_ccbs_Busy, { "ccbs-Busy", "gsm_map.er.ccbs_Busy", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.NULL", HFILL }}, { &hf_gsm_map_er_gprsConnectionSuspended, { "gprsConnectionSuspended", "gsm_map.er.gprsConnectionSuspended", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_er.NULL", HFILL }}, { &hf_gsm_map_er_unauthorizedLCSClient_Diagnostic, { "unauthorizedLCSClient-Diagnostic", "gsm_map.er.unauthorizedLCSClient_Diagnostic", FT_UINT32, BASE_DEC, VALS(gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals), 0, "gsm_map_er.UnauthorizedLCSClient_Diagnostic", HFILL }}, { &hf_gsm_map_er_positionMethodFailure_Diagnostic, { "positionMethodFailure-Diagnostic", "gsm_map.er.positionMethodFailure_Diagnostic", FT_UINT32, BASE_DEC, VALS(gsm_map_er_PositionMethodFailure_Diagnostic_vals), 0, "gsm_map_er.PositionMethodFailure_Diagnostic", HFILL }}, /* --- Module MAP-SM-DataTypes --- --- --- */ { &hf_gsm_map_sm_msisdn, { "msisdn", "gsm_map.sm.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_sm_sm_RP_PRI, { "sm-RP-PRI", "gsm_map.sm.sm_RP_PRI", FT_BOOLEAN, 8, NULL, 0, "gsm_map_sm.BOOLEAN", HFILL }}, { &hf_gsm_map_sm_serviceCentreAddress, { "serviceCentreAddress", "gsm_map.sm.serviceCentreAddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_sm_extensionContainer, { "extensionContainer", "gsm_map.sm.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_sm_gprsSupportIndicator, { "gprsSupportIndicator", "gsm_map.sm.gprsSupportIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_sm_RP_MTI, { "sm-RP-MTI", "gsm_map.sm.sm_RP_MTI", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_sm.SM_RP_MTI", HFILL }}, { &hf_gsm_map_sm_sm_RP_SMEA, { "sm-RP-SMEA", "gsm_map.sm.sm_RP_SMEA", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_sm.SM_RP_SMEA", HFILL }}, { &hf_gsm_map_sm_sm_deliveryNotIntended, { "sm-deliveryNotIntended", "gsm_map.sm.sm_deliveryNotIntended", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryNotIntended_vals), 0, "gsm_map_sm.SM_DeliveryNotIntended", HFILL }}, { &hf_gsm_map_sm_imsi, { "imsi", "gsm_map.sm.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_sm_locationInfoWithLMSI, { "locationInfoWithLMSI", "gsm_map.sm.locationInfoWithLMSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.LocationInfoWithLMSI", HFILL }}, { &hf_gsm_map_sm_networkNode_Number, { "networkNode-Number", "gsm_map.sm.networkNode_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_sm_lmsi, { "lmsi", "gsm_map.sm.lmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LMSI", HFILL }}, { &hf_gsm_map_sm_gprsNodeIndicator, { "gprsNodeIndicator", "gsm_map.sm.gprsNodeIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_additional_Number, { "additional-Number", "gsm_map.sm.additional_Number", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0, "gsm_map_sm.Additional_Number", HFILL }}, { &hf_gsm_map_sm_msc_Number, { "msc-Number", "gsm_map.sm.msc_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_sm_sgsn_Number, { "sgsn-Number", "gsm_map.sm.sgsn_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_sm_sm_RP_DA, { "sm-RP-DA", "gsm_map.sm.sm_RP_DA", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_RP_DA_vals), 0, "gsm_map_sm.SM_RP_DA", HFILL }}, { &hf_gsm_map_sm_sm_RP_OA, { "sm-RP-OA", "gsm_map.sm.sm_RP_OA", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_RP_OA_vals), 0, "gsm_map_sm.SM_RP_OA", HFILL }}, { &hf_gsm_map_sm_sm_RP_UI, { "sm-RP-UI", "gsm_map.sm.sm_RP_UI", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.SignalInfo", HFILL }}, { &hf_gsm_map_sm_moreMessagesToSend, { "moreMessagesToSend", "gsm_map.sm.moreMessagesToSend", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_serviceCentreAddressDA, { "serviceCentreAddressDA", "gsm_map.sm.serviceCentreAddressDA", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_sm_noSM_RP_DA, { "noSM-RP-DA", "gsm_map.sm.noSM_RP_DA", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_msisdn_01, { "msisdn", "gsm_map.sm.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_sm.T_msisdn", HFILL }}, { &hf_gsm_map_sm_serviceCentreAddressOA, { "serviceCentreAddressOA", "gsm_map.sm.serviceCentreAddressOA", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_sm.T_serviceCentreAddressOA", HFILL }}, { &hf_gsm_map_sm_noSM_RP_OA, { "noSM-RP-OA", "gsm_map.sm.noSM_RP_OA", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_sm_DeliveryOutcome, { "sm-DeliveryOutcome", "gsm_map.sm.sm_DeliveryOutcome", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0, "gsm_map_sm.SM_DeliveryOutcome", HFILL }}, { &hf_gsm_map_sm_absentSubscriberDiagnosticSM, { "absentSubscriberDiagnosticSM", "gsm_map.sm.absentSubscriberDiagnosticSM", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_er.AbsentSubscriberDiagnosticSM", HFILL }}, { &hf_gsm_map_sm_deliveryOutcomeIndicator, { "deliveryOutcomeIndicator", "gsm_map.sm.deliveryOutcomeIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_additionalSM_DeliveryOutcome, { "additionalSM-DeliveryOutcome", "gsm_map.sm.additionalSM_DeliveryOutcome", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0, "gsm_map_sm.SM_DeliveryOutcome", HFILL }}, { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM, { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.sm.additionalAbsentSubscriberDiagnosticSM", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_er.AbsentSubscriberDiagnosticSM", HFILL }}, { &hf_gsm_map_sm_ip_sm_gw_Indicator, { "ip-sm-gw-Indicator", "gsm_map.sm.ip_sm_gw_Indicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome, { "ip-sm-gw-sm-deliveryOutcome", "gsm_map.sm.ip_sm_gw_sm_deliveryOutcome", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0, "gsm_map_sm.SM_DeliveryOutcome", HFILL }}, { &hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM, { "ip-sm-gw-absentSubscriberDiagnosticSM", "gsm_map.sm.ip_sm_gw_absentSubscriberDiagnosticSM", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_er.AbsentSubscriberDiagnosticSM", HFILL }}, { &hf_gsm_map_sm_storedMSISDN, { "storedMSISDN", "gsm_map.sm.storedMSISDN", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_sm_mw_Status, { "mw-Status", "gsm_map.sm.mw_Status", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_sm.MW_Status", HFILL }}, { &hf_gsm_map_sm_alertReason, { "alertReason", "gsm_map.sm.alertReason", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_AlertReason_vals), 0, "gsm_map_sm.AlertReason", HFILL }}, { &hf_gsm_map_sm_alertReasonIndicator, { "alertReasonIndicator", "gsm_map.sm.alertReasonIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_additionalAlertReasonIndicator, { "additionalAlertReasonIndicator", "gsm_map.sm.additionalAlertReasonIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_asciCallReference, { "asciCallReference", "gsm_map.sm.asciCallReference", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ASCI_CallReference", HFILL }}, { &hf_gsm_map_sm_dispatcherList, { "dispatcherList", "gsm_map.sm.dispatcherList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_sm.DispatcherList", HFILL }}, { &hf_gsm_map_sm_ongoingCall, { "ongoingCall", "gsm_map.sm.ongoingCall", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_sm.NULL", HFILL }}, { &hf_gsm_map_sm_DispatcherList_item, { "Item", "gsm_map.sm.DispatcherList_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded, { "sc-AddressNotIncluded", "gsm_map.sm.sc-AddressNotIncluded", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_sm_MW_Status_mnrf_Set, { "mnrf-Set", "gsm_map.sm.mnrf-Set", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_sm_MW_Status_mcef_Set, { "mcef-Set", "gsm_map.sm.mcef-Set", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_sm_MW_Status_mnrg_Set, { "mnrg-Set", "gsm_map.sm.mnrg-Set", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, /* --- Module MAP-OM-DataTypes --- --- --- */ { &hf_gsm_map_om_imsi, { "imsi", "gsm_map.om.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_om_traceReference, { "traceReference", "gsm_map.om.traceReference", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.TraceReference", HFILL }}, { &hf_gsm_map_om_traceType, { "traceType", "gsm_map.om.traceType", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_om.TraceType", HFILL }}, { &hf_gsm_map_om_omc_Id, { "omc-Id", "gsm_map.om.omc_Id", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_om_extensionContainer, { "extensionContainer", "gsm_map.om.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_om_traceReference2, { "traceReference2", "gsm_map.om.traceReference2", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.TraceReference2", HFILL }}, { &hf_gsm_map_om_traceDepthList, { "traceDepthList", "gsm_map.om.traceDepthList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_om.TraceDepthList", HFILL }}, { &hf_gsm_map_om_traceNE_TypeList, { "traceNE-TypeList", "gsm_map.om.traceNE_TypeList", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.TraceNE_TypeList", HFILL }}, { &hf_gsm_map_om_traceInterfaceList, { "traceInterfaceList", "gsm_map.om.traceInterfaceList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_om.TraceInterfaceList", HFILL }}, { &hf_gsm_map_om_traceEventList, { "traceEventList", "gsm_map.om.traceEventList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_om.TraceEventList", HFILL }}, { &hf_gsm_map_om_msc_s_TraceDepth, { "msc-s-TraceDepth", "gsm_map.om.msc_s_TraceDepth", FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0, "gsm_map_om.TraceDepth", HFILL }}, { &hf_gsm_map_om_mgw_TraceDepth, { "mgw-TraceDepth", "gsm_map.om.mgw_TraceDepth", FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0, "gsm_map_om.TraceDepth", HFILL }}, { &hf_gsm_map_om_sgsn_TraceDepth, { "sgsn-TraceDepth", "gsm_map.om.sgsn_TraceDepth", FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0, "gsm_map_om.TraceDepth", HFILL }}, { &hf_gsm_map_om_ggsn_TraceDepth, { "ggsn-TraceDepth", "gsm_map.om.ggsn_TraceDepth", FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0, "gsm_map_om.TraceDepth", HFILL }}, { &hf_gsm_map_om_rnc_TraceDepth, { "rnc-TraceDepth", "gsm_map.om.rnc_TraceDepth", FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0, "gsm_map_om.TraceDepth", HFILL }}, { &hf_gsm_map_om_bmsc_TraceDepth, { "bmsc-TraceDepth", "gsm_map.om.bmsc_TraceDepth", FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0, "gsm_map_om.TraceDepth", HFILL }}, { &hf_gsm_map_om_msc_s_List, { "msc-s-List", "gsm_map.om.msc_s_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MSC_S_InterfaceList", HFILL }}, { &hf_gsm_map_om_mgw_List, { "mgw-List", "gsm_map.om.mgw_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MGW_InterfaceList", HFILL }}, { &hf_gsm_map_om_sgsn_List, { "sgsn-List", "gsm_map.om.sgsn_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.SGSN_InterfaceList", HFILL }}, { &hf_gsm_map_om_ggsn_List, { "ggsn-List", "gsm_map.om.ggsn_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.GGSN_InterfaceList", HFILL }}, { &hf_gsm_map_om_rnc_List, { "rnc-List", "gsm_map.om.rnc_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.RNC_InterfaceList", HFILL }}, { &hf_gsm_map_om_bmsc_List, { "bmsc-List", "gsm_map.om.bmsc_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.BMSC_InterfaceList", HFILL }}, { &hf_gsm_map_om_msc_s_List_01, { "msc-s-List", "gsm_map.om.msc_s_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MSC_S_EventList", HFILL }}, { &hf_gsm_map_om_mgw_List_01, { "mgw-List", "gsm_map.om.mgw_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MGW_EventList", HFILL }}, { &hf_gsm_map_om_sgsn_List_01, { "sgsn-List", "gsm_map.om.sgsn_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.SGSN_EventList", HFILL }}, { &hf_gsm_map_om_ggsn_List_01, { "ggsn-List", "gsm_map.om.ggsn_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.GGSN_EventList", HFILL }}, { &hf_gsm_map_om_bmsc_List_01, { "bmsc-List", "gsm_map.om.bmsc_List", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.BMSC_EventList", HFILL }}, { &hf_gsm_map_om_traceRecordingSessionReference, { "traceRecordingSessionReference", "gsm_map.om.traceRecordingSessionReference", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.TraceRecordingSessionReference", HFILL }}, { &hf_gsm_map_om_rnc_InterfaceList, { "rnc-InterfaceList", "gsm_map.om.rnc_InterfaceList", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.RNC_InterfaceList", HFILL }}, { &hf_gsm_map_om_msc_s_InterfaceList, { "msc-s-InterfaceList", "gsm_map.om.msc_s_InterfaceList", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MSC_S_InterfaceList", HFILL }}, { &hf_gsm_map_om_msc_s_EventList, { "msc-s-EventList", "gsm_map.om.msc_s_EventList", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MSC_S_EventList", HFILL }}, { &hf_gsm_map_om_mgw_InterfaceList, { "mgw-InterfaceList", "gsm_map.om.mgw_InterfaceList", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MGW_InterfaceList", HFILL }}, { &hf_gsm_map_om_mgw_EventList, { "mgw-EventList", "gsm_map.om.mgw_EventList", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_om.MGW_EventList", HFILL }}, { &hf_gsm_map_om_traceSupportIndicator, { "traceSupportIndicator", "gsm_map.om.traceSupportIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_om.NULL", HFILL }}, { &hf_gsm_map_om_TraceNE_TypeList_msc_s, { "msc-s", "gsm_map.om.msc-s", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_TraceNE_TypeList_mgw, { "mgw", "gsm_map.om.mgw", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_TraceNE_TypeList_sgsn, { "sgsn", "gsm_map.om.sgsn", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_TraceNE_TypeList_ggsn, { "ggsn", "gsm_map.om.ggsn", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_om_TraceNE_TypeList_rnc, { "rnc", "gsm_map.om.rnc", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_om_TraceNE_TypeList_bm_sc, { "bm-sc", "gsm_map.om.bm-sc", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_a, { "a", "gsm_map.om.a", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_iu, { "iu", "gsm_map.om.iu", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_mc, { "mc", "gsm_map.om.mc", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_map_g, { "map-g", "gsm_map.om.map-g", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_map_b, { "map-b", "gsm_map.om.map-b", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_map_e, { "map-e", "gsm_map.om.map-e", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_map_f, { "map-f", "gsm_map.om.map-f", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_cap, { "cap", "gsm_map.om.cap", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_map_d, { "map-d", "gsm_map.om.map-d", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_MSC_S_InterfaceList_map_c, { "map-c", "gsm_map.om.map-c", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_MGW_InterfaceList_mc, { "mc", "gsm_map.om.mc", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_MGW_InterfaceList_nb_up, { "nb-up", "gsm_map.om.nb-up", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_MGW_InterfaceList_iu_up, { "iu-up", "gsm_map.om.iu-up", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_gb, { "gb", "gsm_map.om.gb", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_iu, { "iu", "gsm_map.om.iu", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_gn, { "gn", "gsm_map.om.gn", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_map_gr, { "map-gr", "gsm_map.om.map-gr", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_map_gd, { "map-gd", "gsm_map.om.map-gd", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_map_gf, { "map-gf", "gsm_map.om.map-gf", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_gs, { "gs", "gsm_map.om.gs", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_om_SGSN_InterfaceList_ge, { "ge", "gsm_map.om.ge", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_om_GGSN_InterfaceList_gn, { "gn", "gsm_map.om.gn", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_GGSN_InterfaceList_gi, { "gi", "gsm_map.om.gi", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_GGSN_InterfaceList_gmb, { "gmb", "gsm_map.om.gmb", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_RNC_InterfaceList_iu, { "iu", "gsm_map.om.iu", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_RNC_InterfaceList_iur, { "iur", "gsm_map.om.iur", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_RNC_InterfaceList_iub, { "iub", "gsm_map.om.iub", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_RNC_InterfaceList_uu, { "uu", "gsm_map.om.uu", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_om_BMSC_InterfaceList_gmb, { "gmb", "gsm_map.om.gmb", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_MSC_S_EventList_mo_mtCall, { "mo-mtCall", "gsm_map.om.mo-mtCall", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_MSC_S_EventList_mo_mt_sms, { "mo-mt-sms", "gsm_map.om.mo-mt-sms", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach, { "lu-imsiAttach-imsiDetach", "gsm_map.om.lu-imsiAttach-imsiDetach", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_MSC_S_EventList_handovers, { "handovers", "gsm_map.om.handovers", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_om_MSC_S_EventList_ss, { "ss", "gsm_map.om.ss", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_om_MGW_EventList_context, { "context", "gsm_map.om.context", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_SGSN_EventList_pdpContext, { "pdpContext", "gsm_map.om.pdpContext", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_SGSN_EventList_mo_mt_sms, { "mo-mt-sms", "gsm_map.om.mo-mt-sms", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach, { "rau-gprsAttach-gprsDetach", "gsm_map.om.rau-gprsAttach-gprsDetach", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_om_SGSN_EventList_mbmsContext, { "mbmsContext", "gsm_map.om.mbmsContext", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_om_GGSN_EventList_pdpContext, { "pdpContext", "gsm_map.om.pdpContext", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_om_GGSN_EventList_mbmsContext, { "mbmsContext", "gsm_map.om.mbmsContext", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation, { "mbmsMulticastServiceActivation", "gsm_map.om.mbmsMulticastServiceActivation", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, /* --- Module MAP-MS-DataTypes --- --- --- */ { &hf_gsm_map_ms_imsi, { "imsi", "gsm_map.ms.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_ms_msc_Number, { "msc-Number", "gsm_map.ms.msc_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_vlr_Number, { "vlr-Number", "gsm_map.ms.vlr_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_lmsi, { "lmsi", "gsm_map.ms.lmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LMSI", HFILL }}, { &hf_gsm_map_ms_extensionContainer, { "extensionContainer", "gsm_map.ms.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_ms_vlr_Capability, { "vlr-Capability", "gsm_map.ms.vlr_Capability", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.VLR_Capability", HFILL }}, { &hf_gsm_map_ms_informPreviousNetworkEntity, { "informPreviousNetworkEntity", "gsm_map.ms.informPreviousNetworkEntity", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_cs_LCS_NotSupportedByUE, { "cs-LCS-NotSupportedByUE", "gsm_map.ms.cs_LCS_NotSupportedByUE", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_v_gmlc_Address, { "v-gmlc-Address", "gsm_map.ms.v_gmlc_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_ms_add_info, { "add-info", "gsm_map.ms.add_info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ADD_Info", HFILL }}, { &hf_gsm_map_ms_supportedCamelPhases, { "supportedCamelPhases", "gsm_map.ms.supportedCamelPhases", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedCamelPhases", HFILL }}, { &hf_gsm_map_ms_solsaSupportIndicator, { "solsaSupportIndicator", "gsm_map.ms.solsaSupportIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_istSupportIndicator, { "istSupportIndicator", "gsm_map.ms.istSupportIndicator", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IST_SupportIndicator_vals), 0, "gsm_map_ms.IST_SupportIndicator", HFILL }}, { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity, { "superChargerSupportedInServingNetworkEntity", "gsm_map.ms.superChargerSupportedInServingNetworkEntity", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SuperChargerInfo_vals), 0, "gsm_map_ms.SuperChargerInfo", HFILL }}, { &hf_gsm_map_ms_longFTN_Supported, { "longFTN-Supported", "gsm_map.ms.longFTN_Supported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_supportedLCS_CapabilitySets, { "supportedLCS-CapabilitySets", "gsm_map.ms.supportedLCS_CapabilitySets", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedLCS_CapabilitySets", HFILL }}, { &hf_gsm_map_ms_offeredCamel4CSIs, { "offeredCamel4CSIs", "gsm_map.ms.offeredCamel4CSIs", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.OfferedCamel4CSIs", HFILL }}, { &hf_gsm_map_ms_supportedRAT_TypesIndicator, { "supportedRAT-TypesIndicator", "gsm_map.ms.supportedRAT_TypesIndicator", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedRAT_Types", HFILL }}, { &hf_gsm_map_ms_longGroupID_Supported, { "longGroupID-Supported", "gsm_map.ms.longGroupID_Supported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_sendSubscriberData, { "sendSubscriberData", "gsm_map.ms.sendSubscriberData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_subscriberDataStored, { "subscriberDataStored", "gsm_map.ms.subscriberDataStored", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AgeIndicator", HFILL }}, { &hf_gsm_map_ms_hlr_Number, { "hlr-Number", "gsm_map.ms.hlr_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_add_Capability, { "add-Capability", "gsm_map.ms.add_Capability", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_imeisv, { "imeisv", "gsm_map.ms.imeisv", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMEI", HFILL }}, { &hf_gsm_map_ms_skipSubscriberDataUpdate, { "skipSubscriberDataUpdate", "gsm_map.ms.skipSubscriberDataUpdate", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_identity, { "identity", "gsm_map.ms.identity", FT_UINT32, BASE_DEC, VALS(gsm_map_Identity_vals), 0, "gsm_map.Identity", HFILL }}, { &hf_gsm_map_ms_cancellationType, { "cancellationType", "gsm_map.ms.cancellationType", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CancellationType_vals), 0, "gsm_map_ms.CancellationType", HFILL }}, { &hf_gsm_map_ms_sgsn_Number, { "sgsn-Number", "gsm_map.ms.sgsn_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_freezeTMSI, { "freezeTMSI", "gsm_map.ms.freezeTMSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_freezeP_TMSI, { "freezeP-TMSI", "gsm_map.ms.freezeP_TMSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_tmsi, { "tmsi", "gsm_map.ms.tmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.TMSI", HFILL }}, { &hf_gsm_map_ms_numberOfRequestedVectors, { "numberOfRequestedVectors", "gsm_map.ms.numberOfRequestedVectors", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.NumberOfRequestedVectors", HFILL }}, { &hf_gsm_map_ms_segmentationProhibited, { "segmentationProhibited", "gsm_map.ms.segmentationProhibited", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_previous_LAI, { "previous-LAI", "gsm_map.ms.previous_LAI", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LAIFixedLength", HFILL }}, { &hf_gsm_map_ms_hopCounter, { "hopCounter", "gsm_map.ms.hopCounter", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.HopCounter", HFILL }}, { &hf_gsm_map_ms_authenticationSetList, { "authenticationSetList", "gsm_map.ms.authenticationSetList", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AuthenticationSetList_vals), 0, "gsm_map_ms.AuthenticationSetList", HFILL }}, { &hf_gsm_map_ms_currentSecurityContext, { "currentSecurityContext", "gsm_map.ms.currentSecurityContext", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CurrentSecurityContext_vals), 0, "gsm_map_ms.CurrentSecurityContext", HFILL }}, { &hf_gsm_map_ms_tripletList, { "tripletList", "gsm_map.ms.tripletList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.TripletList", HFILL }}, { &hf_gsm_map_ms_quintupletList, { "quintupletList", "gsm_map.ms.quintupletList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.QuintupletList", HFILL }}, { &hf_gsm_map_ms_TripletList_item, { "Item", "gsm_map.ms.TripletList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.AuthenticationTriplet", HFILL }}, { &hf_gsm_map_ms_QuintupletList_item, { "Item", "gsm_map.ms.QuintupletList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.AuthenticationQuintuplet", HFILL }}, { &hf_gsm_map_ms_rand, { "rand", "gsm_map.ms.rand", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RAND", HFILL }}, { &hf_gsm_map_ms_sres, { "sres", "gsm_map.ms.sres", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SRES", HFILL }}, { &hf_gsm_map_ms_kc, { "kc", "gsm_map.ms.kc", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Kc", HFILL }}, { &hf_gsm_map_ms_xres, { "xres", "gsm_map.ms.xres", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.XRES", HFILL }}, { &hf_gsm_map_ms_ck, { "ck", "gsm_map.ms.ck", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.CK", HFILL }}, { &hf_gsm_map_ms_ik, { "ik", "gsm_map.ms.ik", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.IK", HFILL }}, { &hf_gsm_map_ms_autn, { "autn", "gsm_map.ms.autn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AUTN", HFILL }}, { &hf_gsm_map_ms_gsm_SecurityContextData, { "gsm-SecurityContextData", "gsm_map.ms.gsm_SecurityContextData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.GSM_SecurityContextData", HFILL }}, { &hf_gsm_map_ms_umts_SecurityContextData, { "umts-SecurityContextData", "gsm_map.ms.umts_SecurityContextData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.UMTS_SecurityContextData", HFILL }}, { &hf_gsm_map_ms_cksn, { "cksn", "gsm_map.ms.cksn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Cksn", HFILL }}, { &hf_gsm_map_ms_ksi, { "ksi", "gsm_map.ms.ksi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.KSI", HFILL }}, { &hf_gsm_map_ms_failureCause, { "failureCause", "gsm_map.ms.failureCause", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_FailureCause_vals), 0, "gsm_map_ms.FailureCause", HFILL }}, { &hf_gsm_map_ms_re_attempt, { "re-attempt", "gsm_map.ms.re_attempt", FT_BOOLEAN, 8, NULL, 0, "gsm_map_ms.BOOLEAN", HFILL }}, { &hf_gsm_map_ms_accessType, { "accessType", "gsm_map.ms.accessType", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AccessType_vals), 0, "gsm_map_ms.AccessType", HFILL }}, { &hf_gsm_map_ms_sgsn_Address, { "sgsn-Address", "gsm_map.ms.sgsn_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_ms_sgsn_Capability, { "sgsn-Capability", "gsm_map.ms.sgsn_Capability", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SGSN_Capability", HFILL }}, { &hf_gsm_map_ms_ps_LCS_NotSupportedByUE, { "ps-LCS-NotSupportedByUE", "gsm_map.ms.ps_LCS_NotSupportedByUE", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_gprsEnhancementsSupportIndicator, { "gprsEnhancementsSupportIndicator", "gsm_map.ms.gprsEnhancementsSupportIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_smsCallBarringSupportIndicator, { "smsCallBarringSupportIndicator", "gsm_map.ms.smsCallBarringSupportIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_an_APDU, { "an-APDU", "gsm_map.ms.an_APDU", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.AccessNetworkSignalInfo", HFILL }}, { &hf_gsm_map_ms_integrityProtectionInfo, { "integrityProtectionInfo", "gsm_map.ms.integrityProtectionInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.IntegrityProtectionInformation", HFILL }}, { &hf_gsm_map_ms_encryptionInfo, { "encryptionInfo", "gsm_map.ms.encryptionInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.EncryptionInformation", HFILL }}, { &hf_gsm_map_ms_keyStatus, { "keyStatus", "gsm_map.ms.keyStatus", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_KeyStatus_vals), 0, "gsm_map_ms.KeyStatus", HFILL }}, { &hf_gsm_map_ms_allowedGSM_Algorithms, { "allowedGSM-Algorithms", "gsm_map.ms.allowedGSM_Algorithms", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AllowedGSM_Algorithms", HFILL }}, { &hf_gsm_map_ms_allowedUMTS_Algorithms, { "allowedUMTS-Algorithms", "gsm_map.ms.allowedUMTS_Algorithms", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.AllowedUMTS_Algorithms", HFILL }}, { &hf_gsm_map_ms_radioResourceInformation, { "radioResourceInformation", "gsm_map.ms.radioResourceInformation", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RadioResourceInformation", HFILL }}, { &hf_gsm_map_ms_radioResourceList, { "radioResourceList", "gsm_map.ms.radioResourceList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.RadioResourceList", HFILL }}, { &hf_gsm_map_ms_bssmap_ServiceHandover, { "bssmap-ServiceHandover", "gsm_map.ms.bssmap_ServiceHandover", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.BSSMAP_ServiceHandover", HFILL }}, { &hf_gsm_map_ms_ranap_ServiceHandover, { "ranap-ServiceHandover", "gsm_map.ms.ranap_ServiceHandover", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RANAP_ServiceHandover", HFILL }}, { &hf_gsm_map_ms_bssmap_ServiceHandoverList, { "bssmap-ServiceHandoverList", "gsm_map.ms.bssmap_ServiceHandoverList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.BSSMAP_ServiceHandoverList", HFILL }}, { &hf_gsm_map_ms_currentlyUsedCodec, { "currentlyUsedCodec", "gsm_map.ms.currentlyUsedCodec", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_iuSupportedCodecsList, { "iuSupportedCodecsList", "gsm_map.ms.iuSupportedCodecsList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SupportedCodecsList", HFILL }}, { &hf_gsm_map_ms_rab_ConfigurationIndicator, { "rab-ConfigurationIndicator", "gsm_map.ms.rab_ConfigurationIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_iuSelectedCodec, { "iuSelectedCodec", "gsm_map.ms.iuSelectedCodec", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_alternativeChannelType, { "alternativeChannelType", "gsm_map.ms.alternativeChannelType", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RadioResourceInformation", HFILL }}, { &hf_gsm_map_ms_tracePropagationList, { "tracePropagationList", "gsm_map.ms.tracePropagationList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_om.TracePropagationList", HFILL }}, { &hf_gsm_map_ms_integrityProtectionAlgorithms, { "integrityProtectionAlgorithms", "gsm_map.ms.integrityProtectionAlgorithms", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.PermittedIntegrityProtectionAlgorithms", HFILL }}, { &hf_gsm_map_ms_encryptionAlgorithms, { "encryptionAlgorithms", "gsm_map.ms.encryptionAlgorithms", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.PermittedEncryptionAlgorithms", HFILL }}, { &hf_gsm_map_ms_targetCellId, { "targetCellId", "gsm_map.ms.targetCellId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.GlobalCellId", HFILL }}, { &hf_gsm_map_ms_ho_NumberNotRequired, { "ho-NumberNotRequired", "gsm_map.ms.ho_NumberNotRequired", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_targetRNCId, { "targetRNCId", "gsm_map.ms.targetRNCId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RNCId", HFILL }}, { &hf_gsm_map_ms_multipleBearerRequested, { "multipleBearerRequested", "gsm_map.ms.multipleBearerRequested", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_rab_Id, { "rab-Id", "gsm_map.ms.rab_Id", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.RAB_Id", HFILL }}, { &hf_gsm_map_ms_asciCallReference, { "asciCallReference", "gsm_map.ms.asciCallReference", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ASCI_CallReference", HFILL }}, { &hf_gsm_map_ms_geran_classmark, { "geran-classmark", "gsm_map.ms.geran_classmark", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GERAN_Classmark", HFILL }}, { &hf_gsm_map_ms_iuCurrentlyUsedCodec, { "iuCurrentlyUsedCodec", "gsm_map.ms.iuCurrentlyUsedCodec", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_uesbi_Iu, { "uesbi-Iu", "gsm_map.ms.uesbi_Iu", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.UESBI_Iu", HFILL }}, { &hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item, { "Item", "gsm_map.ms.BSSMAP_ServiceHandoverList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.BSSMAP_ServiceHandoverInfo", HFILL }}, { &hf_gsm_map_ms_RadioResourceList_item, { "Item", "gsm_map.ms.RadioResourceList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.RadioResource", HFILL }}, { &hf_gsm_map_ms_handoverNumber, { "handoverNumber", "gsm_map.ms.handoverNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_relocationNumberList, { "relocationNumberList", "gsm_map.ms.relocationNumberList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.RelocationNumberList", HFILL }}, { &hf_gsm_map_ms_multicallBearerInfo, { "multicallBearerInfo", "gsm_map.ms.multicallBearerInfo", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.MulticallBearerInfo", HFILL }}, { &hf_gsm_map_ms_multipleBearerNotSupported, { "multipleBearerNotSupported", "gsm_map.ms.multipleBearerNotSupported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_selectedUMTS_Algorithms, { "selectedUMTS-Algorithms", "gsm_map.ms.selectedUMTS_Algorithms", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SelectedUMTS_Algorithms", HFILL }}, { &hf_gsm_map_ms_chosenRadioResourceInformation, { "chosenRadioResourceInformation", "gsm_map.ms.chosenRadioResourceInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ChosenRadioResourceInformation", HFILL }}, { &hf_gsm_map_ms_iuAvailableCodecsList, { "iuAvailableCodecsList", "gsm_map.ms.iuAvailableCodecsList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CodecList", HFILL }}, { &hf_gsm_map_ms_integrityProtectionAlgorithm, { "integrityProtectionAlgorithm", "gsm_map.ms.integrityProtectionAlgorithm", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ChosenIntegrityProtectionAlgorithm", HFILL }}, { &hf_gsm_map_ms_encryptionAlgorithm, { "encryptionAlgorithm", "gsm_map.ms.encryptionAlgorithm", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ChosenEncryptionAlgorithm", HFILL }}, { &hf_gsm_map_ms_chosenChannelInfo, { "chosenChannelInfo", "gsm_map.ms.chosenChannelInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ChosenChannelInfo", HFILL }}, { &hf_gsm_map_ms_chosenSpeechVersion, { "chosenSpeechVersion", "gsm_map.ms.chosenSpeechVersion", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ChosenSpeechVersion", HFILL }}, { &hf_gsm_map_ms_targetMSC_Number, { "targetMSC-Number", "gsm_map.ms.targetMSC_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_selectedRab_Id, { "selectedRab-Id", "gsm_map.ms.selectedRab_Id", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.RAB_Id", HFILL }}, { &hf_gsm_map_ms_selectedGSM_Algorithm, { "selectedGSM-Algorithm", "gsm_map.ms.selectedGSM_Algorithm", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SelectedGSM_Algorithm", HFILL }}, { &hf_gsm_map_ms_iUSelectedCodec, { "iUSelectedCodec", "gsm_map.ms.iUSelectedCodec", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_utranCodecList, { "utranCodecList", "gsm_map.ms.utranCodecList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CodecList", HFILL }}, { &hf_gsm_map_ms_geranCodecList, { "geranCodecList", "gsm_map.ms.geranCodecList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CodecList", HFILL }}, { &hf_gsm_map_ms_codec1, { "codec1", "gsm_map.ms.codec1", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_codec2, { "codec2", "gsm_map.ms.codec2", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_codec3, { "codec3", "gsm_map.ms.codec3", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_codec4, { "codec4", "gsm_map.ms.codec4", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_codec5, { "codec5", "gsm_map.ms.codec5", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_codec6, { "codec6", "gsm_map.ms.codec6", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_codec7, { "codec7", "gsm_map.ms.codec7", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_codec8, { "codec8", "gsm_map.ms.codec8", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Codec", HFILL }}, { &hf_gsm_map_ms_RelocationNumberList_item, { "Item", "gsm_map.ms.RelocationNumberList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.RelocationNumber", HFILL }}, { &hf_gsm_map_ms_immediateResponsePreferred, { "immediateResponsePreferred", "gsm_map.ms.immediateResponsePreferred", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_re_synchronisationInfo, { "re-synchronisationInfo", "gsm_map.ms.re_synchronisationInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Re_synchronisationInfo", HFILL }}, { &hf_gsm_map_ms_requestingNodeType, { "requestingNodeType", "gsm_map.ms.requestingNodeType", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestingNodeType_vals), 0, "gsm_map_ms.RequestingNodeType", HFILL }}, { &hf_gsm_map_ms_requestingPLMN_Id, { "requestingPLMN-Id", "gsm_map.ms.requestingPLMN_Id", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.PLMN_Id", HFILL }}, { &hf_gsm_map_ms_auts, { "auts", "gsm_map.ms.auts", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AUTS", HFILL }}, { &hf_gsm_map_ms_imei, { "imei", "gsm_map.ms.imei", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMEI", HFILL }}, { &hf_gsm_map_ms_requestedEquipmentInfo, { "requestedEquipmentInfo", "gsm_map.ms.requestedEquipmentInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RequestedEquipmentInfo", HFILL }}, { &hf_gsm_map_ms_equipmentStatus, { "equipmentStatus", "gsm_map.ms.equipmentStatus", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_EquipmentStatus_vals), 0, "gsm_map_ms.EquipmentStatus", HFILL }}, { &hf_gsm_map_ms_bmuef, { "bmuef", "gsm_map.ms.bmuef", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.UESBI_Iu", HFILL }}, { &hf_gsm_map_ms_uesbi_IuA, { "uesbi-IuA", "gsm_map.ms.uesbi_IuA", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.UESBI_IuA", HFILL }}, { &hf_gsm_map_ms_uesbi_IuB, { "uesbi-IuB", "gsm_map.ms.uesbi_IuB", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.UESBI_IuB", HFILL }}, { &hf_gsm_map_ms_gmlc_List, { "gmlc-List", "gsm_map.ms.gmlc_List", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.GMLC_List", HFILL }}, { &hf_gsm_map_ms_lcs_PrivacyExceptionList, { "lcs-PrivacyExceptionList", "gsm_map.ms.lcs_PrivacyExceptionList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.LCS_PrivacyExceptionList", HFILL }}, { &hf_gsm_map_ms_molr_List, { "molr-List", "gsm_map.ms.molr_List", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.MOLR_List", HFILL }}, { &hf_gsm_map_ms_add_lcs_PrivacyExceptionList, { "add-lcs-PrivacyExceptionList", "gsm_map.ms.add_lcs_PrivacyExceptionList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.LCS_PrivacyExceptionList", HFILL }}, { &hf_gsm_map_ms_GMLC_List_item, { "Item", "gsm_map.ms.GMLC_List_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_GPRSDataList_item, { "Item", "gsm_map.ms.GPRSDataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.PDP_Context", HFILL }}, { &hf_gsm_map_ms_pdp_ContextId, { "pdp-ContextId", "gsm_map.ms.pdp_ContextId", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ContextId", HFILL }}, { &hf_gsm_map_ms_pdp_Type, { "pdp-Type", "gsm_map.ms.pdp_Type", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.PDP_Type", HFILL }}, { &hf_gsm_map_ms_pdp_Address, { "pdp-Address", "gsm_map.ms.pdp_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.PDP_Address", HFILL }}, { &hf_gsm_map_ms_qos_Subscribed, { "qos-Subscribed", "gsm_map.ms.qos_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_vplmnAddressAllowed, { "vplmnAddressAllowed", "gsm_map.ms.vplmnAddressAllowed", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_apn, { "apn", "gsm_map.ms.apn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.APN", HFILL }}, { &hf_gsm_map_ms_ext_QoS_Subscribed, { "ext-QoS-Subscribed", "gsm_map.ms.ext_QoS_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_pdp_ChargingCharacteristics, { "pdp-ChargingCharacteristics", "gsm_map.ms.pdp_ChargingCharacteristics", FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00, "gsm_map_ms.ChargingCharacteristics", HFILL }}, { &hf_gsm_map_ms_ext2_QoS_Subscribed, { "ext2-QoS-Subscribed", "gsm_map.ms.ext2_QoS_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext2_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_ext3_QoS_Subscribed, { "ext3-QoS-Subscribed", "gsm_map.ms.ext3_QoS_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext3_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_completeDataListIncluded, { "completeDataListIncluded", "gsm_map.ms.completeDataListIncluded", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_gprsDataList, { "gprsDataList", "gsm_map.ms.gprsDataList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.GPRSDataList", HFILL }}, { &hf_gsm_map_ms_gprs_CSI, { "gprs-CSI", "gsm_map.ms.gprs_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.GPRS_CSI", HFILL }}, { &hf_gsm_map_ms_mo_sms_CSI, { "mo-sms-CSI", "gsm_map.ms.mo_sms_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SMS_CSI", HFILL }}, { &hf_gsm_map_ms_mt_sms_CSI, { "mt-sms-CSI", "gsm_map.ms.mt_sms_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SMS_CSI", HFILL }}, { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, { "mt-smsCAMELTDP-CriteriaList", "gsm_map.ms.mt_smsCAMELTDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.MT_smsCAMELTDP_CriteriaList", HFILL }}, { &hf_gsm_map_ms_mg_csi, { "mg-csi", "gsm_map.ms.mg_csi", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.MG_CSI", HFILL }}, { &hf_gsm_map_ms_gprs_CamelTDPDataList, { "gprs-CamelTDPDataList", "gsm_map.ms.gprs_CamelTDPDataList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.GPRS_CamelTDPDataList", HFILL }}, { &hf_gsm_map_ms_camelCapabilityHandling, { "camelCapabilityHandling", "gsm_map.ms.camelCapabilityHandling", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.CamelCapabilityHandling", HFILL }}, { &hf_gsm_map_ms_notificationToCSE, { "notificationToCSE", "gsm_map.ms.notificationToCSE", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_csi_Active, { "csi-Active", "gsm_map.ms.csi_Active", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_GPRS_CamelTDPDataList_item, { "Item", "gsm_map.ms.GPRS_CamelTDPDataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.GPRS_CamelTDPData", HFILL }}, { &hf_gsm_map_ms_gprs_TriggerDetectionPoint, { "gprs-TriggerDetectionPoint", "gsm_map.ms.gprs_TriggerDetectionPoint", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GPRS_TriggerDetectionPoint_vals), 0, "gsm_map_ms.GPRS_TriggerDetectionPoint", HFILL }}, { &hf_gsm_map_ms_serviceKey, { "serviceKey", "gsm_map.ms.serviceKey", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ServiceKey", HFILL }}, { &hf_gsm_map_ms_gsmSCF_Address, { "gsmSCF-Address", "gsm_map.ms.gsmSCF_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_defaultSessionHandling, { "defaultSessionHandling", "gsm_map.ms.defaultSessionHandling", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultGPRS_Handling_vals), 0, "gsm_map_ms.DefaultGPRS_Handling", HFILL }}, { &hf_gsm_map_ms_LSADataList_item, { "Item", "gsm_map.ms.LSADataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.LSAData", HFILL }}, { &hf_gsm_map_ms_lsaIdentity, { "lsaIdentity", "gsm_map.ms.lsaIdentity", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.LSAIdentity", HFILL }}, { &hf_gsm_map_ms_lsaAttributes, { "lsaAttributes", "gsm_map.ms.lsaAttributes", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.LSAAttributes", HFILL }}, { &hf_gsm_map_ms_lsaActiveModeIndicator, { "lsaActiveModeIndicator", "gsm_map.ms.lsaActiveModeIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_lsaOnlyAccessIndicator, { "lsaOnlyAccessIndicator", "gsm_map.ms.lsaOnlyAccessIndicator", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LSAOnlyAccessIndicator_vals), 0, "gsm_map_ms.LSAOnlyAccessIndicator", HFILL }}, { &hf_gsm_map_ms_lsaDataList, { "lsaDataList", "gsm_map.ms.lsaDataList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.LSADataList", HFILL }}, { &hf_gsm_map_ms_msisdn, { "msisdn", "gsm_map.ms.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_category, { "category", "gsm_map.ms.category", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Category", HFILL }}, { &hf_gsm_map_ms_subscriberStatus, { "subscriberStatus", "gsm_map.ms.subscriberStatus", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SubscriberStatus_vals), 0, "gsm_map_ms.SubscriberStatus", HFILL }}, { &hf_gsm_map_ms_bearerServiceList, { "bearerServiceList", "gsm_map.ms.bearerServiceList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.BearerServiceList", HFILL }}, { &hf_gsm_map_ms_teleserviceList, { "teleserviceList", "gsm_map.ms.teleserviceList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.TeleserviceList", HFILL }}, { &hf_gsm_map_ms_provisionedSS, { "provisionedSS", "gsm_map.ms.provisionedSS", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.Ext_SS_InfoList", HFILL }}, { &hf_gsm_map_ms_odb_Data, { "odb-Data", "gsm_map.ms.odb_Data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ODB_Data", HFILL }}, { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, { "roamingRestrictionDueToUnsupportedFeature", "gsm_map.ms.roamingRestrictionDueToUnsupportedFeature", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_regionalSubscriptionData, { "regionalSubscriptionData", "gsm_map.ms.regionalSubscriptionData", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ZoneCodeList", HFILL }}, { &hf_gsm_map_ms_vbsSubscriptionData, { "vbsSubscriptionData", "gsm_map.ms.vbsSubscriptionData", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.VBSDataList", HFILL }}, { &hf_gsm_map_ms_vgcsSubscriptionData, { "vgcsSubscriptionData", "gsm_map.ms.vgcsSubscriptionData", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.VGCSDataList", HFILL }}, { &hf_gsm_map_ms_vlrCamelSubscriptionInfo, { "vlrCamelSubscriptionInfo", "gsm_map.ms.vlrCamelSubscriptionInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.VlrCamelSubscriptionInfo", HFILL }}, { &hf_gsm_map_ms_BearerServiceList_item, { "Item", "gsm_map.ms.BearerServiceList_item", FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0, "gsm_map.Ext_BearerServiceCode", HFILL }}, { &hf_gsm_map_ms_TeleserviceList_item, { "Item", "gsm_map.ms.TeleserviceList_item", FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0, "gsm_map.Ext_TeleserviceCode", HFILL }}, { &hf_gsm_map_ms_odb_GeneralData, { "odb-GeneralData", "gsm_map.ms.odb_GeneralData", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ODB_GeneralData", HFILL }}, { &hf_gsm_map_ms_odb_HPLMN_Data, { "odb-HPLMN-Data", "gsm_map.ms.odb_HPLMN_Data", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ODB_HPLMN_Data", HFILL }}, { &hf_gsm_map_ms_Ext_SS_InfoList_item, { "Item", "gsm_map.ms.Ext_SS_InfoList_item", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Ext_SS_Info_vals), 0, "gsm_map_ms.Ext_SS_Info", HFILL }}, { &hf_gsm_map_ms_forwardingInfo, { "forwardingInfo", "gsm_map.ms.forwardingInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Ext_ForwInfo", HFILL }}, { &hf_gsm_map_ms_callBarringInfo, { "callBarringInfo", "gsm_map.ms.callBarringInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Ext_CallBarInfo", HFILL }}, { &hf_gsm_map_ms_cug_Info, { "cug-Info", "gsm_map.ms.cug_Info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CUG_Info", HFILL }}, { &hf_gsm_map_ms_ss_Data, { "ss-Data", "gsm_map.ms.ss_Data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Ext_SS_Data", HFILL }}, { &hf_gsm_map_ms_emlpp_Info, { "emlpp-Info", "gsm_map.ms.emlpp_Info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.EMLPP_Info", HFILL }}, { &hf_gsm_map_ms_ss_Code, { "ss-Code", "gsm_map.ms.ss_Code", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_map_ms_forwardingFeatureList, { "forwardingFeatureList", "gsm_map.ms.forwardingFeatureList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.Ext_ForwFeatureList", HFILL }}, { &hf_gsm_map_ms_Ext_ForwFeatureList_item, { "Item", "gsm_map.ms.Ext_ForwFeatureList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Ext_ForwFeature", HFILL }}, { &hf_gsm_map_ms_basicService, { "basicService", "gsm_map.ms.basicService", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ms_ss_Status, { "ss-Status", "gsm_map.ms.ss_Status", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.Ext_SS_Status", HFILL }}, { &hf_gsm_map_ms_forwardedToNumber, { "forwardedToNumber", "gsm_map.ms.forwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_forwardedToSubaddress, { "forwardedToSubaddress", "gsm_map.ms.forwardedToSubaddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_SubaddressString", HFILL }}, { &hf_gsm_map_ms_forwardingOptions, { "forwardingOptions", "gsm_map.ms.forwardingOptions", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.T_forwardingOptions", HFILL }}, { &hf_gsm_map_ms_noReplyConditionTime, { "noReplyConditionTime", "gsm_map.ms.noReplyConditionTime", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.Ext_NoRepCondTime", HFILL }}, { &hf_gsm_map_ms_longForwardedToNumber, { "longForwardedToNumber", "gsm_map.ms.longForwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.FTN_AddressString", HFILL }}, { &hf_gsm_map_ms_callBarringFeatureList, { "callBarringFeatureList", "gsm_map.ms.callBarringFeatureList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.Ext_CallBarFeatureList", HFILL }}, { &hf_gsm_map_ms_Ext_CallBarFeatureList_item, { "Item", "gsm_map.ms.Ext_CallBarFeatureList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Ext_CallBarringFeature", HFILL }}, { &hf_gsm_map_ms_cug_SubscriptionList, { "cug-SubscriptionList", "gsm_map.ms.cug_SubscriptionList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.CUG_SubscriptionList", HFILL }}, { &hf_gsm_map_ms_cug_FeatureList, { "cug-FeatureList", "gsm_map.ms.cug_FeatureList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.CUG_FeatureList", HFILL }}, { &hf_gsm_map_ms_CUG_SubscriptionList_item, { "Item", "gsm_map.ms.CUG_SubscriptionList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CUG_Subscription", HFILL }}, { &hf_gsm_map_ms_cug_Index, { "cug-Index", "gsm_map.ms.cug_Index", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.CUG_Index", HFILL }}, { &hf_gsm_map_ms_cug_Interlock, { "cug-Interlock", "gsm_map.ms.cug_Interlock", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.CUG_Interlock", HFILL }}, { &hf_gsm_map_ms_intraCUG_Options, { "intraCUG-Options", "gsm_map.ms.intraCUG_Options", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IntraCUG_Options_vals), 0, "gsm_map_ms.IntraCUG_Options", HFILL }}, { &hf_gsm_map_ms_basicServiceGroupList, { "basicServiceGroupList", "gsm_map.ms.basicServiceGroupList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.Ext_BasicServiceGroupList", HFILL }}, { &hf_gsm_map_ms_CUG_FeatureList_item, { "Item", "gsm_map.ms.CUG_FeatureList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CUG_Feature", HFILL }}, { &hf_gsm_map_ms_Ext_BasicServiceGroupList_item, { "Item", "gsm_map.ms.Ext_BasicServiceGroupList_item", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ms_preferentialCUG_Indicator, { "preferentialCUG-Indicator", "gsm_map.ms.preferentialCUG_Indicator", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.CUG_Index", HFILL }}, { &hf_gsm_map_ms_interCUG_Restrictions, { "interCUG-Restrictions", "gsm_map.ms.interCUG_Restrictions", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.InterCUG_Restrictions", HFILL }}, { &hf_gsm_map_ms_ss_SubscriptionOption, { "ss-SubscriptionOption", "gsm_map.ms.ss_SubscriptionOption", FT_UINT32, BASE_DEC, VALS(gsm_map_ss_SS_SubscriptionOption_vals), 0, "gsm_map_ss.SS_SubscriptionOption", HFILL }}, { &hf_gsm_map_ms_LCS_PrivacyExceptionList_item, { "Item", "gsm_map.ms.LCS_PrivacyExceptionList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.LCS_PrivacyClass", HFILL }}, { &hf_gsm_map_ms_notificationToMSUser, { "notificationToMSUser", "gsm_map.ms.notificationToMSUser", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0, "gsm_map_ms.NotificationToMSUser", HFILL }}, { &hf_gsm_map_ms_externalClientList, { "externalClientList", "gsm_map.ms.externalClientList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ExternalClientList", HFILL }}, { &hf_gsm_map_ms_plmnClientList, { "plmnClientList", "gsm_map.ms.plmnClientList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.PLMNClientList", HFILL }}, { &hf_gsm_map_ms_ext_externalClientList, { "ext-externalClientList", "gsm_map.ms.ext_externalClientList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.Ext_ExternalClientList", HFILL }}, { &hf_gsm_map_ms_serviceTypeList, { "serviceTypeList", "gsm_map.ms.serviceTypeList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ServiceTypeList", HFILL }}, { &hf_gsm_map_ms_ExternalClientList_item, { "Item", "gsm_map.ms.ExternalClientList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ExternalClient", HFILL }}, { &hf_gsm_map_ms_PLMNClientList_item, { "Item", "gsm_map.ms.PLMNClientList_item", FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0, "gsm_map.LCSClientInternalID", HFILL }}, { &hf_gsm_map_ms_Ext_ExternalClientList_item, { "Item", "gsm_map.ms.Ext_ExternalClientList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ExternalClient", HFILL }}, { &hf_gsm_map_ms_clientIdentity, { "clientIdentity", "gsm_map.ms.clientIdentity", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.LCSClientExternalID", HFILL }}, { &hf_gsm_map_ms_gmlc_Restriction, { "gmlc-Restriction", "gsm_map.ms.gmlc_Restriction", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GMLC_Restriction_vals), 0, "gsm_map_ms.GMLC_Restriction", HFILL }}, { &hf_gsm_map_ms_ServiceTypeList_item, { "Item", "gsm_map.ms.ServiceTypeList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ServiceType", HFILL }}, { &hf_gsm_map_ms_serviceTypeIdentity, { "serviceTypeIdentity", "gsm_map.ms.serviceTypeIdentity", FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0, "gsm_map.LCSServiceTypeID", HFILL }}, { &hf_gsm_map_ms_MOLR_List_item, { "Item", "gsm_map.ms.MOLR_List_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.MOLR_Class", HFILL }}, { &hf_gsm_map_ms_ZoneCodeList_item, { "Item", "gsm_map.ms.ZoneCodeList_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ZoneCode", HFILL }}, { &hf_gsm_map_ms_ss_List, { "ss-List", "gsm_map.ms.ss_List", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.SS_List", HFILL }}, { &hf_gsm_map_ms_regionalSubscriptionResponse, { "regionalSubscriptionResponse", "gsm_map.ms.regionalSubscriptionResponse", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RegionalSubscriptionResponse_vals), 0, "gsm_map_ms.RegionalSubscriptionResponse", HFILL }}, { &hf_gsm_map_ms_basicServiceList, { "basicServiceList", "gsm_map.ms.basicServiceList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.BasicServiceList", HFILL }}, { &hf_gsm_map_ms_regionalSubscriptionIdentifier, { "regionalSubscriptionIdentifier", "gsm_map.ms.regionalSubscriptionIdentifier", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.ZoneCode", HFILL }}, { &hf_gsm_map_ms_vbsGroupIndication, { "vbsGroupIndication", "gsm_map.ms.vbsGroupIndication", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_vgcsGroupIndication, { "vgcsGroupIndication", "gsm_map.ms.vgcsGroupIndication", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_camelSubscriptionInfoWithdraw, { "camelSubscriptionInfoWithdraw", "gsm_map.ms.camelSubscriptionInfoWithdraw", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_gprsSubscriptionDataWithdraw, { "gprsSubscriptionDataWithdraw", "gsm_map.ms.gprsSubscriptionDataWithdraw", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GPRSSubscriptionDataWithdraw_vals), 0, "gsm_map_ms.GPRSSubscriptionDataWithdraw", HFILL }}, { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature, { "roamingRestrictedInSgsnDueToUnsuppportedFeature", "gsm_map.ms.roamingRestrictedInSgsnDueToUnsuppportedFeature", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_lsaInformationWithdraw, { "lsaInformationWithdraw", "gsm_map.ms.lsaInformationWithdraw", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LSAInformationWithdraw_vals), 0, "gsm_map_ms.LSAInformationWithdraw", HFILL }}, { &hf_gsm_map_ms_gmlc_ListWithdraw, { "gmlc-ListWithdraw", "gsm_map.ms.gmlc_ListWithdraw", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_istInformationWithdraw, { "istInformationWithdraw", "gsm_map.ms.istInformationWithdraw", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_specificCSI_Withdraw, { "specificCSI-Withdraw", "gsm_map.ms.specificCSI_Withdraw", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SpecificCSI_Withdraw", HFILL }}, { &hf_gsm_map_ms_chargingCharacteristicsWithdraw, { "chargingCharacteristicsWithdraw", "gsm_map.ms.chargingCharacteristicsWithdraw", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_allGPRSData, { "allGPRSData", "gsm_map.ms.allGPRSData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_contextIdList, { "contextIdList", "gsm_map.ms.contextIdList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ContextIdList", HFILL }}, { &hf_gsm_map_ms_ContextIdList_item, { "Item", "gsm_map.ms.ContextIdList_item", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ContextId", HFILL }}, { &hf_gsm_map_ms_allLSAData, { "allLSAData", "gsm_map.ms.allLSAData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_lsaIdentityList, { "lsaIdentityList", "gsm_map.ms.lsaIdentityList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.LSAIdentityList", HFILL }}, { &hf_gsm_map_ms_LSAIdentityList_item, { "Item", "gsm_map.ms.LSAIdentityList_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.LSAIdentity", HFILL }}, { &hf_gsm_map_ms_BasicServiceList_item, { "Item", "gsm_map.ms.BasicServiceList_item", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ms_o_CSI, { "o-CSI", "gsm_map.ms.o_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.O_CSI", HFILL }}, { &hf_gsm_map_ms_ss_CSI, { "ss-CSI", "gsm_map.ms.ss_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SS_CSI", HFILL }}, { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList, { "o-BcsmCamelTDP-CriteriaList", "gsm_map.ms.o_BcsmCamelTDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.O_BcsmCamelTDPCriteriaList", HFILL }}, { &hf_gsm_map_ms_tif_CSI, { "tif-CSI", "gsm_map.ms.tif_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_m_CSI, { "m-CSI", "gsm_map.ms.m_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.M_CSI", HFILL }}, { &hf_gsm_map_ms_vt_CSI, { "vt-CSI", "gsm_map.ms.vt_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.T_CSI", HFILL }}, { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList, { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.t_BCSM_CAMEL_TDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.T_BCSM_CAMEL_TDP_CriteriaList", HFILL }}, { &hf_gsm_map_ms_d_CSI, { "d-CSI", "gsm_map.ms.d_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.D_CSI", HFILL }}, { &hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item, { "Item", "gsm_map.ms.MT_smsCAMELTDP_CriteriaList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.MT_smsCAMELTDP_Criteria", HFILL }}, { &hf_gsm_map_ms_sms_TriggerDetectionPoint, { "sms-TriggerDetectionPoint", "gsm_map.ms.sms_TriggerDetectionPoint", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SMS_TriggerDetectionPoint_vals), 0, "gsm_map_ms.SMS_TriggerDetectionPoint", HFILL }}, { &hf_gsm_map_ms_tpdu_TypeCriterion, { "tpdu-TypeCriterion", "gsm_map.ms.tpdu_TypeCriterion", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.TPDU_TypeCriterion", HFILL }}, { &hf_gsm_map_ms_TPDU_TypeCriterion_item, { "Item", "gsm_map.ms.TPDU_TypeCriterion_item", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_MT_SMS_TPDU_Type_vals), 0, "gsm_map_ms.MT_SMS_TPDU_Type", HFILL }}, { &hf_gsm_map_ms_dp_AnalysedInfoCriteriaList, { "dp-AnalysedInfoCriteriaList", "gsm_map.ms.dp_AnalysedInfoCriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.DP_AnalysedInfoCriteriaList", HFILL }}, { &hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item, { "Item", "gsm_map.ms.DP_AnalysedInfoCriteriaList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.DP_AnalysedInfoCriterium", HFILL }}, { &hf_gsm_map_ms_dialledNumber, { "dialledNumber", "gsm_map.ms.dialledNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_defaultCallHandling, { "defaultCallHandling", "gsm_map.ms.defaultCallHandling", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultCallHandling_vals), 0, "gsm_map_ms.DefaultCallHandling", HFILL }}, { &hf_gsm_map_ms_ss_CamelData, { "ss-CamelData", "gsm_map.ms.ss_CamelData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SS_CamelData", HFILL }}, { &hf_gsm_map_ms_ss_EventList, { "ss-EventList", "gsm_map.ms.ss_EventList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.SS_EventList", HFILL }}, { &hf_gsm_map_ms_SS_EventList_item, { "Item", "gsm_map.ms.SS_EventList_item", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_map_ms_o_BcsmCamelTDPDataList, { "o-BcsmCamelTDPDataList", "gsm_map.ms.o_BcsmCamelTDPDataList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.O_BcsmCamelTDPDataList", HFILL }}, { &hf_gsm_map_ms_csiActive, { "csiActive", "gsm_map.ms.csiActive", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_O_BcsmCamelTDPDataList_item, { "Item", "gsm_map.ms.O_BcsmCamelTDPDataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.O_BcsmCamelTDPData", HFILL }}, { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint, { "o-BcsmTriggerDetectionPoint", "gsm_map.ms.o_BcsmTriggerDetectionPoint", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_O_BcsmTriggerDetectionPoint_vals), 0, "gsm_map_ms.O_BcsmTriggerDetectionPoint", HFILL }}, { &hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item, { "Item", "gsm_map.ms.O_BcsmCamelTDPCriteriaList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.O_BcsmCamelTDP_Criteria", HFILL }}, { &hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item, { "Item", "gsm_map.ms.T_BCSM_CAMEL_TDP_CriteriaList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.T_BCSM_CAMEL_TDP_Criteria", HFILL }}, { &hf_gsm_map_ms_destinationNumberCriteria, { "destinationNumberCriteria", "gsm_map.ms.destinationNumberCriteria", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.DestinationNumberCriteria", HFILL }}, { &hf_gsm_map_ms_basicServiceCriteria, { "basicServiceCriteria", "gsm_map.ms.basicServiceCriteria", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.BasicServiceCriteria", HFILL }}, { &hf_gsm_map_ms_callTypeCriteria, { "callTypeCriteria", "gsm_map.ms.callTypeCriteria", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CallTypeCriteria_vals), 0, "gsm_map_ms.CallTypeCriteria", HFILL }}, { &hf_gsm_map_ms_o_CauseValueCriteria, { "o-CauseValueCriteria", "gsm_map.ms.o_CauseValueCriteria", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.O_CauseValueCriteria", HFILL }}, { &hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint, { "t-BCSM-TriggerDetectionPoint", "gsm_map.ms.t_BCSM_TriggerDetectionPoint", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_T_BcsmTriggerDetectionPoint_vals), 0, "gsm_map_ms.T_BcsmTriggerDetectionPoint", HFILL }}, { &hf_gsm_map_ms_t_CauseValueCriteria, { "t-CauseValueCriteria", "gsm_map.ms.t_CauseValueCriteria", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.T_CauseValueCriteria", HFILL }}, { &hf_gsm_map_ms_matchType, { "matchType", "gsm_map.ms.matchType", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_MatchType_vals), 0, "gsm_map_ms.MatchType", HFILL }}, { &hf_gsm_map_ms_destinationNumberList, { "destinationNumberList", "gsm_map.ms.destinationNumberList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.DestinationNumberList", HFILL }}, { &hf_gsm_map_ms_destinationNumberLengthList, { "destinationNumberLengthList", "gsm_map.ms.destinationNumberLengthList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.DestinationNumberLengthList", HFILL }}, { &hf_gsm_map_ms_DestinationNumberList_item, { "Item", "gsm_map.ms.DestinationNumberList_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_DestinationNumberLengthList_item, { "Item", "gsm_map.ms.DestinationNumberLengthList_item", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.INTEGER_1_maxNumOfISDN_AddressDigits", HFILL }}, { &hf_gsm_map_ms_BasicServiceCriteria_item, { "Item", "gsm_map.ms.BasicServiceCriteria_item", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ms_O_CauseValueCriteria_item, { "Item", "gsm_map.ms.O_CauseValueCriteria_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.CauseValue", HFILL }}, { &hf_gsm_map_ms_T_CauseValueCriteria_item, { "Item", "gsm_map.ms.T_CauseValueCriteria_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.CauseValue", HFILL }}, { &hf_gsm_map_ms_sms_CAMEL_TDP_DataList, { "sms-CAMEL-TDP-DataList", "gsm_map.ms.sms_CAMEL_TDP_DataList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.SMS_CAMEL_TDP_DataList", HFILL }}, { &hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item, { "Item", "gsm_map.ms.SMS_CAMEL_TDP_DataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SMS_CAMEL_TDP_Data", HFILL }}, { &hf_gsm_map_ms_defaultSMS_Handling, { "defaultSMS-Handling", "gsm_map.ms.defaultSMS_Handling", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultSMS_Handling_vals), 0, "gsm_map_ms.DefaultSMS_Handling", HFILL }}, { &hf_gsm_map_ms_mobilityTriggers, { "mobilityTriggers", "gsm_map.ms.mobilityTriggers", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.MobilityTriggers", HFILL }}, { &hf_gsm_map_ms_MobilityTriggers_item, { "Item", "gsm_map.ms.MobilityTriggers_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.MM_Code", HFILL }}, { &hf_gsm_map_ms_t_BcsmCamelTDPDataList, { "t-BcsmCamelTDPDataList", "gsm_map.ms.t_BcsmCamelTDPDataList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.T_BcsmCamelTDPDataList", HFILL }}, { &hf_gsm_map_ms_T_BcsmCamelTDPDataList_item, { "Item", "gsm_map.ms.T_BcsmCamelTDPDataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.T_BcsmCamelTDPData", HFILL }}, { &hf_gsm_map_ms_t_BcsmTriggerDetectionPoint, { "t-BcsmTriggerDetectionPoint", "gsm_map.ms.t_BcsmTriggerDetectionPoint", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_T_BcsmTriggerDetectionPoint_vals), 0, "gsm_map_ms.T_BcsmTriggerDetectionPoint", HFILL }}, { &hf_gsm_map_ms_ggsn_Address, { "ggsn-Address", "gsm_map.ms.ggsn_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_ms_ggsn_Number, { "ggsn-Number", "gsm_map.ms.ggsn_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_mobileNotReachableReason, { "mobileNotReachableReason", "gsm_map.ms.mobileNotReachableReason", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_er.AbsentSubscriberDiagnosticSM", HFILL }}, { &hf_gsm_map_ms_hlr_List, { "hlr-List", "gsm_map.ms.hlr_List", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.HLR_List", HFILL }}, { &hf_gsm_map_ms_msNotReachable, { "msNotReachable", "gsm_map.ms.msNotReachable", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_VBSDataList_item, { "Item", "gsm_map.ms.VBSDataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.VoiceBroadcastData", HFILL }}, { &hf_gsm_map_ms_VGCSDataList_item, { "Item", "gsm_map.ms.VGCSDataList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.VoiceGroupCallData", HFILL }}, { &hf_gsm_map_ms_groupId, { "groupId", "gsm_map.ms.groupId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GroupId", HFILL }}, { &hf_gsm_map_ms_additionalSubscriptions, { "additionalSubscriptions", "gsm_map.ms.additionalSubscriptions", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AdditionalSubscriptions", HFILL }}, { &hf_gsm_map_ms_additionalInfo, { "additionalInfo", "gsm_map.ms.additionalInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AdditionalInfo", HFILL }}, { &hf_gsm_map_ms_longGroupId, { "longGroupId", "gsm_map.ms.longGroupId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Long_GroupId", HFILL }}, { &hf_gsm_map_ms_groupid, { "groupid", "gsm_map.ms.groupid", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GroupId", HFILL }}, { &hf_gsm_map_ms_broadcastInitEntitlement, { "broadcastInitEntitlement", "gsm_map.ms.broadcastInitEntitlement", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_requestedInfo, { "requestedInfo", "gsm_map.ms.requestedInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.RequestedInfo", HFILL }}, { &hf_gsm_map_ms_subscriberInfo, { "subscriberInfo", "gsm_map.ms.subscriberInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SubscriberInfo", HFILL }}, { &hf_gsm_map_ms_locationInformation, { "locationInformation", "gsm_map.ms.locationInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.LocationInformation", HFILL }}, { &hf_gsm_map_ms_subscriberState, { "subscriberState", "gsm_map.ms.subscriberState", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SubscriberState_vals), 0, "gsm_map_ms.SubscriberState", HFILL }}, { &hf_gsm_map_ms_locationInformationGPRS, { "locationInformationGPRS", "gsm_map.ms.locationInformationGPRS", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.LocationInformationGPRS", HFILL }}, { &hf_gsm_map_ms_ps_SubscriberState, { "ps-SubscriberState", "gsm_map.ms.ps_SubscriberState", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PS_SubscriberState_vals), 0, "gsm_map_ms.PS_SubscriberState", HFILL }}, { &hf_gsm_map_ms_ms_Classmark2, { "ms-Classmark2", "gsm_map.ms.ms_Classmark2", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.MS_Classmark2", HFILL }}, { &hf_gsm_map_ms_gprs_MS_Class, { "gprs-MS-Class", "gsm_map.ms.gprs_MS_Class", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.GPRSMSClass", HFILL }}, { &hf_gsm_map_ms_mnpInfoRes, { "mnpInfoRes", "gsm_map.ms.mnpInfoRes", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.MNPInfoRes", HFILL }}, { &hf_gsm_map_ms_routeingNumber, { "routeingNumber", "gsm_map.ms.routeingNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RouteingNumber", HFILL }}, { &hf_gsm_map_ms_numberPortabilityStatus, { "numberPortabilityStatus", "gsm_map.ms.numberPortabilityStatus", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NumberPortabilityStatus_vals), 0, "gsm_map_ms.NumberPortabilityStatus", HFILL }}, { &hf_gsm_map_ms_mSNetworkCapability, { "mSNetworkCapability", "gsm_map.ms.mSNetworkCapability", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.MSNetworkCapability", HFILL }}, { &hf_gsm_map_ms_mSRadioAccessCapability, { "mSRadioAccessCapability", "gsm_map.ms.mSRadioAccessCapability", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.MSRadioAccessCapability", HFILL }}, { &hf_gsm_map_ms_locationInformation_01, { "locationInformation", "gsm_map.ms.locationInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_subscriberState_01, { "subscriberState", "gsm_map.ms.subscriberState", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_currentLocation, { "currentLocation", "gsm_map.ms.currentLocation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_requestedDomain, { "requestedDomain", "gsm_map.ms.requestedDomain", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DomainType_vals), 0, "gsm_map_ms.DomainType", HFILL }}, { &hf_gsm_map_ms_imei_01, { "imei", "gsm_map.ms.imei", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_ms_classmark, { "ms-classmark", "gsm_map.ms.ms_classmark", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_mnpRequestedInfo, { "mnpRequestedInfo", "gsm_map.ms.mnpRequestedInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_ageOfLocationInformation, { "ageOfLocationInformation", "gsm_map.ms.ageOfLocationInformation", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.AgeOfLocationInformation", HFILL }}, { &hf_gsm_map_ms_geographicalInformation, { "geographicalInformation", "gsm_map.ms.geographicalInformation", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GeographicalInformation", HFILL }}, { &hf_gsm_map_ms_vlr_number, { "vlr-number", "gsm_map.ms.vlr_number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ms_locationNumber, { "locationNumber", "gsm_map.ms.locationNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.LocationNumber", HFILL }}, { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI, { "cellGlobalIdOrServiceAreaIdOrLAI", "gsm_map.ms.cellGlobalIdOrServiceAreaIdOrLAI", FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0, "gsm_map.CellGlobalIdOrServiceAreaIdOrLAI", HFILL }}, { &hf_gsm_map_ms_selectedLSA_Id, { "selectedLSA-Id", "gsm_map.ms.selectedLSA_Id", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.LSAIdentity", HFILL }}, { &hf_gsm_map_ms_geodeticInformation, { "geodeticInformation", "gsm_map.ms.geodeticInformation", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GeodeticInformation", HFILL }}, { &hf_gsm_map_ms_currentLocationRetrieved, { "currentLocationRetrieved", "gsm_map.ms.currentLocationRetrieved", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_sai_Present, { "sai-Present", "gsm_map.ms.sai_Present", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_routeingAreaIdentity, { "routeingAreaIdentity", "gsm_map.ms.routeingAreaIdentity", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.RAIdentity", HFILL }}, { &hf_gsm_map_ms_selectedLSAIdentity, { "selectedLSAIdentity", "gsm_map.ms.selectedLSAIdentity", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.LSAIdentity", HFILL }}, { &hf_gsm_map_ms_assumedIdle, { "assumedIdle", "gsm_map.ms.assumedIdle", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_camelBusy, { "camelBusy", "gsm_map.ms.camelBusy", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_netDetNotReachable, { "netDetNotReachable", "gsm_map.ms.netDetNotReachable", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotReachableReason_vals), 0, "gsm_map_ms.NotReachableReason", HFILL }}, { &hf_gsm_map_ms_notProvidedFromVLR, { "notProvidedFromVLR", "gsm_map.ms.notProvidedFromVLR", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_notProvidedFromSGSN, { "notProvidedFromSGSN", "gsm_map.ms.notProvidedFromSGSN", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_ps_Detached, { "ps-Detached", "gsm_map.ms.ps_Detached", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_ps_AttachedNotReachableForPaging, { "ps-AttachedNotReachableForPaging", "gsm_map.ms.ps_AttachedNotReachableForPaging", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_ps_AttachedReachableForPaging, { "ps-AttachedReachableForPaging", "gsm_map.ms.ps_AttachedReachableForPaging", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging, { "ps-PDP-ActiveNotReachableForPaging", "gsm_map.ms.ps_PDP_ActiveNotReachableForPaging", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.PDP_ContextInfoList", HFILL }}, { &hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging, { "ps-PDP-ActiveReachableForPaging", "gsm_map.ms.ps_PDP_ActiveReachableForPaging", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.PDP_ContextInfoList", HFILL }}, { &hf_gsm_map_ms_PDP_ContextInfoList_item, { "Item", "gsm_map.ms.PDP_ContextInfoList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.PDP_ContextInfo", HFILL }}, { &hf_gsm_map_ms_pdp_ContextIdentifier, { "pdp-ContextIdentifier", "gsm_map.ms.pdp_ContextIdentifier", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.ContextId", HFILL }}, { &hf_gsm_map_ms_pdp_ContextActive, { "pdp-ContextActive", "gsm_map.ms.pdp_ContextActive", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_apn_Subscribed, { "apn-Subscribed", "gsm_map.ms.apn_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.APN", HFILL }}, { &hf_gsm_map_ms_apn_InUse, { "apn-InUse", "gsm_map.ms.apn_InUse", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.APN", HFILL }}, { &hf_gsm_map_ms_nsapi, { "nsapi", "gsm_map.ms.nsapi", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.NSAPI", HFILL }}, { &hf_gsm_map_ms_transactionId, { "transactionId", "gsm_map.ms.transactionId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.TransactionId", HFILL }}, { &hf_gsm_map_ms_teid_ForGnAndGp, { "teid-ForGnAndGp", "gsm_map.ms.teid_ForGnAndGp", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.TEID", HFILL }}, { &hf_gsm_map_ms_teid_ForIu, { "teid-ForIu", "gsm_map.ms.teid_ForIu", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.TEID", HFILL }}, { &hf_gsm_map_ms_qos_Subscribed_01, { "qos-Subscribed", "gsm_map.ms.qos_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_qos_Requested, { "qos-Requested", "gsm_map.ms.qos_Requested", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_qos_Negotiated, { "qos-Negotiated", "gsm_map.ms.qos_Negotiated", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_chargingId, { "chargingId", "gsm_map.ms.chargingId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GPRSChargingID", HFILL }}, { &hf_gsm_map_ms_chargingCharacteristics, { "chargingCharacteristics", "gsm_map.ms.chargingCharacteristics", FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00, "gsm_map_ms.ChargingCharacteristics", HFILL }}, { &hf_gsm_map_ms_rnc_Address, { "rnc-Address", "gsm_map.ms.rnc_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_ms_qos2_Subscribed, { "qos2-Subscribed", "gsm_map.ms.qos2_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext2_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_qos2_Requested, { "qos2-Requested", "gsm_map.ms.qos2_Requested", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext2_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_qos2_Negotiated, { "qos2-Negotiated", "gsm_map.ms.qos2_Negotiated", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext2_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_qos3_Subscribed, { "qos3-Subscribed", "gsm_map.ms.qos3_Subscribed", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext3_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_qos3_Requested, { "qos3-Requested", "gsm_map.ms.qos3_Requested", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext3_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_qos3_Negotiated, { "qos3-Negotiated", "gsm_map.ms.qos3_Negotiated", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Ext3_QoS_Subscribed", HFILL }}, { &hf_gsm_map_ms_subscriberIdentity, { "subscriberIdentity", "gsm_map.ms.subscriberIdentity", FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0, "gsm_map.SubscriberIdentity", HFILL }}, { &hf_gsm_map_ms_requestedSubscriptionInfo, { "requestedSubscriptionInfo", "gsm_map.ms.requestedSubscriptionInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.RequestedSubscriptionInfo", HFILL }}, { &hf_gsm_map_ms_callForwardingData, { "callForwardingData", "gsm_map.ms.callForwardingData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CallForwardingData", HFILL }}, { &hf_gsm_map_ms_callBarringData, { "callBarringData", "gsm_map.ms.callBarringData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CallBarringData", HFILL }}, { &hf_gsm_map_ms_odb_Info, { "odb-Info", "gsm_map.ms.odb_Info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ODB_Info", HFILL }}, { &hf_gsm_map_ms_camel_SubscriptionInfo, { "camel-SubscriptionInfo", "gsm_map.ms.camel_SubscriptionInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.CAMEL_SubscriptionInfo", HFILL }}, { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases, { "supportedVLR-CAMEL-Phases", "gsm_map.ms.supportedVLR_CAMEL_Phases", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedCamelPhases", HFILL }}, { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases, { "supportedSGSN-CAMEL-Phases", "gsm_map.ms.supportedSGSN_CAMEL_Phases", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedCamelPhases", HFILL }}, { &hf_gsm_map_ms_offeredCamel4CSIsInVLR, { "offeredCamel4CSIsInVLR", "gsm_map.ms.offeredCamel4CSIsInVLR", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.OfferedCamel4CSIs", HFILL }}, { &hf_gsm_map_ms_offeredCamel4CSIsInSGSN, { "offeredCamel4CSIsInSGSN", "gsm_map.ms.offeredCamel4CSIsInSGSN", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.OfferedCamel4CSIs", HFILL }}, { &hf_gsm_map_ms_msisdn_BS_List, { "msisdn-BS-List", "gsm_map.ms.msisdn_BS_List", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.MSISDN_BS_List", HFILL }}, { &hf_gsm_map_ms_requestedSS_Info, { "requestedSS-Info", "gsm_map.ms.requestedSS_Info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.SS_ForBS_Code", HFILL }}, { &hf_gsm_map_ms_odb, { "odb", "gsm_map.ms.odb", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo, { "requestedCAMEL-SubscriptionInfo", "gsm_map.ms.requestedCAMEL_SubscriptionInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals), 0, "gsm_map_ms.RequestedCAMEL_SubscriptionInfo", HFILL }}, { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01, { "supportedVLR-CAMEL-Phases", "gsm_map.ms.supportedVLR_CAMEL_Phases", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01, { "supportedSGSN-CAMEL-Phases", "gsm_map.ms.supportedSGSN_CAMEL_Phases", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo, { "additionalRequestedCAMEL-SubscriptionInfo", "gsm_map.ms.additionalRequestedCAMEL_SubscriptionInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo_vals), 0, "gsm_map_ms.AdditionalRequestedCAMEL_SubscriptionInfo", HFILL }}, { &hf_gsm_map_ms_msisdn_BS_List_01, { "msisdn-BS-List", "gsm_map.ms.msisdn_BS_List", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_MSISDN_BS_List_item, { "Item", "gsm_map.ms.MSISDN_BS_List_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.MSISDN_BS", HFILL }}, { &hf_gsm_map_ms_password, { "password", "gsm_map.ms.password", FT_STRING, BASE_NONE, NULL, 0, "gsm_map_ss.Password", HFILL }}, { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, { "wrongPasswordAttemptsCounter", "gsm_map.ms.wrongPasswordAttemptsCounter", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.WrongPasswordAttemptsCounter", HFILL }}, { &hf_gsm_map_ms_t_CSI, { "t-CSI", "gsm_map.ms.t_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.T_CSI", HFILL }}, { &hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList, { "vt-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.vt_BCSM_CAMEL_TDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.T_BCSM_CAMEL_TDP_CriteriaList", HFILL }}, { &hf_gsm_map_ms_tif_CSI_NotificationToCSE, { "tif-CSI-NotificationToCSE", "gsm_map.ms.tif_CSI_NotificationToCSE", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_specificCSIDeletedList, { "specificCSIDeletedList", "gsm_map.ms.specificCSIDeletedList", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SpecificCSI_Withdraw", HFILL }}, { &hf_gsm_map_ms_o_IM_CSI, { "o-IM-CSI", "gsm_map.ms.o_IM_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.O_CSI", HFILL }}, { &hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList, { "o-IM-BcsmCamelTDP-CriteriaList", "gsm_map.ms.o_IM_BcsmCamelTDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.O_BcsmCamelTDPCriteriaList", HFILL }}, { &hf_gsm_map_ms_d_IM_CSI, { "d-IM-CSI", "gsm_map.ms.d_IM_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.D_CSI", HFILL }}, { &hf_gsm_map_ms_vt_IM_CSI, { "vt-IM-CSI", "gsm_map.ms.vt_IM_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.T_CSI", HFILL }}, { &hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList, { "vt-IM-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.vt_IM_BCSM_CAMEL_TDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.T_BCSM_CAMEL_TDP_CriteriaList", HFILL }}, { &hf_gsm_map_ms_modificationRequestFor_CF_Info, { "modificationRequestFor-CF-Info", "gsm_map.ms.modificationRequestFor_CF_Info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ModificationRequestFor_CF_Info", HFILL }}, { &hf_gsm_map_ms_modificationRequestFor_CB_Info, { "modificationRequestFor-CB-Info", "gsm_map.ms.modificationRequestFor_CB_Info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ModificationRequestFor_CB_Info", HFILL }}, { &hf_gsm_map_ms_modificationRequestFor_CSI, { "modificationRequestFor-CSI", "gsm_map.ms.modificationRequestFor_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ModificationRequestFor_CSI", HFILL }}, { &hf_gsm_map_ms_modificationRequestFor_ODB_data, { "modificationRequestFor-ODB-data", "gsm_map.ms.modificationRequestFor_ODB_data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ModificationRequestFor_ODB_data", HFILL }}, { &hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data, { "modificationRequestFor-IP-SM-GW-Data", "gsm_map.ms.modificationRequestFor_IP_SM_GW_Data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ModificationRequestFor_IP_SM_GW_Data", HFILL }}, { &hf_gsm_map_ms_ss_InfoFor_CSE, { "ss-InfoFor-CSE", "gsm_map.ms.ss_InfoFor_CSE", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Ext_SS_InfoFor_CSE_vals), 0, "gsm_map_ms.Ext_SS_InfoFor_CSE", HFILL }}, { &hf_gsm_map_ms_forwardedToNumber_01, { "forwardedToNumber", "gsm_map.ms.forwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_ms_modifyNotificationToCSE, { "modifyNotificationToCSE", "gsm_map.ms.modifyNotificationToCSE", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0, "gsm_map_ms.ModificationInstruction", HFILL }}, { &hf_gsm_map_ms_odb_data, { "odb-data", "gsm_map.ms.odb_data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.ODB_Data", HFILL }}, { &hf_gsm_map_ms_requestedCamel_SubscriptionInfo, { "requestedCamel-SubscriptionInfo", "gsm_map.ms.requestedCamel_SubscriptionInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals), 0, "gsm_map_ms.RequestedCAMEL_SubscriptionInfo", HFILL }}, { &hf_gsm_map_ms_modifyCSI_State, { "modifyCSI-State", "gsm_map.ms.modifyCSI_State", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0, "gsm_map_ms.ModificationInstruction", HFILL }}, { &hf_gsm_map_ms_modifyRegistrationStatus, { "modifyRegistrationStatus", "gsm_map.ms.modifyRegistrationStatus", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0, "gsm_map_ms.ModificationInstruction", HFILL }}, { &hf_gsm_map_ms_forwardingInfoFor_CSE, { "forwardingInfoFor-CSE", "gsm_map.ms.forwardingInfoFor_CSE", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Ext_ForwardingInfoFor_CSE", HFILL }}, { &hf_gsm_map_ms_callBarringInfoFor_CSE, { "callBarringInfoFor-CSE", "gsm_map.ms.callBarringInfoFor_CSE", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.Ext_CallBarringInfoFor_CSE", HFILL }}, { &hf_gsm_map_ms_allInformationSent, { "allInformationSent", "gsm_map.ms.allInformationSent", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_eventMet, { "eventMet", "gsm_map.ms.eventMet", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.MM_Code", HFILL }}, { &hf_gsm_map_ms_supportedCAMELPhases, { "supportedCAMELPhases", "gsm_map.ms.supportedCAMELPhases", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedCamelPhases", HFILL }}, { &hf_gsm_map_ms_offeredCamel4Functionalities, { "offeredCamel4Functionalities", "gsm_map.ms.offeredCamel4Functionalities", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.OfferedCamel4Functionalities", HFILL }}, { &hf_gsm_map_ms_naea_PreferredCI, { "naea-PreferredCI", "gsm_map.ms.naea_PreferredCI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.NAEA_PreferredCI", HFILL }}, { &hf_gsm_map_ms_gprsSubscriptionData, { "gprsSubscriptionData", "gsm_map.ms.gprsSubscriptionData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.GPRSSubscriptionData", HFILL }}, { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature, { "roamingRestrictedInSgsnDueToUnsupportedFeature", "gsm_map.ms.roamingRestrictedInSgsnDueToUnsupportedFeature", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_networkAccessMode, { "networkAccessMode", "gsm_map.ms.networkAccessMode", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NetworkAccessMode_vals), 0, "gsm_map_ms.NetworkAccessMode", HFILL }}, { &hf_gsm_map_ms_lsaInformation, { "lsaInformation", "gsm_map.ms.lsaInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.LSAInformation", HFILL }}, { &hf_gsm_map_ms_lmu_Indicator, { "lmu-Indicator", "gsm_map.ms.lmu_Indicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.NULL", HFILL }}, { &hf_gsm_map_ms_lcsInformation, { "lcsInformation", "gsm_map.ms.lcsInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.LCSInformation", HFILL }}, { &hf_gsm_map_ms_istAlertTimer, { "istAlertTimer", "gsm_map.ms.istAlertTimer", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.IST_AlertTimerValue", HFILL }}, { &hf_gsm_map_ms_superChargerSupportedInHLR, { "superChargerSupportedInHLR", "gsm_map.ms.superChargerSupportedInHLR", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AgeIndicator", HFILL }}, { &hf_gsm_map_ms_mc_SS_Info, { "mc-SS-Info", "gsm_map.ms.mc_SS_Info", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.MC_SS_Info", HFILL }}, { &hf_gsm_map_ms_cs_AllocationRetentionPriority, { "cs-AllocationRetentionPriority", "gsm_map.ms.cs_AllocationRetentionPriority", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.CS_AllocationRetentionPriority", HFILL }}, { &hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo, { "sgsn-CAMEL-SubscriptionInfo", "gsm_map.ms.sgsn_CAMEL_SubscriptionInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SGSN_CAMEL_SubscriptionInfo", HFILL }}, { &hf_gsm_map_ms_accessRestrictionData, { "accessRestrictionData", "gsm_map.ms.accessRestrictionData", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AccessRestrictionData", HFILL }}, { &hf_gsm_map_ms_SupportedRAT_Types_utran, { "utran", "gsm_map.ms.utran", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_SupportedRAT_Types_geran, { "geran", "gsm_map.ms.geran", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1, { "lcsCapabilitySet1", "gsm_map.ms.lcsCapabilitySet1", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2, { "lcsCapabilitySet2", "gsm_map.ms.lcsCapabilitySet2", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3, { "lcsCapabilitySet3", "gsm_map.ms.lcsCapabilitySet3", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4, { "lcsCapabilitySet4", "gsm_map.ms.lcsCapabilitySet4", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5, { "lcsCapabilitySet5", "gsm_map.ms.lcsCapabilitySet5", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus, { "equipmentStatus", "gsm_map.ms.equipmentStatus", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_RequestedEquipmentInfo_bmuef, { "bmuef", "gsm_map.ms.bmuef", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed, { "utranNotAllowed", "gsm_map.ms.utranNotAllowed", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed, { "geranNotAllowed", "gsm_map.ms.geranNotAllowed", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred, { "allOG-CallsBarred", "gsm_map.ms.allOG-CallsBarred", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred, { "internationalOGCallsBarred", "gsm_map.ms.internationalOGCallsBarred", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred, { "internationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.ms.internationalOGCallsNotToHPLMN-CountryBarred", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred, { "interzonalOGCallsBarred", "gsm_map.ms.interzonalOGCallsBarred", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred, { "interzonalOGCallsNotToHPLMN-CountryBarred", "gsm_map.ms.interzonalOGCallsNotToHPLMN-CountryBarred", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred, { "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.ms.interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred, { "premiumRateInformationOGCallsBarred", "gsm_map.ms.premiumRateInformationOGCallsBarred", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred, { "premiumRateEntertainementOGCallsBarred", "gsm_map.ms.premiumRateEntertainementOGCallsBarred", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred, { "ss-AccessBarred", "gsm_map.ms.ss-AccessBarred", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_allECT_Barred, { "allECT-Barred", "gsm_map.ms.allECT-Barred", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred, { "chargeableECT-Barred", "gsm_map.ms.chargeableECT-Barred", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred, { "internationalECT-Barred", "gsm_map.ms.internationalECT-Barred", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred, { "interzonalECT-Barred", "gsm_map.ms.interzonalECT-Barred", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred, { "doublyChargeableECT-Barred", "gsm_map.ms.doublyChargeableECT-Barred", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred, { "multipleECT-Barred", "gsm_map.ms.multipleECT-Barred", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred, { "allPacketOrientedServicesBarred", "gsm_map.ms.allPacketOrientedServicesBarred", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred, { "roamerAccessToHPLMN-AP-Barred", "gsm_map.ms.roamerAccessToHPLMN-AP-Barred", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred, { "roamerAccessToVPLMN-AP-Barred", "gsm_map.ms.roamerAccessToVPLMN-AP-Barred", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred, { "roamingOutsidePLMNOG-CallsBarred", "gsm_map.ms.roamingOutsidePLMNOG-CallsBarred", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred, { "allIC-CallsBarred", "gsm_map.ms.allIC-CallsBarred", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred, { "roamingOutsidePLMNIC-CallsBarred", "gsm_map.ms.roamingOutsidePLMNIC-CallsBarred", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred, { "roamingOutsidePLMNICountryIC-CallsBarred", "gsm_map.ms.roamingOutsidePLMNICountryIC-CallsBarred", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred, { "roamingOutsidePLMN-Barred", "gsm_map.ms.roamingOutsidePLMN-Barred", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred, { "roamingOutsidePLMN-CountryBarred", "gsm_map.ms.roamingOutsidePLMN-CountryBarred", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred, { "registrationAllCF-Barred", "gsm_map.ms.registrationAllCF-Barred", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred, { "registrationCFNotToHPLMN-Barred", "gsm_map.ms.registrationCFNotToHPLMN-Barred", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred, { "registrationInterzonalCF-Barred", "gsm_map.ms.registrationInterzonalCF-Barred", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred, { "registrationInterzonalCFNotToHPLMN-Barred", "gsm_map.ms.registrationInterzonalCFNotToHPLMN-Barred", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred, { "registrationInternationalCF-Barred", "gsm_map.ms.registrationInternationalCF-Barred", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1, { "plmn-SpecificBarringType1", "gsm_map.ms.plmn-SpecificBarringType1", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2, { "plmn-SpecificBarringType2", "gsm_map.ms.plmn-SpecificBarringType2", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3, { "plmn-SpecificBarringType3", "gsm_map.ms.plmn-SpecificBarringType3", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4, { "plmn-SpecificBarringType4", "gsm_map.ms.plmn-SpecificBarringType4", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi, { "o-csi", "gsm_map.ms.o-csi", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi, { "ss-csi", "gsm_map.ms.ss-csi", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi, { "tif-csi", "gsm_map.ms.tif-csi", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi, { "d-csi", "gsm_map.ms.d-csi", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi, { "vt-csi", "gsm_map.ms.vt-csi", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi, { "mo-sms-csi", "gsm_map.ms.mo-sms-csi", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi, { "m-csi", "gsm_map.ms.m-csi", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi, { "gprs-csi", "gsm_map.ms.gprs-csi", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi, { "t-csi", "gsm_map.ms.t-csi", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi, { "mt-sms-csi", "gsm_map.ms.mt-sms-csi", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi, { "mg-csi", "gsm_map.ms.mg-csi", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI, { "o-IM-CSI", "gsm_map.ms.o-IM-CSI", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI, { "d-IM-CSI", "gsm_map.ms.d-IM-CSI", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI, { "vt-IM-CSI", "gsm_map.ms.vt-IM-CSI", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_SupportedCamelPhases_phase1, { "phase1", "gsm_map.ms.phase1", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_SupportedCamelPhases_phase2, { "phase2", "gsm_map.ms.phase2", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_SupportedCamelPhases_phase3, { "phase3", "gsm_map.ms.phase3", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_SupportedCamelPhases_phase4, { "phase4", "gsm_map.ms.phase4", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4CSIs_o_csi, { "o-csi", "gsm_map.ms.o-csi", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4CSIs_d_csi, { "d-csi", "gsm_map.ms.d-csi", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi, { "vt-csi", "gsm_map.ms.vt-csi", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4CSIs_t_csi, { "t-csi", "gsm_map.ms.t-csi", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi, { "mt-sms-csi", "gsm_map.ms.mt-sms-csi", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi, { "mg-csi", "gsm_map.ms.mg-csi", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements, { "psi-enhancements", "gsm_map.ms.psi-enhancements", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt, { "initiateCallAttempt", "gsm_map.ms.initiateCallAttempt", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg, { "splitLeg", "gsm_map.ms.splitLeg", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg, { "moveLeg", "gsm_map.ms.moveLeg", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg, { "disconnectLeg", "gsm_map.ms.disconnectLeg", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased, { "entityReleased", "gsm_map.ms.entityReleased", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument, { "dfc-WithArgument", "gsm_map.ms.dfc-WithArgument", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_playTone, { "playTone", "gsm_map.ms.playTone", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall, { "dtmf-MidCall", "gsm_map.ms.dtmf-MidCall", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator, { "chargingIndicator", "gsm_map.ms.chargingIndicator", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP, { "alertingDP", "gsm_map.ms.alertingDP", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting, { "locationAtAlerting", "gsm_map.ms.locationAtAlerting", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP, { "changeOfPositionDP", "gsm_map.ms.changeOfPositionDP", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions, { "or-Interactions", "gsm_map.ms.or-Interactions", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements, { "warningToneEnhancements", "gsm_map.ms.warningToneEnhancements", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements, { "cf-Enhancements", "gsm_map.ms.cf-Enhancements", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices, { "subscribedEnhancedDialledServices", "gsm_map.ms.subscribedEnhancedDialledServices", FT_BOOLEAN, 8, NULL, 0x01, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices, { "servingNetworkEnhancedDialledServices", "gsm_map.ms.servingNetworkEnhancedDialledServices", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP, { "criteriaForChangeOfPositionDP", "gsm_map.ms.criteriaForChangeOfPositionDP", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP, { "serviceChangeDP", "gsm_map.ms.serviceChangeDP", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation, { "collectInformation", "gsm_map.ms.collectInformation", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest, { "privilegedUplinkRequest", "gsm_map.ms.privilegedUplinkRequest", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest, { "emergencyUplinkRequest", "gsm_map.ms.emergencyUplinkRequest", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset, { "emergencyReset", "gsm_map.ms.emergencyReset", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, /* --- Module MAP-CH-DataTypes --- --- --- */ { &hf_gsm_map_ch_cug_Interlock, { "cug-Interlock", "gsm_map.ch.cug_Interlock", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.CUG_Interlock", HFILL }}, { &hf_gsm_map_ch_cug_OutgoingAccess, { "cug-OutgoingAccess", "gsm_map.ch.cug_OutgoingAccess", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_extensionContainer, { "extensionContainer", "gsm_map.ch.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_ch_msisdn, { "msisdn", "gsm_map.ch.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_cug_CheckInfo, { "cug-CheckInfo", "gsm_map.ch.cug_CheckInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.CUG_CheckInfo", HFILL }}, { &hf_gsm_map_ch_numberOfForwarding, { "numberOfForwarding", "gsm_map.ch.numberOfForwarding", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ch.NumberOfForwarding", HFILL }}, { &hf_gsm_map_ch_interrogationType, { "interrogationType", "gsm_map.ch.interrogationType", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_InterrogationType_vals), 0, "gsm_map_ch.InterrogationType", HFILL }}, { &hf_gsm_map_ch_or_Interrogation, { "or-Interrogation", "gsm_map.ch.or_Interrogation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_or_Capability, { "or-Capability", "gsm_map.ch.or_Capability", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ch.OR_Phase", HFILL }}, { &hf_gsm_map_ch_gmsc_OrGsmSCF_Address, { "gmsc-OrGsmSCF-Address", "gsm_map.ch.gmsc_OrGsmSCF_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_callReferenceNumber, { "callReferenceNumber", "gsm_map.ch.callReferenceNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ch.CallReferenceNumber", HFILL }}, { &hf_gsm_map_ch_forwardingReason, { "forwardingReason", "gsm_map.ch.forwardingReason", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ForwardingReason_vals), 0, "gsm_map_ch.ForwardingReason", HFILL }}, { &hf_gsm_map_ch_basicServiceGroup, { "basicServiceGroup", "gsm_map.ch.basicServiceGroup", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ch_networkSignalInfo, { "networkSignalInfo", "gsm_map.ch.networkSignalInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_map_ch_camelInfo, { "camelInfo", "gsm_map.ch.camelInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.CamelInfo", HFILL }}, { &hf_gsm_map_ch_suppressionOfAnnouncement, { "suppressionOfAnnouncement", "gsm_map.ch.suppressionOfAnnouncement", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.SuppressionOfAnnouncement", HFILL }}, { &hf_gsm_map_ch_alertingPattern, { "alertingPattern", "gsm_map.ch.alertingPattern", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AlertingPattern", HFILL }}, { &hf_gsm_map_ch_ccbs_Call, { "ccbs-Call", "gsm_map.ch.ccbs_Call", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_supportedCCBS_Phase, { "supportedCCBS-Phase", "gsm_map.ch.supportedCCBS_Phase", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ch.SupportedCCBS_Phase", HFILL }}, { &hf_gsm_map_ch_additionalSignalInfo, { "additionalSignalInfo", "gsm_map.ch.additionalSignalInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.Ext_ExternalSignalInfo", HFILL }}, { &hf_gsm_map_ch_istSupportIndicator, { "istSupportIndicator", "gsm_map.ch.istSupportIndicator", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IST_SupportIndicator_vals), 0, "gsm_map_ms.IST_SupportIndicator", HFILL }}, { &hf_gsm_map_ch_pre_pagingSupported, { "pre-pagingSupported", "gsm_map.ch.pre_pagingSupported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_callDiversionTreatmentIndicator, { "callDiversionTreatmentIndicator", "gsm_map.ch.callDiversionTreatmentIndicator", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ch.CallDiversionTreatmentIndicator", HFILL }}, { &hf_gsm_map_ch_longFTN_Supported, { "longFTN-Supported", "gsm_map.ch.longFTN_Supported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_suppress_VT_CSI, { "suppress-VT-CSI", "gsm_map.ch.suppress_VT_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_suppressIncomingCallBarring, { "suppressIncomingCallBarring", "gsm_map.ch.suppressIncomingCallBarring", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_gsmSCF_InitiatedCall, { "gsmSCF-InitiatedCall", "gsm_map.ch.gsmSCF_InitiatedCall", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_basicServiceGroup2, { "basicServiceGroup2", "gsm_map.ch.basicServiceGroup2", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ch_networkSignalInfo2, { "networkSignalInfo2", "gsm_map.ch.networkSignalInfo2", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_map_ch_suppressMTSS, { "suppressMTSS", "gsm_map.ch.suppressMTSS", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ch.SuppressMTSS", HFILL }}, { &hf_gsm_map_ch_mtRoamingRetrySupported, { "mtRoamingRetrySupported", "gsm_map.ch.mtRoamingRetrySupported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_imsi, { "imsi", "gsm_map.ch.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_ch_extendedRoutingInfo, { "extendedRoutingInfo", "gsm_map.ch.extendedRoutingInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ExtendedRoutingInfo_vals), 0, "gsm_map_ch.ExtendedRoutingInfo", HFILL }}, { &hf_gsm_map_ch_cugSubscriptionFlag, { "cugSubscriptionFlag", "gsm_map.ch.cugSubscriptionFlag", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_subscriberInfo, { "subscriberInfo", "gsm_map.ch.subscriberInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.SubscriberInfo", HFILL }}, { &hf_gsm_map_ch_ss_List, { "ss-List", "gsm_map.ch.ss_List", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.SS_List", HFILL }}, { &hf_gsm_map_ch_basicService, { "basicService", "gsm_map.ch.basicService", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ch_forwardingInterrogationRequired, { "forwardingInterrogationRequired", "gsm_map.ch.forwardingInterrogationRequired", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_vmsc_Address, { "vmsc-Address", "gsm_map.ch.vmsc_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_naea_PreferredCI, { "naea-PreferredCI", "gsm_map.ch.naea_PreferredCI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.NAEA_PreferredCI", HFILL }}, { &hf_gsm_map_ch_ccbs_Indicators, { "ccbs-Indicators", "gsm_map.ch.ccbs_Indicators", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.CCBS_Indicators", HFILL }}, { &hf_gsm_map_ch_numberPortabilityStatus, { "numberPortabilityStatus", "gsm_map.ch.numberPortabilityStatus", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NumberPortabilityStatus_vals), 0, "gsm_map_ms.NumberPortabilityStatus", HFILL }}, { &hf_gsm_map_ch_istAlertTimer, { "istAlertTimer", "gsm_map.ch.istAlertTimer", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.IST_AlertTimerValue", HFILL }}, { &hf_gsm_map_ch_supportedCamelPhasesInVMSC, { "supportedCamelPhasesInVMSC", "gsm_map.ch.supportedCamelPhasesInVMSC", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedCamelPhases", HFILL }}, { &hf_gsm_map_ch_offeredCamel4CSIsInVMSC, { "offeredCamel4CSIsInVMSC", "gsm_map.ch.offeredCamel4CSIsInVMSC", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.OfferedCamel4CSIs", HFILL }}, { &hf_gsm_map_ch_routingInfo2, { "routingInfo2", "gsm_map.ch.routingInfo2", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0, "gsm_map_ch.RoutingInfo", HFILL }}, { &hf_gsm_map_ch_ss_List2, { "ss-List2", "gsm_map.ch.ss_List2", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ss.SS_List", HFILL }}, { &hf_gsm_map_ch_basicService2, { "basicService2", "gsm_map.ch.basicService2", FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0, "gsm_map.Ext_BasicServiceCode", HFILL }}, { &hf_gsm_map_ch_allowedServices, { "allowedServices", "gsm_map.ch.allowedServices", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ch.AllowedServices", HFILL }}, { &hf_gsm_map_ch_unavailabilityCause, { "unavailabilityCause", "gsm_map.ch.unavailabilityCause", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_UnavailabilityCause_vals), 0, "gsm_map_ch.UnavailabilityCause", HFILL }}, { &hf_gsm_map_ch_releaseResourcesSupported, { "releaseResourcesSupported", "gsm_map.ch.releaseResourcesSupported", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_gsm_BearerCapability, { "gsm-BearerCapability", "gsm_map.ch.gsm_BearerCapability", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_map_ch_ccbs_Possible, { "ccbs-Possible", "gsm_map.ch.ccbs_Possible", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_keepCCBS_CallIndicator, { "keepCCBS-CallIndicator", "gsm_map.ch.keepCCBS_CallIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_roamingNumber, { "roamingNumber", "gsm_map.ch.roamingNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_forwardingData, { "forwardingData", "gsm_map.ch.forwardingData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.ForwardingData", HFILL }}, { &hf_gsm_map_ch_forwardedToNumber, { "forwardedToNumber", "gsm_map.ch.forwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_forwardedToSubaddress, { "forwardedToSubaddress", "gsm_map.ch.forwardedToSubaddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_SubaddressString", HFILL }}, { &hf_gsm_map_ch_forwardingOptions, { "forwardingOptions", "gsm_map.ch.forwardingOptions", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.ForwardingOptions", HFILL }}, { &hf_gsm_map_ch_longForwardedToNumber, { "longForwardedToNumber", "gsm_map.ch.longForwardedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.FTN_AddressString", HFILL }}, { &hf_gsm_map_ch_msc_Number, { "msc-Number", "gsm_map.ch.msc_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_lmsi, { "lmsi", "gsm_map.ch.lmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LMSI", HFILL }}, { &hf_gsm_map_ch_gmsc_Address, { "gmsc-Address", "gsm_map.ch.gmsc_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode, { "supportedCamelPhasesInInterrogatingNode", "gsm_map.ch.supportedCamelPhasesInInterrogatingNode", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedCamelPhases", HFILL }}, { &hf_gsm_map_ch_orNotSupportedInGMSC, { "orNotSupportedInGMSC", "gsm_map.ch.orNotSupportedInGMSC", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode, { "offeredCamel4CSIsInInterrogatingNode", "gsm_map.ch.offeredCamel4CSIsInInterrogatingNode", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.OfferedCamel4CSIs", HFILL }}, { &hf_gsm_map_ch_o_CSI, { "o-CSI", "gsm_map.ch.o_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.O_CSI", HFILL }}, { &hf_gsm_map_ch_uu_Data, { "uu-Data", "gsm_map.ch.uu_Data", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.UU_Data", HFILL }}, { &hf_gsm_map_ch_allInformationSent, { "allInformationSent", "gsm_map.ch.allInformationSent", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_d_csi, { "d-csi", "gsm_map.ch.d_csi", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.D_CSI", HFILL }}, { &hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList, { "o-BcsmCamelTDPCriteriaList", "gsm_map.ch.o_BcsmCamelTDPCriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.O_BcsmCamelTDPCriteriaList", HFILL }}, { &hf_gsm_map_ch_mtRoamingRetry, { "mtRoamingRetry", "gsm_map.ch.mtRoamingRetry", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_uuIndicator, { "uuIndicator", "gsm_map.ch.uuIndicator", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ch.UUIndicator", HFILL }}, { &hf_gsm_map_ch_uui, { "uui", "gsm_map.ch.uui", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ch.UUI", HFILL }}, { &hf_gsm_map_ch_uusCFInteraction, { "uusCFInteraction", "gsm_map.ch.uusCFInteraction", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_supportedCamelPhases, { "supportedCamelPhases", "gsm_map.ch.supportedCamelPhases", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedCamelPhases", HFILL }}, { &hf_gsm_map_ch_suppress_T_CSI, { "suppress-T-CSI", "gsm_map.ch.suppress_T_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_offeredCamel4CSIs, { "offeredCamel4CSIs", "gsm_map.ch.offeredCamel4CSIs", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.OfferedCamel4CSIs", HFILL }}, { &hf_gsm_map_ch_routingInfo, { "routingInfo", "gsm_map.ch.routingInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0, "gsm_map_ch.RoutingInfo", HFILL }}, { &hf_gsm_map_ch_camelRoutingInfo, { "camelRoutingInfo", "gsm_map.ch.camelRoutingInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.CamelRoutingInfo", HFILL }}, { &hf_gsm_map_ch_gmscCamelSubscriptionInfo, { "gmscCamelSubscriptionInfo", "gsm_map.ch.gmscCamelSubscriptionInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.GmscCamelSubscriptionInfo", HFILL }}, { &hf_gsm_map_ch_t_CSI, { "t-CSI", "gsm_map.ch.t_CSI", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ms.T_CSI", HFILL }}, { &hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList, { "o-BcsmCamelTDP-CriteriaList", "gsm_map.ch.o_BcsmCamelTDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.O_BcsmCamelTDPCriteriaList", HFILL }}, { &hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList, { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ch.t_BCSM_CAMEL_TDP_CriteriaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.T_BCSM_CAMEL_TDP_CriteriaList", HFILL }}, { &hf_gsm_map_ch_ccbs_Monitoring, { "ccbs-Monitoring", "gsm_map.ch.ccbs_Monitoring", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ReportingState_vals), 0, "gsm_map_ch.ReportingState", HFILL }}, { &hf_gsm_map_ch_ccbs_SubscriberStatus, { "ccbs-SubscriberStatus", "gsm_map.ch.ccbs_SubscriberStatus", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CCBS_SubscriberStatus_vals), 0, "gsm_map_ch.CCBS_SubscriberStatus", HFILL }}, { &hf_gsm_map_ch_eventReportData, { "eventReportData", "gsm_map.ch.eventReportData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.EventReportData", HFILL }}, { &hf_gsm_map_ch_callReportdata, { "callReportdata", "gsm_map.ch.callReportdata", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.CallReportData", HFILL }}, { &hf_gsm_map_ch_monitoringMode, { "monitoringMode", "gsm_map.ch.monitoringMode", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_MonitoringMode_vals), 0, "gsm_map_ch.MonitoringMode", HFILL }}, { &hf_gsm_map_ch_callOutcome, { "callOutcome", "gsm_map.ch.callOutcome", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CallOutcome_vals), 0, "gsm_map_ch.CallOutcome", HFILL }}, { &hf_gsm_map_ch_callInfo, { "callInfo", "gsm_map.ch.callInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_map_ch_ccbs_Feature, { "ccbs-Feature", "gsm_map.ch.ccbs_Feature", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.CCBS_Feature", HFILL }}, { &hf_gsm_map_ch_translatedB_Number, { "translatedB-Number", "gsm_map.ch.translatedB_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_replaceB_Number, { "replaceB-Number", "gsm_map.ch.replaceB_Number", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_ruf_Outcome, { "ruf-Outcome", "gsm_map.ch.ruf_Outcome", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RUF_Outcome_vals), 0, "gsm_map_ch.RUF_Outcome", HFILL }}, { &hf_gsm_map_ch_istInformationWithdraw, { "istInformationWithdraw", "gsm_map.ch.istInformationWithdraw", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.NULL", HFILL }}, { &hf_gsm_map_ch_callTerminationIndicator, { "callTerminationIndicator", "gsm_map.ch.callTerminationIndicator", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CallTerminationIndicator_vals), 0, "gsm_map_ch.CallTerminationIndicator", HFILL }}, { &hf_gsm_map_ch_msrn, { "msrn", "gsm_map.ch.msrn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_ch_SuppressMTSS_suppressCUG, { "suppressCUG", "gsm_map.ch.suppressCUG", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ch_SuppressMTSS_suppressCCBS, { "suppressCCBS", "gsm_map.ch.suppressCCBS", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_ch_AllowedServices_firstServiceAllowed, { "firstServiceAllowed", "gsm_map.ch.firstServiceAllowed", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_ch_AllowedServices_secondServiceAllowed, { "secondServiceAllowed", "gsm_map.ch.secondServiceAllowed", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, /* --- Module MAP-LCS-DataTypes --- --- --- */ { &hf_gsm_map_lcs_mlcNumber, { "mlcNumber", "gsm_map.lcs.mlcNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_lcs_targetMS, { "targetMS", "gsm_map.lcs.targetMS", FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0, "gsm_map.SubscriberIdentity", HFILL }}, { &hf_gsm_map_lcs_extensionContainer, { "extensionContainer", "gsm_map.lcs.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_lcs_lcsLocationInfo, { "lcsLocationInfo", "gsm_map.lcs.lcsLocationInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCSLocationInfo", HFILL }}, { &hf_gsm_map_lcs_v_gmlc_Address, { "v-gmlc-Address", "gsm_map.lcs.v_gmlc_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_lcs_h_gmlc_Address, { "h-gmlc-Address", "gsm_map.lcs.h_gmlc_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_lcs_ppr_Address, { "ppr-Address", "gsm_map.lcs.ppr_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_lcs_additional_v_gmlc_Address, { "additional-v-gmlc-Address", "gsm_map.lcs.additional_v_gmlc_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_map_lcs_networkNode_Number, { "networkNode-Number", "gsm_map.lcs.networkNode_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_lcs_lmsi, { "lmsi", "gsm_map.lcs.lmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LMSI", HFILL }}, { &hf_gsm_map_lcs_gprsNodeIndicator, { "gprsNodeIndicator", "gsm_map.lcs.gprsNodeIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_additional_Number, { "additional-Number", "gsm_map.lcs.additional_Number", FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0, "gsm_map_sm.Additional_Number", HFILL }}, { &hf_gsm_map_lcs_supportedLCS_CapabilitySets, { "supportedLCS-CapabilitySets", "gsm_map.lcs.supportedLCS_CapabilitySets", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedLCS_CapabilitySets", HFILL }}, { &hf_gsm_map_lcs_additional_LCS_CapabilitySets, { "additional-LCS-CapabilitySets", "gsm_map.lcs.additional_LCS_CapabilitySets", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.SupportedLCS_CapabilitySets", HFILL }}, { &hf_gsm_map_lcs_locationType, { "locationType", "gsm_map.lcs.locationType", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LocationType", HFILL }}, { &hf_gsm_map_lcs_mlc_Number, { "mlc-Number", "gsm_map.lcs.mlc_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_lcs_lcs_ClientID, { "lcs-ClientID", "gsm_map.lcs.lcs_ClientID", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCS_ClientID", HFILL }}, { &hf_gsm_map_lcs_privacyOverride, { "privacyOverride", "gsm_map.lcs.privacyOverride", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_imsi, { "imsi", "gsm_map.lcs.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_lcs_msisdn, { "msisdn", "gsm_map.lcs.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_lcs_imei, { "imei", "gsm_map.lcs.imei", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMEI", HFILL }}, { &hf_gsm_map_lcs_lcs_Priority, { "lcs-Priority", "gsm_map.lcs.lcs_Priority", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.LCS_Priority", HFILL }}, { &hf_gsm_map_lcs_lcs_QoS, { "lcs-QoS", "gsm_map.lcs.lcs_QoS", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCS_QoS", HFILL }}, { &hf_gsm_map_lcs_supportedGADShapes, { "supportedGADShapes", "gsm_map.lcs.supportedGADShapes", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.SupportedGADShapes", HFILL }}, { &hf_gsm_map_lcs_lcs_ReferenceNumber, { "lcs-ReferenceNumber", "gsm_map.lcs.lcs_ReferenceNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.LCS_ReferenceNumber", HFILL }}, { &hf_gsm_map_lcs_lcsServiceTypeID, { "lcsServiceTypeID", "gsm_map.lcs.lcsServiceTypeID", FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0, "gsm_map.LCSServiceTypeID", HFILL }}, { &hf_gsm_map_lcs_lcsCodeword, { "lcsCodeword", "gsm_map.lcs.lcsCodeword", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCSCodeword", HFILL }}, { &hf_gsm_map_lcs_lcs_PrivacyCheck, { "lcs-PrivacyCheck", "gsm_map.lcs.lcs_PrivacyCheck", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCS_PrivacyCheck", HFILL }}, { &hf_gsm_map_lcs_areaEventInfo, { "areaEventInfo", "gsm_map.lcs.areaEventInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.AreaEventInfo", HFILL }}, { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, { "mo-lrShortCircuitIndicator", "gsm_map.lcs.mo_lrShortCircuitIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_periodicLDRInfo, { "periodicLDRInfo", "gsm_map.lcs.periodicLDRInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.PeriodicLDRInfo", HFILL }}, { &hf_gsm_map_lcs_reportingPLMNList, { "reportingPLMNList", "gsm_map.lcs.reportingPLMNList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.ReportingPLMNList", HFILL }}, { &hf_gsm_map_lcs_locationEstimateType, { "locationEstimateType", "gsm_map.lcs.locationEstimateType", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LocationEstimateType_vals), 0, "gsm_map_lcs.LocationEstimateType", HFILL }}, { &hf_gsm_map_lcs_deferredLocationEventType, { "deferredLocationEventType", "gsm_map.lcs.deferredLocationEventType", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.DeferredLocationEventType", HFILL }}, { &hf_gsm_map_lcs_lcsClientType, { "lcsClientType", "gsm_map.lcs.lcsClientType", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCSClientType_vals), 0, "gsm_map_lcs.LCSClientType", HFILL }}, { &hf_gsm_map_lcs_lcsClientExternalID, { "lcsClientExternalID", "gsm_map.lcs.lcsClientExternalID", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.LCSClientExternalID", HFILL }}, { &hf_gsm_map_lcs_lcsClientDialedByMS, { "lcsClientDialedByMS", "gsm_map.lcs.lcsClientDialedByMS", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_lcs_lcsClientInternalID, { "lcsClientInternalID", "gsm_map.lcs.lcsClientInternalID", FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0, "gsm_map.LCSClientInternalID", HFILL }}, { &hf_gsm_map_lcs_lcsClientName, { "lcsClientName", "gsm_map.lcs.lcsClientName", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCSClientName", HFILL }}, { &hf_gsm_map_lcs_lcsAPN, { "lcsAPN", "gsm_map.lcs.lcsAPN", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.APN", HFILL }}, { &hf_gsm_map_lcs_lcsRequestorID, { "lcsRequestorID", "gsm_map.lcs.lcsRequestorID", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCSRequestorID", HFILL }}, { &hf_gsm_map_lcs_dataCodingScheme, { "dataCodingScheme", "gsm_map.lcs.dataCodingScheme", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.USSD_DataCodingScheme", HFILL }}, { &hf_gsm_map_lcs_nameString, { "nameString", "gsm_map.lcs.nameString", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.NameString", HFILL }}, { &hf_gsm_map_lcs_lcs_FormatIndicator, { "lcs-FormatIndicator", "gsm_map.lcs.lcs_FormatIndicator", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCS_FormatIndicator_vals), 0, "gsm_map_lcs.LCS_FormatIndicator", HFILL }}, { &hf_gsm_map_lcs_requestorIDString, { "requestorIDString", "gsm_map.lcs.requestorIDString", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.RequestorIDString", HFILL }}, { &hf_gsm_map_lcs_horizontal_accuracy, { "horizontal-accuracy", "gsm_map.lcs.horizontal_accuracy", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.Horizontal_Accuracy", HFILL }}, { &hf_gsm_map_lcs_verticalCoordinateRequest, { "verticalCoordinateRequest", "gsm_map.lcs.verticalCoordinateRequest", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_vertical_accuracy, { "vertical-accuracy", "gsm_map.lcs.vertical_accuracy", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.Vertical_Accuracy", HFILL }}, { &hf_gsm_map_lcs_responseTime, { "responseTime", "gsm_map.lcs.responseTime", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.ResponseTime", HFILL }}, { &hf_gsm_map_lcs_velocityRequest, { "velocityRequest", "gsm_map.lcs.velocityRequest", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_responseTimeCategory, { "responseTimeCategory", "gsm_map.lcs.responseTimeCategory", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_ResponseTimeCategory_vals), 0, "gsm_map_lcs.ResponseTimeCategory", HFILL }}, { &hf_gsm_map_lcs_lcsCodewordString, { "lcsCodewordString", "gsm_map.lcs.lcsCodewordString", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.LCSCodewordString", HFILL }}, { &hf_gsm_map_lcs_callSessionUnrelated, { "callSessionUnrelated", "gsm_map.lcs.callSessionUnrelated", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_PrivacyCheckRelatedAction_vals), 0, "gsm_map_lcs.PrivacyCheckRelatedAction", HFILL }}, { &hf_gsm_map_lcs_callSessionRelated, { "callSessionRelated", "gsm_map.lcs.callSessionRelated", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_PrivacyCheckRelatedAction_vals), 0, "gsm_map_lcs.PrivacyCheckRelatedAction", HFILL }}, { &hf_gsm_map_lcs_areaDefinition, { "areaDefinition", "gsm_map.lcs.areaDefinition", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.AreaDefinition", HFILL }}, { &hf_gsm_map_lcs_occurrenceInfo, { "occurrenceInfo", "gsm_map.lcs.occurrenceInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_OccurrenceInfo_vals), 0, "gsm_map_lcs.OccurrenceInfo", HFILL }}, { &hf_gsm_map_lcs_intervalTime, { "intervalTime", "gsm_map.lcs.intervalTime", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_lcs.IntervalTime", HFILL }}, { &hf_gsm_map_lcs_areaList, { "areaList", "gsm_map.lcs.areaList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_lcs.AreaList", HFILL }}, { &hf_gsm_map_lcs_AreaList_item, { "Item", "gsm_map.lcs.AreaList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.Area", HFILL }}, { &hf_gsm_map_lcs_areaType, { "areaType", "gsm_map.lcs.areaType", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_AreaType_vals), 0, "gsm_map_lcs.AreaType", HFILL }}, { &hf_gsm_map_lcs_areaIdentification, { "areaIdentification", "gsm_map.lcs.areaIdentification", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.AreaIdentification", HFILL }}, { &hf_gsm_map_lcs_reportingAmount, { "reportingAmount", "gsm_map.lcs.reportingAmount", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_lcs.ReportingAmount", HFILL }}, { &hf_gsm_map_lcs_reportingInterval, { "reportingInterval", "gsm_map.lcs.reportingInterval", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_lcs.ReportingInterval", HFILL }}, { &hf_gsm_map_lcs_plmn_ListPrioritized, { "plmn-ListPrioritized", "gsm_map.lcs.plmn_ListPrioritized", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_plmn_List, { "plmn-List", "gsm_map.lcs.plmn_List", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_lcs.PLMNList", HFILL }}, { &hf_gsm_map_lcs_PLMNList_item, { "Item", "gsm_map.lcs.PLMNList_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.ReportingPLMN", HFILL }}, { &hf_gsm_map_lcs_plmn_Id, { "plmn-Id", "gsm_map.lcs.plmn_Id", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.PLMN_Id", HFILL }}, { &hf_gsm_map_lcs_ran_Technology, { "ran-Technology", "gsm_map.lcs.ran_Technology", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_RAN_Technology_vals), 0, "gsm_map_lcs.RAN_Technology", HFILL }}, { &hf_gsm_map_lcs_ran_PeriodicLocationSupport, { "ran-PeriodicLocationSupport", "gsm_map.lcs.ran_PeriodicLocationSupport", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_locationEstimate, { "locationEstimate", "gsm_map.lcs.locationEstimate", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.Ext_GeographicalInformation", HFILL }}, { &hf_gsm_map_lcs_ageOfLocationEstimate, { "ageOfLocationEstimate", "gsm_map.lcs.ageOfLocationEstimate", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.AgeOfLocationInformation", HFILL }}, { &hf_gsm_map_lcs_add_LocationEstimate, { "add-LocationEstimate", "gsm_map.lcs.add_LocationEstimate", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.Add_GeographicalInformation", HFILL }}, { &hf_gsm_map_lcs_deferredmt_lrResponseIndicator, { "deferredmt-lrResponseIndicator", "gsm_map.lcs.deferredmt_lrResponseIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_geranPositioningData, { "geranPositioningData", "gsm_map.lcs.geranPositioningData", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.PositioningDataInformation", HFILL }}, { &hf_gsm_map_lcs_utranPositioningData, { "utranPositioningData", "gsm_map.lcs.utranPositioningData", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.UtranPositioningDataInfo", HFILL }}, { &hf_gsm_map_lcs_cellIdOrSai, { "cellIdOrSai", "gsm_map.lcs.cellIdOrSai", FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0, "gsm_map.CellGlobalIdOrServiceAreaIdOrLAI", HFILL }}, { &hf_gsm_map_lcs_sai_Present, { "sai-Present", "gsm_map.lcs.sai_Present", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_accuracyFulfilmentIndicator, { "accuracyFulfilmentIndicator", "gsm_map.lcs.accuracyFulfilmentIndicator", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_AccuracyFulfilmentIndicator_vals), 0, "gsm_map_lcs.AccuracyFulfilmentIndicator", HFILL }}, { &hf_gsm_map_lcs_velocityEstimate, { "velocityEstimate", "gsm_map.lcs.velocityEstimate", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.VelocityEstimate", HFILL }}, { &hf_gsm_map_lcs_lcs_Event, { "lcs-Event", "gsm_map.lcs.lcs_Event", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCS_Event_vals), 0, "gsm_map_lcs.LCS_Event", HFILL }}, { &hf_gsm_map_lcs_na_ESRD, { "na-ESRD", "gsm_map.lcs.na_ESRD", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_lcs_na_ESRK, { "na-ESRK", "gsm_map.lcs.na_ESRK", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_lcs_slr_ArgExtensionContainer, { "slr-ArgExtensionContainer", "gsm_map.lcs.slr_ArgExtensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.SLR_ArgExtensionContainer", HFILL }}, { &hf_gsm_map_lcs_deferredmt_lrData, { "deferredmt-lrData", "gsm_map.lcs.deferredmt_lrData", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.Deferredmt_lrData", HFILL }}, { &hf_gsm_map_lcs_pseudonymIndicator, { "pseudonymIndicator", "gsm_map.lcs.pseudonymIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.NULL", HFILL }}, { &hf_gsm_map_lcs_sequenceNumber, { "sequenceNumber", "gsm_map.lcs.sequenceNumber", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_lcs.SequenceNumber", HFILL }}, { &hf_gsm_map_lcs_terminationCause, { "terminationCause", "gsm_map.lcs.terminationCause", FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_TerminationCause_vals), 0, "gsm_map_lcs.TerminationCause", HFILL }}, { &hf_gsm_map_lcs_DeferredLocationEventType_msAvailable, { "msAvailable", "gsm_map.lcs.msAvailable", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea, { "enteringIntoArea", "gsm_map.lcs.enteringIntoArea", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea, { "leavingFromArea", "gsm_map.lcs.leavingFromArea", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea, { "beingInsideArea", "gsm_map.lcs.beingInsideArea", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR, { "periodicLDR", "gsm_map.lcs.periodicLDR", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint, { "ellipsoidPoint", "gsm_map.lcs.ellipsoidPoint", FT_BOOLEAN, 8, NULL, 0x80, "", HFILL }}, { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle, { "ellipsoidPointWithUncertaintyCircle", "gsm_map.lcs.ellipsoidPointWithUncertaintyCircle", FT_BOOLEAN, 8, NULL, 0x40, "", HFILL }}, { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse, { "ellipsoidPointWithUncertaintyEllipse", "gsm_map.lcs.ellipsoidPointWithUncertaintyEllipse", FT_BOOLEAN, 8, NULL, 0x20, "", HFILL }}, { &hf_gsm_map_lcs_SupportedGADShapes_polygon, { "polygon", "gsm_map.lcs.polygon", FT_BOOLEAN, 8, NULL, 0x10, "", HFILL }}, { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude, { "ellipsoidPointWithAltitude", "gsm_map.lcs.ellipsoidPointWithAltitude", FT_BOOLEAN, 8, NULL, 0x08, "", HFILL }}, { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid, { "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", "gsm_map.lcs.ellipsoidPointWithAltitudeAndUncertaintyElipsoid", FT_BOOLEAN, 8, NULL, 0x04, "", HFILL }}, { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc, { "ellipsoidArc", "gsm_map.lcs.ellipsoidArc", FT_BOOLEAN, 8, NULL, 0x02, "", HFILL }}, /* --- Module MAP-GR-DataTypes --- --- --- */ { &hf_gsm_map_gr_teleservice, { "teleservice", "gsm_map.gr.teleservice", FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0, "gsm_map.Ext_TeleserviceCode", HFILL }}, { &hf_gsm_map_gr_asciCallReference, { "asciCallReference", "gsm_map.gr.asciCallReference", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ASCI_CallReference", HFILL }}, { &hf_gsm_map_gr_codec_Info, { "codec-Info", "gsm_map.gr.codec_Info", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_gr.CODEC_Info", HFILL }}, { &hf_gsm_map_gr_cipheringAlgorithm, { "cipheringAlgorithm", "gsm_map.gr.cipheringAlgorithm", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_gr.CipheringAlgorithm", HFILL }}, { &hf_gsm_map_gr_groupKeyNumber_Vk_Id, { "groupKeyNumber-Vk-Id", "gsm_map.gr.groupKeyNumber_Vk_Id", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_gr.GroupKeyNumber", HFILL }}, { &hf_gsm_map_gr_groupKey, { "groupKey", "gsm_map.gr.groupKey", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Kc", HFILL }}, { &hf_gsm_map_gr_priority, { "priority", "gsm_map.gr.priority", FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0, "gsm_map.EMLPP_Priority", HFILL }}, { &hf_gsm_map_gr_uplinkFree, { "uplinkFree", "gsm_map.gr.uplinkFree", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_extensionContainer, { "extensionContainer", "gsm_map.gr.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_gr_vstk, { "vstk", "gsm_map.gr.vstk", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_gr.VSTK", HFILL }}, { &hf_gsm_map_gr_vstk_rand, { "vstk-rand", "gsm_map.gr.vstk_rand", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_gr.VSTK_RAND", HFILL }}, { &hf_gsm_map_gr_talkerChannelParameter, { "talkerChannelParameter", "gsm_map.gr.talkerChannelParameter", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_groupCallNumber, { "groupCallNumber", "gsm_map.gr.groupCallNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_gr_imsi, { "imsi", "gsm_map.gr.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_map_gr_talkerPriority, { "talkerPriority", "gsm_map.gr.talkerPriority", FT_UINT32, BASE_DEC, VALS(gsm_map_gr_TalkerPriority_vals), 0, "gsm_map_gr.TalkerPriority", HFILL }}, { &hf_gsm_map_gr_additionalInfo, { "additionalInfo", "gsm_map.gr.additionalInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AdditionalInfo", HFILL }}, { &hf_gsm_map_gr_uplinkRequestAck, { "uplinkRequestAck", "gsm_map.gr.uplinkRequestAck", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_uplinkReleaseIndication, { "uplinkReleaseIndication", "gsm_map.gr.uplinkReleaseIndication", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_uplinkRejectCommand, { "uplinkRejectCommand", "gsm_map.gr.uplinkRejectCommand", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_uplinkSeizedCommand, { "uplinkSeizedCommand", "gsm_map.gr.uplinkSeizedCommand", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_uplinkReleaseCommand, { "uplinkReleaseCommand", "gsm_map.gr.uplinkReleaseCommand", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_stateAttributes, { "stateAttributes", "gsm_map.gr.stateAttributes", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.StateAttributes", HFILL }}, { &hf_gsm_map_gr_emergencyModeResetCommandFlag, { "emergencyModeResetCommandFlag", "gsm_map.gr.emergencyModeResetCommandFlag", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_sm_RP_UI, { "sm-RP-UI", "gsm_map.gr.sm_RP_UI", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.SignalInfo", HFILL }}, { &hf_gsm_map_gr_an_APDU, { "an-APDU", "gsm_map.gr.an_APDU", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.AccessNetworkSignalInfo", HFILL }}, { &hf_gsm_map_gr_uplinkRequest, { "uplinkRequest", "gsm_map.gr.uplinkRequest", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_releaseGroupCall, { "releaseGroupCall", "gsm_map.gr.releaseGroupCall", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_downlinkAttached, { "downlinkAttached", "gsm_map.gr.downlinkAttached", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_uplinkAttached, { "uplinkAttached", "gsm_map.gr.uplinkAttached", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_dualCommunication, { "dualCommunication", "gsm_map.gr.dualCommunication", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_callOriginator, { "callOriginator", "gsm_map.gr.callOriginator", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_gr.NULL", HFILL }}, { &hf_gsm_map_gr_requestedInfo, { "requestedInfo", "gsm_map.gr.requestedInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_gr_RequestedInfo_vals), 0, "gsm_map_gr.RequestedInfo", HFILL }}, { &hf_gsm_map_gr_groupId, { "groupId", "gsm_map.gr.groupId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Long_GroupId", HFILL }}, { &hf_gsm_map_gr_cellId, { "cellId", "gsm_map.gr.cellId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.GlobalCellId", HFILL }}, { &hf_gsm_map_gr_tmsi, { "tmsi", "gsm_map.gr.tmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.TMSI", HFILL }}, { &hf_gsm_map_gr_cksn, { "cksn", "gsm_map.gr.cksn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Cksn", HFILL }}, { &hf_gsm_map_gr_anchorMSC_Address, { "anchorMSC-Address", "gsm_map.gr.anchorMSC_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_map_gr_additionalSubscriptions, { "additionalSubscriptions", "gsm_map.gr.additionalSubscriptions", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.AdditionalSubscriptions", HFILL }}, { &hf_gsm_map_gr_kc, { "kc", "gsm_map.gr.kc", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.Kc", HFILL }}, /* --- Module MAP-DialogueInformation --- --- --- */ { &hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU, { "MAP-DialoguePDU", "gsm_map.dialogue.MAP_DialoguePDU", FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_DialoguePDU_vals), 0, "gsm_map_dialogue.MAP_DialoguePDU", HFILL }}, { &hf_gsm_map_dialogue_map_open, { "map-open", "gsm_map.dialogue.map_open", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.MAP_OpenInfo", HFILL }}, { &hf_gsm_map_dialogue_map_accept, { "map-accept", "gsm_map.dialogue.map_accept", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.MAP_AcceptInfo", HFILL }}, { &hf_gsm_map_dialogue_map_close, { "map-close", "gsm_map.dialogue.map_close", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.MAP_CloseInfo", HFILL }}, { &hf_gsm_map_dialogue_map_refuse, { "map-refuse", "gsm_map.dialogue.map_refuse", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.MAP_RefuseInfo", HFILL }}, { &hf_gsm_map_dialogue_map_userAbort, { "map-userAbort", "gsm_map.dialogue.map_userAbort", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.MAP_UserAbortInfo", HFILL }}, { &hf_gsm_map_dialogue_map_providerAbort, { "map-providerAbort", "gsm_map.dialogue.map_providerAbort", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.MAP_ProviderAbortInfo", HFILL }}, { &hf_gsm_map_dialogue_destinationReference, { "destinationReference", "gsm_map.dialogue.destinationReference", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_dialogue_originationReference, { "originationReference", "gsm_map.dialogue.originationReference", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_map_dialogue_extensionContainer, { "extensionContainer", "gsm_map.dialogue.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_map_dialogue_reason, { "reason", "gsm_map.dialogue.reason", FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_Reason_vals), 0, "gsm_map_dialogue.Reason", HFILL }}, { &hf_gsm_map_dialogue_alternativeApplicationContext, { "alternativeApplicationContext", "gsm_map.dialogue.alternativeApplicationContext", FT_OID, BASE_NONE, NULL, 0, "gsm_map_dialogue.OBJECT_IDENTIFIER", HFILL }}, { &hf_gsm_map_dialogue_map_UserAbortChoice, { "map-UserAbortChoice", "gsm_map.dialogue.map_UserAbortChoice", FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_UserAbortChoice_vals), 0, "gsm_map_dialogue.MAP_UserAbortChoice", HFILL }}, { &hf_gsm_map_dialogue_userSpecificReason, { "userSpecificReason", "gsm_map.dialogue.userSpecificReason", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.NULL", HFILL }}, { &hf_gsm_map_dialogue_userResourceLimitation, { "userResourceLimitation", "gsm_map.dialogue.userResourceLimitation", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_dialogue.NULL", HFILL }}, { &hf_gsm_map_dialogue_resourceUnavailable, { "resourceUnavailable", "gsm_map.dialogue.resourceUnavailable", FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_ResourceUnavailableReason_vals), 0, "gsm_map_dialogue.ResourceUnavailableReason", HFILL }}, { &hf_gsm_map_dialogue_applicationProcedureCancellation, { "applicationProcedureCancellation", "gsm_map.dialogue.applicationProcedureCancellation", FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_ProcedureCancellationReason_vals), 0, "gsm_map_dialogue.ProcedureCancellationReason", HFILL }}, { &hf_gsm_map_dialogue_map_ProviderAbortReason, { "map-ProviderAbortReason", "gsm_map.dialogue.map_ProviderAbortReason", FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_ProviderAbortReason_vals), 0, "gsm_map_dialogue.MAP_ProviderAbortReason", HFILL }}, /* --- Module DummyMAP --- --- --- */ { &hf_gsm_old_invoke, { "invoke", "gsm_old.invoke", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.Invoke", HFILL }}, { &hf_gsm_old_returnResultLast, { "returnResultLast", "gsm_old.returnResultLast", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.ReturnResult", HFILL }}, { &hf_gsm_old_returnError, { "returnError", "gsm_old.returnError", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.ReturnError", HFILL }}, { &hf_gsm_old_reject, { "reject", "gsm_old.reject", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.Reject", HFILL }}, { &hf_gsm_old_returnResultNotLast, { "returnResultNotLast", "gsm_old.returnResultNotLast", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.ReturnResult", HFILL }}, { &hf_gsm_old_invokeID, { "invokeID", "gsm_old.invokeID", FT_INT32, BASE_DEC, NULL, 0, "gsm_old.InvokeIdType", HFILL }}, { &hf_gsm_old_linkedID, { "linkedID", "gsm_old.linkedID", FT_INT32, BASE_DEC, NULL, 0, "gsm_old.InvokeIdType", HFILL }}, { &hf_gsm_old_opCode, { "opCode", "gsm_old.opCode", FT_UINT32, BASE_DEC, VALS(gsm_old_MAP_OPERATION_vals), 0, "gsm_old.MAP_OPERATION", HFILL }}, { &hf_gsm_old_invokeparameter, { "invokeparameter", "gsm_old.invokeparameter", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.InvokeParameter", HFILL }}, { &hf_gsm_old_resultretres, { "resultretres", "gsm_old.resultretres", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.T_resultretres", HFILL }}, { &hf_gsm_old_returnparameter, { "returnparameter", "gsm_old.returnparameter", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.ReturnResultParameter", HFILL }}, { &hf_gsm_old_errorCode, { "errorCode", "gsm_old.errorCode", FT_UINT32, BASE_DEC, VALS(gsm_old_MAP_ERROR_vals), 0, "gsm_old.MAP_ERROR", HFILL }}, { &hf_gsm_old_parameter, { "parameter", "gsm_old.parameter", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.ReturnErrorParameter", HFILL }}, { &hf_gsm_old_invokeIDRej, { "invokeIDRej", "gsm_old.invokeIDRej", FT_UINT32, BASE_DEC, VALS(gsm_old_T_invokeIDRej_vals), 0, "gsm_old.T_invokeIDRej", HFILL }}, { &hf_gsm_old_derivable, { "derivable", "gsm_old.derivable", FT_INT32, BASE_DEC, NULL, 0, "gsm_old.InvokeIdType", HFILL }}, { &hf_gsm_old_not_derivable, { "not-derivable", "gsm_old.not_derivable", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.NULL", HFILL }}, { &hf_gsm_old_problem, { "problem", "gsm_old.problem", FT_UINT32, BASE_DEC, VALS(gsm_old_T_problem_vals), 0, "gsm_old.T_problem", HFILL }}, { &hf_gsm_old_generalProblem, { "generalProblem", "gsm_old.generalProblem", FT_INT32, BASE_DEC, VALS(gsm_old_GeneralProblem_vals), 0, "gsm_old.GeneralProblem", HFILL }}, { &hf_gsm_old_invokeProblem, { "invokeProblem", "gsm_old.invokeProblem", FT_INT32, BASE_DEC, VALS(gsm_old_InvokeProblem_vals), 0, "gsm_old.InvokeProblem", HFILL }}, { &hf_gsm_old_returnResultProblem, { "returnResultProblem", "gsm_old.returnResultProblem", FT_INT32, BASE_DEC, VALS(gsm_old_ReturnResultProblem_vals), 0, "gsm_old.ReturnResultProblem", HFILL }}, { &hf_gsm_old_returnErrorProblem, { "returnErrorProblem", "gsm_old.returnErrorProblem", FT_INT32, BASE_DEC, VALS(gsm_old_ReturnErrorProblem_vals), 0, "gsm_old.ReturnErrorProblem", HFILL }}, { &hf_gsm_old_localValue, { "localValue", "gsm_old.localValue", FT_INT32, BASE_DEC, VALS(gsm_old_GSMMAPOperationLocalvalue_vals), 0, "gsm_old.OperationLocalvalue", HFILL }}, { &hf_gsm_old_globalValue, { "globalValue", "gsm_old.globalValue", FT_OID, BASE_NONE, NULL, 0, "gsm_old.OBJECT_IDENTIFIER", HFILL }}, { &hf_gsm_old_localValue_01, { "localValue", "gsm_old.localValue", FT_INT32, BASE_DEC, VALS(gsm_old_GSMMAPLocalErrorcode_vals), 0, "gsm_old.LocalErrorcode", HFILL }}, { &hf_gsm_old_protocolId, { "protocolId", "gsm_old.protocolId", FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0, "gsm_map.ProtocolId", HFILL }}, { &hf_gsm_old_signalInfo, { "signalInfo", "gsm_old.signalInfo", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.SignalInfo", HFILL }}, { &hf_gsm_old_extensionContainer, { "extensionContainer", "gsm_old.extensionContainer", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExtensionContainer", HFILL }}, { &hf_gsm_old_gsm_BearerCapability, { "gsm-BearerCapability", "gsm_old.gsm_BearerCapability", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_old_isdn_BearerCapability, { "isdn-BearerCapability", "gsm_old.isdn_BearerCapability", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_old_call_Direction, { "call-Direction", "gsm_old.call_Direction", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.CallDirection", HFILL }}, { &hf_gsm_old_b_Subscriber_Address, { "b-Subscriber-Address", "gsm_old.b_Subscriber_Address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_old_chosenChannel, { "chosenChannel", "gsm_old.chosenChannel", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_old_lowerLayerCompatibility, { "lowerLayerCompatibility", "gsm_old.lowerLayerCompatibility", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_old_highLayerCompatibility, { "highLayerCompatibility", "gsm_old.highLayerCompatibility", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_old_sIWFSNumber, { "sIWFSNumber", "gsm_old.sIWFSNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_old_imsi, { "imsi", "gsm_old.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_old_vlr_Number, { "vlr-Number", "gsm_old.vlr_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_old_targetCellId, { "targetCellId", "gsm_old.targetCellId", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.GlobalCellId", HFILL }}, { &hf_gsm_old_ho_NumberNotRequired, { "ho-NumberNotRequired", "gsm_old.ho_NumberNotRequired", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.NULL", HFILL }}, { &hf_gsm_old_bss_APDU, { "bss-APDU", "gsm_old.bss_APDU", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.Bss_APDU", HFILL }}, { &hf_gsm_old_handoverNumber, { "handoverNumber", "gsm_old.handoverNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_old_SendAuthenticationInfoResOld_item, { "Item", "gsm_old.SendAuthenticationInfoResOld_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.SendAuthenticationInfoResOld_item", HFILL }}, { &hf_gsm_old_rand, { "rand", "gsm_old.rand", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.RAND", HFILL }}, { &hf_gsm_old_sres, { "sres", "gsm_old.sres", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.SRES", HFILL }}, { &hf_gsm_old_kc, { "kc", "gsm_old.kc", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.Kc", HFILL }}, { &hf_gsm_old_tripletList, { "tripletList", "gsm_old.tripletList", FT_UINT32, BASE_DEC, NULL, 0, "gsm_old.TripletListold", HFILL }}, { &hf_gsm_old_TripletListold_item, { "Item", "gsm_old.TripletListold_item", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.AuthenticationTriplet_v2", HFILL }}, { &hf_gsm_old_channelType, { "channelType", "gsm_old.channelType", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_old_securityHeader, { "securityHeader", "gsm_old.securityHeader", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.SecurityHeader", HFILL }}, { &hf_gsm_old_protectedPayload, { "protectedPayload", "gsm_old.protectedPayload", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.ProtectedPayload", HFILL }}, { &hf_gsm_old_securityParametersIndex, { "securityParametersIndex", "gsm_old.securityParametersIndex", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.SecurityParametersIndex", HFILL }}, { &hf_gsm_old_originalComponentIdentifier, { "originalComponentIdentifier", "gsm_old.originalComponentIdentifier", FT_UINT32, BASE_DEC, VALS(gsm_old_OriginalComponentIdentifier_vals), 0, "gsm_old.OriginalComponentIdentifier", HFILL }}, { &hf_gsm_old_initialisationVector, { "initialisationVector", "gsm_old.initialisationVector", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.InitialisationVector", HFILL }}, { &hf_gsm_old_operationCode, { "operationCode", "gsm_old.operationCode", FT_UINT32, BASE_DEC, VALS(gsm_old_OperationCode_vals), 0, "gsm_old.OperationCode", HFILL }}, { &hf_gsm_old_errorCode_01, { "errorCode", "gsm_old.errorCode", FT_UINT32, BASE_DEC, VALS(gsm_old_ErrorCode_vals), 0, "gsm_old.ErrorCode", HFILL }}, { &hf_gsm_old_userInfo, { "userInfo", "gsm_old.userInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.NULL", HFILL }}, { &hf_gsm_old_localValue_02, { "localValue", "gsm_old.localValue", FT_INT32, BASE_DEC, NULL, 0, "gsm_old.INTEGER", HFILL }}, { &hf_gsm_old_msisdn, { "msisdn", "gsm_old.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_old_category, { "category", "gsm_old.category", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.Category", HFILL }}, { &hf_gsm_old_basicService, { "basicService", "gsm_old.basicService", FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0, "gsm_map.BasicServiceCode", HFILL }}, { &hf_gsm_old_operatorSS_Code, { "operatorSS-Code", "gsm_old.operatorSS_Code", FT_UINT32, BASE_DEC, NULL, 0, "gsm_old.T_operatorSS_Code", HFILL }}, { &hf_gsm_old_operatorSS_Code_item, { "Item", "gsm_old.operatorSS_Code_item", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.OCTET_STRING_SIZE_1", HFILL }}, { &hf_gsm_old_sm_RP_DA, { "sm-RP-DA", "gsm_old.sm_RP_DA", FT_UINT32, BASE_DEC, VALS(gsm_old_SM_RP_DAold_vals), 0, "gsm_old.SM_RP_DAold", HFILL }}, { &hf_gsm_old_sm_RP_OA, { "sm-RP-OA", "gsm_old.sm_RP_OA", FT_UINT32, BASE_DEC, VALS(gsm_old_SM_RP_OAold_vals), 0, "gsm_old.SM_RP_OAold", HFILL }}, { &hf_gsm_old_sm_RP_UI, { "sm-RP-UI", "gsm_old.sm_RP_UI", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.SignalInfo", HFILL }}, { &hf_gsm_old_moreMessagesToSend, { "moreMessagesToSend", "gsm_old.moreMessagesToSend", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.NULL", HFILL }}, { &hf_gsm_old_lmsi, { "lmsi", "gsm_old.lmsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.LMSI", HFILL }}, { &hf_gsm_old_serviceCentreAddressDA, { "serviceCentreAddressDA", "gsm_old.serviceCentreAddressDA", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_old_noSM_RP_DA, { "noSM-RP-DA", "gsm_old.noSM_RP_DA", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.NULL", HFILL }}, { &hf_gsm_old_msisdn_01, { "msisdn", "gsm_old.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.T_msisdn", HFILL }}, { &hf_gsm_old_serviceCentreAddressOA, { "serviceCentreAddressOA", "gsm_old.serviceCentreAddressOA", FT_BYTES, BASE_HEX, NULL, 0, "gsm_old.T_serviceCentreAddressOA", HFILL }}, { &hf_gsm_old_noSM_RP_OA, { "noSM-RP-OA", "gsm_old.noSM_RP_OA", FT_NONE, BASE_NONE, NULL, 0, "gsm_old.NULL", HFILL }}, { &hf_gsm_old_cug_CheckInfo, { "cug-CheckInfo", "gsm_old.cug_CheckInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ch.CUG_CheckInfo", HFILL }}, { &hf_gsm_old_numberOfForwarding, { "numberOfForwarding", "gsm_old.numberOfForwarding", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ch.NumberOfForwarding", HFILL }}, { &hf_gsm_old_networkSignalInfo, { "networkSignalInfo", "gsm_old.networkSignalInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.ExternalSignalInfo", HFILL }}, { &hf_gsm_old_routingInfo, { "routingInfo", "gsm_old.routingInfo", FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0, "gsm_map_ch.RoutingInfo", HFILL }}, /* --- Module SS-DataTypes --- --- --- */ { &hf_gsm_ss_ss_Code, { "ss-Code", "gsm_ss.ss_Code", FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0, "gsm_map.SS_Code", HFILL }}, { &hf_gsm_ss_ss_Status, { "ss-Status", "gsm_ss.ss_Status", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.SS_Status", HFILL }}, { &hf_gsm_ss_ss_Notification, { "ss-Notification", "gsm_ss.ss_Notification", FT_BYTES, BASE_HEX, NULL, 0, "gsm_ss.SS_Notification", HFILL }}, { &hf_gsm_ss_callIsWaiting_Indicator, { "callIsWaiting-Indicator", "gsm_ss.callIsWaiting_Indicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_callOnHold_Indicator, { "callOnHold-Indicator", "gsm_ss.callOnHold_Indicator", FT_UINT32, BASE_DEC, VALS(gsm_ss_CallOnHold_Indicator_vals), 0, "gsm_ss.CallOnHold_Indicator", HFILL }}, { &hf_gsm_ss_mpty_Indicator, { "mpty-Indicator", "gsm_ss.mpty_Indicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_cug_Index, { "cug-Index", "gsm_ss.cug_Index", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_ms.CUG_Index", HFILL }}, { &hf_gsm_ss_clirSuppressionRejected, { "clirSuppressionRejected", "gsm_ss.clirSuppressionRejected", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_ect_Indicator, { "ect-Indicator", "gsm_ss.ect_Indicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.ECT_Indicator", HFILL }}, { &hf_gsm_ss_nameIndicator, { "nameIndicator", "gsm_ss.nameIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NameIndicator", HFILL }}, { &hf_gsm_ss_ccbs_Feature, { "ccbs-Feature", "gsm_ss.ccbs_Feature", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_ss.CCBS_Feature", HFILL }}, { &hf_gsm_ss_alertingPattern, { "alertingPattern", "gsm_ss.alertingPattern", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AlertingPattern", HFILL }}, { &hf_gsm_ss_multicall_Indicator, { "multicall-Indicator", "gsm_ss.multicall_Indicator", FT_UINT32, BASE_DEC, VALS(gsm_ss_Multicall_Indicator_vals), 0, "gsm_ss.Multicall_Indicator", HFILL }}, { &hf_gsm_ss_imsi, { "imsi", "gsm_ss.imsi", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.IMSI", HFILL }}, { &hf_gsm_ss_originatingEntityNumber, { "originatingEntityNumber", "gsm_ss.originatingEntityNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_ss_msisdn, { "msisdn", "gsm_ss.msisdn", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_ss_chargingInformation, { "chargingInformation", "gsm_ss.chargingInformation", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.ChargingInformation", HFILL }}, { &hf_gsm_ss_e1, { "e1", "gsm_ss.e1", FT_UINT32, BASE_DEC, NULL, 0, "gsm_ss.E1", HFILL }}, { &hf_gsm_ss_e2, { "e2", "gsm_ss.e2", FT_UINT32, BASE_DEC, NULL, 0, "gsm_ss.E2", HFILL }}, { &hf_gsm_ss_e3, { "e3", "gsm_ss.e3", FT_UINT32, BASE_DEC, NULL, 0, "gsm_ss.E3", HFILL }}, { &hf_gsm_ss_e4, { "e4", "gsm_ss.e4", FT_UINT32, BASE_DEC, NULL, 0, "gsm_ss.E4", HFILL }}, { &hf_gsm_ss_e5, { "e5", "gsm_ss.e5", FT_UINT32, BASE_DEC, NULL, 0, "gsm_ss.E5", HFILL }}, { &hf_gsm_ss_e6, { "e6", "gsm_ss.e6", FT_UINT32, BASE_DEC, NULL, 0, "gsm_ss.E6", HFILL }}, { &hf_gsm_ss_e7, { "e7", "gsm_ss.e7", FT_UINT32, BASE_DEC, NULL, 0, "gsm_ss.E7", HFILL }}, { &hf_gsm_ss_suppressPrefCUG, { "suppressPrefCUG", "gsm_ss.suppressPrefCUG", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_suppressOA, { "suppressOA", "gsm_ss.suppressOA", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_ect_CallState, { "ect-CallState", "gsm_ss.ect_CallState", FT_UINT32, BASE_DEC, VALS(gsm_ss_ECT_CallState_vals), 0, "gsm_ss.ECT_CallState", HFILL }}, { &hf_gsm_ss_rdn, { "rdn", "gsm_ss.rdn", FT_UINT32, BASE_DEC, VALS(gsm_ss_RDN_vals), 0, "gsm_ss.RDN", HFILL }}, { &hf_gsm_ss_callingName, { "callingName", "gsm_ss.callingName", FT_UINT32, BASE_DEC, VALS(gsm_ss_Name_vals), 0, "gsm_ss.Name", HFILL }}, { &hf_gsm_ss_namePresentationAllowed, { "namePresentationAllowed", "gsm_ss.namePresentationAllowed", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NameSet", HFILL }}, { &hf_gsm_ss_presentationRestricted, { "presentationRestricted", "gsm_ss.presentationRestricted", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_nameUnavailable, { "nameUnavailable", "gsm_ss.nameUnavailable", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_namePresentationRestricted, { "namePresentationRestricted", "gsm_ss.namePresentationRestricted", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NameSet", HFILL }}, { &hf_gsm_ss_dataCodingScheme, { "dataCodingScheme", "gsm_ss.dataCodingScheme", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.USSD_DataCodingScheme", HFILL }}, { &hf_gsm_ss_lengthInCharacters, { "lengthInCharacters", "gsm_ss.lengthInCharacters", FT_INT32, BASE_DEC, NULL, 0, "gsm_ss.INTEGER", HFILL }}, { &hf_gsm_ss_nameString, { "nameString", "gsm_ss.nameString", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ss.USSD_String", HFILL }}, { &hf_gsm_ss_presentationAllowedAddress, { "presentationAllowedAddress", "gsm_ss.presentationAllowedAddress", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.RemotePartyNumber", HFILL }}, { &hf_gsm_ss_numberNotAvailableDueToInterworking, { "numberNotAvailableDueToInterworking", "gsm_ss.numberNotAvailableDueToInterworking", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_presentationRestrictedAddress, { "presentationRestrictedAddress", "gsm_ss.presentationRestrictedAddress", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.RemotePartyNumber", HFILL }}, { &hf_gsm_ss_partyNumber, { "partyNumber", "gsm_ss.partyNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_ss_partyNumberSubaddress, { "partyNumberSubaddress", "gsm_ss.partyNumberSubaddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_SubaddressString", HFILL }}, { &hf_gsm_ss_deflectedToNumber, { "deflectedToNumber", "gsm_ss.deflectedToNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.AddressString", HFILL }}, { &hf_gsm_ss_deflectedToSubaddress, { "deflectedToSubaddress", "gsm_ss.deflectedToSubaddress", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_SubaddressString", HFILL }}, { &hf_gsm_ss_uUS_Service, { "uUS-Service", "gsm_ss.uUS_Service", FT_UINT32, BASE_DEC, VALS(gsm_ss_UUS_Service_vals), 0, "gsm_ss.UUS_Service", HFILL }}, { &hf_gsm_ss_uUS_Required, { "uUS-Required", "gsm_ss.uUS_Required", FT_BOOLEAN, 8, NULL, 0, "gsm_ss.BOOLEAN", HFILL }}, { &hf_gsm_ss_notificationType, { "notificationType", "gsm_ss.notificationType", FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0, "gsm_map_ms.NotificationToMSUser", HFILL }}, { &hf_gsm_ss_locationType, { "locationType", "gsm_ss.locationType", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LocationType", HFILL }}, { &hf_gsm_ss_lcsClientExternalID, { "lcsClientExternalID", "gsm_ss.lcsClientExternalID", FT_NONE, BASE_NONE, NULL, 0, "gsm_map.LCSClientExternalID", HFILL }}, { &hf_gsm_ss_lcsClientName, { "lcsClientName", "gsm_ss.lcsClientName", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCSClientName", HFILL }}, { &hf_gsm_ss_lcsRequestorID, { "lcsRequestorID", "gsm_ss.lcsRequestorID", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCSRequestorID", HFILL }}, { &hf_gsm_ss_lcsCodeword, { "lcsCodeword", "gsm_ss.lcsCodeword", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCSCodeword", HFILL }}, { &hf_gsm_ss_lcsServiceTypeID, { "lcsServiceTypeID", "gsm_ss.lcsServiceTypeID", FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0, "gsm_map.LCSServiceTypeID", HFILL }}, { &hf_gsm_ss_verificationResponse, { "verificationResponse", "gsm_ss.verificationResponse", FT_UINT32, BASE_DEC, VALS(gsm_ss_VerificationResponse_vals), 0, "gsm_ss.VerificationResponse", HFILL }}, { &hf_gsm_ss_molr_Type, { "molr-Type", "gsm_ss.molr_Type", FT_UINT32, BASE_DEC, VALS(gsm_ss_MOLR_Type_vals), 0, "gsm_ss.MOLR_Type", HFILL }}, { &hf_gsm_ss_locationMethod, { "locationMethod", "gsm_ss.locationMethod", FT_UINT32, BASE_DEC, VALS(gsm_ss_LocationMethod_vals), 0, "gsm_ss.LocationMethod", HFILL }}, { &hf_gsm_ss_lcs_QoS, { "lcs-QoS", "gsm_ss.lcs_QoS", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCS_QoS", HFILL }}, { &hf_gsm_ss_mlc_Number, { "mlc-Number", "gsm_ss.mlc_Number", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map.ISDN_AddressString", HFILL }}, { &hf_gsm_ss_gpsAssistanceData, { "gpsAssistanceData", "gsm_ss.gpsAssistanceData", FT_BYTES, BASE_HEX, NULL, 0, "gsm_ss.GPSAssistanceData", HFILL }}, { &hf_gsm_ss_supportedGADShapes, { "supportedGADShapes", "gsm_ss.supportedGADShapes", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.SupportedGADShapes", HFILL }}, { &hf_gsm_ss_ageOfLocationInfo, { "ageOfLocationInfo", "gsm_ss.ageOfLocationInfo", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map.AgeOfLocationInformation", HFILL }}, { &hf_gsm_ss_pseudonymIndicator, { "pseudonymIndicator", "gsm_ss.pseudonymIndicator", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_h_gmlc_address, { "h-gmlc-address", "gsm_ss.h_gmlc_address", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_ms.GSN_Address", HFILL }}, { &hf_gsm_ss_locationEstimate, { "locationEstimate", "gsm_ss.locationEstimate", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.Ext_GeographicalInformation", HFILL }}, { &hf_gsm_ss_velocityEstimate, { "velocityEstimate", "gsm_ss.velocityEstimate", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.VelocityEstimate", HFILL }}, { &hf_gsm_ss_referenceNumber, { "referenceNumber", "gsm_ss.referenceNumber", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.LCS_ReferenceNumber", HFILL }}, { &hf_gsm_ss_periodicLDRInfo, { "periodicLDRInfo", "gsm_ss.periodicLDRInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.PeriodicLDRInfo", HFILL }}, { &hf_gsm_ss_locationUpdateRequest, { "locationUpdateRequest", "gsm_ss.locationUpdateRequest", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_sequenceNumber, { "sequenceNumber", "gsm_ss.sequenceNumber", FT_UINT32, BASE_DEC, NULL, 0, "gsm_map_lcs.SequenceNumber", HFILL }}, { &hf_gsm_ss_terminationCause, { "terminationCause", "gsm_ss.terminationCause", FT_UINT32, BASE_DEC, VALS(gsm_ss_TerminationCause_vals), 0, "gsm_ss.TerminationCause", HFILL }}, { &hf_gsm_ss_mo_lrShortCircuit, { "mo-lrShortCircuit", "gsm_ss.mo_lrShortCircuit", FT_NONE, BASE_NONE, NULL, 0, "gsm_ss.NULL", HFILL }}, { &hf_gsm_ss_ganssAssistanceData, { "ganssAssistanceData", "gsm_ss.ganssAssistanceData", FT_BYTES, BASE_HEX, NULL, 0, "gsm_ss.GANSSAssistanceData", HFILL }}, { &hf_gsm_ss_decipheringKeys, { "decipheringKeys", "gsm_ss.decipheringKeys", FT_BYTES, BASE_HEX, NULL, 0, "gsm_ss.DecipheringKeys", HFILL }}, { &hf_gsm_ss_add_LocationEstimate, { "add-LocationEstimate", "gsm_ss.add_LocationEstimate", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.Add_GeographicalInformation", HFILL }}, { &hf_gsm_ss_reportingPLMNList, { "reportingPLMNList", "gsm_ss.reportingPLMNList", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.ReportingPLMNList", HFILL }}, { &hf_gsm_ss_deferredLocationEventType, { "deferredLocationEventType", "gsm_ss.deferredLocationEventType", FT_BYTES, BASE_HEX, NULL, 0, "gsm_map_lcs.DeferredLocationEventType", HFILL }}, { &hf_gsm_ss_areaEventInfo, { "areaEventInfo", "gsm_ss.areaEventInfo", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.AreaEventInfo", HFILL }}, { &hf_gsm_ss_qoS, { "qoS", "gsm_ss.qoS", FT_NONE, BASE_NONE, NULL, 0, "gsm_map_lcs.LCS_QoS", HFILL }}, /*--- End of included file: packet-gsm_map-hfarr.c ---*/ #line 2625 "packet-gsmmap-template.c" }; /* List of subtrees */ static gint *ett[] = { &ett_gsm_map, &ett_gsm_map_InvokeId, &ett_gsm_map_InvokePDU, &ett_gsm_map_ReturnResultPDU, &ett_gsm_map_ReturnErrorPDU, &ett_gsm_map_ReturnResult_result, &ett_gsm_map_ReturnError_result, &ett_gsm_map_GSMMAPPDU, &ett_gsm_map_ext_qos_subscribed, &ett_gsm_map_pdptypenumber, &ett_gsm_map_RAIdentity, &ett_gsm_map_LAIFixedLength, &ett_gsm_map_isdn_address_string, &ett_gsm_map_geo_desc, &ett_gsm_map_LongSignalInfo, &ett_gsm_map_RadioResourceInformation, &ett_gsm_map_MSNetworkCapability, &ett_gsm_map_MSRadioAccessCapability, &ett_gsm_map_externalsignalinfo, &ett_gsm_map_cbs_data_coding, &ett_gsm_map_GlobalCellId, &ett_gsm_map_GeographicalInformation, /*--- Included file: packet-gsm_map-ettarr.c ---*/ #line 1 "packet-gsm_map-ettarr.c" /* --- Module MAP-ExtensionDataTypes --- --- --- */ &ett_gsm_map_ExtensionContainer, &ett_gsm_map_SLR_ArgExtensionContainer, &ett_gsm_map_PrivateExtensionList, &ett_gsm_map_PrivateExtension, &ett_gsm_map_PCS_Extensions, &ett_gsm_map_SLR_Arg_PCS_Extensions, /* --- Module MAP-CommonDataTypes --- --- --- */ &ett_gsm_map_ExternalSignalInfo, &ett_gsm_map_Ext_ExternalSignalInfo, &ett_gsm_map_AccessNetworkSignalInfo, &ett_gsm_map_Identity, &ett_gsm_map_IMSI_WithLMSI, &ett_gsm_map_SubscriberId, &ett_gsm_map_HLR_List, &ett_gsm_map_NAEA_PreferredCI, &ett_gsm_map_SubscriberIdentity, &ett_gsm_map_LCSClientExternalID, &ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI, &ett_gsm_map_BasicServiceCode, &ett_gsm_map_Ext_BasicServiceCode, &ett_gsm_map_EMLPP_Info, &ett_gsm_map_MC_SS_Info, /* --- Module MAP-SS-DataTypes --- --- --- */ &ett_gsm_map_ss_RegisterSS_Arg, &ett_gsm_map_ss_SS_Info, &ett_gsm_map_ss_ForwardingInfo, &ett_gsm_map_ss_ForwardingFeatureList, &ett_gsm_map_ss_ForwardingFeature, &ett_gsm_map_ss_CallBarringInfo, &ett_gsm_map_ss_CallBarringFeatureList, &ett_gsm_map_ss_CallBarringFeature, &ett_gsm_map_ss_SS_Data, &ett_gsm_map_ss_SS_SubscriptionOption, &ett_gsm_map_ss_SS_ForBS_Code, &ett_gsm_map_ss_GenericServiceInfo, &ett_gsm_map_ss_CCBS_FeatureList, &ett_gsm_map_ss_CCBS_Feature, &ett_gsm_map_ss_InterrogateSS_Res, &ett_gsm_map_ss_USSD_Arg, &ett_gsm_map_ss_USSD_Res, &ett_gsm_map_ss_SS_List, &ett_gsm_map_ss_SS_InfoList, &ett_gsm_map_ss_BasicServiceGroupList, &ett_gsm_map_ss_SS_InvocationNotificationArg, &ett_gsm_map_ss_SS_InvocationNotificationRes, &ett_gsm_map_ss_SS_EventSpecification, &ett_gsm_map_ss_RegisterCC_EntryArg, &ett_gsm_map_ss_CCBS_Data, &ett_gsm_map_ss_ServiceIndicator, &ett_gsm_map_ss_RegisterCC_EntryRes, &ett_gsm_map_ss_EraseCC_EntryArg, &ett_gsm_map_ss_EraseCC_EntryRes, /* --- Module MAP-ER-DataTypes --- --- --- */ &ett_gsm_map_er_RoamingNotAllowedParam, &ett_gsm_map_er_CallBarredParam, &ett_gsm_map_er_ExtensibleCallBarredParam, &ett_gsm_map_er_CUG_RejectParam, &ett_gsm_map_er_SS_IncompatibilityCause, &ett_gsm_map_er_SM_DeliveryFailureCause, &ett_gsm_map_er_AbsentSubscriberSM_Param, &ett_gsm_map_er_SystemFailureParam, &ett_gsm_map_er_ExtensibleSystemFailureParam, &ett_gsm_map_er_DataMissingParam, &ett_gsm_map_er_UnexpectedDataParam, &ett_gsm_map_er_FacilityNotSupParam, &ett_gsm_map_er_OR_NotAllowedParam, &ett_gsm_map_er_UnknownSubscriberParam, &ett_gsm_map_er_NumberChangedParam, &ett_gsm_map_er_UnidentifiedSubParam, &ett_gsm_map_er_IllegalSubscriberParam, &ett_gsm_map_er_IllegalEquipmentParam, &ett_gsm_map_er_BearerServNotProvParam, &ett_gsm_map_er_TeleservNotProvParam, &ett_gsm_map_er_TracingBufferFullParam, &ett_gsm_map_er_NoRoamingNbParam, &ett_gsm_map_er_AbsentSubscriberParam, &ett_gsm_map_er_BusySubscriberParam, &ett_gsm_map_er_NoSubscriberReplyParam, &ett_gsm_map_er_ForwardingViolationParam, &ett_gsm_map_er_ForwardingFailedParam, &ett_gsm_map_er_ATI_NotAllowedParam, &ett_gsm_map_er_ATSI_NotAllowedParam, &ett_gsm_map_er_ATM_NotAllowedParam, &ett_gsm_map_er_IllegalSS_OperationParam, &ett_gsm_map_er_SS_NotAvailableParam, &ett_gsm_map_er_SS_SubscriptionViolationParam, &ett_gsm_map_er_InformationNotAvailableParam, &ett_gsm_map_er_SubBusyForMT_SMS_Param, &ett_gsm_map_er_MessageWaitListFullParam, &ett_gsm_map_er_ResourceLimitationParam, &ett_gsm_map_er_NoGroupCallNbParam, &ett_gsm_map_er_IncompatibleTerminalParam, &ett_gsm_map_er_ShortTermDenialParam, &ett_gsm_map_er_LongTermDenialParam, &ett_gsm_map_er_UnauthorizedRequestingNetwork_Param, &ett_gsm_map_er_UnauthorizedLCSClient_Param, &ett_gsm_map_er_PositionMethodFailure_Param, &ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param, &ett_gsm_map_er_MM_EventNotSupported_Param, &ett_gsm_map_er_TargetCellOutsideGCA_Param, &ett_gsm_map_er_OngoingGroupCallParam, /* --- Module MAP-SM-DataTypes --- --- --- */ &ett_gsm_map_sm_RoutingInfoForSM_Arg, &ett_gsm_map_sm_RoutingInfoForSM_Res, &ett_gsm_map_sm_LocationInfoWithLMSI, &ett_gsm_map_sm_Additional_Number, &ett_gsm_map_sm_MO_ForwardSM_Arg, &ett_gsm_map_sm_MO_ForwardSM_Res, &ett_gsm_map_sm_MT_ForwardSM_Arg, &ett_gsm_map_sm_MT_ForwardSM_Res, &ett_gsm_map_sm_SM_RP_DA, &ett_gsm_map_sm_SM_RP_OA, &ett_gsm_map_sm_ReportSM_DeliveryStatusArg, &ett_gsm_map_sm_ReportSM_DeliveryStatusRes, &ett_gsm_map_sm_AlertServiceCentreArg, &ett_gsm_map_sm_InformServiceCentreArg, &ett_gsm_map_sm_MW_Status, &ett_gsm_map_sm_ReadyForSM_Arg, &ett_gsm_map_sm_ReadyForSM_Res, &ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg, &ett_gsm_map_sm_MT_ForwardSM_VGCS_Res, &ett_gsm_map_sm_DispatcherList, /* --- Module MAP-OM-DataTypes --- --- --- */ &ett_gsm_map_om_ActivateTraceModeArg, &ett_gsm_map_om_TraceDepthList, &ett_gsm_map_om_TraceNE_TypeList, &ett_gsm_map_om_TraceInterfaceList, &ett_gsm_map_om_MSC_S_InterfaceList, &ett_gsm_map_om_MGW_InterfaceList, &ett_gsm_map_om_SGSN_InterfaceList, &ett_gsm_map_om_GGSN_InterfaceList, &ett_gsm_map_om_RNC_InterfaceList, &ett_gsm_map_om_BMSC_InterfaceList, &ett_gsm_map_om_TraceEventList, &ett_gsm_map_om_MSC_S_EventList, &ett_gsm_map_om_MGW_EventList, &ett_gsm_map_om_SGSN_EventList, &ett_gsm_map_om_GGSN_EventList, &ett_gsm_map_om_BMSC_EventList, &ett_gsm_map_om_TracePropagationList, &ett_gsm_map_om_ActivateTraceModeRes, &ett_gsm_map_om_DeactivateTraceModeArg, &ett_gsm_map_om_DeactivateTraceModeRes, /* --- Module MAP-MS-DataTypes --- --- --- */ &ett_gsm_map_ms_UpdateLocationArg, &ett_gsm_map_ms_VLR_Capability, &ett_gsm_map_ms_SupportedRAT_Types, &ett_gsm_map_ms_SuperChargerInfo, &ett_gsm_map_ms_SupportedLCS_CapabilitySets, &ett_gsm_map_ms_UpdateLocationRes, &ett_gsm_map_ms_ADD_Info, &ett_gsm_map_ms_CancelLocationArg_U, &ett_gsm_map_ms_CancelLocationRes, &ett_gsm_map_ms_PurgeMS_Arg_U, &ett_gsm_map_ms_PurgeMS_Res, &ett_gsm_map_ms_SendIdentificationArg, &ett_gsm_map_ms_SendIdentificationRes_U, &ett_gsm_map_ms_AuthenticationSetList, &ett_gsm_map_ms_TripletList, &ett_gsm_map_ms_QuintupletList, &ett_gsm_map_ms_AuthenticationTriplet, &ett_gsm_map_ms_AuthenticationQuintuplet, &ett_gsm_map_ms_CurrentSecurityContext, &ett_gsm_map_ms_GSM_SecurityContextData, &ett_gsm_map_ms_UMTS_SecurityContextData, &ett_gsm_map_ms_AuthenticationFailureReportArg, &ett_gsm_map_ms_AuthenticationFailureReportRes, &ett_gsm_map_ms_UpdateGprsLocationArg, &ett_gsm_map_ms_SGSN_Capability, &ett_gsm_map_ms_UpdateGprsLocationRes, &ett_gsm_map_ms_ForwardAccessSignalling_Arg_U, &ett_gsm_map_ms_AllowedUMTS_Algorithms, &ett_gsm_map_ms_PrepareHO_Arg_U, &ett_gsm_map_ms_BSSMAP_ServiceHandoverList, &ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo, &ett_gsm_map_ms_RadioResourceList, &ett_gsm_map_ms_RadioResource, &ett_gsm_map_ms_PrepareHO_Res_U, &ett_gsm_map_ms_SelectedUMTS_Algorithms, &ett_gsm_map_ms_ChosenRadioResourceInformation, &ett_gsm_map_ms_PrepareSubsequentHO_Arg_U, &ett_gsm_map_ms_PrepareSubsequentHO_Res_U, &ett_gsm_map_ms_ProcessAccessSignalling_Arg_U, &ett_gsm_map_ms_SupportedCodecsList, &ett_gsm_map_ms_CodecList, &ett_gsm_map_ms_SendEndSignal_Arg_U, &ett_gsm_map_ms_SendEndSignal_Res, &ett_gsm_map_ms_RelocationNumberList, &ett_gsm_map_ms_RelocationNumber, &ett_gsm_map_ms_SendAuthenticationInfoArg, &ett_gsm_map_ms_Re_synchronisationInfo, &ett_gsm_map_ms_SendAuthenticationInfoRes_U, &ett_gsm_map_ms_CheckIMEI_Arg, &ett_gsm_map_ms_CheckIMEI_Res, &ett_gsm_map_ms_RequestedEquipmentInfo, &ett_gsm_map_ms_UESBI_Iu, &ett_gsm_map_ms_InsertSubscriberDataArg, &ett_gsm_map_ms_AccessRestrictionData, &ett_gsm_map_ms_LCSInformation, &ett_gsm_map_ms_GMLC_List, &ett_gsm_map_ms_GPRSDataList, &ett_gsm_map_ms_PDP_Context, &ett_gsm_map_ms_GPRSSubscriptionData, &ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo, &ett_gsm_map_ms_GPRS_CSI, &ett_gsm_map_ms_GPRS_CamelTDPDataList, &ett_gsm_map_ms_GPRS_CamelTDPData, &ett_gsm_map_ms_LSADataList, &ett_gsm_map_ms_LSAData, &ett_gsm_map_ms_LSAInformation, &ett_gsm_map_ms_SubscriberData, &ett_gsm_map_ms_BearerServiceList, &ett_gsm_map_ms_TeleserviceList, &ett_gsm_map_ms_ODB_Data, &ett_gsm_map_ms_ODB_GeneralData, &ett_gsm_map_ms_ODB_HPLMN_Data, &ett_gsm_map_ms_Ext_SS_InfoList, &ett_gsm_map_ms_Ext_SS_Info, &ett_gsm_map_ms_Ext_ForwInfo, &ett_gsm_map_ms_Ext_ForwFeatureList, &ett_gsm_map_ms_Ext_ForwFeature, &ett_gsm_map_ms_Ext_CallBarInfo, &ett_gsm_map_ms_Ext_CallBarFeatureList, &ett_gsm_map_ms_Ext_CallBarringFeature, &ett_gsm_map_ms_CUG_Info, &ett_gsm_map_ms_CUG_SubscriptionList, &ett_gsm_map_ms_CUG_Subscription, &ett_gsm_map_ms_CUG_FeatureList, &ett_gsm_map_ms_Ext_BasicServiceGroupList, &ett_gsm_map_ms_CUG_Feature, &ett_gsm_map_ms_Ext_SS_Data, &ett_gsm_map_ms_LCS_PrivacyExceptionList, &ett_gsm_map_ms_LCS_PrivacyClass, &ett_gsm_map_ms_ExternalClientList, &ett_gsm_map_ms_PLMNClientList, &ett_gsm_map_ms_Ext_ExternalClientList, &ett_gsm_map_ms_ExternalClient, &ett_gsm_map_ms_ServiceTypeList, &ett_gsm_map_ms_ServiceType, &ett_gsm_map_ms_MOLR_List, &ett_gsm_map_ms_MOLR_Class, &ett_gsm_map_ms_ZoneCodeList, &ett_gsm_map_ms_InsertSubscriberDataRes, &ett_gsm_map_ms_DeleteSubscriberDataArg, &ett_gsm_map_ms_SpecificCSI_Withdraw, &ett_gsm_map_ms_GPRSSubscriptionDataWithdraw, &ett_gsm_map_ms_ContextIdList, &ett_gsm_map_ms_LSAInformationWithdraw, &ett_gsm_map_ms_LSAIdentityList, &ett_gsm_map_ms_BasicServiceList, &ett_gsm_map_ms_DeleteSubscriberDataRes, &ett_gsm_map_ms_VlrCamelSubscriptionInfo, &ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList, &ett_gsm_map_ms_MT_smsCAMELTDP_Criteria, &ett_gsm_map_ms_TPDU_TypeCriterion, &ett_gsm_map_ms_D_CSI, &ett_gsm_map_ms_DP_AnalysedInfoCriteriaList, &ett_gsm_map_ms_DP_AnalysedInfoCriterium, &ett_gsm_map_ms_SS_CSI, &ett_gsm_map_ms_SS_CamelData, &ett_gsm_map_ms_SS_EventList, &ett_gsm_map_ms_O_CSI, &ett_gsm_map_ms_O_BcsmCamelTDPDataList, &ett_gsm_map_ms_O_BcsmCamelTDPData, &ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList, &ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList, &ett_gsm_map_ms_O_BcsmCamelTDP_Criteria, &ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria, &ett_gsm_map_ms_DestinationNumberCriteria, &ett_gsm_map_ms_DestinationNumberList, &ett_gsm_map_ms_DestinationNumberLengthList, &ett_gsm_map_ms_BasicServiceCriteria, &ett_gsm_map_ms_O_CauseValueCriteria, &ett_gsm_map_ms_T_CauseValueCriteria, &ett_gsm_map_ms_SupportedCamelPhases, &ett_gsm_map_ms_OfferedCamel4CSIs, &ett_gsm_map_ms_OfferedCamel4Functionalities, &ett_gsm_map_ms_SMS_CSI, &ett_gsm_map_ms_SMS_CAMEL_TDP_DataList, &ett_gsm_map_ms_SMS_CAMEL_TDP_Data, &ett_gsm_map_ms_M_CSI, &ett_gsm_map_ms_MG_CSI, &ett_gsm_map_ms_MobilityTriggers, &ett_gsm_map_ms_T_CSI, &ett_gsm_map_ms_T_BcsmCamelTDPDataList, &ett_gsm_map_ms_T_BcsmCamelTDPData, &ett_gsm_map_ms_SendRoutingInfoForGprsArg, &ett_gsm_map_ms_SendRoutingInfoForGprsRes, &ett_gsm_map_ms_FailureReportArg, &ett_gsm_map_ms_FailureReportRes, &ett_gsm_map_ms_NoteMsPresentForGprsArg, &ett_gsm_map_ms_NoteMsPresentForGprsRes, &ett_gsm_map_ms_ResetArg, &ett_gsm_map_ms_RestoreDataArg, &ett_gsm_map_ms_RestoreDataRes, &ett_gsm_map_ms_VBSDataList, &ett_gsm_map_ms_VGCSDataList, &ett_gsm_map_ms_VoiceGroupCallData, &ett_gsm_map_ms_AdditionalSubscriptions, &ett_gsm_map_ms_VoiceBroadcastData, &ett_gsm_map_ms_ProvideSubscriberInfoArg, &ett_gsm_map_ms_ProvideSubscriberInfoRes, &ett_gsm_map_ms_SubscriberInfo, &ett_gsm_map_ms_MNPInfoRes, &ett_gsm_map_ms_GPRSMSClass, &ett_gsm_map_ms_RequestedInfo, &ett_gsm_map_ms_LocationInformation, &ett_gsm_map_ms_LocationInformationGPRS, &ett_gsm_map_ms_SubscriberState, &ett_gsm_map_ms_PS_SubscriberState, &ett_gsm_map_ms_PDP_ContextInfoList, &ett_gsm_map_ms_PDP_ContextInfo, &ett_gsm_map_ms_AnyTimeInterrogationArg, &ett_gsm_map_ms_AnyTimeInterrogationRes, &ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg, &ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes, &ett_gsm_map_ms_RequestedSubscriptionInfo, &ett_gsm_map_ms_MSISDN_BS_List, &ett_gsm_map_ms_MSISDN_BS, &ett_gsm_map_ms_CallForwardingData, &ett_gsm_map_ms_CallBarringData, &ett_gsm_map_ms_ODB_Info, &ett_gsm_map_ms_CAMEL_SubscriptionInfo, &ett_gsm_map_ms_AnyTimeModificationArg, &ett_gsm_map_ms_AnyTimeModificationRes, &ett_gsm_map_ms_ModificationRequestFor_CF_Info, &ett_gsm_map_ms_ModificationRequestFor_CB_Info, &ett_gsm_map_ms_ModificationRequestFor_ODB_data, &ett_gsm_map_ms_ModificationRequestFor_CSI, &ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data, &ett_gsm_map_ms_NoteSubscriberDataModifiedArg, &ett_gsm_map_ms_NoteSubscriberDataModifiedRes, &ett_gsm_map_ms_NoteMM_EventArg, &ett_gsm_map_ms_NoteMM_EventRes, &ett_gsm_map_ms_Ext_SS_InfoFor_CSE, &ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE, &ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE, /* --- Module MAP-CH-DataTypes --- --- --- */ &ett_gsm_map_ch_CUG_CheckInfo, &ett_gsm_map_ch_SendRoutingInfoArg, &ett_gsm_map_ch_SuppressMTSS, &ett_gsm_map_ch_SendRoutingInfoRes_U, &ett_gsm_map_ch_AllowedServices, &ett_gsm_map_ch_CCBS_Indicators, &ett_gsm_map_ch_RoutingInfo, &ett_gsm_map_ch_ForwardingData, &ett_gsm_map_ch_ProvideRoamingNumberArg, &ett_gsm_map_ch_ProvideRoamingNumberRes, &ett_gsm_map_ch_ResumeCallHandlingArg, &ett_gsm_map_ch_UU_Data, &ett_gsm_map_ch_ResumeCallHandlingRes, &ett_gsm_map_ch_CamelInfo, &ett_gsm_map_ch_ExtendedRoutingInfo, &ett_gsm_map_ch_CamelRoutingInfo, &ett_gsm_map_ch_GmscCamelSubscriptionInfo, &ett_gsm_map_ch_SetReportingStateArg, &ett_gsm_map_ch_SetReportingStateRes, &ett_gsm_map_ch_StatusReportArg, &ett_gsm_map_ch_EventReportData, &ett_gsm_map_ch_CallReportData, &ett_gsm_map_ch_StatusReportRes, &ett_gsm_map_ch_RemoteUserFreeArg, &ett_gsm_map_ch_RemoteUserFreeRes, &ett_gsm_map_ch_IST_AlertArg, &ett_gsm_map_ch_IST_AlertRes, &ett_gsm_map_ch_IST_CommandArg, &ett_gsm_map_ch_IST_CommandRes, &ett_gsm_map_ch_ReleaseResourcesArg, &ett_gsm_map_ch_ReleaseResourcesRes, /* --- Module MAP-LCS-DataTypes --- --- --- */ &ett_gsm_map_lcs_RoutingInfoForLCS_Arg, &ett_gsm_map_lcs_RoutingInfoForLCS_Res, &ett_gsm_map_lcs_LCSLocationInfo, &ett_gsm_map_lcs_ProvideSubscriberLocation_Arg, &ett_gsm_map_lcs_LocationType, &ett_gsm_map_lcs_DeferredLocationEventType, &ett_gsm_map_lcs_LCS_ClientID, &ett_gsm_map_lcs_LCSClientName, &ett_gsm_map_lcs_LCSRequestorID, &ett_gsm_map_lcs_LCS_QoS, &ett_gsm_map_lcs_ResponseTime, &ett_gsm_map_lcs_SupportedGADShapes, &ett_gsm_map_lcs_LCSCodeword, &ett_gsm_map_lcs_LCS_PrivacyCheck, &ett_gsm_map_lcs_AreaEventInfo, &ett_gsm_map_lcs_AreaDefinition, &ett_gsm_map_lcs_AreaList, &ett_gsm_map_lcs_Area, &ett_gsm_map_lcs_PeriodicLDRInfo, &ett_gsm_map_lcs_ReportingPLMNList, &ett_gsm_map_lcs_PLMNList, &ett_gsm_map_lcs_ReportingPLMN, &ett_gsm_map_lcs_ProvideSubscriberLocation_Res, &ett_gsm_map_lcs_SubscriberLocationReport_Arg, &ett_gsm_map_lcs_Deferredmt_lrData, &ett_gsm_map_lcs_SubscriberLocationReport_Res, /* --- Module MAP-GR-DataTypes --- --- --- */ &ett_gsm_map_gr_PrepareGroupCallArg, &ett_gsm_map_gr_PrepareGroupCallRes, &ett_gsm_map_gr_SendGroupCallEndSignalArg, &ett_gsm_map_gr_SendGroupCallEndSignalRes, &ett_gsm_map_gr_ForwardGroupCallSignallingArg, &ett_gsm_map_gr_ProcessGroupCallSignallingArg, &ett_gsm_map_gr_StateAttributes, &ett_gsm_map_gr_SendGroupCallInfoArg, &ett_gsm_map_gr_SendGroupCallInfoRes, /* --- Module MAP-DialogueInformation --- --- --- */ &ett_gsm_map_dialogue_MAP_DialoguePDU, &ett_gsm_map_dialogue_MAP_OpenInfo, &ett_gsm_map_dialogue_MAP_AcceptInfo, &ett_gsm_map_dialogue_MAP_CloseInfo, &ett_gsm_map_dialogue_MAP_RefuseInfo, &ett_gsm_map_dialogue_MAP_UserAbortInfo, &ett_gsm_map_dialogue_MAP_UserAbortChoice, &ett_gsm_map_dialogue_MAP_ProviderAbortInfo, /* --- Module MAP-LocationServiceOperations --- --- --- */ /* --- Module MAP-Group-Call-Operations --- --- --- */ /* --- Module MAP-ShortMessageServiceOperations --- --- --- */ /* --- Module MAP-SupplementaryServiceOperations --- --- --- */ /* --- Module MAP-CallHandlingOperations --- --- --- */ /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */ /* --- Module MAP-MobileServiceOperations --- --- --- */ /* --- Module MAP-Errors --- --- --- */ /* --- Module MAP-Protocol --- --- --- */ /* --- Module DummyMAP --- --- --- */ &ett_gsm_old_Component, &ett_gsm_old_Invoke, &ett_gsm_old_ReturnResult, &ett_gsm_old_T_resultretres, &ett_gsm_old_ReturnError, &ett_gsm_old_Reject, &ett_gsm_old_T_invokeIDRej, &ett_gsm_old_T_problem, &ett_gsm_old_MAP_OPERATION, &ett_gsm_old_MAP_ERROR, &ett_gsm_old_Bss_APDU, &ett_gsm_old_ProvideSIWFSNumberArg, &ett_gsm_old_ProvideSIWFSNumberRes, &ett_gsm_old_PurgeMSArgV2, &ett_gsm_old_PrepareHO_ArgOld, &ett_gsm_old_PrepareHO_ResOld, &ett_gsm_old_SendAuthenticationInfoResOld, &ett_gsm_old_SendAuthenticationInfoResOld_item, &ett_gsm_old_SendIdentificationResV2, &ett_gsm_old_TripletListold, &ett_gsm_old_AuthenticationTriplet_v2, &ett_gsm_old_SIWFSSignallingModifyArg, &ett_gsm_old_SIWFSSignallingModifyRes, &ett_gsm_old_SecureTransportArg, &ett_gsm_old_SecureTransportErrorParam, &ett_gsm_old_SecureTransportRes, &ett_gsm_old_SecurityHeader, &ett_gsm_old_OriginalComponentIdentifier, &ett_gsm_old_OperationCode, &ett_gsm_old_ErrorCode, &ett_gsm_old_PlmnContainer_U, &ett_gsm_old_T_operatorSS_Code, &ett_gsm_old_ForwardSM_Arg, &ett_gsm_old_SM_RP_DAold, &ett_gsm_old_SM_RP_OAold, &ett_gsm_old_SendRoutingInfoArgV2, &ett_gsm_old_SendRoutingInfoResV2, /* --- Module SS-DataTypes --- --- --- */ &ett_gsm_ss_NotifySS_Arg, &ett_gsm_ss_BeginSubscriberActivityArg, &ett_gsm_ss_ForwardChargeAdviceArg, &ett_gsm_ss_ChargingInformation, &ett_gsm_ss_ForwardCUG_InfoArg, &ett_gsm_ss_ECT_Indicator, &ett_gsm_ss_NameIndicator, &ett_gsm_ss_Name, &ett_gsm_ss_NameSet, &ett_gsm_ss_RDN, &ett_gsm_ss_RemotePartyNumber, &ett_gsm_ss_AccessRegisterCCEntryArg, &ett_gsm_ss_CallDeflectionArg, &ett_gsm_ss_UserUserServiceArg, &ett_gsm_ss_LocationNotificationArg, &ett_gsm_ss_LocationNotificationRes, &ett_gsm_ss_LCS_MOLRArg, &ett_gsm_ss_LCS_MOLRRes, &ett_gsm_ss_LCS_AreaEventRequestArg, &ett_gsm_ss_LCS_AreaEventReportArg, &ett_gsm_ss_LCS_AreaEventCancellationArg, &ett_gsm_ss_LCS_PeriodicLocationRequestArg, &ett_gsm_ss_LCS_PeriodicLocationRequestRes, &ett_gsm_ss_LCS_LocationUpdateArg, &ett_gsm_ss_LCS_LocationUpdateRes, &ett_gsm_ss_LCS_PeriodicLocationCancellationArg, /* --- Module SS-Operations --- --- --- */ /*--- End of included file: packet-gsm_map-ettarr.c ---*/ #line 2653 "packet-gsmmap-template.c" }; /* Register protocol */ proto_gsm_map_dialogue =proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME); register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map); /* Register fields and subtrees */ proto_register_field_array(proto_gsm_map, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); sms_dissector_table = register_dissector_table("gsm_map.sms_tpdu", "GSM SMS TPDU", FT_UINT8, BASE_DEC); gsm_map_tap = register_tap("gsm_map"); /*--- Included file: packet-gsm_map-dis-tab.c ---*/ #line 1 "packet-gsm_map-dis-tab.c" /* --- Module MAP-DialogueInformation --- --- --- */ register_ber_oid_dissector("0.4.0.0.1.1.1.1", dissect_gsm_map_dialogue_MAP_DialoguePDU_PDU, proto_gsm_map_dialogue, "map-DialogueAS"); /* --- Module MAP-LocationServiceOperations --- --- --- */ /* --- Module MAP-Group-Call-Operations --- --- --- */ /* --- Module MAP-ShortMessageServiceOperations --- --- --- */ /* --- Module MAP-SupplementaryServiceOperations --- --- --- */ /* --- Module MAP-CallHandlingOperations --- --- --- */ /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */ /* --- Module MAP-MobileServiceOperations --- --- --- */ /* --- Module MAP-Errors --- --- --- */ /* --- Module MAP-Protocol --- --- --- */ /* --- Module DummyMAP --- --- --- */ /* --- Module SS-DataTypes --- --- --- */ /* --- Module SS-Operations --- --- --- */ /*--- End of included file: packet-gsm_map-dis-tab.c ---*/ #line 2671 "packet-gsmmap-template.c" oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" ); oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2"); /*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" ); * * Register our configuration options, particularly our ssn:s * Set default SSNs */ range_convert_str(&global_ssn_range, "6-9", MAX_SSN); ssn_range = range_empty(); gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map); prefs_register_range_preference(gsm_map_module, "tcap.ssn", "TCAP SSNs", "TCAP Subsystem numbers used for GSM MAP", &global_ssn_range, MAX_SSN); }