[GSM A RR] Some updates from rel 13,

Change-Id: Ib847ec3d019b3a8ba0f8e5502fcbe80aa47c266b
Reviewed-on: https://code.wireshark.org/review/16873
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Yurii Lysyi 2016-08-04 10:09:42 +02:00 committed by Anders Broman
parent d04be0149d
commit 06464b7db1
1 changed files with 380 additions and 16 deletions

View File

@ -782,6 +782,16 @@ static int hf_gsm_a_rr_eutran_mr_cell_id = -1;
static int hf_gsm_a_rr_eutran_mr_rpt_quantity = -1;
static int hf_gsm_a_rr_ma_channel_set = -1;
static int hf_n_range_orig_arfcn = -1;
static int hf_gsm_a_rr_reported_timeslots = -1;
static int hf_gsm_a_rr_tsh = -1;
static int hf_gsm_a_rr_rtti_usf_mode = -1;
static int hf_gsm_a_rr_pdch_pair_indic = -1;
static int hf_gsm_a_rr_additional_usf = -1;
static int hf_gsm_a_rr_usf_2 = -1;
static int hf_gsm_a_rr_additional_usf_2 = -1;
static int hf_gsm_a_rr_npm_transfer_time = -1;
static int hf_gsm_a_rr_event_based_fanr = -1;
static int hf_gsm_a_rr_dl_egprs_level = -1;
/* Generated from convert_proto_tree_add_text.pl */
static int hf_gsm_a_rr_cell_parameter = -1;
@ -1041,6 +1051,14 @@ static int hf_gsm_a_rr_repeated_csg_psc_split_struct = -1;
static int hf_gsm_a_rr_gprs_eutran_measurement_parameters_description = -1;
static int hf_gsm_a_rr_tdd_parameters = -1;
static int hf_gsm_a_rr_repeat_eutran_desc = -1;
static int hf_gsm_a_rr_peo_dsc_and_rcc_present = -1;
static int hf_gsm_a_rr_c1_delta_present = -1;
static int hf_gsm_a_rr_ul_xtti_tbf_assignment = -1;
static int hf_gsm_a_rr_dl_xtti_tbf_assignment = -1;
static int hf_gsm_a_rr_fanr_act_state = -1;
static int hf_gsm_a_rr_encoding_selection = -1;
static int hf_gsm_a_rr_nof_pdch_pairs = -1;
static int hf_gsm_a_rr_npm_transfer_time_present = -1;
/* gsm_rr_csn_HL_flag() fields */
static int hf_gsm_a_rr_selection_parameters = -1;
@ -1090,6 +1108,9 @@ static int hf_gsm_a_rr_nch_position_present = -1;
static int hf_gsm_a_rr_additions_in_rel_7 = -1;
static int hf_gsm_a_rr_packet_page_indication_2 = -1;
static int hf_gsm_a_rr_multiple_tbf_procedures = -1;
static int hf_gsm_a_rr_additions_in_rel_10 = -1;
static int hf_gsm_a_rr_additions_in_rel_13 = -1;
static int hf_gsm_a_rr_si_change_alt = -1;
/* Additions in Rel-8 */
static int hf_gsm_a_rr_3g_priority_param_desc_utran_start = -1;
@ -1146,7 +1167,7 @@ static int hf_gsm_a_rr_utran_csg_fdd_uarfcn = -1;
static int hf_gsm_a_rr_utran_csg_tdd_uarfcn = -1;
static int hf_gsm_a_rr_csg_earfcn = -1;
static int hf_gsm_a_rr_3g_control_param_desc_meas_ctrl_utran = -1;
static int hf_gsm_a_rr_feat_ind_peo_bcch_change_mark = -1;
static int hf_gsm_a_rr_peo_bcch_change_mark = -1;
static int hf_gsm_a_rr_feat_ind_cs_ir = -1;
static int hf_gsm_a_rr_feat_ind_ps_ir = -1;
@ -1188,6 +1209,12 @@ static int hf_gsm_a_rr_ec_mobile_identity_2_exist = -1;
static int hf_gsm_a_rr_ec_cc1_timeslot_multiplier = -1;
static int hf_gsm_a_rr_ec_alpha_enable = -1;
static int hf_gsm_a_rr_rcc = -1;
static int hf_gsm_a_rr_implicit_reject_cs = -1;
static int hf_gsm_a_rr_implicit_reject_ps = -1;
static int hf_gsm_a_rr_peo_dsc = -1;
static int hf_gsm_a_rr_c1_delta = -1;
/* Initialize the subtree pointers */
static gint ett_ccch_msg = -1;
static gint ett_ec_ccch_msg = -1;
@ -3271,6 +3298,62 @@ static const value_string gsm_a_link_quality_meas_mode_vals[] = {
{ 0, NULL }
};
static const true_false_string gsm_a_rr_ul_xtti_tbf_assignment_vals = {
"An uplink BTTI TBF is assigned",
"An uplink RTTI TBF is assigned"
};
static const true_false_string gsm_a_rr_dl_xtti_tbf_assignment_vals = {
"An downlink BTTI TBF is assigned",
"An downlink RTTI TBF is assigned"
};
static const true_false_string gsm_a_rr_fanr_act_state_vals = {
"FANR is not activated for the assigned TBF",
"FANR is activated for the assigned TBF"
};
static const true_false_string gsm_a_rr_encoding_selection_vals = {
"SSN - based encoding is selected",
"Time - based encoding is selected"
};
static const true_false_string gsm_a_rr_nof_pdch_pairs_vals = {
"One PDCH Pair assigned",
"Two PDCH Pairs assigned"
};
static const value_string gsm_a_rr_rtti_usf_mode_vals[] = {
{ 0, "BTTI USF Mode is used" },
{ 1, "RTTI USF Mode is used" },
{ 0, NULL }
};
static const value_string gsm_a_rr_pdch_pair_indic_vals[] = {
{ 0x0, "uplink PDCH pair: [i, i + 1] | downlink PDCH pair: [i, i + 1]" },
{ 0x1, "uplink PDCH pair: [i, i + 1] | downlink PDCH pair: [i - 1, i]" },
{ 0x2, "uplink PDCH pair: [i, i + 1] | downlink PDCH pair: [i - 2, i]" },
{ 0x3, "uplink PDCH pair: [i, i + 2] | downlink PDCH pair: [i - 1, i]" },
{ 0x4, "uplink PDCH pairs: [i, i + 1], [i + 2, i + 3] | downlink PDCH pairs: [i, i + 1], [i + 2, i + 3]" },
{ 0x5, "not used" },
{ 0x6, "not used" },
{ 0x7, "not used" },
{ 0, NULL }
};
static const value_string gsm_a_rr_egprs_level_vals[] = {
{ 0x0, "EGPRS" },
{ 0x1, "EGPRS2 - A" },
{ 0x2, "EGPRS2 - B" },
{ 0x3, "reserved" },
{ 0, NULL }
};
static const value_string gsm_a_rr_event_based_fanr_vals[] = {
{ 0, "The MS shall not use event - based FANR" },
{ 1, "The MS shall use event - based FANR" },
{ 0, NULL }
};
static guint16
de_tbf_starting_time(tvbuff_t *tvb, proto_tree *tree, guint32 bit_offset)
@ -3386,6 +3469,56 @@ de_rr_ia_rest_oct_egprs_packet_uplink_assignment(tvbuff_t *tvb, proto_tree *tree
curr_bit_offset += de_tbf_starting_time(tvb, subtree, curr_bit_offset);
}
/* Null breakpoint */
if (curr_bit_offset < bit_len)
{
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, curr_bit_offset++, hf_gsm_a_rr_additions_in_rel_7))
{
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_ul_xtti_tbf_assignment))
{
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_fanr_act_state))
{
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_encoding_selection))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_reported_timeslots, tvb, curr_bit_offset, 8, ENC_BIG_ENDIAN);
curr_bit_offset += 8;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_tsh, tvb, curr_bit_offset, 2, ENC_BIG_ENDIAN);
curr_bit_offset += 2;
}
}
}
else
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rtti_usf_mode, tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
curr_bit_offset += 1;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_pdch_pair_indic, tvb, curr_bit_offset, 3, ENC_BIG_ENDIAN);
curr_bit_offset += 3;
if (hf_gsm_a_rr_rtti_usf_mode > 0)
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_additional_usf, tvb, curr_bit_offset, 3, ENC_BIG_ENDIAN);
curr_bit_offset += 3;
}
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_nof_pdch_pairs))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_usf_2, tvb, curr_bit_offset, 3, ENC_BIG_ENDIAN);
curr_bit_offset += 3;
if (hf_gsm_a_rr_rtti_usf_mode > 0)
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_additional_usf_2, tvb, curr_bit_offset, 3, ENC_BIG_ENDIAN);
curr_bit_offset += 3;
}
}
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_encoding_selection))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_reported_timeslots, tvb, curr_bit_offset, 8, ENC_BIG_ENDIAN);
curr_bit_offset += 8;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_tsh, tvb, curr_bit_offset, 2, ENC_BIG_ENDIAN);
curr_bit_offset += 2;
}
}
}
}
}
else /* Multi Block Allocation */
{
@ -3770,6 +3903,40 @@ de_rr_ia_rest_oct_packet_downlink_assignment(tvbuff_t *tvb, proto_tree *tree, gu
}
}
}
/* Null breakpoint */
if (curr_bit_offset < bit_len)
{
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, curr_bit_offset++, hf_gsm_a_rr_additions_in_rel_7))
{
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_npm_transfer_time_present))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_npm_transfer_time, tvb, curr_bit_offset, 5, ENC_BIG_ENDIAN);
curr_bit_offset += 5;
}
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_dl_xtti_tbf_assignment))
{
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_fanr_act_state))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_event_based_fanr, tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
curr_bit_offset += 1;
}
}
else
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_event_based_fanr, tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
curr_bit_offset += 1;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_pdch_pair_indic, tvb, curr_bit_offset, 3, ENC_BIG_ENDIAN);
curr_bit_offset += 3;
}
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_dl_egprs_level, tvb, curr_bit_offset, 2, ENC_BIG_ENDIAN);
curr_bit_offset += 2;
}
}
proto_item_set_len(item,((curr_bit_offset>>3) - (bit_offset>>3) + 1));
return (curr_bit_offset - bit_offset);
@ -3809,6 +3976,18 @@ de_rr_ia_rest_oct_second_part_packet_assignment(tvbuff_t *tvb, proto_tree *tree,
* [3] 10.5.2.16 IA Rest Octets
*/
static const value_string gsm_a_rr_implicit_reject_cs_vals[] = {
{0, "An implicit reject is not indicated for the CS domain"},
{1, "An implicit reject is indicated for the CS domain"},
{0, NULL}
};
static const value_string gsm_a_rr_implicit_reject_ps_vals[] = {
{0, "An implicit reject is not indicated for the PS domain"},
{1, "An implicit reject is indicated for the PS domain"},
{0, NULL}
};
static guint16
de_rr_ia_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
@ -3829,6 +4008,15 @@ de_rr_ia_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, gu
{
/* LL */
gsm_rr_csn_HL_flag(tvb, subtree, 0,bit_offset++, hf_gsm_a_rr_a_compressed_inter_rat_handover_info);
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_additions_in_rel_13))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_implicit_reject_ps, tvb, bit_offset++, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_peo_bcch_change_mark, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rcc, tvb, bit_offset, 3, ENC_BIG_ENDIAN);
bit_offset += 3;
}
}
else /* LH */
{
@ -3847,6 +4035,15 @@ de_rr_ia_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, gu
{
proto_tree_add_item(subtree, hf_gsm_a_rr_ia_rest_oct_reserved, tvb, bit_offset>>3, 1, ENC_NA);
}
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_additions_in_rel_13))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_implicit_reject_ps, tvb, bit_offset++, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_peo_bcch_change_mark, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rcc, tvb, bit_offset, 3, ENC_BIG_ENDIAN);
bit_offset += 3;
}
}
}
else
@ -3874,6 +4071,15 @@ de_rr_ia_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, gu
}
}
gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_a_compressed_inter_rat_handover_info);
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_additions_in_rel_13))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_implicit_reject_ps, tvb, bit_offset++, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_peo_bcch_change_mark, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rcc, tvb, bit_offset, 3, ENC_BIG_ENDIAN);
bit_offset += 3;
}
}
else /* HH */
{
@ -3893,6 +4099,19 @@ de_rr_ia_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, gu
{
bit_offset += de_rr_ia_rest_oct_second_part_packet_assignment(tvb, subtree, bit_offset, bit_len);
}
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_additions_in_rel_10))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_implicit_reject_cs, tvb, bit_offset++, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_implicit_reject_ps, tvb, bit_offset++, 1, ENC_BIG_ENDIAN);
}
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_additions_in_rel_13))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_peo_bcch_change_mark, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rcc, tvb, bit_offset, 3, ENC_BIG_ENDIAN);
bit_offset += 3;
}
}
}
gsm_rr_csn_padding_bits(subtree, tvb, bit_offset, tvb_len);
@ -3920,6 +4139,12 @@ de_rr_iar_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, g
curr_bit_offset += 5;
}
}
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, curr_bit_offset++, hf_gsm_a_rr_additions_in_rel_13))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rcc, tvb, curr_bit_offset, 3, ENC_BIG_ENDIAN);
curr_bit_offset += 3;
}
gsm_rr_csn_padding_bits(subtree, tvb, curr_bit_offset, tvb_len);
return tvb_len - offset;
}
@ -3937,6 +4162,12 @@ de_rr_iax_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, g
gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_compressed_inter_rat_handover_info);
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, curr_bit_offset++, hf_gsm_a_rr_additions_in_rel_13))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rcc, tvb, curr_bit_offset, 3, ENC_BIG_ENDIAN);
curr_bit_offset += 3;
}
gsm_rr_csn_padding_bits(subtree, tvb, curr_bit_offset, tvb_len);
return tvb_len - offset;
}
@ -8008,6 +8239,31 @@ static const value_string gsm_a_rr_si2n_support_vals[] = {
{ 0, NULL }
};
static const value_string gsm_a_rr_peo_dsc_vals[] = {
{ 0, "DSC = 4" },
{ 1, "DSC = 6" },
{ 2, "DSC = 8" },
{ 3, "DSC = 10" },
{ 0, NULL }
};
static const value_string gsm_a_rr_c1_delta_vals[] = {
{ 0, "3 dB" },
{ 1, "6 dB" },
{ 2, "9 dB" },
{ 3, "12 dB" },
{ 4, "15 dB" },
{ 5, "18 dB" },
{ 6, "21 dB" },
{ 7, "24 dB" },
{ 0, NULL }
};
static const true_false_string gsm_si_change_alt_value = {
"A mobile station supporting network sharing should not attempt to re-read the SI2quater message",
"A mobile station supporting network sharing shall fully take into account a change of system information \nsignalled by the SI_CHANGE_FIELD value '2', SI2quater included"
};
static guint16
de_rr_si13_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
@ -8095,13 +8351,29 @@ de_rr_si13_rest_oct(tvbuff_t *tvb, proto_tree *subtree, packet_info *pinfo _U_,
{
if (gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_additions_in_rel_6))
{ /* Additions in release Rel-6 */
if (gsm_rr_csn_flag(tvb, subtree, bit_offset++, hf_gsm_a_rr_lb_ms_txpwr_max_cch_present))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_lb_ms_txpwr_max_cch, tvb, bit_offset, 5, ENC_BIG_ENDIAN);
bit_offset += 5;
}
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_si2n_support, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
if (gsm_rr_csn_flag(tvb, subtree, bit_offset++, hf_gsm_a_rr_lb_ms_txpwr_max_cch_present))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_lb_ms_txpwr_max_cch, tvb, bit_offset, 5, ENC_BIG_ENDIAN);
bit_offset += 5;
}
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_si2n_support, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
(void)gsm_rr_csn_HL_flag(tvb, subtree, 0, bit_offset++, hf_gsm_a_rr_si_change_alt);
if (gsm_rr_csn_flag(tvb, subtree, bit_offset++, hf_gsm_a_rr_peo_dsc_and_rcc_present))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_peo_dsc, tvb, bit_offset, 2, ENC_BIG_ENDIAN);
bit_offset += 2;
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_rcc, tvb, bit_offset, 3, ENC_BIG_ENDIAN);
bit_offset += 3;
}
if (gsm_rr_csn_flag(tvb, subtree, bit_offset++, hf_gsm_a_rr_c1_delta_present))
{
proto_tree_add_bits_item(subtree, hf_gsm_a_rr_c1_delta, tvb, bit_offset, 3, ENC_BIG_ENDIAN);
bit_offset += 3;
}
}
}
}
@ -8581,7 +8853,7 @@ de_rr_feature_indicator(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
curr_offset = offset;
proto_tree_add_bits_item(tree, hf_gsm_a_rr_feat_ind_peo_bcch_change_mark, tvb, curr_offset<<3, 2, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(tree, hf_gsm_a_rr_peo_bcch_change_mark, tvb, curr_offset << 3, 2, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(tree, hf_gsm_a_rr_feat_ind_cs_ir, tvb, (curr_offset<<3)+2, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(tree, hf_gsm_a_rr_feat_ind_ps_ir, tvb, (curr_offset<<3)+3, 1, ENC_BIG_ENDIAN);
@ -13606,8 +13878,8 @@ proto_register_gsm_a_rr(void)
FT_UINT16, BASE_DEC, NULL, 0x00,
NULL, HFILL }
},
{ &hf_gsm_a_rr_feat_ind_peo_bcch_change_mark,
{ "PEO BCCH CHANGE MARK","gsm_a.rr.feature_indicator.peo_bcch_change_mark",
{ &hf_gsm_a_rr_peo_bcch_change_mark,
{ "PEO BCCH CHANGE MARK", "gsm_a.rr.peo_bcch_change_mark",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL }
},
@ -13808,10 +14080,92 @@ proto_register_gsm_a_rr(void)
NULL, HFILL
}
},
{ &hf_gsm_a_rr_rcc,
{ "RCC", "gsm_a.rr_rcc",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_implicit_reject_cs,
{ "Implicit Reject CS", "gsm_a.rr.implicit_reject_cs",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_implicit_reject_cs_vals), 0x00,
NULL, HFILL }
},
{ &hf_gsm_a_rr_implicit_reject_ps,
{ "Implicit Reject PS", "gsm_a.rr.implicit_reject_ps",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_implicit_reject_ps_vals), 0x00,
NULL, HFILL }
},
{ &hf_gsm_a_rr_peo_dsc,
{ "PEO DSC", "gsm_a.rr.peo_dsc",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_peo_dsc_vals), 0x00,
NULL, HFILL }
},
{ &hf_gsm_a_rr_c1_delta,
{ "C1 DELTA value", "gsm_a.rr.c1_delta",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_c1_delta_vals), 0x00,
NULL, HFILL }
},
{ &hf_gsm_a_rr_reported_timeslots,
{ "REPORTED TIMESLOTS", "gsm_a.rr.reported_timeslots",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_tsh,
{ "TSH", "gsm_a.rr.tsh",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_rtti_usf_mode,
{ "RTTI USF Mode", "gsm_a.rr.rtti_usf_mode",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_rtti_usf_mode_vals), 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_pdch_pair_indic,
{ "PDCH PAIR INDICATION", "gsm_a.rr.pdch_pair_indic",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_pdch_pair_indic_vals), 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_additional_usf,
{ "Additional USF", "gsm_a.rr.additional_usf",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_usf_2,
{ "USF2", "gsm_a.rr.usf_2",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_additional_usf_2,
{ "Additional USF2", "gsm_a.rr.additional_usf_2",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_npm_transfer_time,
{ "NPM Transfer Time", "gsm_a.rr.npm_transfer_time",
FT_UINT8, BASE_DEC, NULL, 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_event_based_fanr,
{ "EVENT BASED FANR", "gsm_a.rr.event_base_fanr",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_event_based_fanr_vals), 0x00,
NULL, HFILL
}
},
{ &hf_gsm_a_rr_dl_egprs_level,
{ "Downlink EGPRS Level", "gsm_a.rr.dl_egprs_level",
FT_UINT8, BASE_DEC, VALS(gsm_a_rr_egprs_level_vals), 0x00,
NULL, HFILL
}
},
/* Generated from convert_proto_tree_add_text.pl */
{ &hf_gsm_a_rr_padding, { "Padding Bits", "gsm_a.rr.padding_bits", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
@ -14071,7 +14425,14 @@ proto_register_gsm_a_rr(void)
{ &hf_gsm_a_rr_bitmap_type_reporting, { "Bitmap Type Reporting", "gsm_a.rr.bitmap_type_reporting", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_e_utran_measurement_report, { "E-UTRAN Measurement Report", "gsm_a.rr.e_utran_measurement_report", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_repeat_eutran_desc, { "Repeating E-UTRAN Description struct", "gsm_a.rr.repeat_eutran_desc", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_peo_dsc_and_rcc_present, { "PEO DSC and RCC", "gsm_a.rr.peo_dsc_and_rcc_present", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_c1_delta_present, { "C1 DELTA", "gsm_a.rr.c1_delta_present", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_ul_xtti_tbf_assignment, { "TTI mode for uplink TBF", "gsm_a.rr.ul_xtti_tbf_assignment", FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_rr_ul_xtti_tbf_assignment_vals), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_dl_xtti_tbf_assignment, { "TTI mode for downlink TBF", "gsm_a.rr.dl_xtti_tbf_assignment", FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_rr_dl_xtti_tbf_assignment_vals), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_fanr_act_state, { "FANR state", "gsm_a.rr.fanr_act_state", FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_rr_fanr_act_state_vals), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_encoding_selection, { "Selected encoding", "gsm_a.rr.encoding_selection", FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_rr_encoding_selection_vals), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_nof_pdch_pairs, { "Number of assigned PDCH pairs", "gsm_a.rr.nof_pdch_pairs", FT_BOOLEAN, BASE_NONE, TFS(&gsm_a_rr_nof_pdch_pairs_vals), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_npm_transfer_time_present, { "NPM Transfer Time", "gsm_a.rr.npm_transfer_time_present", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL } },
/* gsm_rr_csn_HL_flag() fields */
{ &hf_gsm_a_rr_selection_parameters, { "Selection Parameters", "gsm_a.rr.selection_parameters", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_break_indicator, { "Break Indicator", "gsm_a.rr.break_indicator", FT_BOOLEAN, BASE_NONE, TFS(&tfs_break_indicator), 0x00, NULL, HFILL }},
@ -14079,6 +14440,8 @@ proto_register_gsm_a_rr(void)
{ &hf_gsm_a_rr_additions_in_rel_7, { "Additions in Rel-7", "gsm_a.rr.additions_in_rel_7", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_additions_in_rel_9, { "Additions in Rel-9", "gsm_a.rr.additions_in_rel_9", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_additions_in_rel_6, { "Additions in Rel-6", "gsm_a.rr.additions_in_rel_6", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_additions_in_rel_10, { "Additions in Rel-10", "gsm_a.rr.additions_in_rel_10", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_additions_in_rel_13, { "Additions in Rel-13", "gsm_a.rr.additions_in_rel_13", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL } },
{ &hf_gsm_a_rr_additions_in_r99, { "Additions in R99", "gsm_a.rr.additions_in_r99", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_first_discriminator_bit, { "First Discriminator Bit", "gsm_a.rr.first_discriminator_bit", FT_BOOLEAN, BASE_NONE, TFS(&tfs_high_low), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_second_discriminator_bit, { "Second Discriminator Bit", "gsm_a.rr.second_discriminator_bit", FT_BOOLEAN, BASE_NONE, TFS(&tfs_high_low), 0x00, NULL, HFILL }},
@ -14120,6 +14483,7 @@ proto_register_gsm_a_rr(void)
{ &hf_gsm_a_rr_mbms_procedures, { "MBMS Procedures", "gsm_a.rr.mbms_procedures", FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_si13_contents, { "SI13 contents", "gsm_a.rr.si13_contents", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_additions_in_rel_4, { "Additions in Rel-4", "gsm_a.rr.additions_in_rel_4", FT_BOOLEAN, BASE_NONE, TFS(&tfs_present_not_present), 0x00, NULL, HFILL }},
{ &hf_gsm_a_rr_si_change_alt, { "SI CHANGE ALT", "gsm_a.rr.si_change_alt", FT_BOOLEAN, BASE_NONE, TFS(&gsm_si_change_alt_value), 0x00, NULL, HFILL } },
};