static int proto_a_bssmap = -1;
static int hf_gsm_a_bssmap_msg_type = -1;
-int hf_gsm_a_length = -1;
int hf_gsm_a_bssmap_elem_id = -1;
static int hf_gsm_a_bssmap_field_elem_id = -1;
-int hf_gsm_a_bssmap_cell_ci = -1;
+static int hf_gsm_a_bssmap_cell_ci = -1;
static int hf_gsm_a_bssmap_cell_lac = -1;
static int hf_gsm_a_bssmap_sac = -1;
static int hf_gsm_a_bssmap_dlci_cc = -1;
FT_UINT8, BASE_HEX, VALS(bssmap_field_element_ids), 0,
NULL, HFILL }
},
- { &hf_gsm_a_length,
- { "Length", "gsm_a.len",
- FT_UINT16, BASE_DEC, NULL, 0,
- NULL, HFILL }
- },
{ &hf_gsm_a_bssmap_cell_ci,
- { "Cell CI", "gsm_a.cell_ci",
+ { "Cell CI", "gsm_a_bssmap.cell_ci",
FT_UINT16, BASE_HEX_DEC, 0, 0x0,
NULL, HFILL }
},
{ &hf_gsm_a_bssmap_cell_lac,
- { "Cell LAC", "gsm_a.cell_lac",
+ { "Cell LAC", "gsm_a_bssmap.cell_lac",
FT_UINT16, BASE_HEX_DEC, 0, 0x0,
NULL, HFILL }
},
{ &hf_gsm_a_bssmap_sac,
- { "SAC", "gsm_a.sac",
+ { "SAC", "gsm_a_bssmap.sac",
FT_UINT16, BASE_HEX, 0, 0x0,
NULL, HFILL }
},
NULL, HFILL }
},
{ &hf_gsm_a_bssmap_be_cell_id_disc,
- { "Cell identification discriminator","gsm_a.be.cell_id_disc",
+ { "Cell identification discriminator","gsm_a_bssmap.be.cell_id_disc",
FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_a_be_cell_id_disc_vals_ext, 0x0f,
NULL, HFILL }
},
NULL, HFILL }
},
{ &hf_gsm_a_bssmap_be_rnc_id,
- { "RNC-ID","gsm_a.be.rnc_id",
+ { "RNC-ID","gsm_a_bssmap.be.rnc_id",
FT_UINT16,BASE_DEC, NULL, 0x0,
NULL, HFILL }
},
{ &hf_gsm_a_bssmap_apdu_protocol_id,
- { "Protocol ID", "gsm_a.apdu_protocol_id",
+ { "Protocol ID", "gsm_a_bssmap.apdu_protocol_id",
FT_UINT8, BASE_DEC, VALS(gsm_a_apdu_protocol_id_strings), 0x0,
"APDU embedded protocol id", HFILL }
},
{ 0, NULL }
};
+static const true_false_string gsm_a_extension_value = {
+ "No Extension",
+ "Extended"
+};
+
+
/* Mobile Station Classmark Value strings
*/
static int hf_gsm_a_mbs_ses_id_ind = -1;
static int hf_gsm_a_mbs_service_id = -1;
static int hf_gsm_a_mbs_session_id = -1;
+static int hf_gsm_a_length = -1;
+int hf_gsm_a_extension = -1;
int hf_gsm_a_L3_protocol_discriminator = -1;
int hf_gsm_a_call_prio = -1;
int hf_gsm_a_skip_ind = -1;
int hf_gsm_a_spare_bits = -1;
int hf_gsm_a_lac = -1;
+
static int hf_gsm_a_spare_nibble = -1;
static int hf_gsm_a_type_of_ciph_alg = -1;
static int hf_gsm_a_att = -1;
FT_UINT8, BASE_HEX, NULL, 0x0,
NULL, HFILL }
},
+ { &hf_gsm_a_length,
+ { "Length", "gsm_a.len",
+ FT_UINT16, BASE_DEC, NULL, 0,
+ NULL, HFILL }
+ },
+ { &hf_gsm_a_extension,
+ { "Extension", "gsm_a.extension",
+ FT_BOOLEAN, 8, TFS(&gsm_a_extension_value), 0x80,
+ NULL, HFILL }
+ },
{ &hf_gsm_a_L3_protocol_discriminator,
{ "Protocol discriminator", "gsm_a.L3_protocol_discriminator",
FT_UINT8, BASE_HEX, VALS(protocol_discriminator_vals), 0x0f,
/* Register the protocol name and description */
proto_a_common =
- proto_register_protocol("GSM A-I/F COMMON", "GSM COMMON", "gsm_a_common");
+ proto_register_protocol("GSM A-I/F COMMON", "GSM COMMON", "gsm_a");
proto_register_field_array(proto_a_common, hf, array_length(hf));
extern gint ett_gsm_bssmap_elem[];
extern elem_fcn bssmap_elem_fcn[];
extern int hf_gsm_a_bssmap_elem_id;
-extern int hf_gsm_a_bssmap_cell_ci;
extern const value_string gsm_dtap_elem_strings[];
extern gint ett_gsm_dtap_elem[];
/* common field values */
-extern int hf_gsm_a_length;
extern int hf_gsm_a_extension;
extern int hf_gsm_a_tmsi;
extern int hf_gsm_a_L3_protocol_discriminator;
static int hf_gsm_a_dtap_emergency_bcd_num = -1;
static int hf_gsm_a_dtap_emerg_num_info_length = -1;
-int hf_gsm_a_extension = -1;
static int hf_gsm_a_dtap_type_of_number = -1;
static int hf_gsm_a_dtap_numbering_plan_id = -1;
return(1);
}
-static const true_false_string gsm_a_extension_value = {
- "No Extension",
- "Extended"
-};
-
/*
* Helper function for BCD address decoding
*/
FT_UINT8, BASE_HEX, 0, 0x0,
NULL, HFILL }
},
- { &hf_gsm_a_extension,
- { "Extension", "gsm_a.extension",
- FT_BOOLEAN, 8, TFS(&gsm_a_extension_value), 0x80,
- NULL, HFILL }
- },
{ &hf_gsm_a_dtap_type_of_number,
{ "Type of number", "gsm_a_dtap.type_of_number",
FT_UINT8, BASE_HEX, VALS(gsm_a_dtap_type_of_number_values), 0x70,
static int hf_gsm_a_rr_si13alt_position = -1;
static int hf_gsm_a_rr_prio_thr = -1;
static int hf_gsm_a_rr_lsa_offset = -1;
+static int hf_gsm_a_rr_cell_id = -1;
static int hf_gsm_a_rr_paging_channel_restructuring = -1;
static int hf_gsm_a_rr_nln_sacch = -1;
static int hf_gsm_a_rr_nln_status_sacch = -1;
proto_item *item2, *item3;
guint32 curr_offset;
gint bit_offset, bit_offset_sav;
- guint value;
guint8 tvb_len = tvb_length(tvb);
guint16 bit_len = tvb_len << 3;
if (gsm_rr_csn_HL_flag(tvb, subtree2, bit_len, bit_offset++, "Cell Identity", "Present", "Not present"))
{ /* Cell Identity */
- value = tvb_get_bits16(tvb, bit_offset, 16, ENC_BIG_ENDIAN);
- proto_tree_add_uint(subtree2, hf_gsm_a_bssmap_cell_ci, tvb, bit_offset>>3, 2, value);
+ proto_tree_add_bits_item(subtree2, hf_gsm_a_rr_cell_id, tvb, bit_offset, 16, ENC_BIG_ENDIAN);
bit_offset += 16;
}
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_lsa_offset_vals), 0x0,
"Offset to be used for LSA cell re selection between cells with the same LSA priorities (LSA Offset)", HFILL }
},
+ { &hf_gsm_a_rr_cell_id,
+ { "Cell Identity", "gsm_a_rr.cell_id",
+ FT_UINT16, BASE_HEX_DEC, 0, 0x0,
+ NULL, HFILL }
+ },
{ &hf_gsm_a_rr_paging_channel_restructuring,
{ "Paging Channel Restructuring", "gsm_a_rr.paging_channel_restructuring",
FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_rr_paging_channel_restructuring_value), 0x0,
NULL, HFILL}
},
{ &hf_gsm_bssmap_le_acq_ass,
- { "Acquisition Assistance", "bssap.acq_ass",
+ { "Acquisition Assistance", "gsm_bssmap_le.acq_ass",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ref_time,
- { "Reference Time", "bssap.ref_time",
+ { "Reference Time", "gsm_bssmap_le.ref_time",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ref_loc,
- { "Reference Location", "bssap.ref_loc",
+ { "Reference Location", "gsm_bssmap_le.ref_loc",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_dgps_corr,
- { "DGPS Corrections", "bssap.gps_corr",
+ { "DGPS Corrections", "gsm_bssmap_le.gps_corr",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x08,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_nav_mod,
- { "Navigation Model", "bssap.nav_mod",
+ { "Navigation Model", "gsm_bssmap_le.nav_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x10,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_iono_mod,
- { "Ionospheric Model", "bssap.iono_mod",
+ { "Ionospheric Model", "gsm_bssmap_le.iono_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_utc_mod,
- { "UTC Model", "bssap.utc_mod",
+ { "UTC Model", "gsm_bssmap_le.utc_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_almanac,
- { "Almanac", "bssap.almanac",
+ { "Almanac", "gsm_bssmap_le.almanac",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ephemeris_ext_chk,
- { "Ephemeris Extension Check", "bssap.ephemeris_ext_chk",
+ { "Ephemeris Extension Check", "gsm_bssmap_le.ephemeris_ext_chk",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ephemeris_ext,
- { "Ephemeris Extension", "bssap.ephemeris_ext",
+ { "Ephemeris Extension", "gsm_bssmap_le.ephemeris_ext",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_real_time_int,
- { "Real-Time Integrity", "bssap.real_time_int",
+ { "Real-Time Integrity", "gsm_bssmap_le.real_time_int",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
NULL, HFILL }
},
},
{ &hf_cat_ber_tag,
- { "BER-TLV Tag", "cat.ber_tlv_tag",
+ { "BER-TLV Tag", "gsm_sim.cat.ber_tlv_tag",
FT_UINT8, BASE_HEX, VALS(ber_tlv_cat_tag_vals), 0,
"Card Application Toolkit BER-TLV tag", HFILL },
},