aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ansi_a.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-ansi_a.c')
-rw-r--r--epan/dissectors/packet-ansi_a.c937
1 files changed, 474 insertions, 463 deletions
diff --git a/epan/dissectors/packet-ansi_a.c b/epan/dissectors/packet-ansi_a.c
index 904a85b9f7..4af76526ba 100644
--- a/epan/dissectors/packet-ansi_a.c
+++ b/epan/dissectors/packet-ansi_a.c
@@ -790,7 +790,7 @@ static const value_string cell_disc_vals[] = {
};
/*
- * Not strictly A-interface info, but put here to avoid file polution
+ * Not strictly A-interface info, but put here to avoid file pollution
*
* Title 3GPP2 Other
*
@@ -843,6 +843,7 @@ const value_string ansi_tsb58_language_ind_vals[] = {
{ 0x0013, "Dutch" },
{ 0x0014, "Swedish" },
{ 0x0015, "Danish" },
+ { 0x0016, "Unassigned"}, /* N.B. no entry spec, but include to allow direct lookup */
{ 0x0017, "Finnish" },
{ 0x0018, "Norwegian" },
{ 0x0019, "Greek" },
@@ -922,446 +923,449 @@ value_string_ext ansi_tsb58_srvc_cat_vals_ext = VALUE_STRING_EXT_INIT(ansi_tsb58
/* Initialize the protocol and registered fields */
-static int proto_a_bsmap = -1;
-static int proto_a_dtap = -1;
+static int proto_a_bsmap;
+static int proto_a_dtap;
const ext_value_string_t *ansi_a_bsmap_strings = NULL;
const ext_value_string_t *ansi_a_dtap_strings = NULL;
const ext_value_string_t *ansi_a_elem_1_strings = NULL;
-static int ansi_a_tap = -1;
-
-static int hf_ansi_a_bsmap_msgtype = -1;
-static int hf_ansi_a_dtap_msgtype = -1;
-static int hf_ansi_a_protocol_disc = -1;
-static int hf_ansi_a_reserved_octet = -1;
-static int hf_ansi_a_ti_flag = -1;
-static int hf_ansi_a_ti_ti = -1;
-static int hf_ansi_a_cm_svrc_type = -1;
-static int hf_ansi_a_elem_id = -1;
-static int hf_ansi_a_elem_id_f0 = -1;
-static int hf_ansi_a_length = -1;
-static int hf_ansi_a_esn = -1;
-static int hf_ansi_a_imsi = -1;
-static int hf_ansi_a_meid = -1;
-static int hf_ansi_a_cld_party_bcd_num = -1;
-static int hf_ansi_a_cld_party_ascii_num = -1;
-static int hf_ansi_a_clg_party_ascii_num = -1;
-static int hf_ansi_a_cell_ci = -1;
-static int hf_ansi_a_cell_lac = -1;
-static int hf_ansi_a_cell_mscid = -1;
-static int hf_ansi_a_pdsn_ip_addr = -1;
-static int hf_ansi_a_s_pdsn_ip_addr = -1;
-static int hf_ansi_a_anchor_ip_addr = -1;
-static int hf_ansi_a_anchor_pp_ip_addr = -1;
-static int hf_ansi_a_so = -1;
-static int hf_ansi_a_cause_1 = -1; /* 1 octet cause */
-static int hf_ansi_a_cause_2 = -1; /* 2 octet cause */
-static int hf_ansi_a_ms_info_rec_signal_type = -1;
-static int hf_ansi_a_ms_info_rec_signal_alert_pitch = -1;
-static int hf_ansi_a_ms_info_rec_signal_tone = -1;
-static int hf_ansi_a_ms_info_rec_signal_isdn_alert = -1;
-static int hf_ansi_a_ms_info_rec_signal_is54b_alert = -1;
-static int hf_ansi_a_ms_info_rec_call_waiting_ind = -1;
-static int hf_ansi_a_extension_8_80 = -1;
-static int hf_ansi_a_reserved_bits_8_generic = -1;
-static int hf_ansi_a_reserved_bits_8_01 = -1;
-static int hf_ansi_a_reserved_bits_8_07 = -1;
-static int hf_ansi_a_reserved_bits_8_0c = -1;
-static int hf_ansi_a_reserved_bits_8_0f = -1;
-static int hf_ansi_a_reserved_bits_8_10 = -1;
-static int hf_ansi_a_reserved_bits_8_18 = -1;
-static int hf_ansi_a_reserved_bits_8_1c = -1;
-static int hf_ansi_a_reserved_bits_8_1f = -1;
-static int hf_ansi_a_reserved_bits_8_3f = -1;
-static int hf_ansi_a_reserved_bits_8_7f = -1;
-static int hf_ansi_a_reserved_bits_8_80 = -1;
-static int hf_ansi_a_reserved_bits_8_c0 = -1;
-static int hf_ansi_a_reserved_bits_8_e0 = -1;
-static int hf_ansi_a_reserved_bits_8_f0 = -1;
-static int hf_ansi_a_reserved_bits_8_f8 = -1;
-static int hf_ansi_a_reserved_bits_8_fc = -1;
-static int hf_ansi_a_reserved_bits_8_fe = -1;
-static int hf_ansi_a_reserved_bits_8_ff = -1;
-static int hf_ansi_a_reserved_bits_16_001f = -1;
-static int hf_ansi_a_reserved_bits_16_003f = -1;
-static int hf_ansi_a_reserved_bits_16_8000 = -1;
-static int hf_ansi_a_reserved_bits_16_f800 = -1;
-static int hf_ansi_a_reserved_bits_24_001800 = -1;
-static int hf_ansi_a_reserved_bits_24_006000 = -1;
-static int hf_ansi_a_reserved_bits_24_007000 = -1;
-static int hf_ansi_a_speech_or_data_indicator = -1;
-static int hf_ansi_a_channel_number = -1;
-static int hf_ansi_a_IOS5_channel_number = -1;
-static int hf_ansi_a_chan_rate_and_type = -1;
-static int hf_ansi_a_speech_enc_or_data_rate = -1;
-static int hf_ansi_a_chan_type_data_ext = -1;
-static int hf_ansi_a_chan_type_data_transparent = -1;
-static int hf_ansi_a_return_cause = -1;
-static int hf_ansi_a_rf_chan_id_color_code = -1;
-static int hf_ansi_a_rf_chan_id_n_amps_based = -1;
-static int hf_ansi_a_rf_chan_id_amps_based = -1;
-static int hf_ansi_a_rf_chan_id_timeslot = -1;
-static int hf_ansi_a_rf_chan_id_channel_number = -1;
-static int hf_ansi_a_sr_id = -1;
-static int hf_ansi_a_sid = -1;
-static int hf_ansi_a_is95_chan_id_hho = -1;
-static int hf_ansi_a_is95_chan_id_num_chans_add = -1;
-static int hf_ansi_a_is95_chan_id_frame_offset = -1;
-static int hf_ansi_a_is95_chan_id_walsh_code_chan_idx = -1;
-static int hf_ansi_a_is95_chan_id_pilot_pn = -1;
-static int hf_ansi_a_is95_chan_id_power_combined = -1;
-static int hf_ansi_a_is95_chan_id_freq_incl = -1;
-static int hf_ansi_a_is95_chan_id_channel_number = -1;
-static int hf_ansi_a_enc_info_enc_parm_id = -1;
-static int hf_ansi_a_enc_info_status = -1;
-static int hf_ansi_a_enc_info_available = -1;
-static int hf_ansi_a_cm2_mob_p_rev = -1;
-static int hf_ansi_a_cm2_see_list = -1;
-static int hf_ansi_a_cm2_rf_power_cap = -1;
-static int hf_ansi_a_cm2_nar_an_cap = -1;
-static int hf_ansi_a_cm2_is95 = -1;
-static int hf_ansi_a_cm2_slotted = -1;
-static int hf_ansi_a_cm2_dtx = -1;
-static int hf_ansi_a_cm2_mobile_term = -1;
-static int hf_ansi_a_cm2_analog_cap = -1;
-static int hf_ansi_a_cm2_psi = -1;
-static int hf_ansi_a_cm2_scm_len = -1;
-static int hf_ansi_a_cm2_scm = -1;
-static int hf_ansi_a_cm2_scm_ext_scm_ind = -1;
-static int hf_ansi_a_cm2_scm_dual_mode = -1;
-static int hf_ansi_a_cm2_scm_slotted = -1;
-static int hf_ansi_a_cm2_scm_meid_configured = -1;
-static int hf_ansi_a_cm2_scm_25MHz_bandwidth = -1;
-static int hf_ansi_a_cm2_scm_transmission = -1;
-static int hf_ansi_a_cm2_scm_power_class = -1;
-static int hf_ansi_a_cm2_scm_band_class_count = -1;
-static int hf_ansi_a_cm2_scm_band_class_entry_len = -1;
-static int hf_ansi_a_scm_band_class_entry_band_class = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode0_1 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode1_1 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode2_1 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode3_1 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode4_1 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode0_2 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode1_2 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode2_2 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode3_2 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode4_2 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode5_2 = -1;
-static int hf_ansi_a_scm_band_class_entry_opmode6_2 = -1;
-static int hf_ansi_a_scm_band_class_entry_p_rev = -1;
-static int hf_ansi_a_meid_mid_digit_1 = -1;
-static int hf_ansi_a_imsi_mid_digit_1 = -1;
-static int hf_ansi_a_mid_odd_even_ind = -1;
-static int hf_ansi_a_mid_type_of_id = -1;
-static int hf_ansi_a_mid_broadcast_priority = -1;
-static int hf_ansi_a_mid_broadcast_message_id = -1;
-static int hf_ansi_a_mid_broadcast_zone_id = -1;
-static int hf_ansi_a_mid_broadcast_srvc_cat = -1;
-static int hf_ansi_a_mid_broadcast_language = -1;
-static int hf_ansi_a_mid_unused = -1;
-static int hf_ansi_a_sci_sign = -1;
-static int hf_ansi_a_sci = -1;
-static int hf_ansi_a_prio_call_priority = -1;
-static int hf_ansi_a_prio_queue_allowed = -1;
-static int hf_ansi_a_prio_preempt_allowed = -1;
-static int hf_ansi_a_mob_p_rev = -1;
-static int hf_ansi_a_cause_1_ext = -1;
-static int hf_ansi_a_cause_2_ext = -1;
-static int hf_ansi_a_cell_id_disc = -1;
-static int hf_ansi_a_cic = -1;
-static int hf_ansi_a_cic_pcm_multi = -1;
-static int hf_ansi_a_cic_timeslot = -1;
-static int hf_ansi_a_cic_ext_cic = -1;
-static int hf_ansi_a_cic_ext_pcm_multi = -1;
-static int hf_ansi_a_cic_ext_timeslot = -1;
-static int hf_ansi_a_cic_ext_circuit_mode = -1;
-static int hf_ansi_a_ssci_mopd = -1;
-static int hf_ansi_a_ssci_geci = -1;
-static int hf_ansi_a_downlink_re_num_cells = -1;
-static int hf_ansi_a_downlink_re_sig_str_raw = -1;
-static int hf_ansi_a_downlink_re_cdma_towd = -1;
-static int hf_ansi_a_downlink_re_entry_env_len = -1;
-static int hf_ansi_a_ho_pow_lev_num_cells = -1;
-static int hf_ansi_a_ho_pow_lev_id_type = -1;
-static int hf_ansi_a_ho_pow_lev_pow_lev = -1;
-static int hf_ansi_a_uz_id = -1;
-static int hf_ansi_a_info_rec_req = -1;
-static int hf_ansi_a_is2000_chan_id_otd = -1;
-static int hf_ansi_a_is2000_chan_id_chan_count = -1;
-static int hf_ansi_a_is2000_chan_id_frame_offset = -1;
-static int hf_ansi_a_is2000_chan_id_chan_chan_type = -1;
-static int hf_ansi_a_is2000_chan_id_chan_rev_fch_gating = -1;
-static int hf_ansi_a_is2000_chan_id_chan_rev_pilot_gating_rate = -1;
-static int hf_ansi_a_is2000_chan_id_chan_qof_mask = -1;
-static int hf_ansi_a_is2000_chan_id_chan_walsh_code_chan_idx = -1;
-static int hf_ansi_a_is2000_chan_id_chan_pilot_pn_code = -1;
-static int hf_ansi_a_is2000_chan_id_chan_power_combined = -1;
-static int hf_ansi_a_is2000_chan_id_chan_freq_incl = -1;
-static int hf_ansi_a_is2000_chan_id_chan_channel_number = -1;
-static int hf_ansi_a_is2000_chan_id_chan_fdc_length = -1;
-static int hf_ansi_a_is2000_chan_id_chan_fdc_band_class = -1;
-static int hf_ansi_a_is2000_chan_id_chan_fdc_fwd_chan_freq = -1;
-static int hf_ansi_a_is2000_chan_id_chan_fdc_rev_chan_freq = -1;
-static int hf_ansi_a_is95_ms_meas_chan_id_band_class = -1;
-static int hf_ansi_a_is95_ms_meas_chan_id_channel_number = -1;
-static int hf_ansi_a_clg_party_ascii_num_ton = -1;
-static int hf_ansi_a_clg_party_ascii_num_plan = -1;
-static int hf_ansi_a_clg_party_ascii_num_pi = -1;
-static int hf_ansi_a_clg_party_ascii_num_si = -1;
-static int hf_ansi_a_lai_mcc = -1;
-static int hf_ansi_a_lai_mnc = -1;
-static int hf_ansi_a_lai_lac = -1;
-static int hf_ansi_a_rej_cause = -1;
-static int hf_ansi_a_auth_chlg_param_rand_num_type = -1;
-static int hf_ansi_a_auth_chlg_param_rand = -1;
-static int hf_ansi_a_auth_resp_param_sig_type = -1;
-static int hf_ansi_a_auth_resp_param_sig = -1;
-static int hf_ansi_a_auth_param_count_count = -1;
-static int hf_ansi_a_mwi_num_messages = -1;
-static int hf_ansi_a_signal_signal_value = -1;
-static int hf_ansi_a_signal_alert_pitch = -1;
-static int hf_ansi_a_clg_party_bcd_num_ton = -1;
-static int hf_ansi_a_clg_party_bcd_num_plan = -1;
-static int hf_ansi_a_qos_params_packet_priority = -1;
-static int hf_ansi_a_cause_l3_coding_standard = -1;
-static int hf_ansi_a_cause_l3_location = -1;
-static int hf_ansi_a_cause_l3_class = -1;
-static int hf_ansi_a_cause_l3_value_without_class = -1;
-static int hf_ansi_a_cause_l3_value = -1;
-static int hf_ansi_a_auth_conf_param_randc = -1;
-static int hf_ansi_a_xmode_tfo_mode = -1;
-static int hf_ansi_a_reg_type_type = -1;
-static int hf_ansi_a_tag_value = -1;
-static int hf_ansi_a_hho_params_band_class = -1;
-static int hf_ansi_a_hho_params_num_pream_frames = -1;
-static int hf_ansi_a_hho_params_reset_l2 = -1;
-static int hf_ansi_a_hho_params_reset_fpc = -1;
-static int hf_ansi_a_hho_params_enc_mode = -1;
-static int hf_ansi_a_hho_params_private_lcm = -1;
-static int hf_ansi_a_hho_params_rev_pwr_cntl_delay_incl = -1;
-static int hf_ansi_a_hho_params_rev_pwr_cntl_delay = -1;
-static int hf_ansi_a_hho_params_nom_pwr_ext = -1;
-static int hf_ansi_a_hho_params_nom_pwr = -1;
-static int hf_ansi_a_hho_params_fpc_subchan_info = -1;
-static int hf_ansi_a_hho_params_fpc_subchan_info_incl = -1;
-static int hf_ansi_a_hho_params_pwr_cntl_step = -1;
-static int hf_ansi_a_hho_params_pwr_cntl_step_incl = -1;
-static int hf_ansi_a_sw_ver_major = -1;
-static int hf_ansi_a_sw_ver_minor = -1;
-static int hf_ansi_a_sw_ver_point = -1;
-static int hf_ansi_a_so_proprietary_ind = -1;
-static int hf_ansi_a_so_revision = -1;
-static int hf_ansi_a_so_base_so_num = -1;
-static int hf_ansi_a_soci = -1;
-static int hf_ansi_a_so_list_num = -1;
-static int hf_ansi_a_so_list_sr_id = -1;
-static int hf_ansi_a_so_list_soci = -1;
-static int hf_ansi_a_nid = -1;
-static int hf_ansi_a_pzid = -1;
-static int hf_ansi_a_adds_user_part_burst_type = -1;
-static int hf_ansi_a_adds_user_part_ext_burst_type = -1;
-static int hf_ansi_a_adds_user_part_ext_data = -1;
-static int hf_ansi_a_adds_user_part_unknown_data = -1;
-static int hf_ansi_a_amps_hho_params_enc_mode = -1;
-static int hf_ansi_a_is2000_scr_num_fill_bits = -1;
-static int hf_ansi_a_is2000_scr_for_mux_option = -1;
-static int hf_ansi_a_is2000_scr_rev_mux_option = -1;
-static int hf_ansi_a_is2000_scr_for_fch_rate = -1;
-static int hf_ansi_a_is2000_scr_rev_fch_rate = -1;
-static int hf_ansi_a_is2000_scr_num_socr = -1;
-static int hf_ansi_a_is2000_scr_socr_soc_ref = -1;
-static int hf_ansi_a_is2000_scr_socr_so = -1;
-static int hf_ansi_a_is2000_scr_socr_for_chan_type = -1;
-static int hf_ansi_a_is2000_scr_socr_rev_chan_type = -1;
-static int hf_ansi_a_is2000_scr_socr_ui_enc_mode = -1;
-static int hf_ansi_a_is2000_scr_socr_sr_id = -1;
-static int hf_ansi_a_is2000_scr_socr_rlp_info_incl = -1;
-static int hf_ansi_a_is2000_scr_socr_rlp_blob_len = -1;
-static int hf_ansi_a_is2000_scr_socr_rlp_blob_msb = -1;
-static int hf_ansi_a_is2000_scr_socr_rlp_blob = -1;
-static int hf_ansi_a_is2000_scr_socr_rlp_blob_lsb = -1;
-static int hf_ansi_a_is2000_scr_socr_fch_cc_incl = -1;
-static int hf_ansi_a_is2000_scr_socr_fch_frame_size_support_ind = -1;
-static int hf_ansi_a_is2000_scr_socr_for_fch_rc = -1;
-static int hf_ansi_a_is2000_scr_socr_rev_fch_rc = -1;
-static int hf_ansi_a_is2000_nn_scr_num_fill_bits = -1;
-static int hf_ansi_a_is2000_nn_scr_content = -1;
-static int hf_ansi_a_is2000_nn_scr_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_rev_pdch_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_for_pdch_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_eram_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_dcch_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_fch_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_otd_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_enh_rc_cfg_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_qpch_support_ind = -1;
-static int hf_ansi_a_is2000_mob_cap_fch_info_octet_len = -1;
-static int hf_ansi_a_is2000_mob_cap_fch_info_geo_loc_type = -1;
-static int hf_ansi_a_is2000_mob_cap_fch_info_geo_loc_incl = -1;
-static int hf_ansi_a_is2000_mob_cap_fch_info_num_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_fch_info_content = -1;
-static int hf_ansi_a_is2000_mob_cap_fch_info_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_dcch_info_octet_len = -1;
-static int hf_ansi_a_is2000_mob_cap_dcch_info_num_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_dcch_info_content = -1;
-static int hf_ansi_a_is2000_mob_cap_dcch_info_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_for_pdch_info_octet_len = -1;
-static int hf_ansi_a_is2000_mob_cap_for_pdch_info_num_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_for_pdch_info_content = -1;
-static int hf_ansi_a_is2000_mob_cap_for_pdch_info_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_octet_len = -1;
-static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_num_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_content = -1;
-static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_fill_bits = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support_a7 = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support_a6 = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support_a5 = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support_a4 = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support_a3 = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support_a2 = -1;
-static int hf_ansi_a_is2000_mob_cap_vp_support_a1 = -1;
-static int hf_ansi_a_protocol_type = -1;
-static int hf_ansi_a_fwd_ms_info_rec_cld_pn_num_type = -1;
-static int hf_ansi_a_fwd_ms_info_rec_cld_pn_num_plan = -1;
-static int hf_ansi_a_fwd_ms_info_rec_cld_pn_num = -1;
-static int hf_ansi_a_fwd_ms_info_rec_clg_pn_num_type = -1;
-static int hf_ansi_a_fwd_ms_info_rec_clg_pn_num_plan = -1;
-static int hf_ansi_a_fwd_ms_info_rec_clg_pn_num = -1;
-static int hf_ansi_a_fwd_ms_info_rec_clg_pn_pi = -1;
-static int hf_ansi_a_fwd_ms_info_rec_clg_pn_si = -1;
-static int hf_ansi_a_fwd_ms_info_rec_mw_num = -1;
-static int hf_ansi_a_fwd_ms_info_rec_content = -1;
-static int hf_ansi_a_rev_ms_info_rec_cld_pn_num_type = -1;
-static int hf_ansi_a_rev_ms_info_rec_cld_pn_num_plan = -1;
-static int hf_ansi_a_rev_ms_info_rec_cld_pn_num = -1;
-static int hf_ansi_a_rev_ms_info_rec_clg_pn_num_type = -1;
-static int hf_ansi_a_rev_ms_info_rec_clg_pn_num_plan = -1;
-static int hf_ansi_a_rev_ms_info_rec_clg_pn_num = -1;
-static int hf_ansi_a_rev_ms_info_rec_clg_pn_pi = -1;
-static int hf_ansi_a_rev_ms_info_rec_clg_pn_si = -1;
-static int hf_ansi_a_rev_ms_info_rec_so_info_fwd_support = -1;
-static int hf_ansi_a_rev_ms_info_rec_so_info_rev_support = -1;
-static int hf_ansi_a_rev_ms_info_rec_so_info_so = -1;
-static int hf_ansi_a_rev_ms_info_rec_content = -1;
-static int hf_ansi_a_ext_ho_dir_params_srch_win_a = -1;
-static int hf_ansi_a_ext_ho_dir_params_srch_win_n = -1;
-static int hf_ansi_a_ext_ho_dir_params_srch_win_r = -1;
-static int hf_ansi_a_ext_ho_dir_params_t_add = -1;
-static int hf_ansi_a_ext_ho_dir_params_t_drop = -1;
-static int hf_ansi_a_ext_ho_dir_params_t_comp = -1;
-static int hf_ansi_a_ext_ho_dir_params_t_tdrop = -1;
-static int hf_ansi_a_ext_ho_dir_params_nghbor_max_age = -1;
-static int hf_ansi_a_ext_ho_dir_params_target_bs_values_incl = -1;
-static int hf_ansi_a_ext_ho_dir_params_soft_slope = -1;
-static int hf_ansi_a_ext_ho_dir_params_add_intercept = -1;
-static int hf_ansi_a_ext_ho_dir_params_drop_intercept = -1;
-static int hf_ansi_a_ext_ho_dir_params_target_bs_p_rev = -1;
-static int hf_ansi_a_cdma_sowd_sowd = -1;
-static int hf_ansi_a_cdma_sowd_resolution = -1;
-static int hf_ansi_a_cdma_sowd_timestamp = -1;
-static int hf_ansi_a_re_res_prio_incl = -1;
-static int hf_ansi_a_re_res_forward = -1;
-static int hf_ansi_a_re_res_reverse = -1;
-static int hf_ansi_a_re_res_alloc = -1;
-static int hf_ansi_a_re_res_avail = -1;
-static int hf_ansi_a_cld_party_ascii_num_ton = -1;
-static int hf_ansi_a_cld_party_ascii_num_plan = -1;
-static int hf_ansi_a_band_class = -1;
-static int hf_ansi_a_is2000_cause = -1;
-static int hf_ansi_a_auth_event = -1;
-static int hf_ansi_a_psmm_count = -1;
-static int hf_ansi_a_geo_loc = -1;
-static int hf_ansi_a_cct_group_all_circuits = -1;
-static int hf_ansi_a_cct_group_inclusive = -1;
-static int hf_ansi_a_cct_group_count = -1;
-static int hf_ansi_a_cct_group_first_cic = -1;
-static int hf_ansi_a_cct_group_first_cic_pcm_multi = -1;
-static int hf_ansi_a_cct_group_first_cic_timeslot = -1;
-static int hf_ansi_a_paca_timestamp_queuing_time = -1;
-static int hf_ansi_a_paca_order_action_reqd = -1;
-static int hf_ansi_a_paca_reoi_pri = -1;
-static int hf_ansi_a_a2p_bearer_sess_max_frames = -1;
-static int hf_ansi_a_a2p_bearer_sess_ip_addr_type = -1;
-static int hf_ansi_a_a2p_bearer_sess_addr_flag = -1;
-static int hf_ansi_a_a2p_bearer_sess_ipv4_addr = -1;
-static int hf_ansi_a_a2p_bearer_sess_ipv6_addr = -1;
-static int hf_ansi_a_a2p_bearer_sess_udp_port = -1;
-static int hf_ansi_a_a2p_bearer_form_num_formats = -1;
-static int hf_ansi_a_a2p_bearer_form_ip_addr_type = -1;
-static int hf_ansi_a_a2p_bearer_form_format_len = -1;
-static int hf_ansi_a_a2p_bearer_form_format_tag_type = -1;
-static int hf_ansi_a_a2p_bearer_form_format_format_id = -1;
-static int hf_ansi_a_a2p_bearer_form_format_rtp_payload_type = -1;
-static int hf_ansi_a_a2p_bearer_form_format_bearer_addr_flag = -1;
-static int hf_ansi_a_a2p_bearer_form_format_ipv4_addr = -1;
-static int hf_ansi_a_a2p_bearer_form_format_ipv6_addr = -1;
-static int hf_ansi_a_a2p_bearer_form_format_udp_port = -1;
-static int hf_ansi_a_a2p_bearer_form_format_ext_len = -1;
-static int hf_ansi_a_a2p_bearer_form_format_ext_id = -1;
-static int hf_ansi_a_ms_des_freq_band_class = -1;
-static int hf_ansi_a_ms_des_freq_cdma_channel = -1;
-static int hf_ansi_a_plcm_id_plcm_type = -1;
-static int hf_ansi_a_bdtmf_trans_info_dtmf_off_len = -1;
-static int hf_ansi_a_bdtmf_trans_info_dtmf_on_len = -1;
-static int hf_ansi_a_bdtmf_chars_num_chars = -1;
-static int hf_ansi_a_bdtmf_chars_digits = -1;
-static int hf_ansi_a_encryption_parameter_value = -1;
-static int hf_ansi_a_layer3_info = -1;
-static int hf_ansi_a_manufacturer_software_info = -1;
-static int hf_ansi_a_circuit_bitmap = -1;
-static int hf_ansi_a_extension_parameter_value = -1;
-static int hf_ansi_a_msb_first_digit = -1;
-static int hf_ansi_a_dcch_cc_incl = -1;
-static int hf_ansi_a_for_sch_cc_incl = -1;
-static int hf_ansi_a_rev_sch_cc_incl = -1;
-static int hf_ansi_a_plcm42 = -1;
+static int ansi_a_tap;
+
+static int hf_ansi_a_bsmap_msgtype;
+static int hf_ansi_a_dtap_msgtype;
+static int hf_ansi_a_protocol_disc;
+static int hf_ansi_a_reserved_octet;
+static int hf_ansi_a_ti_flag;
+static int hf_ansi_a_ti_ti;
+static int hf_ansi_a_cm_svrc_type;
+static int hf_ansi_a_elem_id;
+static int hf_ansi_a_elem_id_f0;
+static int hf_ansi_a_length;
+static int hf_ansi_a_esn;
+static int hf_ansi_a_imsi;
+static int hf_ansi_a_meid;
+static int hf_ansi_a_cld_party_bcd_num;
+static int hf_ansi_a_cld_party_ascii_num;
+static int hf_ansi_a_clg_party_ascii_num;
+static int hf_ansi_a_cell_ci;
+static int hf_ansi_a_cell_lac;
+static int hf_ansi_a_cell_mscid;
+static int hf_ansi_a_pdsn_ip_addr;
+static int hf_ansi_a_s_pdsn_ip_addr;
+static int hf_ansi_a_anchor_ip_addr;
+static int hf_ansi_a_anchor_pp_ip_addr;
+static int hf_ansi_a_so;
+static int hf_ansi_a_cause_1; /* 1 octet cause */
+static int hf_ansi_a_cause_2; /* 2 octet cause */
+static int hf_ansi_a_ms_info_rec_signal_type;
+static int hf_ansi_a_ms_info_rec_signal_alert_pitch;
+static int hf_ansi_a_ms_info_rec_signal_tone;
+static int hf_ansi_a_ms_info_rec_signal_isdn_alert;
+static int hf_ansi_a_ms_info_rec_signal_is54b_alert;
+static int hf_ansi_a_ms_info_rec_call_waiting_ind;
+static int hf_ansi_a_extension_8_80;
+static int hf_ansi_a_reserved_bits_8_generic;
+static int hf_ansi_a_reserved_bits_8_01;
+static int hf_ansi_a_reserved_bits_8_07;
+static int hf_ansi_a_reserved_bits_8_0c;
+static int hf_ansi_a_reserved_bits_8_0f;
+static int hf_ansi_a_reserved_bits_8_10;
+static int hf_ansi_a_reserved_bits_8_18;
+static int hf_ansi_a_reserved_bits_8_1c;
+static int hf_ansi_a_reserved_bits_8_1f;
+static int hf_ansi_a_reserved_bits_8_3f;
+static int hf_ansi_a_reserved_bits_8_7f;
+static int hf_ansi_a_reserved_bits_8_80;
+static int hf_ansi_a_reserved_bits_8_c0;
+static int hf_ansi_a_reserved_bits_8_e0;
+static int hf_ansi_a_reserved_bits_8_f0;
+static int hf_ansi_a_reserved_bits_8_f8;
+static int hf_ansi_a_reserved_bits_8_fc;
+static int hf_ansi_a_reserved_bits_8_fe;
+static int hf_ansi_a_reserved_bits_8_ff;
+static int hf_ansi_a_reserved_bits_16_001f;
+static int hf_ansi_a_reserved_bits_16_003f;
+static int hf_ansi_a_reserved_bits_16_8000;
+static int hf_ansi_a_reserved_bits_16_f800;
+static int hf_ansi_a_reserved_bits_24_001800;
+static int hf_ansi_a_reserved_bits_24_006000;
+static int hf_ansi_a_reserved_bits_24_007000;
+static int hf_ansi_a_speech_or_data_indicator;
+static int hf_ansi_a_channel_number;
+static int hf_ansi_a_IOS5_channel_number;
+static int hf_ansi_a_chan_rate_and_type;
+static int hf_ansi_a_speech_enc_or_data_rate;
+static int hf_ansi_a_chan_type_data_ext;
+static int hf_ansi_a_chan_type_data_transparent;
+static int hf_ansi_a_return_cause;
+static int hf_ansi_a_rf_chan_id_color_code;
+static int hf_ansi_a_rf_chan_id_n_amps_based;
+static int hf_ansi_a_rf_chan_id_amps_based;
+static int hf_ansi_a_rf_chan_id_timeslot;
+static int hf_ansi_a_rf_chan_id_channel_number;
+static int hf_ansi_a_sr_id;
+static int hf_ansi_a_sid;
+static int hf_ansi_a_is95_chan_id_hho;
+static int hf_ansi_a_is95_chan_id_num_chans_add;
+static int hf_ansi_a_is95_chan_id_frame_offset;
+static int hf_ansi_a_is95_chan_id_walsh_code_chan_idx;
+static int hf_ansi_a_is95_chan_id_pilot_pn;
+static int hf_ansi_a_is95_chan_id_power_combined;
+static int hf_ansi_a_is95_chan_id_freq_incl;
+static int hf_ansi_a_is95_chan_id_channel_number;
+static int hf_ansi_a_enc_info_enc_parm_id;
+static int hf_ansi_a_enc_info_status;
+static int hf_ansi_a_enc_info_available;
+static int hf_ansi_a_cm2_mob_p_rev;
+static int hf_ansi_a_cm2_see_list;
+static int hf_ansi_a_cm2_rf_power_cap;
+static int hf_ansi_a_cm2_nar_an_cap;
+static int hf_ansi_a_cm2_is95;
+static int hf_ansi_a_cm2_slotted;
+static int hf_ansi_a_cm2_dtx;
+static int hf_ansi_a_cm2_mobile_term;
+static int hf_ansi_a_cm2_analog_cap;
+static int hf_ansi_a_cm2_psi;
+static int hf_ansi_a_cm2_scm_len;
+static int hf_ansi_a_cm2_scm;
+static int hf_ansi_a_cm2_scm_ext_scm_ind;
+static int hf_ansi_a_cm2_scm_dual_mode;
+static int hf_ansi_a_cm2_scm_slotted;
+static int hf_ansi_a_cm2_scm_meid_configured;
+static int hf_ansi_a_cm2_scm_25MHz_bandwidth;
+static int hf_ansi_a_cm2_scm_transmission;
+static int hf_ansi_a_cm2_scm_power_class;
+static int hf_ansi_a_cm2_scm_band_class_count;
+static int hf_ansi_a_cm2_scm_band_class_entry_len;
+static int hf_ansi_a_scm_band_class_entry_band_class;
+static int hf_ansi_a_scm_band_class_entry_opmode0_1;
+static int hf_ansi_a_scm_band_class_entry_opmode1_1;
+static int hf_ansi_a_scm_band_class_entry_opmode2_1;
+static int hf_ansi_a_scm_band_class_entry_opmode3_1;
+static int hf_ansi_a_scm_band_class_entry_opmode4_1;
+static int hf_ansi_a_scm_band_class_entry_opmode0_2;
+static int hf_ansi_a_scm_band_class_entry_opmode1_2;
+static int hf_ansi_a_scm_band_class_entry_opmode2_2;
+static int hf_ansi_a_scm_band_class_entry_opmode3_2;
+static int hf_ansi_a_scm_band_class_entry_opmode4_2;
+static int hf_ansi_a_scm_band_class_entry_opmode5_2;
+static int hf_ansi_a_scm_band_class_entry_opmode6_2;
+static int hf_ansi_a_scm_band_class_entry_p_rev;
+static int hf_ansi_a_meid_mid_digit_1;
+static int hf_ansi_a_imsi_mid_digit_1;
+static int hf_ansi_a_mid_odd_even_ind;
+static int hf_ansi_a_mid_type_of_id;
+static int hf_ansi_a_mid_broadcast_priority;
+static int hf_ansi_a_mid_broadcast_message_id;
+static int hf_ansi_a_mid_broadcast_zone_id;
+static int hf_ansi_a_mid_broadcast_srvc_cat;
+static int hf_ansi_a_mid_broadcast_language;
+static int hf_ansi_a_mid_unused;
+static int hf_ansi_a_sci_sign;
+static int hf_ansi_a_sci;
+static int hf_ansi_a_prio_call_priority;
+static int hf_ansi_a_prio_queue_allowed;
+static int hf_ansi_a_prio_preempt_allowed;
+static int hf_ansi_a_mob_p_rev;
+static int hf_ansi_a_cause_1_ext;
+static int hf_ansi_a_cause_2_ext;
+static int hf_ansi_a_cell_id_disc;
+static int hf_ansi_a_cic;
+static int hf_ansi_a_cic_pcm_multi;
+static int hf_ansi_a_cic_timeslot;
+static int hf_ansi_a_cic_ext_cic;
+static int hf_ansi_a_cic_ext_pcm_multi;
+static int hf_ansi_a_cic_ext_timeslot;
+static int hf_ansi_a_cic_ext_circuit_mode;
+static int hf_ansi_a_ssci_mopd;
+static int hf_ansi_a_ssci_geci;
+static int hf_ansi_a_downlink_re_num_cells;
+static int hf_ansi_a_downlink_re_sig_str_raw;
+static int hf_ansi_a_downlink_re_cdma_towd;
+static int hf_ansi_a_downlink_re_entry_env_len;
+static int hf_ansi_a_ho_pow_lev_num_cells;
+static int hf_ansi_a_ho_pow_lev_id_type;
+static int hf_ansi_a_ho_pow_lev_pow_lev;
+static int hf_ansi_a_uz_id;
+static int hf_ansi_a_info_rec_req;
+static int hf_ansi_a_is2000_chan_id_otd;
+static int hf_ansi_a_is2000_chan_id_chan_count;
+static int hf_ansi_a_is2000_chan_id_frame_offset;
+static int hf_ansi_a_is2000_chan_id_chan_chan_type;
+static int hf_ansi_a_is2000_chan_id_chan_rev_fch_gating;
+static int hf_ansi_a_is2000_chan_id_chan_rev_pilot_gating_rate;
+static int hf_ansi_a_is2000_chan_id_chan_qof_mask;
+static int hf_ansi_a_is2000_chan_id_chan_walsh_code_chan_idx;
+static int hf_ansi_a_is2000_chan_id_chan_pilot_pn_code;
+static int hf_ansi_a_is2000_chan_id_chan_power_combined;
+static int hf_ansi_a_is2000_chan_id_chan_freq_incl;
+static int hf_ansi_a_is2000_chan_id_chan_channel_number;
+static int hf_ansi_a_is2000_chan_id_chan_fdc_length;
+static int hf_ansi_a_is2000_chan_id_chan_fdc_band_class;
+static int hf_ansi_a_is2000_chan_id_chan_fdc_fwd_chan_freq;
+static int hf_ansi_a_is2000_chan_id_chan_fdc_rev_chan_freq;
+static int hf_ansi_a_is95_ms_meas_chan_id_band_class;
+static int hf_ansi_a_is95_ms_meas_chan_id_channel_number;
+static int hf_ansi_a_clg_party_ascii_num_ton;
+static int hf_ansi_a_clg_party_ascii_num_plan;
+static int hf_ansi_a_clg_party_ascii_num_pi;
+static int hf_ansi_a_clg_party_ascii_num_si;
+static int hf_ansi_a_lai_mcc;
+static int hf_ansi_a_lai_mnc;
+static int hf_ansi_a_lai_lac;
+static int hf_ansi_a_rej_cause;
+static int hf_ansi_a_auth_chlg_param_rand_num_type;
+static int hf_ansi_a_auth_chlg_param_rand;
+static int hf_ansi_a_auth_resp_param_sig_type;
+static int hf_ansi_a_auth_resp_param_sig;
+static int hf_ansi_a_auth_param_count_count;
+static int hf_ansi_a_mwi_num_messages;
+static int hf_ansi_a_signal_signal_value;
+static int hf_ansi_a_signal_alert_pitch;
+static int hf_ansi_a_clg_party_bcd_num_ton;
+static int hf_ansi_a_clg_party_bcd_num_plan;
+static int hf_ansi_a_qos_params_packet_priority;
+static int hf_ansi_a_cause_l3_coding_standard;
+static int hf_ansi_a_cause_l3_location;
+static int hf_ansi_a_cause_l3_class;
+static int hf_ansi_a_cause_l3_value_without_class;
+static int hf_ansi_a_cause_l3_value;
+static int hf_ansi_a_auth_conf_param_randc;
+static int hf_ansi_a_xmode_tfo_mode;
+static int hf_ansi_a_reg_type_type;
+static int hf_ansi_a_tag_value;
+static int hf_ansi_a_hho_params_band_class;
+static int hf_ansi_a_hho_params_num_pream_frames;
+static int hf_ansi_a_hho_params_reset_l2;
+static int hf_ansi_a_hho_params_reset_fpc;
+static int hf_ansi_a_hho_params_enc_mode;
+static int hf_ansi_a_hho_params_private_lcm;
+static int hf_ansi_a_hho_params_rev_pwr_cntl_delay_incl;
+static int hf_ansi_a_hho_params_rev_pwr_cntl_delay;
+static int hf_ansi_a_hho_params_nom_pwr_ext;
+static int hf_ansi_a_hho_params_nom_pwr;
+static int hf_ansi_a_hho_params_fpc_subchan_info;
+static int hf_ansi_a_hho_params_fpc_subchan_info_incl;
+static int hf_ansi_a_hho_params_pwr_cntl_step;
+static int hf_ansi_a_hho_params_pwr_cntl_step_incl;
+static int hf_ansi_a_sw_ver_major;
+static int hf_ansi_a_sw_ver_minor;
+static int hf_ansi_a_sw_ver_point;
+static int hf_ansi_a_so_proprietary_ind;
+static int hf_ansi_a_so_revision;
+static int hf_ansi_a_so_base_so_num;
+static int hf_ansi_a_soci;
+static int hf_ansi_a_so_list_num;
+static int hf_ansi_a_so_list_sr_id;
+static int hf_ansi_a_so_list_soci;
+static int hf_ansi_a_nid;
+static int hf_ansi_a_pzid;
+static int hf_ansi_a_adds_user_part_burst_type;
+static int hf_ansi_a_adds_user_part_ext_burst_type;
+static int hf_ansi_a_adds_user_part_ext_data;
+static int hf_ansi_a_adds_user_part_unknown_data;
+static int hf_ansi_a_amps_hho_params_enc_mode;
+static int hf_ansi_a_is2000_scr_num_fill_bits;
+static int hf_ansi_a_is2000_scr_for_mux_option;
+static int hf_ansi_a_is2000_scr_rev_mux_option;
+static int hf_ansi_a_is2000_scr_for_fch_rate;
+static int hf_ansi_a_is2000_scr_rev_fch_rate;
+static int hf_ansi_a_is2000_scr_num_socr;
+static int hf_ansi_a_is2000_scr_socr_soc_ref;
+static int hf_ansi_a_is2000_scr_socr_so;
+static int hf_ansi_a_is2000_scr_socr_for_chan_type;
+static int hf_ansi_a_is2000_scr_socr_rev_chan_type;
+static int hf_ansi_a_is2000_scr_socr_ui_enc_mode;
+static int hf_ansi_a_is2000_scr_socr_sr_id;
+static int hf_ansi_a_is2000_scr_socr_rlp_info_incl;
+static int hf_ansi_a_is2000_scr_socr_rlp_blob_len;
+static int hf_ansi_a_is2000_scr_socr_rlp_blob_msb;
+static int hf_ansi_a_is2000_scr_socr_rlp_blob;
+static int hf_ansi_a_is2000_scr_socr_rlp_blob_lsb;
+static int hf_ansi_a_is2000_scr_socr_fch_cc_incl;
+static int hf_ansi_a_is2000_scr_socr_fch_frame_size_support_ind;
+static int hf_ansi_a_is2000_scr_socr_for_fch_rc;
+static int hf_ansi_a_is2000_scr_socr_rev_fch_rc;
+static int hf_ansi_a_is2000_nn_scr_num_fill_bits;
+static int hf_ansi_a_is2000_nn_scr_content;
+static int hf_ansi_a_is2000_nn_scr_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_rev_pdch_support_ind;
+static int hf_ansi_a_is2000_mob_cap_for_pdch_support_ind;
+static int hf_ansi_a_is2000_mob_cap_eram_support_ind;
+static int hf_ansi_a_is2000_mob_cap_dcch_support_ind;
+static int hf_ansi_a_is2000_mob_cap_fch_support_ind;
+static int hf_ansi_a_is2000_mob_cap_otd_support_ind;
+static int hf_ansi_a_is2000_mob_cap_enh_rc_cfg_support_ind;
+static int hf_ansi_a_is2000_mob_cap_qpch_support_ind;
+static int hf_ansi_a_is2000_mob_cap_fch_info_octet_len;
+static int hf_ansi_a_is2000_mob_cap_fch_info_geo_loc_type;
+static int hf_ansi_a_is2000_mob_cap_fch_info_geo_loc_incl;
+static int hf_ansi_a_is2000_mob_cap_fch_info_num_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_fch_info_content;
+static int hf_ansi_a_is2000_mob_cap_fch_info_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_dcch_info_octet_len;
+static int hf_ansi_a_is2000_mob_cap_dcch_info_num_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_dcch_info_content;
+static int hf_ansi_a_is2000_mob_cap_dcch_info_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_for_pdch_info_octet_len;
+static int hf_ansi_a_is2000_mob_cap_for_pdch_info_num_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_for_pdch_info_content;
+static int hf_ansi_a_is2000_mob_cap_for_pdch_info_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_octet_len;
+static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_num_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_content;
+static int hf_ansi_a_is2000_mob_cap_rev_pdch_info_fill_bits;
+static int hf_ansi_a_is2000_mob_cap_vp_support;
+static int hf_ansi_a_is2000_mob_cap_vp_support_a7;
+static int hf_ansi_a_is2000_mob_cap_vp_support_a6;
+static int hf_ansi_a_is2000_mob_cap_vp_support_a5;
+static int hf_ansi_a_is2000_mob_cap_vp_support_a4;
+static int hf_ansi_a_is2000_mob_cap_vp_support_a3;
+static int hf_ansi_a_is2000_mob_cap_vp_support_a2;
+static int hf_ansi_a_is2000_mob_cap_vp_support_a1;
+static int hf_ansi_a_protocol_type;
+static int hf_ansi_a_fwd_ms_info_rec_cld_pn_num_type;
+static int hf_ansi_a_fwd_ms_info_rec_cld_pn_num_plan;
+static int hf_ansi_a_fwd_ms_info_rec_cld_pn_num;
+static int hf_ansi_a_fwd_ms_info_rec_clg_pn_num_type;
+static int hf_ansi_a_fwd_ms_info_rec_clg_pn_num_plan;
+static int hf_ansi_a_fwd_ms_info_rec_clg_pn_num;
+static int hf_ansi_a_fwd_ms_info_rec_clg_pn_pi;
+static int hf_ansi_a_fwd_ms_info_rec_clg_pn_si;
+static int hf_ansi_a_fwd_ms_info_rec_mw_num;
+static int hf_ansi_a_fwd_ms_info_rec_content;
+static int hf_ansi_a_rev_ms_info_rec_cld_pn_num_type;
+static int hf_ansi_a_rev_ms_info_rec_cld_pn_num_plan;
+static int hf_ansi_a_rev_ms_info_rec_cld_pn_num;
+static int hf_ansi_a_rev_ms_info_rec_clg_pn_num_type;
+static int hf_ansi_a_rev_ms_info_rec_clg_pn_num_plan;
+static int hf_ansi_a_rev_ms_info_rec_clg_pn_num;
+static int hf_ansi_a_rev_ms_info_rec_clg_pn_pi;
+static int hf_ansi_a_rev_ms_info_rec_clg_pn_si;
+static int hf_ansi_a_rev_ms_info_rec_so_info_fwd_support;
+static int hf_ansi_a_rev_ms_info_rec_so_info_rev_support;
+static int hf_ansi_a_rev_ms_info_rec_so_info_so;
+static int hf_ansi_a_rev_ms_info_rec_content;
+static int hf_ansi_a_ext_ho_dir_params_srch_win_a;
+static int hf_ansi_a_ext_ho_dir_params_srch_win_n;
+static int hf_ansi_a_ext_ho_dir_params_srch_win_r;
+static int hf_ansi_a_ext_ho_dir_params_t_add;
+static int hf_ansi_a_ext_ho_dir_params_t_drop;
+static int hf_ansi_a_ext_ho_dir_params_t_comp;
+static int hf_ansi_a_ext_ho_dir_params_t_tdrop;
+static int hf_ansi_a_ext_ho_dir_params_nghbor_max_age;
+static int hf_ansi_a_ext_ho_dir_params_target_bs_values_incl;
+static int hf_ansi_a_ext_ho_dir_params_soft_slope;
+static int hf_ansi_a_ext_ho_dir_params_add_intercept;
+static int hf_ansi_a_ext_ho_dir_params_drop_intercept;
+static int hf_ansi_a_ext_ho_dir_params_target_bs_p_rev;
+static int hf_ansi_a_cdma_sowd_sowd;
+static int hf_ansi_a_cdma_sowd_resolution;
+static int hf_ansi_a_cdma_sowd_timestamp;
+static int hf_ansi_a_re_res_prio_incl;
+static int hf_ansi_a_re_res_forward;
+static int hf_ansi_a_re_res_reverse;
+static int hf_ansi_a_re_res_alloc;
+static int hf_ansi_a_re_res_avail;
+static int hf_ansi_a_cld_party_ascii_num_ton;
+static int hf_ansi_a_cld_party_ascii_num_plan;
+static int hf_ansi_a_band_class;
+static int hf_ansi_a_is2000_cause;
+static int hf_ansi_a_auth_event;
+static int hf_ansi_a_psmm_count;
+static int hf_ansi_a_geo_loc;
+static int hf_ansi_a_cct_group_all_circuits;
+static int hf_ansi_a_cct_group_inclusive;
+static int hf_ansi_a_cct_group_count;
+static int hf_ansi_a_cct_group_first_cic;
+static int hf_ansi_a_cct_group_first_cic_pcm_multi;
+static int hf_ansi_a_cct_group_first_cic_timeslot;
+static int hf_ansi_a_paca_timestamp_queuing_time;
+static int hf_ansi_a_paca_order_action_reqd;
+static int hf_ansi_a_paca_reoi_pri;
+static int hf_ansi_a_a2p_bearer_sess_max_frames;
+static int hf_ansi_a_a2p_bearer_sess_ip_addr_type;
+static int hf_ansi_a_a2p_bearer_sess_addr_flag;
+static int hf_ansi_a_a2p_bearer_sess_ipv4_addr;
+static int hf_ansi_a_a2p_bearer_sess_ipv6_addr;
+static int hf_ansi_a_a2p_bearer_sess_udp_port;
+static int hf_ansi_a_a2p_bearer_form_num_formats;
+static int hf_ansi_a_a2p_bearer_form_ip_addr_type;
+static int hf_ansi_a_a2p_bearer_form_format_len;
+static int hf_ansi_a_a2p_bearer_form_format_tag_type;
+static int hf_ansi_a_a2p_bearer_form_format_format_id;
+static int hf_ansi_a_a2p_bearer_form_format_rtp_payload_type;
+static int hf_ansi_a_a2p_bearer_form_format_bearer_addr_flag;
+static int hf_ansi_a_a2p_bearer_form_format_ipv4_addr;
+static int hf_ansi_a_a2p_bearer_form_format_ipv6_addr;
+static int hf_ansi_a_a2p_bearer_form_format_udp_port;
+static int hf_ansi_a_a2p_bearer_form_format_ext_len;
+static int hf_ansi_a_a2p_bearer_form_format_ext_id;
+static int hf_ansi_a_ms_des_freq_band_class;
+static int hf_ansi_a_ms_des_freq_cdma_channel;
+static int hf_ansi_a_plcm_id_plcm_type;
+static int hf_ansi_a_bdtmf_trans_info_dtmf_off_len;
+static int hf_ansi_a_bdtmf_trans_info_dtmf_on_len;
+static int hf_ansi_a_bdtmf_chars_num_chars;
+static int hf_ansi_a_bdtmf_chars_digits;
+static int hf_ansi_a_encryption_parameter_value;
+static int hf_ansi_a_layer3_info;
+static int hf_ansi_a_manufacturer_software_info;
+static int hf_ansi_a_circuit_bitmap;
+static int hf_ansi_a_extension_parameter_value;
+static int hf_ansi_a_msb_first_digit;
+static int hf_ansi_a_dcch_cc_incl;
+static int hf_ansi_a_for_sch_cc_incl;
+static int hf_ansi_a_rev_sch_cc_incl;
+static int hf_ansi_a_plcm42;
/* Initialize the subtree pointers */
-static gint ett_bsmap = -1;
-static gint ett_dtap = -1;
-static gint ett_elems = -1;
-static gint ett_elem = -1;
-static gint ett_dtap_oct_1 = -1;
-static gint ett_cm_srvc_type = -1;
-static gint ett_ansi_ms_info_rec_reserved = -1;
-static gint ett_ansi_enc_info = -1;
-static gint ett_scm = -1;
-static gint ett_cell_list = -1;
-static gint ett_bearer_list = -1;
-static gint ett_re_list = -1;
-static gint ett_so_list = -1;
-static gint ett_adds_user_part = -1;
-static gint ett_scr = -1;
-static gint ett_scr_socr = -1;
-static gint ett_cm2_band_class = -1;
-static gint ett_vp_algs = -1;
-static gint ett_chan_list = -1;
-static gint ett_cic = -1;
-static gint ett_is2000_mob_cap_fch_info = -1;
-static gint ett_is2000_mob_cap_dcch_info = -1;
-static gint ett_is2000_mob_cap_for_pdch_info = -1;
-static gint ett_is2000_mob_cap_rev_pdch_info = -1;
-
-static expert_field ei_ansi_a_extraneous_data = EI_INIT;
-static expert_field ei_ansi_a_short_data = EI_INIT;
-static expert_field ei_ansi_a_missing_mand_elem = EI_INIT;
-static expert_field ei_ansi_a_unknown_format = EI_INIT;
-static expert_field ei_ansi_a_no_tlv_elem_diss = EI_INIT;
-static expert_field ei_ansi_a_no_tv_elem_diss = EI_INIT;
-static expert_field ei_ansi_a_no_lv_elem_diss = EI_INIT;
-static expert_field ei_ansi_a_no_v_elem_diss = EI_INIT;
-static expert_field ei_ansi_a_miss_dtap_msg_diss = EI_INIT;
-static expert_field ei_ansi_a_miss_bsmap_msg_diss = EI_INIT;
-static expert_field ei_ansi_a_is2000_chan_id_pilot_pn = EI_INIT;
-static expert_field ei_ansi_a_unknown_dtap_msg = EI_INIT;
-static expert_field ei_ansi_a_unknown_bsmap_msg = EI_INIT;
-static expert_field ei_ansi_a_undecoded = EI_INIT;
+static gint ett_bsmap;
+static gint ett_dtap;
+static gint ett_elems;
+static gint ett_elem;
+static gint ett_dtap_oct_1;
+static gint ett_cm_srvc_type;
+static gint ett_ansi_ms_info_rec_reserved;
+static gint ett_ansi_enc_info;
+static gint ett_scm;
+static gint ett_cell_list;
+static gint ett_bearer_list;
+static gint ett_re_list;
+static gint ett_so_list;
+static gint ett_adds_user_part;
+static gint ett_scr;
+static gint ett_scr_socr;
+static gint ett_cm2_band_class;
+static gint ett_vp_algs;
+static gint ett_chan_list;
+static gint ett_cic;
+static gint ett_is2000_mob_cap_fch_info;
+static gint ett_is2000_mob_cap_dcch_info;
+static gint ett_is2000_mob_cap_for_pdch_info;
+static gint ett_is2000_mob_cap_rev_pdch_info;
+
+static expert_field ei_ansi_a_extraneous_data;
+static expert_field ei_ansi_a_short_data;
+static expert_field ei_ansi_a_missing_mand_elem;
+static expert_field ei_ansi_a_unknown_format;
+static expert_field ei_ansi_a_no_tlv_elem_diss;
+static expert_field ei_ansi_a_no_tv_elem_diss;
+static expert_field ei_ansi_a_no_lv_elem_diss;
+static expert_field ei_ansi_a_no_v_elem_diss;
+static expert_field ei_ansi_a_miss_dtap_msg_diss;
+static expert_field ei_ansi_a_miss_bsmap_msg_diss;
+static expert_field ei_ansi_a_is2000_chan_id_pilot_pn;
+static expert_field ei_ansi_a_unknown_dtap_msg;
+static expert_field ei_ansi_a_unknown_bsmap_msg;
+static expert_field ei_ansi_a_undecoded;
static dissector_handle_t dtap_handle;
+static dissector_handle_t bsmap_handle;
+static dissector_handle_t sip_dtap_bsmap_handle;
+
static dissector_table_t is637_dissector_table; /* IS-637-A Transport Layer (SMS) */
static dissector_table_t is683_dissector_table; /* IS-683-A (OTA) */
static dissector_table_t is801_dissector_table; /* IS-801 (PLD) */
@@ -6828,7 +6832,7 @@ elem_a2p_bearer_format(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guin
if (format_assigned &&
(first_assigned_found == FALSE))
{
- rtp_dyn_payload_insert(rtp_dyn_payload, rtp_payload_type, mime_type, sample_rate);
+ rtp_dyn_payload_insert(rtp_dyn_payload, rtp_payload_type, mime_type, sample_rate, 1);
rtp_dyn_payload_used = TRUE;
first_assigned_found = TRUE;
@@ -6838,7 +6842,7 @@ elem_a2p_bearer_format(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guin
if (in_band_format_assigned)
{
- rtp_dyn_payload_insert(rtp_dyn_payload, rtp_payload_type, "telephone-event", sample_rate);
+ rtp_dyn_payload_insert(rtp_dyn_payload, rtp_payload_type, "telephone-event", sample_rate, 1);
rtp_dyn_payload_used = TRUE;
}
@@ -10570,8 +10574,12 @@ typedef enum
COUNT_COLUMN
} ansi_a_stat_columns;
-static stat_tap_table_item dtap_stat_fields[] = {{TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "IEI", "0x%02x "}, {TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Message Name", "%-50s"},
- {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Count", "%d"}};
+static stat_tap_table_item dtap_stat_fields[] =
+{
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "IEI", "0x%02x "},
+ {TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Message Name", "%-50s"},
+ {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Count", "%d"}
+};
static void ansi_a_dtap_stat_init(stat_tap_table_ui* new_stat)
{
@@ -10581,26 +10589,35 @@ static void ansi_a_dtap_stat_init(stat_tap_table_ui* new_stat)
int i = 0;
stat_tap_table_item_type items[sizeof(dtap_stat_fields)/sizeof(stat_tap_table_item)];
+ items[IEI_COLUMN].type = TABLE_ITEM_UINT;
+ items[MESSAGE_NAME_COLUMN].type = TABLE_ITEM_STRING;
+ items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
+ items[COUNT_COLUMN].value.uint_value = 0;
+
+ /* N.B. user-data field not used by this protocol, but init anyway */
+ items[IEI_COLUMN].user_data.uint_value = 0;
+ items[MESSAGE_NAME_COLUMN].user_data.uint_value = 0;
+ items[COUNT_COLUMN].user_data.uint_value = 0;
+
+ /* Look for existing table */
table = stat_tap_find_table(new_stat, table_name);
if (table) {
if (new_stat->stat_tap_reset_table_cb) {
new_stat->stat_tap_reset_table_cb(table);
}
+ /* Nothing more to do */
return;
}
+ /* Initialize table */
table = stat_tap_init_table(table_name, num_fields, 0, NULL);
stat_tap_add_table(new_stat, table);
/* Add a row for each value type */
while (ansi_a_dtap_strings[i].strptr)
{
- items[IEI_COLUMN].type = TABLE_ITEM_UINT;
items[IEI_COLUMN].value.uint_value = ansi_a_dtap_strings[i].value;
- items[MESSAGE_NAME_COLUMN].type = TABLE_ITEM_STRING;
items[MESSAGE_NAME_COLUMN].value.string_value = ansi_a_dtap_strings[i].strptr;
- items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
- items[COUNT_COLUMN].value.uint_value = 0;
stat_tap_init_table_row(table, i, num_fields, items);
i++;
@@ -10608,7 +10625,7 @@ static void ansi_a_dtap_stat_init(stat_tap_table_ui* new_stat)
}
static tap_packet_status
-ansi_a_dtap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
+ansi_a_dtap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data, tap_flags_t flags _U_)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
const ansi_a_tap_rec_t *data_p = (const ansi_a_tap_rec_t *)data;
@@ -10623,9 +10640,9 @@ ansi_a_dtap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *e
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
- dtap_data = stat_tap_get_field_data(table, data_p->message_type, COUNT_COLUMN);
+ dtap_data = stat_tap_get_field_data(table, idx, COUNT_COLUMN);
dtap_data->value.uint_value++;
- stat_tap_set_field_data(table, data_p->message_type, COUNT_COLUMN, dtap_data);
+ stat_tap_set_field_data(table, idx, COUNT_COLUMN, dtap_data);
return TAP_PACKET_REDRAW;
}
@@ -10659,6 +10676,11 @@ static void ansi_a_bsmap_stat_init(stat_tap_table_ui* new_stat)
int i = 0;
stat_tap_table_item_type items[sizeof(bsmap_stat_fields)/sizeof(stat_tap_table_item)];
+ items[IEI_COLUMN].type = TABLE_ITEM_UINT;
+ items[MESSAGE_NAME_COLUMN].type = TABLE_ITEM_STRING;
+ items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
+ items[COUNT_COLUMN].value.uint_value = 0;
+
table = stat_tap_find_table(new_stat, table_name);
if (table) {
if (new_stat->stat_tap_reset_table_cb) {
@@ -10673,12 +10695,8 @@ static void ansi_a_bsmap_stat_init(stat_tap_table_ui* new_stat)
/* Add a row for each value type */
while (ansi_a_bsmap_strings[i].strptr)
{
- items[IEI_COLUMN].type = TABLE_ITEM_UINT;
items[IEI_COLUMN].value.uint_value = ansi_a_bsmap_strings[i].value;
- items[MESSAGE_NAME_COLUMN].type = TABLE_ITEM_STRING;
items[MESSAGE_NAME_COLUMN].value.string_value = ansi_a_bsmap_strings[i].strptr;
- items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
- items[COUNT_COLUMN].value.uint_value = 0;
stat_tap_init_table_row(table, i, num_fields, items);
i++;
@@ -10686,7 +10704,7 @@ static void ansi_a_bsmap_stat_init(stat_tap_table_ui* new_stat)
}
static tap_packet_status
-ansi_a_bsmap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
+ansi_a_bsmap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data, tap_flags_t flags _U_)
{
stat_data_t* stat_data = (stat_data_t*)tapdata;
const ansi_a_tap_rec_t *data_p = (const ansi_a_tap_rec_t *)data;
@@ -10701,9 +10719,9 @@ ansi_a_bsmap_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *
table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
- dtap_data = stat_tap_get_field_data(table, data_p->message_type, COUNT_COLUMN);
+ dtap_data = stat_tap_get_field_data(table, idx, COUNT_COLUMN);
dtap_data->value.uint_value++;
- stat_tap_set_field_data(table, data_p->message_type, COUNT_COLUMN, dtap_data);
+ stat_tap_set_field_data(table, idx, COUNT_COLUMN, dtap_data);
return TAP_PACKET_REDRAW;
}
@@ -11349,7 +11367,7 @@ proto_register_ansi_a(void)
},
{ &hf_ansi_a_mid_broadcast_message_id,
{ "Message ID", "ansi_a_bsmap.mid.broadcast.message_id",
- FT_UINT8, BASE_DEC, NULL, 0x2f,
+ FT_UINT8, BASE_DEC, NULL, 0x3f,
NULL, HFILL }
},
{ &hf_ansi_a_mid_broadcast_zone_id,
@@ -11544,7 +11562,7 @@ proto_register_ansi_a(void)
},
{ &hf_ansi_a_is2000_chan_id_chan_walsh_code_chan_idx,
{ "Walsh Code Channel Index", "ansi_a_bsmap.is2000_chan_id.chan.walsh_code_chan_idx",
- FT_UINT16, BASE_DEC, NULL, 0x7ff,
+ FT_UINT16, BASE_DEC, NULL, 0x07ff,
NULL, HFILL }
},
{ &hf_ansi_a_is2000_chan_id_chan_pilot_pn_code,
@@ -12790,12 +12808,6 @@ proto_register_ansi_a(void)
0
};
- memset((void *) ett_dtap_msg, -1, sizeof(ett_dtap_msg));
- memset((void *) ett_bsmap_msg, -1, sizeof(ett_bsmap_msg));
- memset((void *) ett_ansi_elem_1, -1, sizeof(ett_ansi_elem_1));
- memset((void *) ett_ansi_fwd_ms_info_rec, -1, sizeof(gint) * NUM_FWD_MS_INFO_REC);
- memset((void *) ett_ansi_rev_ms_info_rec, -1, sizeof(gint) * NUM_REV_MS_INFO_REC);
-
ett[0] = &ett_bsmap;
ett[1] = &ett_dtap;
ett[2] = &ett_elems;
@@ -12858,9 +12870,14 @@ proto_register_ansi_a(void)
expert_register_protocol(proto_a_bsmap);
expert_register_field_array(expert_a_bsmap, ei, array_length(ei));
+ bsmap_handle = register_dissector("ansi_a_bsmap", dissect_bsmap, proto_a_bsmap);
+
proto_a_dtap =
proto_register_protocol("ANSI A-I/F DTAP", "ANSI DTAP", "ansi_a_dtap");
+ dtap_handle = register_dissector("ansi_a_dtap", dissect_dtap, proto_a_dtap);
+ sip_dtap_bsmap_handle = register_dissector("ansi_a_dtap_bsmap", dissect_sip_dtap_bsmap, proto_a_dtap);
+
is637_dissector_table =
register_dissector_table("ansi_a.sms", "IS-637-A (SMS)",
proto_a_bsmap, FT_UINT8, BASE_DEC);
@@ -12908,12 +12925,6 @@ proto_reg_handoff_ansi_a(void)
if (!ansi_a_prefs_initialized)
{
- dissector_handle_t bsmap_handle, sip_dtap_bsmap_handle;
-
- bsmap_handle = create_dissector_handle(dissect_bsmap, proto_a_bsmap);
- dtap_handle = create_dissector_handle(dissect_dtap, proto_a_dtap);
- sip_dtap_bsmap_handle = create_dissector_handle(dissect_sip_dtap_bsmap, proto_a_dtap);
-
dissector_add_uint("bsap.pdu_type", BSSAP_PDU_TYPE_BSMAP, bsmap_handle);
dissector_add_uint("bsap.pdu_type", BSSAP_PDU_TYPE_DTAP, dtap_handle);
dissector_add_string("media_type", "application/femtointerfacemsg", sip_dtap_bsmap_handle);