/* packet-gsm_rlcmac.c
* Routines for GSM RLC MAC control plane message dissection in wireshark.
* TS 44.060 and 24.008
* By Vincent Helfre, based on original code by Jari Sassi
* with the gracious authorization of STE
* Copyright (c) 2011 ST-Ericsson
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
/* Notes on the use of this dissector:-
*
* These dissectors should be called with data parameter pointing to a
* populated RlcMacPrivateData_t structure, this is needed to pass the Physical
* Layer Coding scheme and other parameters required for correct Data Block decoding.
* For backward compatibility, a NULL pointer causes the dissector to assume GPRS CS1.
*
* To dissect EGPRS blocks, the gsm_rlcmac_ul or gsm_rlcmac_dl dissector should be
* called 1, 2 or 3 times, for the header block and then each available data block,
* with the flags in data parameter indicating which block is to be dissected.
*
* - The EGPRS Header Block occupies 4, 5 or 6 octets, the last octet is right-aligned
* (as viewed in wireshark) with any null bits at the high bits of the last octet.
* - Each EGPRS Data Block has 6 padding bits at the front, so there are then 2 data bits
* followed by the rest of the data block (which is implicitly octet aligned).
* - Either or both of the possible EGPRS Data Blocks may have been received
* with bad CRC and this should be marked in the flags field to allow
* upper layer decoding to ignore bad data blocks
*
* see packet-gsmtap.c for an example of the use of this dissector.
*/
#include "config.h"
#include <epan/packet.h>
#include <epan/expert.h>
#include "packet-csn1.h"
#include "packet-gsm_a_rr.h"
#include "packet-gsm_rlcmac.h"
#include "packet-gsm_a_common.h"
void proto_register_gsm_rlcmac(void);
void proto_reg_handoff_gsm_rlcmac(void);
static dissector_handle_t lte_rrc_dl_dcch_handle = NULL;
static dissector_handle_t rrc_irat_ho_to_utran_cmd_handle = NULL;
/* private typedefs */
typedef struct
{
gint offset;
guint8 li;
} length_indicator_t;
/* local constant tables */
const guint8 gsm_rlcmac_gprs_cs_to_block_length[] = {
23, /* CS1 */
33, /* CS2 */
39, /* CS3 */
53 /* CS4 */
};
const guint8 gsm_rlcmac_egprs_header_type_to_dl_header_block_length[] = {
5, /* RLCMAC_HDR_TYPE_1 */
4, /* RLCMAC_HDR_TYPE_2 */
4 /* RLCMAC_HDR_TYPE_3 */
};
const guint8 gsm_rlcmac_egprs_header_type_to_ul_header_block_length[] = {
6, /* RLCMAC_HDR_TYPE_1 */
5, /* RLCMAC_HDR_TYPE_2 */
4 /* RLCMAC_HDR_TYPE_3 */
};
#define MCS_INVALID 10 /* used for reserved CPS codepoints */
const guint8 gsm_rlcmac_egprs_mcs_to_data_block_length[] = {
0, /* MCS0 */
23, /* MCS1 */
29,
38,
45,
57,
75,
57,
69,
75, /* MCS9 */
0, /* MCS_INVALID */
};
/* Initialize the protocol and registered fields
*/
static int proto_gsm_rlcmac = -1;
static int ett_gsm_rlcmac = -1;
static int ett_gsm_rlcmac_data = -1;
static int ett_data_segments = -1;
static int ett_gsm_rlcmac_container = -1;
/* common MAC header IEs */
static int hf_usf = -1;
static int hf_ul_payload_type = -1;
static int hf_dl_payload_type = -1;
static int hf_dl_ec_payload_type = -1;
static int hf_rrbp = -1;
static int hf_ec_rrbp = -1;
static int hf_s_p = -1;
static int hf_es_p = -1;
static int hf_fbi = -1;
/* common RLC IEs*/
static int hf_prach8_message_type_3 = -1;
static int hf_prach8_message_type_6 = -1;
static int hf_prach11_message_type_6 = -1;
static int hf_prach11_message_type_9 = -1;
static int hf_tlli = -1;
static int hf_global_tfi = -1;
static int hf_uplink_tfi = -1;
static int hf_downlink_tfi = -1;
static int hf_page_mode = -1;
static int hf_dl_persistent_level_exist = -1;
static int hf_dl_persistent_level = -1;
static int hf_bsn = -1;
static int hf_bsn2_offset = -1;
static int hf_e = -1;
static int hf_li= -1;
static int hf_pi= -1;
static int hf_ti= -1;
static int hf_rsb= -1;
static int hf_dl_spb= -1;
static int hf_ul_spb= -1;
static int hf_cps1= -1;
static int hf_cps2= -1;
static int hf_cps3= -1;
static int hf_me = -1;
static int hf_countdown_value = -1;
static int hf_ul_data_si = -1;
static int hf_dl_data_spare = -1;
static int hf_ul_data_spare = -1;
static int hf_pfi = -1;
/* RLC/MAC Downlink control block header */
static int hf_dl_ctrl_rbsn = -1;
static int hf_dl_ctrl_rti = -1;
static int hf_dl_ctrl_fs = -1;
static int hf_dl_ctrl_ac = -1;
static int hf_dl_ctrl_pr = -1;
static int hf_dl_ec_ctrl_pr = -1;
static int hf_dl_ec_ctrl_pre = -1;
static int hf_dl_ctrl_d = -1;
static int hf_dl_ctrl_rbsn_e = -1;
static int hf_dl_ctrl_fs_e = -1;
static int hf_dl_ctrl_spare = -1;
static int hf_startingtime_n32 = -1;
static int hf_startingtime_n51 = -1;
static int hf_startingtime_n26 = -1;
/* common uplink ies */
static int hf_ul_message_type = -1;
static int hf_ul_mac_header_spare = -1;
static int hf_ul_retry = -1;
static int hf_additional_ms_rad_access_cap_id_choice = -1;
/* < Global TFI IE > */
/* < Starting Frame Number Description IE > */
static int hf_starting_frame_number = -1;
static int hf_starting_frame_number_k = -1;
/* < Ack/Nack Description IE > */
static int hf_final_ack_indication = -1;
static int hf_starting_sequence_number = -1;
static int hf_received_block_bitmap = -1;
/* < Packet Timing Advance IE > */
static int hf_timing_advance_value = -1;
static int hf_timing_advance_value_exist = -1;
static int hf_timing_advance_index = -1;
static int hf_timing_advance_index_exist = -1;
static int hf_timing_advance_timeslot_number = -1;
static int hf_ul_timing_advance_index_exist = -1;
static int hf_ul_timing_advance_index = -1;
static int hf_ul_timing_advance_timeslot_number = -1;
static int hf_dl_timing_advance_index_exist = -1;
static int hf_dl_timing_advance_index = -1;
static int hf_dl_timing_advance_timeslot_number = -1;
/* < Power Control Parameters IE > */
static int hf_alpha = -1;
static int hf_gamma = -1;
static int hf_t_avg_w = -1;
static int hf_t_avg_t = -1;
static int hf_pc_meas_chan = -1;
static int hf_n_avg_i = -1;
/* < Global Power Control Parameters IE > */
static int hf_global_power_control_parameters_pb = -1;
static int hf_global_power_control_parameters_int_meas_channel_list_avail = -1;
/* < Global Packet Timing Advance IE > */
/* < Channel Quality Report struct > */
static int hf_channel_quality_report_c_value = -1;
static int hf_channel_quality_report_rxqual = -1;
static int hf_channel_quality_report_sign_var = -1;
static int hf_channel_quality_report_slot0_i_level_tn = -1;
static int hf_channel_quality_report_slot1_i_level_tn = -1;
static int hf_channel_quality_report_slot2_i_level_tn = -1;
static int hf_channel_quality_report_slot3_i_level_tn = -1;
static int hf_channel_quality_report_slot4_i_level_tn = -1;
static int hf_channel_quality_report_slot5_i_level_tn = -1;
static int hf_channel_quality_report_slot6_i_level_tn = -1;
static int hf_channel_quality_report_slot7_i_level_tn = -1;
static int hf_channel_quality_report_slot0_i_level_tn_exist = -1;
static int hf_channel_quality_report_slot1_i_level_tn_exist = -1;
static int hf_channel_quality_report_slot2_i_level_tn_exist = -1;
static int hf_channel_quality_report_slot3_i_level_tn_exist = -1;
static int hf_channel_quality_report_slot4_i_level_tn_exist = -1;
static int hf_channel_quality_report_slot5_i_level_tn_exist = -1;
static int hf_channel_quality_report_slot6_i_level_tn_exist = -1;
static int hf_channel_quality_report_slot7_i_level_tn_exist = -1;
/* < EGPRS Ack/Nack Description > */
static int hf_egprs_acknack_beginning_of_window = -1;
static int hf_egprs_acknack_end_of_window = -1;
static int hf_egprs_acknack_crbb_length = -1;
static int hf_egprs_acknack_crbb_exist = -1;
static int hf_egprs_acknack_crbb_starting_color_code = -1;
static int hf_egprs_acknack_crbb_bitmap = -1;
static int hf_egprs_acknack_urbb_bitmap = -1;
static int hf_egprs_acknack_dissector = -1;
static int hf_egprs_acknack = -1;
/* <P1 Rest Octets> */
/* <P2 Rest Octets> */
/* static int hf_mobileallocationie_length = -1; */
/* static int hf_single_rf_channel_spare = -1; */
static int hf_arfcn = -1;
static int hf_maio = -1;
static int hf_hsn = -1;
#if 0
static int hf_channel_description_channel_type_and_tdma_offset = -1;
static int hf_channel_description_tn = -1;
static int hf_group_call_reference_value = -1;
static int hf_group_call_reference_sf = -1;
static int hf_group_call_reference_af = -1;
static int hf_group_call_reference_call_priority = -1;
static int hf_group_call_reference_ciphering_information = -1;
static int hf_nln_pch = -1;
static int hf_nln_status = -1;
static int hf_priority = -1;
static int hf_p1_rest_octets_packet_page_indication_1 = -1;
static int hf_p1_rest_octets_packet_page_indication_2 = -1;
static int hf_p2_rest_octets_cn3 = -1;
#endif
static int hf_nln = -1;
/* static int hf_p2_rest_octets_packet_page_indication_3 = -1; */
/* <IA Rest Octets> */
static int hf_usf_bitmap = -1;
static int hf_usf_granularity = -1;
static int hf_p0 = -1;
static int hf_pr_mode = -1;
static int hf_nr_of_radio_blocks_allocated = -1;
static int hf_bts_pwr_ctrl_mode = -1;
/* static int hf_polling = -1; */
static int hf_egprs_channel_coding_command = -1;
static int hf_tlli_block_channel_coding = -1;
static int hf_bep_period2 = -1;
static int hf_resegment = -1;
static int hf_egprs_windowsize = -1;
/* static int hf_extendedra = -1; */
/* static int hf_ia_egprs_uniontype = -1; */
/* static int hf_ia_freqparamsbeforetime_length = -1; */
static int hf_gprs_channel_coding_command = -1;
static int hf_link_quality_measurement_mode = -1;
static int hf_rlc_mode = -1;
/* static int hf_ta_valid = -1; */
static int hf_tqi = -1;
static int hf_packet_polling_id_choice = -1;
static int hf_mobile_bitlength = -1;
static int hf_mobile_bitmap = -1;
static int hf_mobile_union = -1;
static int hf_arfcn_index = -1;
static int hf_arfcn_index_exist = -1;
static int hf_gprs_mobile_allocation_rfl_number = -1;
static int hf_gprs_mobile_allocation_rfl_number_exist = -1;
/* <Packet Polling Request> */
static int hf_dl_message_type = -1;
static int hf_dl_message_type_exist = -1;
/* < SI 13 Rest Octets > */
static int hf_si_rest_bitmap = -1;
static int hf_si_length = -1;
static int hf_gprs_cell_options_nmo = -1;
static int hf_gprs_cell_options_t3168 = -1;
static int hf_gprs_cell_options_t3192 = -1;
static int hf_gprs_cell_options_drx_timer_max = -1;
static int hf_gprs_cell_options_access_burst_type = -1;
static int hf_ack_type = -1;
static int hf_padding = -1;
static int hf_gprs_cell_options_bs_cv_max = -1;
static int hf_gprs_cell_options_pan_dec = -1;
static int hf_gprs_cell_options_pan_inc = -1;
static int hf_gprs_cell_options_pan_max = -1;
static int hf_gprs_cell_options_pan_exist = -1;
static int hf_gprs_cell_options_extension_exist = -1;
static int hf_rac = -1;
static int hf_pbcch_not_present_spgc_ccch_sup = -1;
static int hf_pbcch_not_present_priority_access_thr = -1;
static int hf_pbcch_not_present_network_control_order = -1;
static int hf_pbcch_description_pb = -1;
static int hf_pbcch_description_tn = -1;
static int hf_pbcch_description_choice = -1;
static int hf_pbcch_present_psi1_repeat_period = -1;
static int hf_bcch_change_mark = -1;
static int hf_si_change_field = -1;
static int hf_si13_change_mark = -1;
static int hf_sgsnr = -1;
static int hf_si_status_ind = -1;
/* < Packet TBF Release message content > */
static int hf_packetbf_release = -1;
static int hf_packetbf_padding = -1;
static int hf_packetbf_release_uplink_release = -1;
static int hf_packetbf_release_downlink_release = -1;
static int hf_packetbf_release_tbf_release_cause = -1;
/* < Packet Control Acknowledgement message content > */
static int hf_packet_control_acknowledgement_additionsr6_ctrl_ack_extension = -1;
static int hf_packet_control_acknowledgement_additionsr5_tn_rrbp = -1;
static int hf_packet_control_acknowledgement_additionsr5_g_rnti_extension = -1;
static int hf_packet_control_acknowledgement_ctrl_ack = -1;
static int hf_packet_control_acknowledgement_ctrl_ack_exist = -1;
static int hf_packet_control_acknowledgement_additionsr6_ctrl_ack_exist = -1;
static int hf_packet_control_acknowledgement_additionsr5_tn_rrbp_exist = -1;
static int hf_packet_control_acknowledgement_additionsr5_g_rnti_extension_exist = -1;
static int hf_packet_control_acknowledgement_additionsr6_exist = -1;
/* < Packet Downlink Dummy Control Block message content > */
/* < Packet Uplink Dummy Control Block message content > */
#if 0
static int hf_receive_n_pdu_number_nsapi = -1;
static int hf_receive_n_pdu_number_value = -1;
#endif
/* < MS Radio Access capability IE > */
static int hf_dtm_egprs_dtm_egprs_multislot_class = -1;
static int hf_dtm_egprs_highmultislotclass_dtm_egprs_highmultislotclass = -1;
static int hf_multislot_capability_hscsd_multislot_class = -1;
static int hf_multislot_capability_gprs_multislot_class = -1;
static int hf_multislot_capability_gprs_extended_dynamic_allocation_capability = -1;
static int hf_multislot_capability_sms_value = -1;
static int hf_multislot_capability_sm_value = -1;
static int hf_multislot_capability_ecsd_multislot_class = -1;
static int hf_multislot_capability_egprs_multislot_class = -1;
static int hf_multislot_capability_egprs_extended_dynamic_allocation_capability = -1;
static int hf_multislot_capability_dtm_gprs_multislot_class = -1;
static int hf_multislot_capability_single_slot_dtm = -1;
static int hf_dtm_egprs_dtm_egprs_multislot_class_exist = -1;
static int hf_dtm_egprs_highmultislotclass_dtm_egprs_highmultislotclass_exist = -1;
static int hf_multislot_capability_hscsd_multislot_class_exist = -1;
static int hf_multislot_capability_gprs_multislot_class_exist = -1;
static int hf_multislot_capability_sms_exist = -1;
static int hf_multislot_capability_ecsd_multislot_class_exist = -1;
static int hf_multislot_capability_egprs_multislot_class_exist = -1;
static int hf_multislot_capability_dtm_gprs_multislot_class_exist = -1;
static int hf_content_rf_power_capability = -1;
static int hf_content_a5_bits = -1;
static int hf_content_es_ind = -1;
static int hf_content_ps = -1;
static int hf_content_vgcs = -1;
static int hf_content_vbs = -1;
static int hf_content_eight_psk_power_capability = -1;
static int hf_content_compact_interference_measurement_capability = -1;
static int hf_content_revision_level_indicator = -1;
static int hf_content_umts_fdd_radio_access_technology_capability = -1;
static int hf_content_umts_384_tdd_radio_access_technology_capability = -1;
static int hf_content_cdma2000_radio_access_technology_capability = -1;
static int hf_content_umts_128_tdd_radio_access_technology_capability = -1;
static int hf_a5_bits_exist = -1;
static int hf_multislot_capability_exist = -1;
static int hf_content_eight_psk_power_capability_exist = -1;
static int hf_content_extended_dtm_gprs_multislot_class_exist = -1;
static int hf_content_highmultislotcapability_exist = -1;
static int hf_content_geran_lu_modecapability_exist = -1;
static int hf_content_dtm_gprs_highmultislotclass_exist = -1;
static int hf_content_geran_feature_package_1 = -1;
static int hf_content_extended_dtm_gprs_multislot_class = -1;
static int hf_content_extended_dtm_egprs_multislot_class = -1;
static int hf_content_modulation_based_multislot_class_support = -1;
static int hf_content_highmultislotcapability = -1;
static int hf_content_geran_lu_modecapability = -1;
static int hf_content_gmsk_multislotpowerprofile = -1;
static int hf_content_eightpsk_multislotprofile = -1;
static int hf_content_multipletbf_capability = -1;
static int hf_content_downlinkadvancedreceiverperformance = -1;
static int hf_content_extendedrlc_mac_controlmessagesegmentionscapability = -1;
static int hf_content_dtm_enhancementscapability = -1;
static int hf_content_dtm_gprs_highmultislotclass = -1;
static int hf_content_ps_handovercapability = -1;
static int hf_content_dtm_handover_capability = -1;
static int hf_content_multislot_capability_reduction_for_dl_dual_carrier_exist = -1;
static int hf_content_multislot_capability_reduction_for_dl_dual_carrier = -1;
static int hf_content_dual_carrier_for_dtm = -1;
static int hf_content_flexible_timeslot_assignment = -1;
static int hf_content_gan_ps_handover_capability = -1;
static int hf_content_rlc_non_persistent_mode = -1;
static int hf_content_reduced_latency_capability = -1;
static int hf_content_uplink_egprs2 = -1;
static int hf_content_downlink_egprs2 = -1;
static int hf_content_eutra_fdd_support = -1;
static int hf_content_eutra_tdd_support = -1;
static int hf_content_geran_to_eutran_support_in_geran_ptm = -1;
static int hf_content_priority_based_reselection_support = -1;
static int hf_additional_accessechnologies_struct_t_access_technology_type = -1;
static int hf_additional_accessechnologies_struct_t_gmsk_power_class = -1;
static int hf_additional_accessechnologies_struct_t_eight_psk_power_class = -1;
static int hf_additional_access_technology_exist = -1;
/* static int hf_ms_radio_access_capability_iei = -1; */
/* static int hf_ms_radio_access_capability_length = -1; */
static int hf_content_dissector = -1;
static int hf_additional_access_dissector = -1;
static int hf_ms_ra_capability_value_choice = -1;
static int hf_ms_ra_capability_value = -1;
/* < MS Classmark 3 IE > */
#if 0
static int hf_arc_a5_bits = -1;
static int hf_multiband_a5_bits = -1;
static int hf_arc_arc2_spare = -1;
static int hf_arc_arc1 = -1;
static int hf_edge_rf_pwr_edge_rf_pwrcap1 = -1;
static int hf_edge_rf_pwr_edge_rf_pwrcap2 = -1;
static int hf_ms_class3_unpacked_spare1 = -1;
static int hf_ms_class3_unpacked_r_gsm_arc = -1;
static int hf_ms_class3_unpacked_multislotclass = -1;
static int hf_ms_class3_unpacked_ucs2 = -1;
static int hf_ms_class3_unpacked_extendedmeasurementcapability = -1;
static int hf_ms_class3_unpacked_sms_value = -1;
static int hf_ms_class3_unpacked_sm_value = -1;
static int hf_ms_class3_unpacked_ms_positioningmethod = -1;
static int hf_ms_class3_unpacked_edge_multislotclass = -1;
static int hf_ms_class3_unpacked_modulationcapability = -1;
static int hf_ms_class3_unpacked_gsm400_bands = -1;
static int hf_ms_class3_unpacked_gsm400_arc = -1;
static int hf_ms_class3_unpacked_gsm850_arc = -1;
static int hf_ms_class3_unpacked_pcs1900_arc = -1;
static int hf_ms_class3_unpacked_umts_fdd_radio_access_technology_capability = -1;
static int hf_ms_class3_unpacked_umts_384_tdd_radio_access_technology_capability = -1;
static int hf_ms_class3_unpacked_cdma2000_radio_access_technology_capability = -1;
static int hf_ms_class3_unpacked_dtm_gprs_multislot_class = -1;
static int hf_ms_class3_unpacked_single_slot_dtm = -1;
static int hf_ms_class3_unpacked_gsm_band = -1;
static int hf_ms_class3_unpacked_gsm_700_associated_radio_capability = -1;
static int hf_ms_class3_unpacked_umts_128_tdd_radio_access_technology_capability = -1;
static int hf_ms_class3_unpacked_geran_feature_package_1 = -1;
static int hf_ms_class3_unpacked_extended_dtm_gprs_multislot_class = -1;
static int hf_ms_class3_unpacked_extended_dtm_egprs_multislot_class = -1;
static int hf_ms_class3_unpacked_highmultislotcapability = -1;
static int hf_ms_class3_unpacked_geran_lu_modecapability = -1;
static int hf_ms_class3_unpacked_geran_featurepackage_2 = -1;
static int hf_ms_class3_unpacked_gmsk_multislotpowerprofile = -1;
static int hf_ms_class3_unpacked_eightpsk_multislotprofile = -1;
static int hf_ms_class3_unpacked_tgsm_400_bandssupported = -1;
static int hf_ms_class3_unpacked_tgsm_400_associatedradiocapability = -1;
static int hf_ms_class3_unpacked_tgsm_900_associatedradiocapability = -1;
static int hf_ms_class3_unpacked_downlinkadvancedreceiverperformance = -1;
static int hf_ms_class3_unpacked_dtm_enhancementscapability = -1;
static int hf_ms_class3_unpacked_dtm_gprs_highmultislotclass = -1;
static int hf_ms_class3_unpacked_offsetrequired = -1;
static int hf_ms_class3_unpacked_repeatedsacch_capability = -1;
static int hf_ms_class3_unpacked_spare2 = -1;
#endif
static int hf_channel_request_description_peak_throughput_class = -1;
static int hf_channel_request_description_radio_priority = -1;
static int hf_channel_request_description_llc_pdu_type = -1;
static int hf_channel_request_description_rlc_octet_count = -1;
static int hf_packet_resource_request_id_choice = -1;
static int hf_bep_measurementreport_mean_bep_exist = -1;
static int hf_bep_measurementreport_mean_bep_union = -1;
static int hf_interferencemeasurementreport_i_level_exist = -1;
static int hf_bep_measurements_exist = -1;
static int hf_interference_measurements_exist = -1;
static int hf_egprs_bep_linkqualitymeasurements_mean_bep_gmsk_exist = -1;
static int hf_egprs_bep_linkqualitymeasurements_mean_bep_8psk_exist = -1;
static int hf_egprs_bep_measurements_exist = -1;
static int hf_egprs_timeslotlinkquality_measurements_exist = -1;
static int hf_pfi_exist = -1;
/* < Packet Resource Request message content > */
static int hf_bep_measurementreport_mean_bep_gmsk = -1;
static int hf_bep_measurementreport_mean_bep_8psk = -1;
static int hf_interferencemeasurementreport_i_level = -1;
static int hf_egprs_bep_linkqualitymeasurements_mean_bep_gmsk = -1;
static int hf_egprs_bep_linkqualitymeasurements_cv_bep_gmsk = -1;
static int hf_egprs_bep_linkqualitymeasurements_mean_bep_8psk = -1;
static int hf_egprs_bep_linkqualitymeasurements_cv_bep_8psk = -1;
static int hf_prr_additionsr99_ms_rac_additionalinformationavailable = -1;
static int hf_prr_additionsr99_retransmissionofprr = -1;
static int hf_packet_resource_request_access_type = -1;
static int hf_packet_resource_request_change_mark = -1;
static int hf_packet_resource_request_c_value = -1;
static int hf_packet_resource_request_sign_var = -1;
static int hf_packet_resource_request_access_type_exist = -1;
static int hf_ms_radio_access_capability_exist = -1;
static int hf_packet_resource_request_change_mark_exist = -1;
static int hf_packet_resource_request_sign_var_exist = -1;
static int hf_additionsr99_exist = -1;
static int hf_egprs_prr_additionsr5_g_rnti_exist = -1;
static int hf_egprs_prr_additionsr5_g_rnti_extension = -1;
static int hf_egprs_prr_additionsr5_rb_id = -1;
static int hf_egprs_prr_additionsr5_radio_priority = -1;
static int hf_egprs_prr_additionsr5_rlc_block_count_exist = -1;
static int hf_egprs_prr_additionsr5_rlc_block_count = -1;
static int hf_iu_mode_chrequest_exist = -1;
static int hf_egprs_prr_additionsr6_lcc_pdu_exist = -1;
static int hf_egprs_prr_additionsr6_lcc_pdu = -1;
static int hf_Ext_Channel_Request_desc_exist = -1;
static int hf_egprs_prr_additionsr7_gmsk_mean_bep_exist = -1;
static int hf_egprs_prr_additionsr7_gmsk_mean_bep = -1;
static int hf_egprs_prr_additionsr7_gmsk_cv_bep = -1;
static int hf_egprs_prr_additionsr7_8psk_mean_bep_exist = -1;
static int hf_egprs_prr_additionsr7_8psk_mean_bep = -1;
static int hf_egprs_prr_additionsr7_8psk_cv_bep = -1;
static int hf_egprs_prr_additionsr7_qpsk_mean_bep_exist = -1;
static int hf_egprs_prr_additionsr7_qpsk_mean_bep = -1;
static int hf_egprs_prr_additionsr7_qpsk_cv_bep = -1;
static int hf_egprs_prr_additionsr7_16qam_nsr_mean_bep_exist = -1;
static int hf_egprs_prr_additionsr7_16qam_nsr_mean_bep = -1;
static int hf_egprs_prr_additionsr7_16qam_nsr_cv_bep = -1;
static int hf_egprs_prr_additionsr7_32qam_nsr_mean_bep_exist = -1;
static int hf_egprs_prr_additionsr7_32qam_nsr_mean_bep = -1;
static int hf_egprs_prr_additionsr7_32qam_nsr_cv_bep = -1;
static int hf_egprs_prr_additionsr7_16qam_hsr_mean_bep_exist = -1;
static int hf_egprs_prr_additionsr7_16qam_hsr_mean_bep = -1;
static int hf_egprs_prr_additionsr7_16qam_hsr_cv_bep = -1;
static int hf_egprs_prr_additionsr7_32qam_hsr_mean_bep_exist = -1;
static int hf_egprs_prr_additionsr7_32qam_hsr_mean_bep = -1;
static int hf_egprs_prr_additionsr7_32qam_hsr_cv_bep = -1;
static int hf_bep_measurementreport_reported_modulation = -1;
static int hf_bep_measurementreport_mean_bep_tn = -1;
static int hf_prr_additionsr99_additionsr5_exist = -1;
static int hf_egprs_prr_additionsr5_hfn_lsb_exist = -1;
static int hf_egprs_prr_additionsr5_hfn_lsb = -1;
static int hf_prr_additionsr5_additionsr6_exist = -1;
static int hf_prr_additionsr6_additionsr7_exist = -1;
static int hf_prr_additionsr7_early_tbf_establishment = -1;
static int hf_egprs_bep_measurements_type2_exist = -1;
static int hf_egprs_timeslotlinkquality_measurements_type2_exist = -1;
static int hf_prr_additionsr7_additionsr10_exist = -1;
static int hf_prr_additionsr10_low_access_priority_signalling = -1;
static int hf_prr_additionsr10_additionsr12_exist = -1;
static int hf_egprs_downlink_etfi_exist = -1;
static int hf_prr_additionsr12_downlink_etfi = -1;
/* < Packet Mobile TBF Status message content > */
static int hf_packet_mobile_tbf_status_tbf_cause = -1;
/* < Packet PSI Status message content > */
static int hf_psi_message_psix_change_mark = -1;
static int hf_additional_msg_type = -1;
static int hf_packet_psi_status_pbcch_change_mark = -1;
static int hf_psi_message_psix_count_instance_bitmap_exist = -1;
static int hf_psi_message_psix_count = -1;
static int hf_psi_message_instance_bitmap = -1;
static int hf_psi_message_exist = -1;
static int hf_psi_message_list = -1;
/* < Packet SI Status message content > */
static int hf_si_message_type = -1;
static int hf_si_message_mess_rec = -1;
static int hf_si_message_list_exist = -1;
static int hf_si_message_list = -1;
/* < Packet Downlink Ack/Nack message content > */
/* < EGPRS Packet Downlink Ack/Nack message content > */
static int hf_egprs_channelqualityreport_c_value = -1;
static int hf_egprs_pd_acknack_ms_out_of_memory = -1;
static int hf_fddarget_cell_t_fdd_arfcn = -1;
static int hf_fddarget_cell_t_diversity = -1;
static int hf_fddarget_cell_t_bandwith_fdd = -1;
static int hf_fddarget_cell_t_scrambling_code = -1;
static int hf_tddarget_cell_t_tdd_arfcn = -1;
static int hf_tddarget_cell_t_diversity = -1;
static int hf_tddarget_cell_t_bandwith_tdd = -1;
static int hf_tddarget_cell_t_cell_parameter = -1;
static int hf_tddarget_cell_t_sync_case_tstd = -1;
/* < Packet Cell Change Failure message content > */
static int hf_packet_cell_change_failure_bsic = -1;
static int hf_packet_cell_change_failure_cause = -1;
static int hf_utran_csg_target_cell_ci = -1;
static int hf_eutran_csg_target_cell_ci = -1;
static int hf_eutran_csg_target_cell_tac = -1;
/* < Packet Uplink Ack/Nack message content > */
static int hf_pu_acknack_gprs_additionsr99_tbf_est = -1;
static int hf_pu_acknack_gprs_fixedallocationdummy = -1;
static int hf_pu_acknack_egprs_00_pre_emptive_transmission = -1;
static int hf_pu_acknack_egprs_00_prr_retransmission_request = -1;
static int hf_pu_acknack_egprs_00_arac_retransmission_request = -1;
static int hf_pu_acknack_egprs_00_tbf_est = -1;
static int hf_packet_uplink_id_choice = -1;
static int hf_packet_extended_timing_advance = -1;
/* < Packet Uplink Assignment message content > */
static int hf_change_mark_change_mark_1 = -1;
static int hf_change_mark_change_mark_2 = -1;
static int hf_indirect_encoding_ma_number = -1;
static int hf_ma_frequency_list_length = -1;
static int hf_ma_frequency_list = -1;
static int hf_packet_request_reference_random_access_information = -1;
static int hf_packet_request_reference_frame_number = -1;
static int hf_extended_dynamic_allocation = -1;
static int hf_ppc_timing_advance_id_choice = -1;
static int hf_rlc_data_blocks_granted = -1;
static int hf_single_block_allocation_timeslot_number = -1;
/* static int hf_dtm_single_block_allocation_timeslot_number = -1; */
static int hf_compact_reducedma_bitmaplength = -1;
static int hf_compact_reducedma_bitmap = -1;
static int hf_multiblock_allocation_timeslot_number = -1;
static int hf_pua_egprs_00_arac_retransmission_request = -1;
static int hf_pua_egprs_00_access_tech_type = -1;
static int hf_pua_egprs_00_access_tech_type_exist = -1;
/* < Packet Downlink Assignment message content > */
static int hf_measurement_mapping_struct_measurement_interval = -1;
static int hf_measurement_mapping_struct_measurement_bitmap = -1;
static int hf_packet_downlink_id_choice = -1;
static int hf_mac_mode = -1;
static int hf_control_ack = -1;
static int hf_dl_timeslot_allocation = -1;
/* static int hf_dtm_channel_request_description_dtm_pkt_est_cause = -1; */
/* < Packet Paging Request message content > */
static int hf_mobile_identity_length_of_mobile_identity_contents = -1;
static int hf_page_request_for_rr_conn_channel_needed = -1;
static int hf_page_request_for_rr_conn_emlpp_priority = -1;
static int hf_page_request_ptmsi = -1;
static int hf_page_request_for_rr_conn_tmsi = -1;
static int hf_packet_pdch_release_timeslots_available = -1;
/* < Packet Power Control/Timing Advance message content > */
/* < Packet Queueing Notification message content > */
/* < Packet Timeslot Reconfigure message content > */
/* < Packet PRACH Parameters message content > */
static int hf_prach_acc_contr_class = -1;
static int hf_prach_max_retrans = -1;
static int hf_prach_control_s = -1;
static int hf_prach_control_tx_int = -1;
static int hf_cell_allocation_rfl_number = -1;
static int hf_cell_allocation_rfl_number_exist = -1;
static int hf_hcs_priority_class = -1;
static int hf_hcs_hcs_thr = -1;
static int hf_location_repeat_pbcch_location = -1;
static int hf_location_repeat_psi1_repeat_period = -1;
static int hf_si13_pbcch_location_si13_location = -1;
static int hf_cell_selection_bsic = -1;
static int hf_cell_bar_access_2 = -1;
static int hf_cell_selection_same_ra_as_serving_cell = -1;
static int hf_cell_selection_gprs_rxlev_access_min = -1;
static int hf_cell_selection_gprs_ms_txpwr_max_cch = -1;
static int hf_cell_selection_gprs_temporary_offset = -1;
static int hf_cell_selection_gprs_penalty_time = -1;
static int hf_cell_selection_gprs_reselect_offset = -1;
static int hf_cell_selection_param_with_freqdiff = -1;
static int hf_neighbourcellparameters_start_frequency = -1;
static int hf_neighbourcellparameters_nr_of_remaining_cells = -1;
static int hf_neighbourcellparameters_freq_diff_length = -1;
static int hf_cell_selection_2_same_ra_as_serving_cell = -1;
static int hf_cell_selection_2_gprs_rxlev_access_min = -1;
static int hf_cell_selection_2_gprs_ms_txpwr_max_cch = -1;
static int hf_cell_selection_2_gprs_temporary_offset = -1;
static int hf_cell_selection_2_gprs_penalty_time = -1;
static int hf_cell_selection_2_gprs_reselect_offset = -1;
/* < Packet Access Reject message content > */
static int hf_reject_id_choice = -1;
static int hf_reject_wait_indication = -1;
static int hf_reject_wait_indication_size = -1;
static int hf_packet_cell_change_order_id_choice = -1;
/* < Packet Cell Change Order message content > */
/* static int hf_h_freqbsiccell_bsic = -1; */
static int hf_cellselectionparamswithfreqdiff_bsic = -1;
static int hf_add_frequency_list_start_frequency = -1;
static int hf_add_frequency_list_bsic = -1;
static int hf_add_frequency_list_nr_of_frequencies = -1;
static int hf_add_frequency_list_freq_diff_length = -1;
static int hf_nc_frequency_list_nr_of_removed_freq = -1;
static int hf_removed_freq_index_removed_freq_index = -1;
static int hf_nc_measurement_parameters_network_control_order = -1;
static int hf_nc_measurement_parameters_nc_non_drx_period = -1;
static int hf_nc_measurement_parameters_nc_reporting_period_i = -1;
static int hf_nc_measurement_parameters_nc_reporting_period_t = -1;
static int hf_nc_measurement_parameters_with_frequency_list_network_control_order = -1;
static int hf_nc_measurement_parameters_with_frequency_list_nc_non_drx_period = -1;
static int hf_nc_measurement_parameters_with_frequency_list_nc_reporting_period_i = -1;
static int hf_nc_measurement_parameters_with_frequency_list_nc_reporting_period_t = -1;
/* < Packet Cell Change Order message contents > */
static int hf_ba_ind_ba_ind = -1;
static int hf_ba_ind_ba_ind_3g = -1;
static int hf_gprsreportpriority_number_cells = -1;
static int hf_gprsreportpriority_report_priority = -1;
static int hf_offsetthreshold_reporting_offset = -1;
static int hf_offsetthreshold_reporting_threshold = -1;
static int hf_gprsmeasurementparams_pmo_pcco_multi_band_reporting = -1;
static int hf_gprsmeasurementparams_pmo_pcco_serving_band_reporting = -1;
static int hf_gprsmeasurementparams_pmo_pcco_scale_ord = -1;
#if 0
static int hf_gprsmeasurementparams3g_qsearch_p = -1;
static int hf_gprsmeasurementparams3g_searchprio3g = -1;
static int hf_gprsmeasurementparams3g_repquantfdd = -1;
static int hf_gprsmeasurementparams3g_multiratreportingfdd = -1;
static int hf_gprsmeasurementparams3g_reportingoffsetfdd = -1;
static int hf_gprsmeasurementparams3g_reportingthresholdfdd = -1;
static int hf_gprsmeasurementparams3g_multiratreportingtdd = -1;
static int hf_gprsmeasurementparams3g_reportingoffsettdd = -1;
static int hf_gprsmeasurementparams3g_reportingthresholdtdd = -1;
#endif
static int hf_multiratparams3g_multiratreporting = -1;
static int hf_enh_gprsmeasurementparams3g_pmo_qsearch_p = -1;
static int hf_enh_gprsmeasurementparams3g_pmo_searchprio3g = -1;
static int hf_enh_gprsmeasurementparams3g_pmo_repquantfdd = -1;
static int hf_enh_gprsmeasurementparams3g_pmo_multiratreportingfdd = -1;
static int hf_enh_gprsmeasurementparams3g_pcco_qsearch_p = -1;
static int hf_enh_gprsmeasurementparams3g_pcco_searchprio3g = -1;
static int hf_enh_gprsmeasurementparams3g_pcco_repquantfdd = -1;
static int hf_enh_gprsmeasurementparams3g_pcco_multiratreportingfdd = -1;
static int hf_n2_removed_3gcell_index = -1;
static int hf_n2_cell_diff_length_3g = -1;
static int hf_n2_cell_diff = -1;
static int hf_n2_count = -1;
static int hf_n1_count = -1;
static int hf_cdma2000_description_complete_this = -1;
static int hf_utran_fdd_neighbourcells_zero = -1;
static int hf_utran_fdd_neighbourcells_uarfcn = -1;
static int hf_utran_fdd_neighbourcells_indic0 = -1;
static int hf_utran_fdd_neighbourcells_nrofcells = -1;
static int hf_utran_fdd_neighbourcells_cellinfo = -1;
static int hf_utran_fdd_description_bandwidth = -1;
static int hf_utran_tdd_neighbourcells_zero = -1;
static int hf_utran_tdd_neighbourcells_uarfcn = -1;
static int hf_utran_tdd_neighbourcells_indic0 = -1;
static int hf_utran_tdd_neighbourcells_nrofcells = -1;
static int hf_utran_tdd_description_bandwidth = -1;
static int hf_index_start_3g = -1;
static int hf_absolute_index_start_emr = -1;
static int hf_psi3_change_mark = -1;
static int hf_enh_measurement_parameters_pmo_pmo_ind = -1;
static int hf_enh_measurement_parameters_pmo_report_type = -1;
static int hf_enh_measurement_parameters_pmo_reporting_rate = -1;
static int hf_enh_measurement_parameters_pmo_invalid_bsic_reporting = -1;
static int hf_enh_measurement_parameters_pcco_pmo_ind = -1;
static int hf_enh_measurement_parameters_pcco_report_type = -1;
static int hf_enh_measurement_parameters_pcco_reporting_rate = -1;
static int hf_enh_measurement_parameters_pcco_invalid_bsic_reporting = -1;
static int hf_ccn_support_description_number_cells = -1;
static int hf_ccn_supported = -1;
static int hf_lu_modecellselectionparameters_cell_bar_qualify_3 = -1;
static int hf_lu_modeneighbourcellparams_nr_of_frequencies = -1;
static int hf_lu_modeonlycellselection_cell_bar_qualify_3 = -1;
static int hf_lu_modeonlycellselection_same_ra_as_serving_cell = -1;
static int hf_lu_modeonlycellselection_gprs_rxlev_access_min = -1;
static int hf_lu_modeonlycellselection_gprs_ms_txpwr_max_cch = -1;
static int hf_lu_modeonlycellselection_gprs_temporary_offset = -1;
static int hf_lu_modeonlycellselection_gprs_penalty_time = -1;
static int hf_lu_modeonlycellselection_gprs_reselect_offset = -1;
static int hf_lu_modeonlycellselectionparamswithfreqdiff = -1;
static int hf_lu_modeonlycellselectionparamswithfreqdiff_bsic = -1;
static int hf_add_lu_modeonlyfrequencylist_start_frequency = -1;
static int hf_add_lu_modeonlyfrequencylist_bsic = -1;
static int hf_add_lu_modeonlyfrequencylist_nr_of_frequencies = -1;
static int hf_add_lu_modeonlyfrequencylist_freq_diff_length = -1;
static int hf_gprs_additionalmeasurementparams3g_fdd_reporting_threshold_2 = -1;
static int hf_servingcellpriorityparametersdescription_geran_priority = -1;
static int hf_servingcellpriorityparametersdescription_thresh_priority_search = -1;
static int hf_servingcellpriorityparametersdescription_thresh_gsm_low = -1;
static int hf_servingcellpriorityparametersdescription_h_prio = -1;
static int hf_servingcellpriorityparametersdescription_t_reselection = -1;
static int hf_repeatedutran_priorityparameters_utran_freq_index = -1;
static int hf_repeatedutran_priorityparameters_utran_freq_index_exist = -1;
static int hf_repeatedutran_priorityparameters_utran_priority = -1;
static int hf_repeatedutran_priorityparameters_thresh_utran_high = -1;
static int hf_repeatedutran_priorityparameters_thresh_utran_low = -1;
static int hf_repeatedutran_priorityparameters_utran_qrxlevmin = -1;
static int hf_priorityparametersdescription3g_pmo_default_utran_priority = -1;
static int hf_priorityparametersdescription3g_pmo_default_thresh_utran = -1;
static int hf_priorityparametersdescription3g_pmo_default_utran_qrxlevmin = -1;
static int hf_eutran_reportinghreshold_offset_t_eutran_fdd_reporting_threshold = -1;
static int hf_eutran_reportinghreshold_offset_t_eutran_fdd_reporting_threshold_2 = -1;
static int hf_eutran_reportinghreshold_offset_t_eutran_fdd_reporting_offset = -1;
static int hf_eutran_reportinghreshold_offset_t_eutran_tdd_reporting_threshold = -1;
static int hf_eutran_reportinghreshold_offset_t_eutran_tdd_reporting_threshold_2 = -1;
static int hf_eutran_reportinghreshold_offset_t_eutran_tdd_reporting_offset = -1;
static int hf_gprs_eutran_measurementparametersdescription_qsearch_p_eutran = -1;
static int hf_gprs_eutran_measurementparametersdescription_eutran_rep_quant = -1;
static int hf_gprs_eutran_measurementparametersdescription_eutran_multirat_reporting = -1;
static int hf_repeatedeutran_cells_earfcn = -1;
static int hf_repeatedeutran_cells_measurementbandwidth = -1;
static int hf_repeatedeutran_neighbourcells_eutran_priority = -1;
static int hf_repeatedeutran_neighbourcells_thresh_eutran_high = -1;
static int hf_repeatedeutran_neighbourcells_thresh_eutran_low = -1;
static int hf_repeatedeutran_neighbourcells_eutran_qrxlevmin = -1;
static int hf_pcid_pattern_pcid_pattern_length = -1;
static int hf_pcid_pattern_pcid_pattern = -1;
static int hf_pcid_pattern_pcid_pattern_sense = -1;
static int hf_pcid_group_ie_pcid_bitmap_group = -1;
static int hf_pcid_group_ie_pcid = -1;
static int hf_pcid_group_ie_pcid_exist = -1;
static int hf_eutran_frequency_index_eutran_frequency_index = -1;
static int hf_eutran_parametersdescription_pmo_eutran_ccn_active = -1;
static int hf_psc_pattern_sense = -1;
static int hf_psc_pattern_length = -1;
static int hf_psc_pattern = -1;
static int hf_psc_group_psc = -1;
static int hf_psc_group_psc_exist = -1;
static int hf_three3_csg_description_body_utran_freq_index = -1;
static int hf_three3_csg_description_body_utran_freq_index_exist = -1;
static int hf_eutran_csg_description_body_eutran_freq_index = -1;
static int hf_eutran_csg_description_body_eutran_freq_index_exist = -1;
static int hf_meas_ctrl_param_meas_ctrl_eutran = -1;
static int hf_meas_ctrl_param_eutran_freq_idx = -1;
static int hf_meas_ctrl_param_eutran_freq_idx_exist = -1;
static int hf_meas_ctrl_param_meas_ctrl_utran = -1;
static int hf_meas_ctrl_param_utran_freq_idx = -1;
static int hf_meas_ctrl_param_utran_freq_idx_exist = -1;
static int hf_rept_eutran_enh_cell_resel_param_eutran_qmin = -1;
static int hf_rept_eutran_enh_cell_resel_param_eutran_freq_index = -1;
static int hf_rept_eutran_enh_cell_resel_param_eutran_freq_index_exist = -1;
static int hf_rept_eutran_enh_cell_resel_param_thresh_eutran_high_q = -1;
static int hf_rept_eutran_enh_cell_resel_param_thresh_eutran_low_q = -1;
static int hf_rept_eutran_enh_cell_resel_param_thresh_eutran_qqualmin = -1;
static int hf_rept_eutran_enh_cell_resel_param_thresh_eutran_rsrpmin = -1;
static int hf_utran_csg_fdd_reporting_threshold = -1;
static int hf_utran_csg_fdd_reporting_threshold2 = -1;
static int hf_utran_csg_tdd_reporting_threshold = -1;
static int hf_eutran_csg_fdd_reporting_threshold = -1;
static int hf_eutran_csg_fdd_reporting_threshold2 = -1;
static int hf_eutran_csg_tdd_reporting_threshold = -1;
static int hf_eutran_csg_tdd_reporting_threshold2 = -1;
static int hf_pmo_additionsr8_ba_ind_3g = -1;
static int hf_pmo_additionsr8_pmo_ind = -1;
static int hf_pmo_additionsr7_reporting_offset_700 = -1;
static int hf_pmo_additionsr7_reporting_threshold_700 = -1;
static int hf_pmo_additionsr7_reporting_offset_810 = -1;
static int hf_pmo_additionsr7_reporting_threshold_810 = -1;
static int hf_pmo_additionsr6_ccn_active_3g = -1;
static int hf_pcco_additionsr6_ccn_active_3g = -1;
static int hf_pmo_additionsr5_grnti = -1;
static int hf_pcco_additionsr5_grnti = -1;
static int hf_pmo_additionsr4_ccn_active = -1;
static int hf_pcco_additionsr4_ccn_active = -1;
static int hf_pcco_additionsr4_container_id = -1;
static int hf_lsa_id_info_element_lsa_id = -1;
static int hf_lsa_id_info_element_shortlsa_id = -1;
static int hf_lsa_parameters_nr_of_freq_or_cells = -1;
static int hf_target_cell_gsm_immediate_rel = -1;
static int hf_target_cell_gsm_bsic = -1;
static int hf_target_cell_3g_immediate_rel = -1;
static int hf_target_cell_eutran_earfcn = -1;
static int hf_target_cell_eutran_measurement_bandwidth = -1;
static int hf_target_cell_eutran_pl_cell_id = -1;
static int hf_idvd_utran_priority_fdd_arfcn = -1;
static int hf_idvd_utran_priority_fdd_arfcn_exist = -1;
static int hf_idvd_utran_priority_tdd_arfcn = -1;
static int hf_idvd_utran_priority_tdd_arfcn_exist = -1;
static int hf_idvd_default_utran_priority = -1;
static int hf_idvd_utran_priority = -1;
static int hf_idvd_default_eutran_priority = -1;
static int hf_idvd_eutran_priority = -1;
static int hf_idvd_eutran_priority_earfcn = -1;
static int hf_idvd_eutran_priority_earfcn_exist = -1;
static int hf_idvd_prio_geran_priority = -1;
static int hf_idvd_prio_t3230_timeout_value = -1;
static int hf_target_cell_g_rnti_ext = -1;
/* < Packet (Enhanced) Measurement Report message contents > */
static int hf_ba_used_ba_used = -1;
static int hf_ba_used_ba_used_3g = -1;
static int hf_serving_cell_data_rxlev_serving_cell = -1;
static int hf_nc_measurements_frequency_n = -1;
static int hf_nc_measurements_bsic_n = -1;
static int hf_nc_measurements_rxlev_n = -1;
static int hf_repeatedinvalid_bsic_info_bcch_freq_n = -1;
static int hf_repeatedinvalid_bsic_info_bsic_n = -1;
static int hf_repeatedinvalid_bsic_info_rxlev_n = -1;
static int hf_reporting_quantity_instance_reporting_quantity = -1;
static int hf_pemr_additionsr8_bitmap_length = -1;
static int hf_nc_measurement_report_nc_mode = -1;
static int hf_nc_measurement_report_number_of_nc_measurements = -1;
static int hf_enh_nc_measurement_report_nc_mode = -1;
static int hf_enh_nc_measurement_report_pmo_used = -1;
static int hf_enh_nc_measurement_report_bsic_seen = -1;
static int hf_enh_nc_measurement_report_scale = -1;
static int hf_ext_measurement_report_ext_reporting_type = -1;
static int hf_ext_measurement_report_slot0_i_level = -1;
static int hf_ext_measurement_report_slot1_i_level = -1;
static int hf_ext_measurement_report_slot2_i_level = -1;
static int hf_ext_measurement_report_slot3_i_level = -1;
static int hf_ext_measurement_report_slot4_i_level = -1;
static int hf_ext_measurement_report_slot5_i_level = -1;
static int hf_ext_measurement_report_slot6_i_level = -1;
static int hf_ext_measurement_report_slot7_i_level = -1;
static int hf_ext_measurement_report_number_of_ext_measurements = -1;
static int hf_measurements_3g_cell_list_index_3g = -1;
static int hf_measurements_3g_reporting_quantity = -1;
static int hf_pmr_additionsr99_pmo_used = -1;
static int hf_pmr_additionsr99_n_3g = -1;
static int hf_pmr_eutran_meas_rpt_freq_idx = -1;
static int hf_pmr_eutran_meas_rpt_cell_id = -1;
static int hf_pmr_eutran_meas_rpt_quantity = -1;
static int hf_eutran_measurement_report_num_eutran = -1;
#if 0
static int hf_emr_servingcell_dtx_used = -1;
static int hf_emr_servingcell_rxlev_val = -1;
static int hf_emr_servingcell_rx_qual_full = -1;
static int hf_emr_servingcell_mean_bep = -1;
static int hf_emr_servingcell_cv_bep = -1;
static int hf_emr_servingcell_nbr_rcvd_blocks = -1;
#endif
#if 0
static int hf_enhancedmeasurementreport_rr_short_pd = -1;
static int hf_enhancedmeasurementreport_message_type = -1;
static int hf_enhancedmeasurementreport_shortlayer2_header = -1;
static int hf_enhancedmeasurementreport_bsic_seen = -1;
static int hf_enhancedmeasurementreport_scale = -1;
#endif
static int hf_packet_measurement_report_psi5_change_mark = -1;
/* < Packet Measurement Order message contents > */
#if 0
static int hf_ext_frequency_list_start_frequency = -1;
static int hf_ext_frequency_list_nr_of_frequencies = -1;
static int hf_ext_frequency_list_freq_diff_length = -1;
#endif
static int hf_packet_measurement_order_pmo_index = -1;
static int hf_packet_measurement_order_pmo_count = -1;
static int hf_ccn_measurement_report_rxlev_serving_cell = -1;
static int hf_ccn_measurement_report_number_of_nc_measurements = -1;
static int hf_target_cell_gsm_notif_bsic = -1;
static int hf_fdd_target_cell_notif_fdd_arfcn = -1;
static int hf_fdd_target_cell_notif_bandwith_fdd = -1;
static int hf_fdd_target_cell_notif_scrambling_code = -1;
static int hf_target_cell_3g_notif_reporting_quantity = -1;
static int hf_pccn_additionsr6_ba_used_3g = -1;
static int hf_pccn_additionsr6_n_3g = -1;
/* < Packet Cell Change Notification message contents > */
static int hf_packet_cell_change_notification_ba_ind = -1;
static int hf_packet_cell_change_notification_pmo_used = -1;
static int hf_packet_cell_change_notification_pccn_sending = -1;
static int hf_packet_cell_change_notification_lte_reporting_quantity = -1;
static int hf_eutran_ccn_meas_rpt_3g_ba_used = -1;
static int hf_eutran_ccn_meas_rpt_num_eutran = -1;
static int hf_eutran_ccn_meas_rpt_freq_idx = -1;
static int hf_eutran_ccn_meas_cell_id = -1;
static int hf_eutran_ccn_meas_rpt_quantity = -1;
static int hf_utran_csg_meas_rpt_cgi = -1;
static int hf_utran_csg_meas_rpt_csg_id = -1;
static int hf_utran_csg_meas_rpt_access_mode = -1;
static int hf_utran_csg_meas_rpt_quantity = -1;
static int hf_eutran_csg_meas_rpt_cgi = -1;
static int hf_eutran_csg_meas_rpt_ta = -1;
static int hf_eutran_csg_meas_rpt_csg_id = -1;
static int hf_eutran_csg_meas_rpt_access_mode = -1;
static int hf_eutran_csg_meas_rpt_quantity = -1;
/* < Packet Cell Change Continue message contents > */
static int hf_packet_cell_change_continue_arfcn = -1;
static int hf_packet_cell_change_continue_bsic = -1;
static int hf_packet_cell_change_continue_container_id = -1;
/* < Packet Neighbour Cell Data message contents > */
static int hf_pncd_container_with_id_bsic = -1;
static int hf_pncd_container_choice = -1;
static int hf_pncd_container_with_id_container = -1;
static int hf_pncd_container_without_id_container = -1;
static int hf_packet_neighbour_cell_data_container_id = -1;
static int hf_packet_neighbour_cell_data_spare = -1;
static int hf_packet_neighbour_cell_data_container_index = -1;
/* < Packet Serving Cell Data message contents > */
static int hf_packet_serving_cell_data_spare = -1;
static int hf_packet_serving_cell_data_container_index = -1;
static int hf_packet_serving_cell_data_container = -1;
#if 0
static int hf_servingcelldata_rxlev_serving_cell = -1;
static int hf_repeated_invalid_bsic_info_bcch_freq_ncell = -1;
static int hf_repeated_invalid_bsic_info_bsic = -1;
static int hf_repeated_invalid_bsic_info_rxlev_ncell = -1;
static int hf_reporting_quantity_reporting_quantity = -1;
static int hf_nc_measurementreport_nc_mode = -1;
static int hf_nc_measurementreport_pmo_used = -1;
static int hf_nc_measurementreport_scale = -1;
#endif
/* < Packet Handover Command message content > */
static int hf_globaltimeslotdescription_ms_timeslotallocation = -1;
static int hf_pho_usf_1_7_usf = -1;
static int hf_usf_allocationarray_usf_0 = -1;
static int hf_egprs_description_linkqualitymeasurementmode = -1;
static int hf_nas_container_for_ps_ho_containerlength = -1;
static int hf_nas_container_for_ps_ho_spare = -1;
static int hf_nas_container_for_ps_ho_old_xid = -1;
static int hf_nas_container_for_ps_ho_type_of_ciphering = -1;
static int hf_nas_container_for_ps_ho_iov_ui_value = -1;
static int hf_ps_handoverto_utran_payload_rrc_containerlength = -1;
static int hf_ps_handoverto_utran_payload_rrc_container = -1;
static int hf_ps_handoverto_eutran_payload_rrc_containerlength = -1;
static int hf_ps_handoverto_eutran_payload_rrc_container = -1;
static int hf_pho_radioresources_handoverreference = -1;
static int hf_pho_radioresources_si = -1;
static int hf_pho_radioresources_nci = -1;
static int hf_pho_radioresources_bsic = -1;
static int hf_pho_radioresources_ccn_active = -1;
static int hf_pho_radioresources_ccn_active_3g = -1;
static int hf_pho_radioresources_networkcontrolorder = -1;
static int hf_pho_radioresources_rlc_reset = -1;
static int hf_pho_radioresources_uplinkcontroltimeslot = -1;
static int hf_packet_handover_command_containerid = -1;
/* < End Packet Handover Command > */
/* < Packet Physical Information message content > */
/* < End Packet Physical Information > */
/* < Additinal MS Radio Access Capability */
/* < End Additinal MS Radio Access Capability */
/* < Packet Pause > */
/* < End Packet Pause > */
/* < Packet System Information Type 1 > */
static int hf_packet_system_info_type1_pbcch_change_mark = -1;
static int hf_packet_system_info_type1_psi_change_field = -1;
static int hf_packet_system_info_type1_psi1_repeat_period = -1;
static int hf_packet_system_info_type1_psi_count_lr = -1;
static int hf_packet_system_info_type1_psi_count_hr = -1;
static int hf_packet_system_info_type1_measurement_order = -1;
static int hf_packet_system_info_type1_psi_status_ind = -1;
static int hf_packet_system_info_type1_mscr = -1;
static int hf_packet_system_info_type1_band_indicator = -1;
static int hf_packet_system_info_type1_lb_ms_txpwr_max_ccch = -1;
static int hf_rai = -1;
static int hf_pccch_org_bs_pcc_rel = -1;
static int hf_pccch_org_pbcch_blks = -1;
static int hf_pccch_org_pag_blks_res = -1;
static int hf_pccch_org_prach_blks = -1;
/* <End Packet System Information Type 1> */
/* <Packet System Information Type 2> */
static int hf_packet_system_info_type2_change_mark = -1;
static int hf_packet_system_info_type2_index = -1;
static int hf_packet_system_info_type2_count = -1;
static int hf_packet_system_info_type2_ref_freq_num = -1;
static int hf_packet_system_info_type2_ref_freq_length = -1;
static int hf_packet_system_info_type2_ref_freq = -1;
static int hf_packet_system_info_type2_ma_number = -1;
static int hf_tsc = -1;
static int hf_packet_system_info_type2_non_hopping_timeslot = -1;
static int hf_packet_system_info_type2_hopping_ma_num = -1;
static int hf_packet_system_info_type2_hopping_timeslot = -1;
static int hf_packet_cell_id_cell_identity = -1;
static int hf_packet_lai_lac = -1;
static int hf_packet_plmn_mcc1 = -1;
static int hf_packet_plmn_mcc2 = -1;
static int hf_packet_plmn_mcc3 = -1;
static int hf_packet_plmn_mnc1 = -1;
static int hf_packet_plmn_mnc2 = -1;
static int hf_packet_plmn_mnc3 = -1;
static int hf_packet_non_gprs_cell_opt_att = -1;
static int hf_packet_non_gprs_cell_opt_t3212 = -1;
static int hf_packet_non_gprs_cell_opt_neci = -1;
static int hf_packet_non_gprs_cell_opt_pwrc = -1;
static int hf_packet_non_gprs_cell_opt_dtx = -1;
static int hf_packet_non_gprs_cell_opt_radio_link_timeout = -1;
static int hf_packet_non_gprs_cell_opt_bs_ag_blks_res = -1;
static int hf_packet_non_gprs_cell_opt_ccch_conf = -1;
static int hf_packet_non_gprs_cell_opt_bs_pa_mfrms = -1;
static int hf_packet_non_gprs_cell_opt_max_retrans = -1;
static int hf_packet_non_gprs_cell_opt_tx_int = -1;
static int hf_packet_non_gprs_cell_opt_ec = -1;
static int hf_packet_non_gprs_cell_opt_ms_txpwr_max_ccch = -1;
/* static int hf_packet_non_gprs_cell_opt_ext_len = -1; */
/* <End Packet System Information Type 2> */
/* <Packet System Information Type 3> */
static int hf_packet_system_info_type3_change_mark = -1;
static int hf_packet_system_info_type3_bis_count = -1;
static int hf_exc_acc = -1;
static int hf_packet_scell_param_gprs_rxlev_access_min = -1;
static int hf_packet_scell_param_gprs_ms_txpwr_max_cch = -1;
static int hf_packet_scell_param_multiband_reporting = -1;
static int hf_packet_gen_cell_sel_gprs_cell_resl_hyst = -1;
static int hf_packet_gen_cell_sel_c31_hyst = -1;
static int hf_packet_gen_cell_sel_c32_qual = -1;
static int hf_packet_gen_cell_sel_t_resel = -1;
static int hf_packet_gen_cell_sel_ra_resel_hyst = -1;
static int hf_packet_compact_cell_sel_bsic = -1;
static int hf_packet_compact_cell_sel_same_as_scell = -1;
static int hf_packet_compact_cell_sel_gprs_rxlev_access_min = -1;
static int hf_packet_compact_cell_sel_gprs_ms_txpwr_max_cch = -1;
static int hf_packet_compact_cell_sel_gprs_temp_offset = -1;
static int hf_packet_compact_cell_sel_gprs_penalty_time = -1;
static int hf_packet_compact_cell_sel_gprs_resel_offset = -1;
static int hf_packet_compact_cell_sel_time_group = -1;
static int hf_packet_compact_cell_sel_guar_const_pwr_blks = -1;
static int hf_packet_compact_neighbour_cell_param_freq_diff = -1;
static int hf_packet_compact_ncell_param_start_freq = -1;
static int hf_packet_compact_ncell_param_nr_of_remaining_cells = -1;
static int hf_packet_compact_ncell_param_freq_diff_length = -1;
/* <End Packet System Information Type 3> */
/* <Packet System Information Type 5> */
static int hf_gprsmeasurementparams3g_psi5_repquantfdd = -1;
static int hf_gprsmeasurementparams3g_psi5_multiratreportingfdd = -1;
static int hf_gprsmeasurementparams3g_psi5_reportingoffsetfdd = -1;
static int hf_gprsmeasurementparams3g_psi5_reportingthresholdfdd = -1;
static int hf_gprsmeasurementparams3g_psi5_multiratreportingtdd = -1;
static int hf_gprsmeasurementparams3g_psi5_reportingoffsettdd = -1;
static int hf_gprsmeasurementparams3g_psi5_reportingthresholdtdd = -1;
static int hf_enh_reporting_parameters_report_type = -1;
static int hf_enh_reporting_parameters_reporting_rate = -1;
static int hf_enh_reporting_parameters_invalid_bsic_reporting = -1;
static int hf_enh_reporting_parameters_ncc_permitted = -1;
static int hf_packet_system_info_type5_change_mark = -1;
static int hf_packet_system_info_type5_index = -1;
static int hf_packet_system_info_type5_count = -1;
/* <End Packet System Information Type 5> */
/* <Packet System Information Type 13> */
static int hf_packet_system_info_type13_lb_ms_mxpwr_max_cch = -1;
static int hf_packet_system_info_type13_si2n_support = -1;
/* <End Packet System Information Type 13> */
#if 0
static int hf_si1_restoctet_nch_position = -1;
static int hf_si1_restoctet_bandindicator = -1;
static int hf_selection_parameters_cbq = -1;
static int hf_selection_parameters_cell_reselect_offset = -1;
static int hf_selection_parameters_temporary_offset = -1;
static int hf_selection_parameters_penalty_time = -1;
static int hf_si3_rest_octet_power_offset = -1;
static int hf_si3_rest_octet_system_information_2ter_indicator = -1;
static int hf_si3_rest_octet_early_classmark_sending_control = -1;
static int hf_si3_rest_octet_where = -1;
static int hf_si3_rest_octet_ra_colour = -1;
static int hf_si13_position = -1;
static int hf_si3_rest_octet_ecs_restriction3g = -1;
static int hf_si3_rest_octet_si2quaterindicator = -1;
static int hf_si4_rest_octet_power_offset = -1;
static int hf_si4_rest_octet_ra_colour = -1;
static int hf_pch_and_nch_info_pagingchannelrestructuring = -1;
static int hf_pch_and_nch_info_nln_sacch = -1;
static int hf_pch_and_nch_info_callpriority = -1;
static int hf_si6_restoctet_vbs_vgcs_options = -1;
static int hf_si6_restoctet_max_lapdm = -1;
static int hf_si6_restoctet_bandindicator = -1;
#endif
/* Generated from convert_proto_tree_add_text.pl */
static int hf_gsm_rlcmac_sync_case_tstd = -1;
#if 0
static int hf_gsm_rlcmac_diversity = -1;
static int hf_gsm_rlcmac_scrambling_code = -1;
#endif
static int hf_gsm_rlcmac_cell_parameter = -1;
static int hf_gsm_rlcmac_diversity_tdd = -1;
/* Unsorted FIXED and UNION fields */
static int hf_pu_acknack_egrps = -1;
static int hf_pu_acknack = -1;
static int hf_frequency_parameters = -1;
static int hf_dynamic_allocation = -1;
static int hf_pua_grps = -1;
static int hf_pua_egprs = -1;
static int hf_pua_assignment = -1;
static int hf_packet_downlink_assignment = -1;
static int hf_page_request_tfb_establishment = -1;
static int hf_page_request_rr_conn = -1;
static int hf_repeated_page_info = -1;
static int hf_packet_pdch_release = -1;
static int hf_global_timing_or_power = -1;
static int hf_ppc_timing_advance = -1;
static int hf_packet_queueing_notif = -1;
static int hf_ptr_egprs = -1;
static int hf_packet_timeslot_reconfigure = -1;
static int hf_si_pbcch_location = -1;
static int hf_enh_measurement_parameters_pmo = -1;
static int hf_enh_measurement_parameters_pcco = -1;
static int hf_rept_eutran_enh_cell_resel_param = -1;
static int hf_idvd_utran_priority_param = -1;
static int hf_idvd_priorities = -1;
static int hf_lsa_id_info_element = -1;
static int hf_target_cell_3g = -1;
static int hf_packet_cell_change_order = -1;
static int hf_serving_cell_data = -1;
static int hf_enh_nc_measurement_report = -1;
static int hf_pmr_additionsr99 = -1;
static int hf_packet_measurement_report = -1;
static int hf_packet_measurement_order = -1;
static int hf_ccn_measurement_report = -1;
static int hf_target_cell_csg_notif = -1;
static int hf_target_other_rat2_notif = -1;
static int hf_target_other_rat_notif = -1;
static int hf_target_cell = -1;
static int hf_packet_cell_change_notification = -1;
static int hf_packet_cell_change_continue = -1;
static int hf_packet_neighbour_cell_data = -1;
static int hf_packet_serving_cell_data = -1;
static int hf_pho_uplinkassignment = -1;
static int hf_global_timeslot_description = -1;
static int hf_pho_gprs = -1;
static int hf_downlink_tbf = -1;
static int hf_pho_radio_resources = -1;
static int hf_ps_handoverto_a_gb_modepayload = -1;
static int hf_packet_handover_command = -1;
static int hf_pccch_description = -1;
static int hf_gen_cell_sel = -1;
static int hf_psi3_additionr99 = -1;
static int hf_psi5 = -1;
static int hf_psi13 = -1;
/* Fields unique to EC messages (reuse legacy where possible) */
/*TODO: split exists per message??!? */
static int hf_ec_dl_message_type = -1;
static int hf_used_dl_coverage_class = -1;
static int hf_ec_frequency_parameters_exist = -1;
static int hf_ec_ma_number = -1;
static int hf_primary_tsc_set = -1;
static int hf_dl_coverage_class = -1;
static int hf_starting_dl_timeslot = -1;
static int hf_timeslot_multiplicator = -1;
static int hf_ul_coverage_class = -1;
static int hf_starting_ul_timeslot_offset = -1;
static int hf_ec_packet_timing_advance_exist = -1;
static int hf_ec_p0_and_pr_mode_exist = -1;
static int hf_ec_gamma_exist = -1;
static int hf_ec_alpha_enable = -1;
static int hf_ec_acknack_description = -1;
static int hf_ec_delay_next_ul_rlc_data_block = -1;
static int hf_ec_delay_next_ul_rlc_data_block_exist = -1;
static int hf_ec_bsn_offset_exist = -1;
static int hf_ec_bsn_offset = -1;
static int hf_ec_start_first_ul_rlc_data_block = -1;
static int hf_ec_egprs_channel_coding_command_exist = -1;
static int hf_ec_puan_cc_ts_exist = -1;
static int hf_starting_ul_timeslot = -1;
static int hf_starting_dl_timeslot_offset = -1;
static int hf_ec_puan_exist_contres_tlli = -1;
static int hf_ec_puan_monitor_ec_pacch = -1;
static int hf_t3238 = -1;
static int hf_ec_initial_waiting_time = -1;
static int hf_ec_pacch_monitoring_pattern = -1;
static int hf_ec_puan_fua_dealy_exist = -1;
static int hf_ec_reject_wait_exist = -1;
static int hf_ec_packet_access_reject_count = -1;
static int hf_ec_t_avg_t_exist = -1;
static int hf_ec_uplink_tfi_exist = -1;
static int hf_ec_overlaid_cdma_code = -1;
static int hf_ec_ul_message_type = -1;
static int hf_ec_dl_cc_est = -1;
static int hf_ec_channel_request_description_exist = -1;
static int hf_ec_priority = -1;
static int hf_ec_number_of_ul_data_blocks = -1;
static int hf_ec_channel_quality_report_exist = -1;
static int hf_ec_qual_gmsk_exist = -1;
static int hf_ec_qual_8psk_exist = -1;
static int hf_ecs_p = -1;
static int hf_cc = -1;
static int hf_ec_cps3 = -1;
static int hf_ul_foi = -1;
static int hf_ul_ri = -1;
static int hf_rtlli = -1;
/* XXX - "exist" fields generated from perl script. If humans think changes are necessary, feel free */
static int hf_packet_downlink_ack_nack_channel_request_description_exist = -1;
static int hf_egprs_pd_acknack_egprs_channelqualityreport_exist = -1;
static int hf_egprs_pd_acknack_channelrequestdescription_exist = -1;
static int hf_egprs_pd_acknack_extensionbits_exist = -1;
static int hf_fdd_target_cell_bandwith_fdd_exist = -1;
static int hf_tdd_target_cell_bandwith_tdd_exist = -1;
static int hf_eutran_target_cell_measurement_bandwidth_exist = -1;
static int hf_utran_csg_target_cell_plmn_id_exist = -1;
static int hf_eutran_csg_target_cell_plmn_id_exist = -1;
static int hf_pccf_additionsr9_utran_csg_target_cell_exist = -1;
static int hf_pccf_additionsr9_eutran_csg_target_cell_exist = -1;
static int hf_pccf_additionsr8_eutran_target_cell_exist = -1;
static int hf_pccf_additionsr5_g_rnti_extention_exist = -1;
static int hf_pccf_additionsr99_fdd_description_exist = -1;
static int hf_pccf_additionsr99_tdd_description_exist = -1;
static int hf_power_control_parameters_slot0_exist = -1;
static int hf_power_control_parameters_slot1_exist = -1;
static int hf_power_control_parameters_slot2_exist = -1;
static int hf_power_control_parameters_slot3_exist = -1;
static int hf_power_control_parameters_slot4_exist = -1;
static int hf_power_control_parameters_slot5_exist = -1;
static int hf_power_control_parameters_slot6_exist = -1;
static int hf_power_control_parameters_slot7_exist = -1;
static int hf_pu_acknack_gprs_additionsr99_packetextendedtimingadvance_exist = -1;
static int hf_pu_acknack_gprs_common_uplink_ack_nack_data_exist_contention_resolution_tlli_exist = -1;
static int hf_pu_acknack_gprs_common_uplink_ack_nack_data_exist_packet_timing_advance_exist = -1;
static int hf_pu_acknack_gprs_common_uplink_ack_nack_data_exist_power_control_parameters_exist = -1;
static int hf_pu_acknack_gprs_common_uplink_ack_nack_data_exist_extension_bits_exist = -1;
static int hf_pu_acknack_egprs_00_common_uplink_ack_nack_data_exist_contention_resolution_tlli_exist = -1;
static int hf_pu_acknack_egprs_00_common_uplink_ack_nack_data_exist_packet_timing_advance_exist = -1;
static int hf_pu_acknack_egprs_00_packet_extended_timing_advance_exist = -1;
static int hf_pu_acknack_egprs_00_common_uplink_ack_nack_data_exist_power_control_parameters_exist = -1;
static int hf_pu_acknack_egprs_00_common_uplink_ack_nack_data_exist_extension_bits_exist = -1;
static int hf_change_mark_change_mark_2_exist = -1;
static int hf_indirect_encoding_change_mark_exist = -1;
static int hf_timeslot_allocation_exist_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot0_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot1_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot2_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot3_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot4_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot5_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot6_exist = -1;
static int hf_timeslot_allocation_power_ctrl_param_slot7_exist = -1;
static int hf_dynamic_allocation_p0_exist = -1;
static int hf_dynamic_allocation_uplink_tfi_assignment_exist = -1;
static int hf_dynamic_allocation_rlc_data_blocks_granted_exist = -1;
static int hf_dynamic_allocation_tbf_starting_time_exist = -1;
static int hf_single_block_allocation_alpha_and_gamma_tn_exist = -1;
static int hf_single_block_allocation_p0_exist = -1;
static int hf_pua_gprs_additionsr99_packet_extended_timing_advance_exist = -1;
static int hf_pua_gprs_frequency_parameters_exist = -1;
static int hf_compact_reducedma_maio_2_exist = -1;
static int hf_multiblock_allocation_alpha_gamma_tn_exist = -1;
static int hf_multiblock_allocation_p0_bts_pwr_ctrl_pr_mode_exist = -1;
static int hf_pua_egprs_00_contention_resolution_tlli_exist = -1;
static int hf_pua_egprs_00_compact_reducedma_exist = -1;
static int hf_pua_egprs_00_bep_period2_exist = -1;
static int hf_pua_egprs_00_packet_extended_timing_advance_exist = -1;
static int hf_pua_egprs_00_frequency_parameters_exist = -1;
static int hf_pda_additionsr99_egprs_params_exist = -1;
static int hf_pda_additionsr99_bep_period2_exist = -1;
static int hf_pda_additionsr99_packet_extended_timing_advance_exist = -1;
static int hf_pda_additionsr99_compact_reducedma_exist = -1;
static int hf_packet_downlink_assignment_p0_and_bts_pwr_ctrl_mode_exist = -1;
static int hf_packet_downlink_assignment_frequency_parameters_exist = -1;
static int hf_packet_downlink_assignment_downlink_tfi_assignment_exist = -1;
static int hf_packet_downlink_assignment_power_control_parameters_exist = -1;
static int hf_packet_downlink_assignment_tbf_starting_time_exist = -1;
static int hf_packet_downlink_assignment_measurement_mapping_exist = -1;
static int hf_page_request_for_rr_conn_emlpp_priority_exist = -1;
static int hf_packet_paging_request_nln_exist = -1;
static int hf_packet_power_control_timing_advance_global_power_control_parameters_exist = -1;
static int hf_trdynamic_allocation_p0_exist = -1;
static int hf_trdynamic_allocation_rlc_data_blocks_granted_exist = -1;
static int hf_trdynamic_allocation_tbf_starting_time_exist = -1;
static int hf_ptr_gprs_additionsr99_packet_extended_timing_advance_exist = -1;
static int hf_ptr_gprs_common_timeslot_reconfigure_data_exist_downlink_tfi_assignment_exist = -1;
static int hf_ptr_gprs_common_timeslot_reconfigure_data_exist_uplink_tfi_assignment_exist = -1;
static int hf_ptr_gprs_common_timeslot_reconfigure_data_exist_frequency_parameters_exist = -1;
static int hf_ptr_egprs_00_compact_reducedma_exist = -1;
static int hf_ptr_egprs_00_downlink_egprs_windowsize_exist = -1;
static int hf_ptr_egprs_00_uplink_egprs_windowsize_exist = -1;
static int hf_ptr_egprs_00_packet_extended_timing_advance_exist = -1;
static int hf_ptr_egprs_00_common_timeslot_reconfigure_data_exist_downlink_tfi_assignment_exist = -1;
static int hf_ptr_egprs_00_common_timeslot_reconfigure_data_exist_uplink_tfi_assignment_exist = -1;
static int hf_ptr_egprs_00_common_timeslot_reconfigure_data_exist_frequency_parameters_exist = -1;
static int hf_cell_selection_rxlev_and_txpwr_exist = -1;
static int hf_cell_selection_offset_and_time_exist = -1;
static int hf_cell_selection_gprs_reselect_offset_exist = -1;
static int hf_cell_selection_hcs_exist = -1;
static int hf_cell_selection_si13_pbcch_location_exist = -1;
static int hf_cell_selection_2_rxlev_and_txpwr_exist = -1;
static int hf_cell_selection_2_offset_and_time_exist = -1;
static int hf_cell_selection_2_gprs_reselect_offset_exist = -1;
static int hf_cell_selection_2_hcs_exist = -1;
static int hf_cell_selection_2_si13_pbcch_location_exist = -1;
static int hf_reject_wait_exist = -1;
static int hf_cellselectionparamswithfreqdiff_cellselectionparams_exist = -1;
static int hf_add_frequency_list_cell_selection_exist = -1;
static int hf_nc_frequency_list_removed_freq_exist = -1;
static int hf_nc_measurement_parameters_nc_exist = -1;
static int hf_nc_measurement_parameters_with_frequency_list_nc_exist = -1;
static int hf_nc_measurement_parameters_with_frequency_list_nc_frequency_list_exist = -1;
static int hf_gprsmeasurementparams_pmo_pcco_multi_band_reporting_exist = -1;
static int hf_gprsmeasurementparams_pmo_pcco_serving_band_reporting_exist = -1;
static int hf_gprsmeasurementparams_pmo_pcco_offsetthreshold900_exist = -1;
static int hf_gprsmeasurementparams_pmo_pcco_offsetthreshold1800_exist = -1;
static int hf_gprsmeasurementparams_pmo_pcco_offsetthreshold400_exist = -1;
static int hf_gprsmeasurementparams_pmo_pcco_offsetthreshold1900_exist = -1;
static int hf_gprsmeasurementparams_pmo_pcco_offsetthreshold850_exist = -1;
static int hf_multiratparams3g_existmultiratreporting_exist = -1;
static int hf_multiratparams3g_existoffsetthreshold_exist = -1;
static int hf_enh_gprsmeasurementparams3g_pmo_existrepparamsfdd_exist = -1;
static int hf_enh_gprsmeasurementparams3g_pmo_existoffsetthreshold_exist = -1;
static int hf_enh_gprsmeasurementparams3g_pcco_existrepparamsfdd_exist = -1;
static int hf_enh_gprsmeasurementparams3g_pcco_existoffsetthreshold_exist = -1;
static int hf_utran_fdd_description_existbandwidth_exist = -1;
static int hf_utran_tdd_description_existbandwidth_exist = -1;
static int hf_neighbourcelldescription3g_pmo_index_start_3g_exist = -1;
static int hf_neighbourcelldescription3g_pmo_absolute_index_start_emr_exist = -1;
static int hf_neighbourcelldescription3g_pmo_utran_fdd_description_exist = -1;
static int hf_neighbourcelldescription3g_pmo_utran_tdd_description_exist = -1;
static int hf_neighbourcelldescription3g_pmo_cdma2000_description_exist = -1;
static int hf_neighbourcelldescription3g_pmo_removed3gcelldescription_exist = -1;
static int hf_neighbourcelldescription3g_pcco_index_start_3g_exist = -1;
static int hf_neighbourcelldescription3g_pcco_absolute_index_start_emr_exist = -1;
static int hf_neighbourcelldescription3g_pcco_utran_fdd_description_exist = -1;
static int hf_neighbourcelldescription3g_pcco_utran_tdd_description_exist = -1;
static int hf_neighbourcelldescription3g_pcco_removed3gcelldescription_exist = -1;
static int hf_enh_measurement_parameters_pmo_neighbourcelldescription3g_exist = -1;
static int hf_enh_measurement_parameters_pmo_gprsreportpriority_exist = -1;
static int hf_enh_measurement_parameters_pmo_gprsmeasurementparams_exist = -1;
static int hf_enh_measurement_parameters_pmo_gprsmeasurementparams3g_exist = -1;
static int hf_enh_measurement_parameters_pcco_neighbourcelldescription3g_exist = -1;
static int hf_enh_measurement_parameters_pcco_gprsreportpriority_exist = -1;
static int hf_enh_measurement_parameters_pcco_gprsmeasurementparams_exist = -1;
static int hf_enh_measurement_parameters_pcco_gprsmeasurementparams3g_exist = -1;
static int hf_lu_modecellselectionparameters_si13_alt_pbcch_location_exist = -1;
static int hf_lu_modecellselectionparams_lu_modecellselectionparams_exist = -1;
static int hf_lu_modeonlycellselection_rxlev_and_txpwr_exist = -1;
static int hf_lu_modeonlycellselection_offset_and_time_exist = -1;
static int hf_lu_modeonlycellselection_gprs_reselect_offset_exist = -1;
static int hf_lu_modeonlycellselection_hcs_exist = -1;
static int hf_lu_modeonlycellselection_si13_alt_pbcch_location_exist = -1;
static int hf_lu_modeonlycellselectionparamswithfreqdiff_lu_modeonlycellselectionparams_exist = -1;
static int hf_add_lu_modeonlyfrequencylist_lu_modecellselection_exist = -1;
static int hf_gprs_additionalmeasurementparams3g_fdd_reporting_threshold_2_exist = -1;
static int hf_repeatedutran_priorityparameters_existutran_priority_exist = -1;
static int hf_repeatedutran_priorityparameters_existthresh_utran_low_exist = -1;
static int hf_repeatedutran_priorityparameters_existutran_qrxlevmin_exist = -1;
static int hf_priorityparametersdescription3g_pmo_existdefault_utran_parameters_exist = -1;
static int hf_eutran_reporting_threshold_offset_existeutran_fdd_reporting_threshold_offset_exist = -1;
static int hf_eutran_reporting_threshold_offset_existeutran_fdd_reporting_threshold_2_exist = -1;
static int hf_eutran_reporting_threshold_offset_existeutran_fdd_reporting_offset_exist = -1;
static int hf_eutran_reporting_threshold_offset_existeutran_tdd_reporting_threshold_offset_exist = -1;
static int hf_eutran_reporting_threshold_offset_existeutran_tdd_reporting_threshold_2_exist = -1;
static int hf_eutran_reporting_threshold_offset_existeutran_tdd_reporting_offset_exist = -1;
static int hf_repeatedeutran_cells_existmeasurementbandwidth_exist = -1;
static int hf_repeatedeutran_neighbourcells_existeutran_priority_exist = -1;
static int hf_repeatedeutran_neighbourcells_existthresh_eutran_low_exist = -1;
static int hf_repeatedeutran_neighbourcells_existeutran_qrxlevmin_exist = -1;
static int hf_pcid_group_ie_existpcid_bitmap_group_exist = -1;
static int hf_eutran_parametersdescription_pmo_existgprs_eutran_measurementparametersdescription_exist = -1;
static int hf_meas_ctrl_param_desp_existmeasurement_control_eutran_exist = -1;
static int hf_meas_ctrl_param_desp_existmeasurement_control_utran_exist = -1;
static int hf_reselection_based_on_rsrq_existthresh_eutran_low_q_exist = -1;
static int hf_reselection_based_on_rsrq_existeutran_qqualmin_exist = -1;
static int hf_reselection_based_on_rsrq_existeutran_rsrpmin_exist = -1;
static int hf_utran_csg_cells_reporting_desp_existutran_csg_fdd_reporting_threshold_exist = -1;
static int hf_utran_csg_cells_reporting_desp_existutran_csg_tdd_reporting_threshold_exist = -1;
static int hf_eutran_csg_cells_reporting_desp_existeutran_csg_fdd_reporting_threshold_exist = -1;
static int hf_eutran_csg_cells_reporting_desp_existeutran_csg_tdd_reporting_threshold_exist = -1;
static int hf_csg_cells_reporting_desp_existutran_csg_cells_reporting_description_exist = -1;
static int hf_csg_cells_reporting_desp_existeutran_csg_cells_reporting_description_exist = -1;
static int hf_priorityandeutran_parametersdescription_pmo_existservingcellpriorityparametersdescription_exist = -1;
static int hf_priorityandeutran_parametersdescription_pmo_existpriorityparametersdescription3g_pmo_exist = -1;
static int hf_priorityandeutran_parametersdescription_pmo_existeutran_parametersdescription_pmo_exist = -1;
static int hf_threeg_individual_priority_parameters_description_default_utran_priority_exist = -1;
static int hf_eutran_individual_priority_parameters_description_default_eutran_priority_exist = -1;
static int hf_provide_individual_priorities_3g_individual_priority_parameters_description_exist = -1;
static int hf_provide_individual_priorities_eutran_individual_priority_parameters_description_exist = -1;
static int hf_provide_individual_priorities_t3230_timeout_value_exist = -1;
static int hf_pmo_additionsr9_existenhanced_cell_reselection_parameters_description_exist = -1;
static int hf_pmo_additionsr9_existcsg_cells_reporting_description_exist = -1;
static int hf_pmo_additionsr8_existba_ind_3g_pmo_ind_exist = -1;
static int hf_pmo_additionsr8_existpriorityandeutran_parametersdescription_pmo_exist = -1;
static int hf_pmo_additionsr8_existindividualpriorities_pmo_exist = -1;
static int hf_pmo_additionsr8_existthreeg_csg_description_exist = -1;
static int hf_pmo_additionsr8_existeutran_csg_description_exist = -1;
static int hf_pmo_additionsr8_existmeasurement_control_parameters_description_exist = -1;
static int hf_pmo_additionsr7_existreporting_offset_threshold_700_exist = -1;
static int hf_pmo_additionsr7_existreporting_offset_threshold_810_exist = -1;
static int hf_pmo_additionsr5_existgrnti_extension_exist = -1;
static int hf_pmo_additionsr5_lu_modeneighbourcellparams_exist = -1;
static int hf_pmo_additionsr5_existnc_lu_modeonlycapablecelllist_exist = -1;
static int hf_pmo_additionsr5_existgprs_additionalmeasurementparams3g_exist = -1;
static int hf_pcco_additionsr5_existgrnti_extension_exist = -1;
static int hf_pcco_additionsr5_lu_modeneighbourcellparams_exist = -1;
static int hf_pcco_additionsr5_existnc_lu_modeonlycapablecelllist_exist = -1;
static int hf_pcco_additionsr5_existgprs_additionalmeasurementparams3g_exist = -1;
static int hf_pmo_additionsr4_ccn_support_description_id_exist = -1;
static int hf_pmo_additionsr99_enh_measurement_parameters_exist = -1;
static int hf_pcco_additionsr4_container_id_exist = -1;
static int hf_pcco_additionsr4_ccn_support_description_id_exist = -1;
static int hf_pmo_additionsr98_lsa_parameters_exist = -1;
static int hf_pcco_additionsr98_lsa_parameters_exist = -1;
static int hf_target_cell_3g_additionsr8_eutran_target_cell_exist = -1;
static int hf_target_cell_3g_additionsr8_individual_priorities_exist = -1;
static int hf_target_cell_3g_additionsr5_g_rnti_extention_exist = -1;
static int hf_target_cell_3g_fdd_description_exist = -1;
static int hf_target_cell_3g_tdd_description_exist = -1;
static int hf_nc_measurements_bsic_n_exist = -1;
static int hf_reporting_quantity_instance_reporting_quantity_exist = -1;
static int hf_enh_nc_measurement_report_serving_cell_data_exist = -1;
static int hf_enh_nc_measurement_report_reportbitmap_exist = -1;
static int hf_ext_measurement_report_slot0_exist = -1;
static int hf_ext_measurement_report_slot1_exist = -1;
static int hf_ext_measurement_report_slot2_exist = -1;
static int hf_ext_measurement_report_slot3_exist = -1;
static int hf_ext_measurement_report_slot4_exist = -1;
static int hf_ext_measurement_report_slot5_exist = -1;
static int hf_ext_measurement_report_slot6_exist = -1;
static int hf_ext_measurement_report_slot7_exist = -1;
static int hf_ext_measurement_report_i_level_exist = -1;
static int hf_utran_csg_measurement_report_plmn_id_exist = -1;
static int hf_eutran_csg_measurement_report_plmn_id_exist = -1;
static int hf_pmr_additionsr9_utran_csg_meas_rpt_exist = -1;
static int hf_pmr_additionsr9_eutran_csg_meas_rpt_exist = -1;
static int hf_pmr_additionsr8_eutran_meas_rpt_exist = -1;
static int hf_pmr_additionsr5_grnti_exist = -1;
static int hf_pmr_additionsr99_info3g_exist = -1;
static int hf_pmr_additionsr99_measurementreport3g_exist = -1;
static int hf_packet_measurement_report_psi5_change_mark_exist = -1;
static int hf_pemr_additionsr9_utran_csg_target_cell_exist = -1;
static int hf_pemr_additionsr9_eutran_csg_target_cell_exist = -1;
static int hf_bitmap_report_quantity_reporting_quantity_exist = -1;
static int hf_pemr_additionsr8_eutran_meas_rpt_exist = -1;
static int hf_pemr_additionsr5_grnti_ext_exist = -1;
static int hf_packet_measurement_order_nc_measurement_parameters_exist = -1;
static int hf_packet_measurement_order_ext_measurement_parameters_exist = -1;
static int hf_fdd_target_cell_notif_bandwith_fdd_exist = -1;
static int hf_tdd_target_cell_notif_bandwith_tdd_exist = -1;
static int hf_target_cell_3g_notif_fdd_description_exist = -1;
static int hf_target_cell_3g_notif_tdd_description_exist = -1;
static int hf_target_eutran_cell_notif_measurement_bandwidth_exist = -1;
static int hf_target_cell_4g_notif_arfcn_exist = -1;
static int hf_target_cell_4g_notif_3g_target_cell_exist = -1;
static int hf_target_cell_4g_notif_eutran_target_cell_exist = -1;
static int hf_target_cell_4g_notif_eutran_ccn_measurement_report_exist = -1;
static int hf_target_cell_csg_notif_eutran_ccn_measurement_report_exist = -1;
static int hf_pccn_additionsr6_ba_used_3g_exist = -1;
static int hf_packet_cell_change_continue_id_exist = -1;
static int hf_pho_downlinkassignment_egprs_windowsize_exist = -1;
static int hf_pho_usf_1_7_usf_exist = -1;
static int hf_pho_uplinkassignment_channelcodingcommand_exist = -1;
static int hf_pho_uplinkassignment_egprs_channelcodingcommand_exist = -1;
static int hf_pho_uplinkassignment_egprs_windowsize_exist = -1;
static int hf_pho_uplinkassignment_tbf_timeslotallocation_exist = -1;
static int hf_globaltimeslotdescription_ua_pho_ua_exist = -1;
static int hf_pho_gprs_channelcodingcommand_exist = -1;
static int hf_pho_gprs_globaltimeslotdescription_ua_exist = -1;
static int hf_pho_gprs_downlinkassignment_exist = -1;
static int hf_egprs_description_egprs_windowsize_exist = -1;
static int hf_egprs_description_bep_period2_exist = -1;
static int hf_downlinktbf_egprs_description_exist = -1;
static int hf_downlinktbf_downlinkassignment_exist = -1;
static int hf_pho_egprs_egprs_windowsize_exist = -1;
static int hf_pho_egprs_egprs_channelcodingcommand_exist = -1;
static int hf_pho_egprs_bep_period2_exist = -1;
static int hf_pho_egprs_globaltimeslotdescription_ua_exist = -1;
static int hf_pho_egprs_downlinktbf_exist = -1;
static int hf_pho_timingadvance_packetextendedtimingadvance_exist = -1;
static int hf_pho_radioresources_handoverreference_exist = -1;
static int hf_pho_radioresources_ccn_active_exist = -1;
static int hf_pho_radioresources_ccn_active_3g_exist = -1;
static int hf_pho_radioresources_ccn_support_description_exist = -1;
static int hf_pho_radioresources_pho_timingadvance_exist = -1;
static int hf_pho_radioresources_po_pr_exist = -1;
static int hf_pho_radioresources_uplinkcontroltimeslot_exist = -1;
static int hf_ps_handoverto_a_gb_modepayload_nas_container_exist = -1;
static int hf_psi1_psi_count_hr_exist = -1;
static int hf_non_gprs_cell_options_t3212_exist = -1;
static int hf_non_gprs_cell_options_extension_bits_exist = -1;
static int hf_psi2_cell_identification_exist = -1;
static int hf_psi2_non_gprs_cell_options_exist = -1;
static int hf_serving_cell_params_hcs_exist = -1;
static int hf_gen_cell_sel_t_resel_exist = -1;
static int hf_gen_cell_sel_ra_reselect_hysteresis_exist = -1;
static int hf_compact_cell_sel_gprs_rxlev_access_min_exist = -1;
static int hf_compact_cell_sel_gprs_temporary_offset_exist = -1;
static int hf_compact_cell_sel_gprs_reselect_offset_exist = -1;
static int hf_compact_cell_sel_hcs_parm_exist = -1;
static int hf_compact_cell_sel_time_group_exist = -1;
static int hf_compact_cell_sel_guar_constant_pwr_blks_exist = -1;
static int hf_psi3_additionr4_ccn_support_desc_exist = -1;
static int hf_psi3_additionr99_compact_info_exist = -1;
static int hf_psi3_additionr99_additionr4_exist = -1;
static int hf_psi3_additionr98_lsa_parameters_exist = -1;
static int hf_psi3_additionr98_additionr99_exist = -1;
static int hf_psi3_additionr98_exist = -1;
static int hf_measurementparams_multi_band_reporting_exist = -1;
static int hf_measurementparams_serving_band_reporting_exist = -1;
static int hf_measurementparams_scale_ord_exist = -1;
static int hf_measurementparams_offsetthreshold900_exist = -1;
static int hf_measurementparams_offsetthreshold1800_exist = -1;
static int hf_measurementparams_offsetthreshold400_exist = -1;
static int hf_measurementparams_offsetthreshold1900_exist = -1;
static int hf_measurementparams_offsetthreshold850_exist = -1;
static int hf_gprsmeasurementparams3g_psi5_existrepparamsfdd_exist = -1;
static int hf_gprsmeasurementparams3g_psi5_existreportingparamsfdd_exist = -1;
static int hf_gprsmeasurementparams3g_psi5_existmultiratreportingtdd_exist = -1;
static int hf_gprsmeasurementparams3g_psi5_existoffsetthresholdtdd_exist = -1;
static int hf_enh_reporting_parameters_ncc_permitted_exist = -1;
static int hf_enh_reporting_parameters_gprsmeasurementparams_exist = -1;
static int hf_enh_reporting_parameters_gprsmeasurementparams3g_exist = -1;
static int hf_psi5_additions_offsetthreshold_700_exist = -1;
static int hf_psi5_additions_offsetthreshold_810_exist = -1;
static int hf_psi5_additions_gprs_additionalmeasurementparams3g_exist = -1;
static int hf_psi5_additions_additionsr7_exist = -1;
static int hf_psi5_additionsr_enh_reporting_param_exist = -1;
static int hf_psi5_additionsr_additionsr5_exist = -1;
static int hf_psi5_eixst_nc_meas_param_exist = -1;
static int hf_psi13_additions_lb_ms_txpwr_max_cch_exist = -1;
static int hf_psi13_additions_additionsr6_exist = -1;
static int hf_psi13_additionr_additionsr4_exist = -1;
static int hf_psi13_ma_exist = -1;
static int hf_pccf_additionsr8_additionsr9_exist = -1;
static int hf_pccf_additionsr5_additionsr8_exist = -1;
static int hf_pccf_additionsr99_additionsr5_exist = -1;
static int hf_pmo_additionsr8_existadditionsr9_exist = -1;
static int hf_pmo_additionsr7_existadditionsr8_exist = -1;
static int hf_pmo_additionsr6_existadditionsr7_exist = -1;
static int hf_pmo_additionsr5_existadditionsr6_exist = -1;
static int hf_pcco_additionsr5_existadditionsr6_exist = -1;
static int hf_pmo_additionsr4_additionsr5_exist = -1;
static int hf_pmo_additionsr99_additionsr4_exist = -1;
static int hf_pcco_additionsr4_additionsr5_exist = -1;
static int hf_target_cell_gsm_additionsr98_exist = -1;
static int hf_target_cell_3g_additionsr5_additionsr8_exist = -1;
static int hf_target_cell_3g_additionsr5_exist = -1;
static int hf_pmr_additionsr8_additionsr9_exist = -1;
static int hf_pmr_additionsr5_additionsr8_exist = -1;
static int hf_pmr_additionsr99_additionsr5_exist = -1;
static int hf_pemr_additionsr8_additionsr9_exist = -1;
static int hf_pemr_additionsr5_additionsr8_exist = -1;
static int hf_packet_enh_measurement_report_additionsr5_exist = -1;
static int hf_packet_measurement_order_additionsr98_exist = -1;
static int hf_packet_cell_change_notification_additionsr6_exist = -1;
static int hf_psi1_additionsr99_additionsr6_exist = -1;
static int hf_packet_paging_request_repeated_page_info_exist = -1;
static int hf_neighbourcelllist_parameters_exist = -1;
static int hf_nc_frequency_list_add_frequency_exist = -1;
static int hf_utran_fdd_description_cellparams_exist = -1;
static int hf_utran_tdd_description_cellparams_exist = -1;
static int hf_nc_lu_modeonlycapablecelllist_add_lu_modeonlyfrequencylist_exist = -1;
static int hf_priorityparametersdescription3g_pmo_repeatedutran_priorityparameters_a_exist = -1;
static int hf_repeatedeutran_neighbourcells_eutran_cells_a_exist = -1;
static int hf_pcid_group_ie_pcid_pattern_a_exist = -1;
static int hf_repeatedeutran_notallowedcells_eutran_frequency_index_a_exist = -1;
static int hf_repeatedeutran_pcid_to_ta_mapping_pcid_tota_mapping_a_exist = -1;
static int hf_repeatedeutran_pcid_to_ta_mapping_eutran_frequency_index_a_exist = -1;
static int hf_eutran_parametersdescription_pmo_repeatedeutran_neighbourcells_a_exist = -1;
static int hf_eutran_parametersdescription_pmo_repeatedeutran_notallowedcells_a_exist = -1;
static int hf_eutran_parametersdescription_pmo_repeatedeutran_pcid_to_ta_mapping_a_exist = -1;
static int hf_psc_group_psc_pattern_exist = -1;
static int hf_threeg_csg_description_threeg_csg_description_body_exist = -1;
static int hf_eutran_csg_description_eutran_csg_description_body_exist = -1;
static int hf_enh_cell_reselect_param_desp_repeated_eutran_enhanced_cell_reselection_parameters_exist = -1;
static int hf_threeg_individual_priority_parameters_description_repeated_individual_utran_priority_parameters_exist = -1;
static int hf_eutran_individual_priority_parameters_description_repeated_individual_eutran_priority_parameters_exist = -1;
static int hf_lsa_id_info_lsa_id_info_elements_exist = -1;
static int hf_compact_info_compact_neighbour_cell_param_exist = -1;
static int hf_packet_access_reject_reject_exist = -1;
static int hf_enh_nc_measurement_report_repeatedinvalid_bsic_info_exist = -1;
static int hf_nonhoppingpccch_carriers_exist = -1;
static int hf_psi2_reference_frequency_exist = -1;
static int hf_psi2_gprs_ma_exist = -1;
static int hf_psi2_pccch_description_exist = -1;
static expert_field ei_li = EI_INIT;
/* Generated from convert_proto_tree_add_text.pl */
static expert_field ei_gsm_rlcmac_coding_scheme_invalid = EI_INIT;
static expert_field ei_gsm_rlcmac_gprs_fanr_header_dissection_not_supported = EI_INIT;
static expert_field ei_gsm_rlcmac_coding_scheme_unknown = EI_INIT;
static expert_field ei_gsm_rlcmac_egprs_header_type_not_handled = EI_INIT;
static expert_field ei_gsm_rlcmac_unexpected_header_extension = EI_INIT;
static expert_field ei_gsm_rlcmac_unknown_pacch_access_burst = EI_INIT;
static expert_field ei_gsm_rlcmac_stream_not_supported = EI_INIT;
/* Payload type as defined in TS 44.060 / 10.4.7 */
#define PAYLOAD_TYPE_DATA 0
#define PAYLOAD_TYPE_CTRL_NO_OPT_OCTET 1
#define PAYLOAD_TYPE_CTRL_OPT_OCTET 2
#define PAYLOAD_TYPE_RESERVED 3
#define GPRS_CS_OFFSET(cS) ((cS)- RLCMAC_CS1)
#define EGPRS_HEADER_TYPE_OFFSET(hT) ((hT)- RLCMAC_HDR_TYPE_1)
/* Coding and Puncturing Scheme indicator field for Header type 1 in EGPRS TBF or EC TBF or downlink EGPRS2 TBF */
static const guint8 egprs_Header_type1_coding_puncturing_scheme_to_mcs[] = {
9 /* 0x00, "(MCS-9/P1 ; MCS-9/P1)" */,
9 /* 0x01, "(MCS-9/P1 ; MCS-9/P2)" */,
9 /* 0x02, "(MCS-9/P1 ; MCS-9/P3)" */,
MCS_INVALID /* 0x03, "reserved" */,
9 /* 0x04, "(MCS-9/P2 ; MCS-9/P1)" */,
9 /* 0x05, "(MCS-9/P2 ; MCS-9/P2)" */,
9 /* 0x06, "(MCS-9/P2 ; MCS-9/P3)" */,
MCS_INVALID /* 0x07, "reserved" */,
9 /* 0x08, "(MCS-9/P3 ; MCS-9/P1)" */,
9 /* 0x09, "(MCS-9/P3 ; MCS-9/P2)" */,
9 /* 0x0A, "(MCS-9/P3 ; MCS-9/P3)" */,
8 /* 0x0B, "(MCS-8/P1 ; MCS-8/P1)" */,
8 /* 0x0C, "(MCS-8/P1 ; MCS-8/P2)" */,
8 /* 0x0D, "(MCS-8/P1 ; MCS-8/P3)" */,
8 /* 0x0E, "(MCS-8/P2 ; MCS-8/P1)" */,
8 /* 0x0F, "(MCS-8/P2 ; MCS-8/P2)" */,
8 /* 0x10, "(MCS-8/P2 ; MCS-8/P3)" */,
8 /* 0x11, "(MCS-8/P3 ; MCS-8/P1)" */,
8 /* 0x12, "(MCS-8/P3 ; MCS-8/P2)" */,
8 /* 0x13, "(MCS-8/P3 ; MCS-8/P3)" */,
7 /* 0x14, "(MCS-7/P1 ; MCS-7/P1)" */,
7 /* 0x15, "(MCS-7/P1 ; MCS-7/P2)" */,
7 /* 0x16, "(MCS-7/P1 ; MCS-7/P3)" */,
7 /* 0x17, "(MCS-7/P2 ; MCS-7/P1)" */,
7 /* 0x18, "(MCS-7/P2 ; MCS-7/P2)" */,
7 /* 0x19, "(MCS-7/P2 ; MCS-7/P3)" */,
7 /* 0x1A, "(MCS-7/P3 ; MCS-7/P1)" */,
7 /* 0x1B, "(MCS-7/P3 ; MCS-7/P2)" */,
7 /* 0x1C, "(MCS-7/P3 ; MCS-7/P3)" */,
MCS_INVALID /* 0x1D, "reserved" */,
MCS_INVALID /* 0x1E, "reserved" */,
MCS_INVALID /* 0x1F, "reserved" */
};
/* Coding and Puncturing Scheme indicator field for Header type 2 in (EC-)EGPRS TBF or uplink EGPRS2-A TBF */
static const guint8 egprs_Header_type2_coding_puncturing_scheme_to_mcs[] = {
6 /* {0x00, "MCS-6/P1"} */,
6 /* {0x01, "MCS-6/P2"} */,
6 /* {0x02, "MCS-6/P1 with 6 octet padding"} */,
6 /* {0x03, "MCS-6/P2 with 6 octet padding "} */,
5 /* {0x04, "MCS-5/P1"} */,
5 /* {0x05, "MCS-5/P2"} */,
5 /* {0x06, "MCS-6/P1 with 10 octet padding "} */,
5 /* {0x07, "MCS-6/P2 with 10 octet padding "} */
};
static const guint8 egprs_Header_type3_coding_puncturing_scheme_to_mcs[] = {
4 /* {0x00, "MCS-4/P1"} */,
4 /* {0x01, "MCS-4/P2"} */,
4 /* {0x02, "MCS-4/P3"} */,
3 /* {0x03, "MCS-3/P1"} */,
3 /* {0x04, "MCS-3/P2"} */,
3 /* {0x05, "MCS-3/P3"} */,
3 /* {0x06, "MCS-3/P1 with padding"} */,
3 /* {0x07, "MCS-3/P2 with padding"} */,
3 /* {0x08, "MCS-3/P3 with padding"} */,
2 /* {0x09, "MCS-2/P1"} */,
2 /* {0x0A, "MCS-2/P2"} */,
1 /* {0x0B, "MCS-1/P1"} */,
1 /* {0x0C, "MCS-1/P2"} */,
2 /* {0x0D, "MCS-2/P1 with padding"} */,
2 /* {0x0E, "MCS-2/P2 with padding"} */,
0 /* {0x0F, "MCS-0"} */
};
static const guint8 ec_egprs_Header_type3_coding_puncturing_scheme_to_mcs[] = {
4 /* {0x00, "MCS-4/P1"} */,
4 /* {0x01, "MCS-4/P2"} */,
3 /* {0x02, "MCS-3/P1"} */,
3 /* {0x03, "MCS-3/P2"} */,
3 /* {0x04, "MCS-3/P1 with padding"} */,
3 /* {0x05, "MCS-3/P2 with padding"} */,
2 /* {0x06, "MCS-2/P1"} */,
1 /* {0x07, "MCS-1/P1"} */
};
static crumb_spec_t bits_spec_ul_bsn1[] = {
{10, 6},
{0, 5},
{0, 0}
};
static crumb_spec_t bits_spec_ul_bsn2[] = {
{8, 8},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_ul_tfi[] = {
{13, 3},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_ul_type2_cps[] = {
{15, 1},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_ul_type3_cps[] = {
{14, 2},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_dl_type1_bsn1[] = {
{23, 1},
{8, 8},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_dl_type1_bsn2[] = {
{13, 3},
{0, 7},
{0, 0}
};
static crumb_spec_t bits_spec_dl_type2_bsn[] = {
{23, 1},
{8, 8},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_dl_type3_bsn[] = {
{23, 1},
{8, 8},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_dl_ec_type3_bsn[] = {
{13, 3},
{0, 2},
{0, 0}
};
static crumb_spec_t bits_spec_dl_ec_type3_rrbp[] = {
{25, 2},
{0, 1},
{0, 0}
};
static crumb_spec_t bits_spec_dl_tfi[] = {
{12, 4},
{0, 1},
{0, 0}
};
static crumb_spec_t bits_spec_ul_ec_type3_dl_cc_est[] = {
{15, 1},
{0, 3},
{0, 0}
};
/* CSN1 structures */
/*(not all parts of CSN_DESCR structure are always initialized.)*/
static const
CSN_DESCR_BEGIN(PLMN_t)
M_UINT (PLMN_t, MCC2, 4, &hf_packet_plmn_mcc2),
M_UINT (PLMN_t, MCC1, 4, &hf_packet_plmn_mcc1),
M_UINT (PLMN_t, MNC3, 4, &hf_packet_plmn_mnc3),
M_UINT (PLMN_t, MCC3, 4, &hf_packet_plmn_mcc3),
M_UINT (PLMN_t, MNC2, 4, &hf_packet_plmn_mnc2),
M_UINT (PLMN_t, MNC1, 4, &hf_packet_plmn_mnc1),
CSN_DESCR_END (PLMN_t)
static const
CSN_DESCR_BEGIN(StartingTime_t)
M_UINT (StartingTime_t, N32, 5, &hf_startingtime_n32),
M_UINT (StartingTime_t, N51, 6, &hf_startingtime_n51),
M_UINT (StartingTime_t, N26, 5, &hf_startingtime_n26),
CSN_DESCR_END (StartingTime_t)
/* < Global TFI IE > */
static const
CSN_DESCR_BEGIN(Global_TFI_t)
M_UNION (Global_TFI_t, 2, &hf_global_tfi),
M_UINT (Global_TFI_t, u.UPLINK_TFI, 5, &hf_uplink_tfi),
M_UINT (Global_TFI_t, u.DOWNLINK_TFI, 5, &hf_downlink_tfi),
CSN_DESCR_END (Global_TFI_t)
/* < Starting Frame Number Description IE > */
static const
CSN_DESCR_BEGIN(Starting_Frame_Number_t)
M_UNION (Starting_Frame_Number_t, 2, &hf_starting_frame_number),
M_TYPE (Starting_Frame_Number_t, u.StartingTime, StartingTime_t),
M_UINT (Starting_Frame_Number_t, u.k, 13, &hf_starting_frame_number_k),
CSN_DESCR_END(Starting_Frame_Number_t)
/* < Ack/Nack Description IE > */
static const
CSN_DESCR_BEGIN(Ack_Nack_Description_t)
M_UINT (Ack_Nack_Description_t, FINAL_ACK_INDICATION, 1, &hf_final_ack_indication),
M_UINT (Ack_Nack_Description_t, STARTING_SEQUENCE_NUMBER, 7, &hf_starting_sequence_number),
M_BITMAP (Ack_Nack_Description_t, RECEIVED_BLOCK_BITMAP, 64, &hf_received_block_bitmap),
CSN_DESCR_END (Ack_Nack_Description_t)
/* < Packet Timing Advance IE > */
static const
CSN_DESCR_BEGIN(Packet_Timing_Advance_t)
M_NEXT_EXIST (Packet_Timing_Advance_t, Exist_TIMING_ADVANCE_VALUE, 1, &hf_timing_advance_value_exist),
M_UINT (Packet_Timing_Advance_t, TIMING_ADVANCE_VALUE, 6, &hf_timing_advance_value),
M_NEXT_EXIST (Packet_Timing_Advance_t, Exist_IndexAndtimeSlot, 2, &hf_timing_advance_index_exist),
M_UINT (Packet_Timing_Advance_t, TIMING_ADVANCE_INDEX, 4, &hf_timing_advance_index),
M_UINT (Packet_Timing_Advance_t, TIMING_ADVANCE_TIMESLOT_NUMBER, 3, &hf_timing_advance_timeslot_number),
CSN_DESCR_END (Packet_Timing_Advance_t)
/* < Power Control Parameters IE > */
static const
CSN_DESCR_BEGIN(GPRS_Power_Control_Parameters_t)
M_UINT (GPRS_Power_Control_Parameters_t, ALPHA, 4, &hf_alpha),
M_UINT (GPRS_Power_Control_Parameters_t, T_AVG_W, 5, &hf_t_avg_w),
M_UINT (GPRS_Power_Control_Parameters_t, T_AVG_T, 5, &hf_t_avg_t),
M_UINT (GPRS_Power_Control_Parameters_t, PC_MEAS_CHAN, 1, &hf_pc_meas_chan),
M_UINT (GPRS_Power_Control_Parameters_t, N_AVG_I, 4, &hf_n_avg_i),
CSN_DESCR_END (GPRS_Power_Control_Parameters_t)
/* < Global Power Control Parameters IE > */
static const
CSN_DESCR_BEGIN(Global_Power_Control_Parameters_t)
M_UINT (Global_Power_Control_Parameters_t, ALPHA, 4, &hf_alpha),
M_UINT (Global_Power_Control_Parameters_t, T_AVG_W, 5, &hf_t_avg_w),
M_UINT (Global_Power_Control_Parameters_t, T_AVG_T, 5, &hf_t_avg_t),
M_UINT (Global_Power_Control_Parameters_t, Pb, 4, &hf_global_power_control_parameters_pb),
M_UINT (Global_Power_Control_Parameters_t, PC_MEAS_CHAN, 1, &hf_pc_meas_chan),
M_UINT (Global_Power_Control_Parameters_t, INT_MEAS_CHANNEL_LIST_AVAIL, 1, &hf_global_power_control_parameters_int_meas_channel_list_avail),
M_UINT (Global_Power_Control_Parameters_t, N_AVG_I, 4, &hf_n_avg_i),
CSN_DESCR_END (Global_Power_Control_Parameters_t)
/* < Global Packet Timing Advance IE > */
static const
CSN_DESCR_BEGIN(Global_Packet_Timing_Advance_t)
M_NEXT_EXIST (Global_Packet_Timing_Advance_t, Exist_TIMING_ADVANCE_VALUE, 1, &hf_timing_advance_value_exist),
M_UINT (Global_Packet_Timing_Advance_t, TIMING_ADVANCE_VALUE, 6, &hf_timing_advance_value),
M_NEXT_EXIST (Global_Packet_Timing_Advance_t, Exist_UPLINK_TIMING_ADVANCE, 2, &hf_ul_timing_advance_index_exist),
M_UINT (Global_Packet_Timing_Advance_t, UPLINK_TIMING_ADVANCE_INDEX, 4, &hf_ul_timing_advance_index),
M_UINT (Global_Packet_Timing_Advance_t, UPLINK_TIMING_ADVANCE_TIMESLOT_NUMBER, 3, &hf_ul_timing_advance_timeslot_number),
M_NEXT_EXIST (Global_Packet_Timing_Advance_t, Exist_DOWNLINK_TIMING_ADVANCE, 2, &hf_dl_timing_advance_index_exist),
M_UINT (Global_Packet_Timing_Advance_t, DOWNLINK_TIMING_ADVANCE_INDEX, 4, &hf_dl_timing_advance_index),
M_UINT (Global_Packet_Timing_Advance_t, DOWNLINK_TIMING_ADVANCE_TIMESLOT_NUMBER, 3, &hf_dl_timing_advance_timeslot_number),
CSN_DESCR_END (Global_Packet_Timing_Advance_t)
/* < Channel Quality Report struct > */
static const
CSN_DESCR_BEGIN(Channel_Quality_Report_t)
M_UINT (Channel_Quality_Report_t, C_VALUE, 6, &hf_channel_quality_report_c_value),
M_UINT (Channel_Quality_Report_t, RXQUAL, 3, &hf_channel_quality_report_rxqual),
M_UINT (Channel_Quality_Report_t, SIGN_VAR, 6, &hf_channel_quality_report_sign_var),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[0].Exist, 1, &hf_channel_quality_report_slot0_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[0].I_LEVEL_TN, 4, &hf_channel_quality_report_slot0_i_level_tn),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[1].Exist, 1, &hf_channel_quality_report_slot1_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[1].I_LEVEL_TN, 4, &hf_channel_quality_report_slot1_i_level_tn),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[2].Exist, 1, &hf_channel_quality_report_slot2_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[2].I_LEVEL_TN, 4, &hf_channel_quality_report_slot2_i_level_tn),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[3].Exist, 1, &hf_channel_quality_report_slot3_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[3].I_LEVEL_TN, 4, &hf_channel_quality_report_slot3_i_level_tn),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[4].Exist, 1, &hf_channel_quality_report_slot4_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[4].I_LEVEL_TN, 4, &hf_channel_quality_report_slot4_i_level_tn),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[5].Exist, 1, &hf_channel_quality_report_slot5_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[5].I_LEVEL_TN, 4, &hf_channel_quality_report_slot5_i_level_tn),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[6].Exist, 1, &hf_channel_quality_report_slot6_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[6].I_LEVEL_TN, 4, &hf_channel_quality_report_slot6_i_level_tn),
M_NEXT_EXIST (Channel_Quality_Report_t, Slot[7].Exist, 1, &hf_channel_quality_report_slot7_i_level_tn_exist),
M_UINT (Channel_Quality_Report_t, Slot[7].I_LEVEL_TN, 4, &hf_channel_quality_report_slot7_i_level_tn),
CSN_DESCR_END (Channel_Quality_Report_t)
/* < EGPRS Ack/Nack Description struct > */
static const
CSN_DESCR_BEGIN (EGPRS_AckNack_Desc_t)
M_UINT (EGPRS_AckNack_Desc_t, FINAL_ACK_INDICATION, 1, &hf_final_ack_indication),
M_UINT (EGPRS_AckNack_Desc_t, BEGINNING_OF_WINDOW, 1, &hf_egprs_acknack_beginning_of_window),
M_UINT (EGPRS_AckNack_Desc_t, END_OF_WINDOW, 1, &hf_egprs_acknack_end_of_window),
M_UINT (EGPRS_AckNack_Desc_t, STARTING_SEQUENCE_NUMBER, 11, &hf_starting_sequence_number),
M_NEXT_EXIST (EGPRS_AckNack_Desc_t, Exist_CRBB, 3