diff options
-rw-r--r-- | epan/dissectors/packet-gsm_a_common.c | 15 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_a_gm.c | 23 |
2 files changed, 34 insertions, 4 deletions
diff --git a/epan/dissectors/packet-gsm_a_common.c b/epan/dissectors/packet-gsm_a_common.c index 5fecbecc8f..c9835b8d97 100644 --- a/epan/dissectors/packet-gsm_a_common.c +++ b/epan/dissectors/packet-gsm_a_common.c @@ -706,6 +706,7 @@ static int hf_gsm_a_er_band_support = -1; static int hf_gsm_a_utra_mfbi_support = -1; static int hf_gsm_a_eutra_mfbi_support = -1; static int hf_gsm_a_ext_tsc_set_cap_support = -1; +static int hf_gsm_a_ext_earfcn_value_range = -1; static int hf_gsm_a_geo_loc_type_of_shape = -1; static int hf_gsm_a_geo_loc_sign_of_lat = -1; @@ -2447,7 +2448,7 @@ de_ms_cm_2(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, /* * [3] 10.5.1.7 Mobile Station Classmark 3 - * 3GPP TS 24.008 version 12.9.0 Release 12 + * 3GPP TS 24.008 version 12.10.0 Release 12 */ #define AVAILABLE_BITS_CHECK(n) \ bits_left = ((len + offset) << 3) - bit_offset; \ @@ -3212,6 +3213,13 @@ de_ms_cm_3(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, bit_offset = bit_offset + 1; /* + * < Extended EARFCN value range : bit(1)> + */ + AVAILABLE_BITS_CHECK(1); + proto_tree_add_bits_item(tree, hf_gsm_a_ext_earfcn_value_range, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset = bit_offset + 1; + + /* * Add spare bits until we reach an octet boundary */ bits_left = (((len + offset) << 3) - bit_offset) & 0x07; @@ -4321,6 +4329,11 @@ proto_register_gsm_a_common(void) FT_BOOLEAN, BASE_NONE, TFS(&true_false_vals), 0x00, NULL, HFILL} }, + { &hf_gsm_a_ext_earfcn_value_range, + { "Extended EARFCN value range", "gsm_a.classmark3.ext_earfcn_value_range", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x00, + NULL, HFILL} + }, { &hf_gsm_a_geo_loc_type_of_shape, { "Location estimate", "gsm_a.gad.location_estimate", FT_UINT8, BASE_DEC, VALS(type_of_shape_vals), 0xf0, diff --git a/epan/dissectors/packet-gsm_a_gm.c b/epan/dissectors/packet-gsm_a_gm.c index d2b6a3be8f..2ce87b3789 100644 --- a/epan/dissectors/packet-gsm_a_gm.c +++ b/epan/dissectors/packet-gsm_a_gm.c @@ -51,7 +51,7 @@ * Mobile radio interface Layer 3 specification; * Core network protocols; * Stage 3 - * (3GPP TS 24.008 version 12.9.0 Release 12) + * (3GPP TS 24.008 version 12.10.0 Release 12) * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -449,6 +449,7 @@ static int hf_gsm_a_gm_rac_dlmc_max_bandwidth = -1; static int hf_gsm_a_gm_rac_dlmc_max_nb_dl_ts = -1; static int hf_gsm_a_gm_rac_dlmc_max_nb_dl_carriers = -1; static int hf_gsm_a_gm_rac_ext_tsc_set_cap_support = -1; +static int hf_gsm_a_gm_rac_ext_earfcn_value_range = -1; static int hf_gsm_a_sm_ti_flag = -1; static int hf_gsm_a_sm_ext = -1; @@ -3111,6 +3112,17 @@ de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui bits_in_oct -= bits_needed; /* + * Extended EARFCN value range + */ + bits_needed = 1; + GET_DATA; + proto_tree_add_bits_item(tf_tree, hf_gsm_a_gm_rac_ext_earfcn_value_range, tvb, bit_offset, 1, ENC_BIG_ENDIAN); + bit_offset += bits_needed; + curr_bits_length -= bits_needed; + oct <<= bits_needed; + bits_in_oct -= bits_needed; + + /* * we are too long ... so jump over it */ while (curr_bits_length > 0) @@ -4852,8 +4864,8 @@ de_sm_qos(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g * [12] 10.5.6.5a Re-attempt indicator */ const true_false_string gsm_a_gm_ratc_value = { - "MS is not allowed to repeat the request after inter-system change to S1 mode", - "MS is allowed to repeat the request after inter-system change to S1 mode" + "MS is not allowed to re-attempt the procedure in S1 mode", + "MS is allowed to re-attempt the procedure in S1 mode" }; static guint16 @@ -8403,6 +8415,11 @@ proto_register_gsm_a_gm(void) }, { &hf_gsm_a_gm_rac_ext_tsc_set_cap_support, { "Extended TSC Set Capability support", "gsm_a.gm.gmm.rac.ext_tsc_set_cap_support", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x0, + NULL, HFILL } + }, + { &hf_gsm_a_gm_rac_ext_earfcn_value_range, + { "Extended EARFCN value range", "gsm_a.gm.gmm.rac.ext_earfcn_value_range", FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x0, NULL, HFILL } }, |