GSM A DTAP: add UMTS EVS to supported codecs list IE

Change-Id: I248bf8722beebda5007a542323d4b188ed50ae52
Reviewed-on: https://code.wireshark.org/review/31072
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
Pascal Quantin 2018-12-17 18:03:26 +01:00
parent e6fdc37c2f
commit 7af85e07be
1 changed files with 33 additions and 17 deletions

View File

@ -516,6 +516,7 @@ static int hf_gsm_a_dtap_codec_fr_amr = -1;
static int hf_gsm_a_dtap_codec_gsm_efr = -1;
static int hf_gsm_a_dtap_codec_gsm_hr = -1;
static int hf_gsm_a_dtap_codec_gsm_fr = -1;
static int hf_gsm_a_dtap_codec_umts_evs = -1;
static int hf_gsm_a_dtap_codec_ohr_amr_wb = -1;
static int hf_gsm_a_dtap_codec_ofr_amr_wb = -1;
static int hf_gsm_a_dtap_codec_ohr_amr = -1;
@ -3261,8 +3262,8 @@ de_sup_codec_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint
* TDMA UMTS UMTS HR AMR FR AMR GSM EFR GSM HR GSM FR Octet 1
* EFR AMR 2 AMR
* bit 16 15 14 13 12 11 10 bit 9
*(reserved) (reserved)OHR OFR OHR UMTS FR PDC EFR Octet 2
* AMR-WB AMR-WB AMR AMR-WB AMR-WB
*(reserved) UMTS OHR OFR OHR UMTS FR PDC EFR Octet 2
* EVS AMR-WB AMR-WB AMR AMR-WB AMR-WB
* A Codec Type is supported, if the corresponding bit is set to "1".
* All reserved bits shall be set to "0".
*
@ -3274,14 +3275,18 @@ de_sup_codec_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint
*
* Right now we are sure that at least the first octet of the bitmap is present
*/
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_tdma_efr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_umts_amr_2, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_umts_amr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_hr_amr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_fr_amr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_gsm_efr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_gsm_hr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_gsm_fr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
static const int * oct1_flags[] = {
&hf_gsm_a_dtap_codec_tdma_efr,
&hf_gsm_a_dtap_codec_umts_amr_2,
&hf_gsm_a_dtap_codec_umts_amr,
&hf_gsm_a_dtap_codec_hr_amr,
&hf_gsm_a_dtap_codec_fr_amr,
&hf_gsm_a_dtap_codec_gsm_efr,
&hf_gsm_a_dtap_codec_gsm_hr,
&hf_gsm_a_dtap_codec_gsm_fr,
NULL
};
proto_tree_add_bitmask_list(subtree, tvb, curr_offset, 1, oct1_flags, ENC_NA);
curr_offset++;
length--;
@ -3290,13 +3295,19 @@ de_sup_codec_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint
/*
* We can proceed with the second octet of the bitmap
*/
proto_tree_add_bits_item(subtree, hf_gsm_a_spare_bits, tvb, curr_offset << 3, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_ohr_amr_wb, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_ofr_amr_wb, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_ohr_amr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_umts_amr_wb, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_fr_amr_wb, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_gsm_a_dtap_codec_pdc_efr, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
static const int * oct2_flags[] = {
&hf_gsm_a_dtap_codec_umts_evs,
&hf_gsm_a_dtap_codec_ohr_amr_wb,
&hf_gsm_a_dtap_codec_ofr_amr_wb,
&hf_gsm_a_dtap_codec_ohr_amr,
&hf_gsm_a_dtap_codec_umts_amr_wb,
&hf_gsm_a_dtap_codec_fr_amr_wb,
&hf_gsm_a_dtap_codec_pdc_efr,
NULL
};
proto_tree_add_bits_item(subtree, hf_gsm_a_spare_bits, tvb, curr_offset << 3, 1, ENC_BIG_ENDIAN);
proto_tree_add_bitmask_list(subtree, tvb, curr_offset, 1, oct2_flags, ENC_NA);
curr_offset++;
length--;
}
@ -7391,6 +7402,11 @@ proto_register_gsm_a_dtap(void)
FT_BOOLEAN, 8, NULL, 0x01,
NULL, HFILL }
},
{ &hf_gsm_a_dtap_codec_umts_evs,
{ "UMTS EVS", "gsm_a.dtap.codec.umts_evs",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }
},
{ &hf_gsm_a_dtap_codec_ohr_amr_wb,
{ "OHR AMR-WB", "gsm_a.dtap.codec.ohr_amr_wb",
FT_BOOLEAN, 8, NULL, 0x20,