From 5d8cb033b20b18a727bea409e672b0324c05829f Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Wed, 1 Jul 2015 21:14:59 +0200 Subject: 3GPP NAS: upgrade dissector to v12.10.0 Change-Id: Ia89e49d098f86450245c73c4d06a4359a25e3d53 Reviewed-on: https://code.wireshark.org/review/9444 Reviewed-by: Pascal Quantin --- epan/dissectors/packet-gsm_a_common.c | 15 ++++++++++++++- 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; \ @@ -3211,6 +3212,13 @@ de_ms_cm_3(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, proto_tree_add_bits_item(tree, hf_gsm_a_ext_tsc_set_cap_support, tvb, bit_offset, 1, ENC_BIG_ENDIAN); 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 */ @@ -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 @@ -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; @@ -3108,6 +3109,17 @@ de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui bit_offset += bits_needed; curr_bits_length -= bits_needed; oct <<= bits_needed; + 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; /* @@ -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 } }, -- cgit v1.2.1