Wireshark-dev: [Wireshark-dev] LTE RRC Feature Group Indicators dissection (was: wireshark diss

Date Prev · Date Next · Thread Prev · Thread Next
From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Tue, 31 Aug 2010 21:50:18 +0200
Hi Anders,

Le 31/08/2010 12:51, Anders Broman a 锟斤拷crit :
[...]
I've added the basic code in Committ revision 34032.

You will find attached a patch that allows the dissection of the Feature Group Indicators bit string.
I tested it with our UE and it works fine.

Regards,
Pascal.
Index: asn1/lte-rrc/packet-lte-rrc-template.c
===================================================================
--- asn1/lte-rrc/packet-lte-rrc-template.c	(r‚vision 34033)
+++ asn1/lte-rrc/packet-lte-rrc-template.c	(copie de travail)
@@ -55,15 +55,179 @@
 
 #include "packet-lte-rrc-hf.c"
 
+static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_3 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_4 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_5 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_6 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_7 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_8 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_9 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_10 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_11 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_12 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_13 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_14 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_15 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_16 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_17 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_18 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_19 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_20 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_21 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_22 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_23 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_24 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_25 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_26 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_27 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_28 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_29 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_30 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_31 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_32 = -1;
+
 /* Initialize the subtree pointers */
 static int ett_lte_rrc = -1;
 
 #include "packet-lte-rrc-ett.c"
 
+static gint ett_lte_rrc_featureGroupIndicators = -1;
+
 /* Forward declarations */
 static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
 static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
 static int dissect_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
+
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_1_val = {
+  "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Multi-user MIMO for PDSCH; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-2",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_2_val = {
+  "Simultaneous CQI and ACK/NACK on PUCCH (format 2a/2b); Absolute TPC command for PUSCH; Resource alloc type 1 for PDSCH; Periodic CQI/PMI/RI report on PUCCH: Mode 2-0; Periodic CQI/PMI/RI report on PUCCH: Mode 2-1",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_3_val = {
+  "Semi-persistent scheduling; TTI bundling; 5bit RLC UM SN; 7bit PDCP SN",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_4_val = {
+  "Short DRX cycle",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_5_val = {
+  "Long DRX cycle; DRX command MAC control element",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_6_val = {
+  "Prioritised bit rate",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_7_val = {
+  "RLC UM",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_8_val = {
+  "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_9_val = {
+  "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_10_val = {
+  "EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order; EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_11_val = {
+  "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_12_val = {
+  "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_13_val = {
+  "Inter-frequency handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_14_val = {
+  "Measurement reporting event: Event A4 – Neighbour > threshold; Measurement reporting event: Event A5 – Serving < threshold1 & Neighbour > threshold2",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_15_val = {
+  "Measurement reporting event: Event B1 – Neighbour > threshold",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_16_val = {
+  "Periodical measurement reporting for non-ANR related measurements",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_17_val = {
+  "Periodical measurement reporting for SON / ANR; ANR related intra-frequency measurement reporting events",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_18_val = {
+  "ANR related inter-frequency measurement reporting events",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_19_val = {
+  "ANR related inter-RAT measurement reporting events",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_20_val = {
+  "SRB1 and SRB2 for DCCH + 8x AM DRB; SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported)",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_21_val = {
+  "Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1; Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_22_val = {
+  "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_23_val = {
+  "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_24_val = {
+  "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_25_val = {
+  "Inter-frequency measurements and reporting in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_26_val = {
+  "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_27_val = {
+  "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_28_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_32_val = {
+  "Undefined",
+  "Not supported"
+};
 #include "packet-lte-rrc-fn.c"
 
 static void
@@ -140,12 +304,143 @@
   static hf_register_info hf[] = {
 
 #include "packet-lte-rrc-hfarr.c"
+
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_1,
+      { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_1_val), 0,
+        "EUTRA Feature Group Indicator 1", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_2,
+      { "Indicator 2", "lte-rrc.eutra_cap_feat_group_ind_2",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_2_val), 0,
+        "EUTRA Feature Group Indicator 2", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_3,
+      { "Indicator 3", "lte-rrc.eutra_cap_feat_group_ind_3",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_3_val), 0,
+        "EUTRA Feature Group Indicator 3", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_4,
+      { "Indicator 4", "lte-rrc.eutra_cap_feat_group_ind_4",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_4_val), 0,
+        "EUTRA Feature Group Indicator 4", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_5,
+      { "Indicator 5", "lte-rrc.eutra_cap_feat_group_ind_5",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_5_val), 0,
+        "EUTRA Feature Group Indicator 5", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_6,
+      { "Indicator 6", "lte-rrc.eutra_cap_feat_group_ind_6",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_6_val), 0,
+        "EUTRA Feature Group Indicator 6", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_7,
+      { "Indicator 7", "lte-rrc.eutra_cap_feat_group_ind_7",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_7_val), 0,
+        "EUTRA Feature Group Indicator 7", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_8,
+      { "Indicator 8", "lte-rrc.eutra_cap_feat_group_ind_8",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_8_val), 0,
+        "EUTRA Feature Group Indicator 8", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_9,
+      { "Indicator 9", "lte-rrc.eutra_cap_feat_group_ind_9",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_9_val), 0,
+        "EUTRA Feature Group Indicator 9", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_10,
+      { "Indicator 10", "lte-rrc.eutra_cap_feat_group_ind_10",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_10_val), 0,
+        "EUTRA Feature Group Indicator 10", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_11,
+      { "Indicator 11", "lte-rrc.eutra_cap_feat_group_ind_11",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_11_val), 0,
+        "EUTRA Feature Group Indicator 11", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_12,
+      { "Indicator 12", "lte-rrc.eutra_cap_feat_group_ind_12",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_12_val), 0,
+        "EUTRA Feature Group Indicator 12", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_13,
+      { "Indicator 13", "lte-rrc.eutra_cap_feat_group_ind_13",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_13_val), 0,
+        "EUTRA Feature Group Indicator ", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_14,
+      { "Indicator 14", "lte-rrc.eutra_cap_feat_group_ind_14",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_14_val), 0,
+        "EUTRA Feature Group Indicator 14", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_15,
+      { "Indicator 15", "lte-rrc.eutra_cap_feat_group_ind_15",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_15_val), 0,
+        "EUTRA Feature Group Indicator 15", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_16,
+      { "Indicator 16", "lte-rrc.eutra_cap_feat_group_ind_16",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_16_val), 0,
+        "EUTRA Feature Group Indicator 16", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_17,
+      { "Indicator 17", "lte-rrc.eutra_cap_feat_group_ind_17",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_17_val), 0,
+        "EUTRA Feature Group Indicator 17", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_18,
+      { "Indicator 18", "lte-rrc.eutra_cap_feat_group_ind_18",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_18_val), 0,
+        "EUTRA Feature Group Indicator 18", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_19,
+      { "Indicator 19", "lte-rrc.eutra_cap_feat_group_ind_19",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_19_val), 0,
+        "EUTRA Feature Group Indicator 19", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_20,
+      { "Indicator 20", "lte-rrc.eutra_cap_feat_group_ind_20",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_20_val), 0,
+        "EUTRA Feature Group Indicator 20", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_21,
+      { "Indicator 21", "lte-rrc.eutra_cap_feat_group_ind_21",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_21_val), 0,
+        "EUTRA Feature Group Indicator 21", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_22,
+      { "Indicator 22", "lte-rrc.eutra_cap_feat_group_ind_22",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_22_val), 0,
+        "EUTRA Feature Group Indicator 22", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_23,
+      { "Indicator 23", "lte-rrc.eutra_cap_feat_group_ind_23",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_23_val), 0,
+        "EUTRA Feature Group Indicator 23", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_24,
+      { "Indicator 24", "lte-rrc.eutra_cap_feat_group_ind_24",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_24_val), 0,
+        "EUTRA Feature Group Indicator 24", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_25,
+      { "Indicator 25", "lte-rrc.eutra_cap_feat_group_ind_25",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_25_val), 0,
+        "EUTRA Feature Group Indicator 25", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_26,
+      { "Indicator 26", "lte-rrc.eutra_cap_feat_group_ind_26",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_26_val), 0,
+        "EUTRA Feature Group Indicator 26", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_27,
+      { "Indicator 27", "lte-rrc.eutra_cap_feat_group_ind_27",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_27_val), 0,
+        "EUTRA Feature Group Indicator 27", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_28,
+      { "Indicator 28", "lte-rrc.eutra_cap_feat_group_ind_28",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_28_val), 0,
+        "EUTRA Feature Group Indicator 28", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_29,
+      { "Indicator 29", "lte-rrc.eutra_cap_feat_group_ind_29",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_29_val), 0,
+        "EUTRA Feature Group Indicator 29", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_30,
+      { "Indicator 30", "lte-rrc.eutra_cap_feat_group_ind_30",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_30_val), 0,
+        "EUTRA Feature Group Indicator 30", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_31,
+      { "Indicator 31", "lte-rrc.eutra_cap_feat_group_ind_31",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_31_val), 0,
+        "EUTRA Feature Group Indicator 31", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_32,
+      { "Indicator 32", "lte-rrc.eutra_cap_feat_group_ind_32",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_32_val), 0,
+        "EUTRA Feature Group Indicator 32", HFILL }},
   };
 
   /* List of subtrees */
   static gint *ett[] = {
-		  &ett_lte_rrc,
+    &ett_lte_rrc,
 #include "packet-lte-rrc-ettarr.c"
+
+    &ett_lte_rrc_featureGroupIndicators,
   };
 
 
Index: asn1/lte-rrc/lte-rrc.cnf
===================================================================
--- asn1/lte-rrc/lte-rrc.cnf	(r‚vision 34033)
+++ asn1/lte-rrc/lte-rrc.cnf	(copie de travail)
@@ -124,9 +124,76 @@
 #.FN_BODY UE-EUTRA-Capability/featureGroupIndicators VAL_PTR = &featureGroupIndicators_tvb
   tvbuff_t *featureGroupIndicators_tvb=NULL;
 %(DEFAULT_BODY)s
- if(featureGroupIndicators_tvb){
-    /* Add dissection of featureGroupIndicators here */
- }
+  if(featureGroupIndicators_tvb){
+    /* Dissect featureGroupIndicators */
+    proto_tree *subtree;
+    gint curr_bit_offset = 0;
+    subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndicators);
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_1, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_2, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_3, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_4, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_5, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_6, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_7, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_8, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_9, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_10, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_11, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_12, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_13, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_14, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_15, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_16, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_17, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_18, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_19, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_20, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_21, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_22, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_23, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_24, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_25, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_26, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_27, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_28, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_29, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_30, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_31, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_32, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+  }
 
 #.FN_HDR MasterInformationBlock
 
Index: epan/dissectors/packet-lte-rrc.c
===================================================================
--- epan/dissectors/packet-lte-rrc.c	(r‚vision 34033)
+++ epan/dissectors/packet-lte-rrc.c	(copie de travail)
@@ -1329,6 +1329,39 @@
 /*--- End of included file: packet-lte-rrc-hf.c ---*/
 #line 57 "packet-lte-rrc-template.c"
 
+static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_3 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_4 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_5 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_6 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_7 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_8 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_9 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_10 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_11 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_12 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_13 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_14 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_15 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_16 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_17 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_18 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_19 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_20 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_21 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_22 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_23 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_24 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_25 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_26 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_27 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_28 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_29 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_30 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_31 = -1;
+static int hf_lte_rrc_eutra_cap_feat_group_ind_32 = -1;
+
 /* Initialize the subtree pointers */
 static int ett_lte_rrc = -1;
 
@@ -1972,13 +2005,144 @@
 static gint ett_lte_rrc_RRM_Config = -1;
 
 /*--- End of included file: packet-lte-rrc-ett.c ---*/
-#line 62 "packet-lte-rrc-template.c"
+#line 95 "packet-lte-rrc-template.c"
 
+static gint ett_lte_rrc_featureGroupIndicators = -1;
+
 /* Forward declarations */
 static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
 static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
 static int dissect_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
 
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_1_val = {
+  "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Multi-user MIMO for PDSCH; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-2",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_2_val = {
+  "Simultaneous CQI and ACK/NACK on PUCCH (format 2a/2b); Absolute TPC command for PUSCH; Resource alloc type 1 for PDSCH; Periodic CQI/PMI/RI report on PUCCH: Mode 2-0; Periodic CQI/PMI/RI report on PUCCH: Mode 2-1",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_3_val = {
+  "Semi-persistent scheduling; TTI bundling; 5bit RLC UM SN; 7bit PDCP SN",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_4_val = {
+  "Short DRX cycle",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_5_val = {
+  "Long DRX cycle; DRX command MAC control element",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_6_val = {
+  "Prioritised bit rate",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_7_val = {
+  "RLC UM",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_8_val = {
+  "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_9_val = {
+  "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_10_val = {
+  "EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order; EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_11_val = {
+  "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_12_val = {
+  "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_13_val = {
+  "Inter-frequency handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_14_val = {
+  "Measurement reporting event: Event A4 – Neighbour > threshold; Measurement reporting event: Event A5 – Serving < threshold1 & Neighbour > threshold2",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_15_val = {
+  "Measurement reporting event: Event B1 – Neighbour > threshold",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_16_val = {
+  "Periodical measurement reporting for non-ANR related measurements",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_17_val = {
+  "Periodical measurement reporting for SON / ANR; ANR related intra-frequency measurement reporting events",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_18_val = {
+  "ANR related inter-frequency measurement reporting events",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_19_val = {
+  "ANR related inter-RAT measurement reporting events",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_20_val = {
+  "SRB1 and SRB2 for DCCH + 8x AM DRB; SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported)",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_21_val = {
+  "Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1; Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_22_val = {
+  "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_23_val = {
+  "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_24_val = {
+  "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_25_val = {
+  "Inter-frequency measurements and reporting in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_26_val = {
+  "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_27_val = {
+  "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_28_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = {
+  "Undefined",
+  "Not supported"
+};
+static const true_false_string lte_rrc_eutra_cap_feat_group_ind_32_val = {
+  "Undefined",
+  "Not supported"
+};
+
 /*--- Included file: packet-lte-rrc-fn.c ---*/
 #line 1 "packet-lte-rrc-fn.c"
 /*--- PDUs declarations ---*/
@@ -16846,9 +17010,76 @@
   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                      32, 32, FALSE, &featureGroupIndicators_tvb);
 
- if(featureGroupIndicators_tvb){
-    /* Add dissection of featureGroupIndicators here */
- }
+  if(featureGroupIndicators_tvb){
+    /* Dissect featureGroupIndicators */
+    proto_tree *subtree;
+    gint curr_bit_offset = 0;
+    subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndicators);
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_1, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_2, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_3, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_4, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_5, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_6, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_7, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_8, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_9, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_10, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_11, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_12, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_13, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_14, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_15, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_16, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_17, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_18, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_19, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_20, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_21, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_22, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_23, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_24, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_25, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_26, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_27, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_28, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_29, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_30, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_31, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+    proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_32, featureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
+    curr_bit_offset++;
+  }
 
 
   return offset;
@@ -18325,7 +18556,7 @@
 
 
 /*--- End of included file: packet-lte-rrc-fn.c ---*/
-#line 68 "packet-lte-rrc-template.c"
+#line 232 "packet-lte-rrc-template.c"
 
 static void
 dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
@@ -23305,12 +23536,141 @@
         NULL, HFILL }},
 
 /*--- End of included file: packet-lte-rrc-hfarr.c ---*/
-#line 143 "packet-lte-rrc-template.c"
+#line 307 "packet-lte-rrc-template.c"
+
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_1,
+      { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_1_val), 0,
+        "EUTRA Feature Group Indicator 1", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_2,
+      { "Indicator 2", "lte-rrc.eutra_cap_feat_group_ind_2",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_2_val), 0,
+        "EUTRA Feature Group Indicator 2", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_3,
+      { "Indicator 3", "lte-rrc.eutra_cap_feat_group_ind_3",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_3_val), 0,
+        "EUTRA Feature Group Indicator 3", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_4,
+      { "Indicator 4", "lte-rrc.eutra_cap_feat_group_ind_4",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_4_val), 0,
+        "EUTRA Feature Group Indicator 4", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_5,
+      { "Indicator 5", "lte-rrc.eutra_cap_feat_group_ind_5",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_5_val), 0,
+        "EUTRA Feature Group Indicator 5", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_6,
+      { "Indicator 6", "lte-rrc.eutra_cap_feat_group_ind_6",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_6_val), 0,
+        "EUTRA Feature Group Indicator 6", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_7,
+      { "Indicator 7", "lte-rrc.eutra_cap_feat_group_ind_7",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_7_val), 0,
+        "EUTRA Feature Group Indicator 7", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_8,
+      { "Indicator 8", "lte-rrc.eutra_cap_feat_group_ind_8",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_8_val), 0,
+        "EUTRA Feature Group Indicator 8", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_9,
+      { "Indicator 9", "lte-rrc.eutra_cap_feat_group_ind_9",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_9_val), 0,
+        "EUTRA Feature Group Indicator 9", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_10,
+      { "Indicator 10", "lte-rrc.eutra_cap_feat_group_ind_10",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_10_val), 0,
+        "EUTRA Feature Group Indicator 10", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_11,
+      { "Indicator 11", "lte-rrc.eutra_cap_feat_group_ind_11",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_11_val), 0,
+        "EUTRA Feature Group Indicator 11", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_12,
+      { "Indicator 12", "lte-rrc.eutra_cap_feat_group_ind_12",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_12_val), 0,
+        "EUTRA Feature Group Indicator 12", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_13,
+      { "Indicator 13", "lte-rrc.eutra_cap_feat_group_ind_13",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_13_val), 0,
+        "EUTRA Feature Group Indicator ", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_14,
+      { "Indicator 14", "lte-rrc.eutra_cap_feat_group_ind_14",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_14_val), 0,
+        "EUTRA Feature Group Indicator 14", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_15,
+      { "Indicator 15", "lte-rrc.eutra_cap_feat_group_ind_15",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_15_val), 0,
+        "EUTRA Feature Group Indicator 15", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_16,
+      { "Indicator 16", "lte-rrc.eutra_cap_feat_group_ind_16",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_16_val), 0,
+        "EUTRA Feature Group Indicator 16", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_17,
+      { "Indicator 17", "lte-rrc.eutra_cap_feat_group_ind_17",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_17_val), 0,
+        "EUTRA Feature Group Indicator 17", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_18,
+      { "Indicator 18", "lte-rrc.eutra_cap_feat_group_ind_18",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_18_val), 0,
+        "EUTRA Feature Group Indicator 18", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_19,
+      { "Indicator 19", "lte-rrc.eutra_cap_feat_group_ind_19",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_19_val), 0,
+        "EUTRA Feature Group Indicator 19", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_20,
+      { "Indicator 20", "lte-rrc.eutra_cap_feat_group_ind_20",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_20_val), 0,
+        "EUTRA Feature Group Indicator 20", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_21,
+      { "Indicator 21", "lte-rrc.eutra_cap_feat_group_ind_21",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_21_val), 0,
+        "EUTRA Feature Group Indicator 21", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_22,
+      { "Indicator 22", "lte-rrc.eutra_cap_feat_group_ind_22",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_22_val), 0,
+        "EUTRA Feature Group Indicator 22", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_23,
+      { "Indicator 23", "lte-rrc.eutra_cap_feat_group_ind_23",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_23_val), 0,
+        "EUTRA Feature Group Indicator 23", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_24,
+      { "Indicator 24", "lte-rrc.eutra_cap_feat_group_ind_24",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_24_val), 0,
+        "EUTRA Feature Group Indicator 24", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_25,
+      { "Indicator 25", "lte-rrc.eutra_cap_feat_group_ind_25",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_25_val), 0,
+        "EUTRA Feature Group Indicator 25", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_26,
+      { "Indicator 26", "lte-rrc.eutra_cap_feat_group_ind_26",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_26_val), 0,
+        "EUTRA Feature Group Indicator 26", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_27,
+      { "Indicator 27", "lte-rrc.eutra_cap_feat_group_ind_27",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_27_val), 0,
+        "EUTRA Feature Group Indicator 27", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_28,
+      { "Indicator 28", "lte-rrc.eutra_cap_feat_group_ind_28",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_28_val), 0,
+        "EUTRA Feature Group Indicator 28", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_29,
+      { "Indicator 29", "lte-rrc.eutra_cap_feat_group_ind_29",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_29_val), 0,
+        "EUTRA Feature Group Indicator 29", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_30,
+      { "Indicator 30", "lte-rrc.eutra_cap_feat_group_ind_30",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_30_val), 0,
+        "EUTRA Feature Group Indicator 30", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_31,
+      { "Indicator 31", "lte-rrc.eutra_cap_feat_group_ind_31",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_31_val), 0,
+        "EUTRA Feature Group Indicator 31", HFILL }},
+    { &hf_lte_rrc_eutra_cap_feat_group_ind_32,
+      { "Indicator 32", "lte-rrc.eutra_cap_feat_group_ind_32",
+        FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_eutra_cap_feat_group_ind_32_val), 0,
+        "EUTRA Feature Group Indicator 32", HFILL }},
   };
 
   /* List of subtrees */
   static gint *ett[] = {
-		  &ett_lte_rrc,
+    &ett_lte_rrc,
 
 /*--- Included file: packet-lte-rrc-ettarr.c ---*/
 #line 1 "packet-lte-rrc-ettarr.c"
@@ -23951,7 +24311,9 @@
     &ett_lte_rrc_RRM_Config,
 
 /*--- End of included file: packet-lte-rrc-ettarr.c ---*/
-#line 149 "packet-lte-rrc-template.c"
+#line 442 "packet-lte-rrc-template.c"
+
+    &ett_lte_rrc_featureGroupIndicators,
   };
 
 
@@ -23985,7 +24347,7 @@
 
 
 /*--- End of included file: packet-lte-rrc-dis-reg.c ---*/
-#line 167 "packet-lte-rrc-template.c"
+#line 462 "packet-lte-rrc-template.c"
 
 }