1 /* packet-lte-rrc-template.c
2 * Routines for Evolved Universal Terrestrial Radio Access (E-UTRA);
3 * Radio Resource Control (RRC) protocol specification
4 * (3GPP TS 36.331 V10.4.0 Release 10) packet dissection
5 * Copyright 2008, Vincent Helfre
9 * Wireshark - Network traffic analyzer
10 * By Gerald Combs <gerald@wireshark.org>
11 * Copyright 1998 Gerald Combs
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
34 #include <epan/packet.h>
35 #include <epan/asn1.h>
36 #include <epan/expert.h>
38 #include "packet-ber.h"
39 #include "packet-per.h"
40 #include "packet-rrc.h"
41 #include "packet-gsm_a_common.h"
42 #include "packet-lpp.h"
44 #define PNAME "LTE Radio Resource Control (RRC) protocol"
45 #define PSNAME "LTE RRC"
46 #define PFNAME "lte_rrc"
48 static dissector_handle_t nas_eps_handle = NULL;
49 static dissector_handle_t rrc_irat_ho_to_utran_cmd_handle = NULL;
50 static dissector_handle_t rrc_sys_info_cont_handle = NULL;
51 static dissector_handle_t gsm_a_dtap_handle = NULL;
52 static dissector_handle_t gsm_rlcmac_dl_handle = NULL;
53 static guint32 lte_rrc_rat_type_value = -1;
54 static guint32 lte_rrc_ho_target_rat_type_value = -1;
55 static gint lte_rrc_si_or_psi_geran_val = -1;
57 /* Include constants */
58 #include "packet-lte-rrc-val.h"
60 /* Initialize the protocol and registered fields */
61 static int proto_lte_rrc = -1;
63 #include "packet-lte-rrc-hf.c"
65 static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1;
66 static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1;
67 static int hf_lte_rrc_eutra_cap_feat_group_ind_3 = -1;
68 static int hf_lte_rrc_eutra_cap_feat_group_ind_4 = -1;
69 static int hf_lte_rrc_eutra_cap_feat_group_ind_5 = -1;
70 static int hf_lte_rrc_eutra_cap_feat_group_ind_6 = -1;
71 static int hf_lte_rrc_eutra_cap_feat_group_ind_7 = -1;
72 static int hf_lte_rrc_eutra_cap_feat_group_ind_8 = -1;
73 static int hf_lte_rrc_eutra_cap_feat_group_ind_9 = -1;
74 static int hf_lte_rrc_eutra_cap_feat_group_ind_10 = -1;
75 static int hf_lte_rrc_eutra_cap_feat_group_ind_11 = -1;
76 static int hf_lte_rrc_eutra_cap_feat_group_ind_12 = -1;
77 static int hf_lte_rrc_eutra_cap_feat_group_ind_13 = -1;
78 static int hf_lte_rrc_eutra_cap_feat_group_ind_14 = -1;
79 static int hf_lte_rrc_eutra_cap_feat_group_ind_15 = -1;
80 static int hf_lte_rrc_eutra_cap_feat_group_ind_16 = -1;
81 static int hf_lte_rrc_eutra_cap_feat_group_ind_17 = -1;
82 static int hf_lte_rrc_eutra_cap_feat_group_ind_18 = -1;
83 static int hf_lte_rrc_eutra_cap_feat_group_ind_19 = -1;
84 static int hf_lte_rrc_eutra_cap_feat_group_ind_20 = -1;
85 static int hf_lte_rrc_eutra_cap_feat_group_ind_21 = -1;
86 static int hf_lte_rrc_eutra_cap_feat_group_ind_22 = -1;
87 static int hf_lte_rrc_eutra_cap_feat_group_ind_23 = -1;
88 static int hf_lte_rrc_eutra_cap_feat_group_ind_24 = -1;
89 static int hf_lte_rrc_eutra_cap_feat_group_ind_25 = -1;
90 static int hf_lte_rrc_eutra_cap_feat_group_ind_26 = -1;
91 static int hf_lte_rrc_eutra_cap_feat_group_ind_27 = -1;
92 static int hf_lte_rrc_eutra_cap_feat_group_ind_28 = -1;
93 static int hf_lte_rrc_eutra_cap_feat_group_ind_29 = -1;
94 static int hf_lte_rrc_eutra_cap_feat_group_ind_30 = -1;
95 static int hf_lte_rrc_eutra_cap_feat_group_ind_31 = -1;
96 static int hf_lte_rrc_eutra_cap_feat_group_ind_32 = -1;
97 static int hf_lte_rrc_eutra_cap_feat_group_ind_101 = -1;
98 static int hf_lte_rrc_eutra_cap_feat_group_ind_102 = -1;
99 static int hf_lte_rrc_eutra_cap_feat_group_ind_103 = -1;
100 static int hf_lte_rrc_eutra_cap_feat_group_ind_104 = -1;
101 static int hf_lte_rrc_eutra_cap_feat_group_ind_105 = -1;
102 static int hf_lte_rrc_eutra_cap_feat_group_ind_106 = -1;
103 static int hf_lte_rrc_eutra_cap_feat_group_ind_107 = -1;
104 static int hf_lte_rrc_eutra_cap_feat_group_ind_108 = -1;
105 static int hf_lte_rrc_eutra_cap_feat_group_ind_109 = -1;
106 static int hf_lte_rrc_eutra_cap_feat_group_ind_110 = -1;
107 static int hf_lte_rrc_eutra_cap_feat_group_ind_111 = -1;
108 static int hf_lte_rrc_eutra_cap_feat_group_ind_112 = -1;
109 static int hf_lte_rrc_eutra_cap_feat_group_ind_113 = -1;
110 static int hf_lte_rrc_eutra_cap_feat_group_ind_114 = -1;
111 static int hf_lte_rrc_eutra_cap_feat_group_ind_115 = -1;
112 static int hf_lte_rrc_eutra_cap_feat_group_ind_116 = -1;
113 static int hf_lte_rrc_eutra_cap_feat_group_ind_117 = -1;
114 static int hf_lte_rrc_eutra_cap_feat_group_ind_118 = -1;
115 static int hf_lte_rrc_eutra_cap_feat_group_ind_119 = -1;
116 static int hf_lte_rrc_eutra_cap_feat_group_ind_120 = -1;
117 static int hf_lte_rrc_eutra_cap_feat_group_ind_121 = -1;
118 static int hf_lte_rrc_eutra_cap_feat_group_ind_122 = -1;
119 static int hf_lte_rrc_eutra_cap_feat_group_ind_123 = -1;
120 static int hf_lte_rrc_eutra_cap_feat_group_ind_124 = -1;
121 static int hf_lte_rrc_eutra_cap_feat_group_ind_125 = -1;
122 static int hf_lte_rrc_eutra_cap_feat_group_ind_126 = -1;
123 static int hf_lte_rrc_eutra_cap_feat_group_ind_127 = -1;
124 static int hf_lte_rrc_eutra_cap_feat_group_ind_128 = -1;
125 static int hf_lte_rrc_eutra_cap_feat_group_ind_129 = -1;
126 static int hf_lte_rrc_eutra_cap_feat_group_ind_130 = -1;
127 static int hf_lte_rrc_eutra_cap_feat_group_ind_131 = -1;
128 static int hf_lte_rrc_eutra_cap_feat_group_ind_132 = -1;
130 /* Initialize the subtree pointers */
131 static int ett_lte_rrc = -1;
133 #include "packet-lte-rrc-ett.c"
135 static gint ett_lte_rrc_featureGroupIndicators = -1;
136 static gint ett_lte_rrc_featureGroupIndicatorsV1020 = -1;
137 static gint ett_lte_rrc_neighCellConfig = -1;
138 static gint ett_lte_rrc_absTimeInfo = -1;
140 /* Forward declarations */
141 static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
142 static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
143 int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
145 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_1_val = {
146 "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; PDSCH transmission mode 5; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 and 2-2 - Supported",
147 "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; PDSCH transmission mode 5; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 and 2-2 - Not supported"
149 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_2_val = {
150 "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 and 2-1 - Supported",
151 "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 and 2-1 - Not supported"
153 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_3_val = {
154 "5bit RLC UM SN; 7bit PDCP SN - Supported",
155 "5bit RLC UM SN; 7bit PDCP SN - Not supported"
157 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_4_val = {
158 "Short DRX cycle - Supported",
159 "Short DRX cycle - Not supported"
161 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_5_val = {
162 "Long DRX cycle; DRX command MAC control element - Supported",
163 "Long DRX cycle; DRX command MAC control element - Not supported"
165 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_6_val = {
166 "Prioritised bit rate - Supported",
167 "Prioritised bit rate - Not supported"
169 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_7_val = {
170 "RLC UM - Supported",
171 "RLC UM - Not supported"
173 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_8_val = {
174 "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Supported",
175 "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Not supported"
177 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_9_val = {
178 "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Supported",
179 "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Not Supported"
181 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_10_val = {
182 "EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order; EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC - Supported",
183 "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"
185 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_11_val = {
186 "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Supported",
187 "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Not supported"
189 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_12_val = {
190 "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Supported",
191 "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Not supported"
193 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_13_val = {
194 "Inter-frequency handover (within FDD or TDD) - Supported",
195 "Inter-frequency handover (within FDD or TDD) - Not supported"
197 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_14_val = {
198 "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Supported",
199 "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Not supported"
201 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_15_val = {
202 "Measurement reporting event: Event B1 - Neighbour > threshold - Supported",
203 "Measurement reporting event: Event B1 - Neighbour > threshold - Not supported"
205 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_16_val = {
206 "non-ANR related periodical measurement reporting - Supported",
207 "non-ANR related periodical measurement reporting - Not supported"
209 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_17_val = {
210 "ANR related intra-frequency measurement reporting events - Supported",
211 "ANR related intra-frequency measurement reporting events - Not supported"
213 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_18_val = {
214 "ANR related inter-frequency measurement reporting events - Supported",
215 "ANR related inter-frequency measurement reporting events - Not supported"
217 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_19_val = {
218 "ANR related inter-RAT measurement reporting events - Supported",
219 "ANR related inter-RAT measurement reporting events - Not supported"
221 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_20_val = {
222 "SRB1 and SRB2 for DCCH + 8x AM DRB; SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported) - Supported",
223 "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"
225 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_21_val = {
226 "Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1; Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1 - Supported",
227 "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"
229 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_22_val = {
230 "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
231 "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
233 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_23_val = {
234 "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
235 "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
237 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_24_val = {
238 "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
239 "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
241 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_25_val = {
242 "Inter-frequency measurements and reporting in E-UTRA connected mode - Supported",
243 "Inter-frequency measurements and reporting in E-UTRA connected mode - Not supported"
245 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_26_val = {
246 "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
247 "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
249 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_27_val = {
250 "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Supported",
251 "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Not supported"
253 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_28_val = {
254 "TTI bundling - Supported",
255 "TTI bundling - Not supported"
257 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = {
258 "Semi-Persistent Scheduling - Supported",
259 "Semi-Persistent Scheduling - Not supported"
261 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = {
262 "Handover between FDD and TDD - Supported",
263 "Handover between FDD and TDD - Not supported"
265 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = {
266 "Undefined - Supported",
267 "Undefined - Not supported"
269 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_32_val = {
270 "Undefined - Supported",
271 "Undefined - Not supported"
273 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_101_val = {
274 "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Supported",
275 "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Not supported"
277 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_102_val = {
278 "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Supported",
279 "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Not supported"
281 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_103_val = {
282 "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Supported",
283 "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Not supported"
285 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_104_val = {
286 "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Supported",
287 "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Not supported"
289 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_105_val = {
290 "PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Supported",
291 "PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Not supported"
293 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_106_val = {
294 "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported",
295 "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported"
297 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_107_val = {
298 "PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Supported",
299 "PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Not supported"
301 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_108_val = {
302 "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported",
303 "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported"
305 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_109_val = {
306 "PUCCH RM1-1 submode 1 - Supported",
307 "PUCCH RM1-1 submode 1 - Not supported"
309 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_110_val = {
310 "PUCCH RM1-1 submode 2 - Supported",
311 "PUCCH RM1-1 submode 2 - Not supported"
313 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_111_val = {
314 "Measurement reporting trigger Event A6 - Supported",
315 "Measurement reporting trigger Event A6 - Not supported"
317 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_112_val = {
318 "SCell addition within the Handover to EUTRA procedure - Supported",
319 "SCell addition within the Handover to EUTRA procedure - Not supported"
321 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_113_val = {
322 "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Supported",
323 "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Not supported"
325 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_114_val = {
326 "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Supported",
327 "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Not supported"
329 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_115_val = {
330 "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Supported",
331 "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Not supported"
333 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_116_val = {
334 "Relative transmit phase continuity for spatial multiplexing in UL - Supported",
335 "Relative transmit phase continuity for spatial multiplexing in UL - Not supported"
337 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_117_val = {
338 "Undefined - Supported",
339 "Undefined - Not supported"
341 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_118_val = {
342 "Undefined - Supported",
343 "Undefined - Not supported"
345 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_119_val = {
346 "Undefined - Supported",
347 "Undefined - Not supported"
349 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_120_val = {
350 "Undefined - Supported",
351 "Undefined - Not supported"
353 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_121_val = {
354 "Undefined - Supported",
355 "Undefined - Not supported"
357 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_122_val = {
358 "Undefined - Supported",
359 "Undefined - Not supported"
361 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_123_val = {
362 "Undefined - Supported",
363 "Undefined - Not supported"
365 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_124_val = {
366 "Undefined - Supported",
367 "Undefined - Not supported"
369 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_125_val = {
370 "Undefined - Supported",
371 "Undefined - Not supported"
373 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_126_val = {
374 "Undefined - Supported",
375 "Undefined - Not supported"
377 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_127_val = {
378 "Undefined - Supported",
379 "Undefined - Not supported"
381 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_128_val = {
382 "Undefined - Supported",
383 "Undefined - Not supported"
385 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_129_val = {
386 "Undefined - Supported",
387 "Undefined - Not supported"
389 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_130_val = {
390 "Undefined - Supported",
391 "Undefined - Not supported"
393 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_131_val = {
394 "Undefined - Supported",
395 "Undefined - Not supported"
397 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_132_val = {
398 "Undefined - Supported",
399 "Undefined - Not supported"
401 #include "packet-lte-rrc-fn.c"
404 dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
407 proto_tree *lte_rrc_tree;
409 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_CCCH");
410 col_clear(pinfo->cinfo, COL_INFO);
413 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
414 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
415 dissect_DL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
420 dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
423 proto_tree *lte_rrc_tree;
425 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_DCCH");
426 col_clear(pinfo->cinfo, COL_INFO);
429 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
430 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
431 dissect_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
437 dissect_lte_rrc_UL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
440 proto_tree *lte_rrc_tree;
442 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_CCCH");
443 col_clear(pinfo->cinfo, COL_INFO);
446 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
447 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
448 dissect_UL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
453 dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
456 proto_tree *lte_rrc_tree;
458 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_DCCH");
459 col_clear(pinfo->cinfo, COL_INFO);
462 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
463 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
464 dissect_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
469 dissect_lte_rrc_BCCH_BCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
472 proto_tree *lte_rrc_tree;
474 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC BCCH_BCH");
475 col_clear(pinfo->cinfo, COL_INFO);
478 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
479 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
480 dissect_BCCH_BCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
485 dissect_lte_rrc_BCCH_DL_SCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
488 proto_tree *lte_rrc_tree;
490 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_SCH");
491 col_clear(pinfo->cinfo, COL_INFO);
494 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
495 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
496 dissect_BCCH_DL_SCH_Message_PDU(tvb, pinfo, lte_rrc_tree);
500 /*--- proto_register_rrc -------------------------------------------*/
501 void proto_register_lte_rrc(void) {
504 static hf_register_info hf[] = {
506 #include "packet-lte-rrc-hfarr.c"
508 { &hf_lte_rrc_eutra_cap_feat_group_ind_1,
509 { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
510 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_1_val), 0,
511 "EUTRA Feature Group Indicator 1", HFILL }},
512 { &hf_lte_rrc_eutra_cap_feat_group_ind_2,
513 { "Indicator 2", "lte-rrc.eutra_cap_feat_group_ind_2",
514 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_2_val), 0,
515 "EUTRA Feature Group Indicator 2", HFILL }},
516 { &hf_lte_rrc_eutra_cap_feat_group_ind_3,
517 { "Indicator 3", "lte-rrc.eutra_cap_feat_group_ind_3",
518 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_3_val), 0,
519 "EUTRA Feature Group Indicator 3", HFILL }},
520 { &hf_lte_rrc_eutra_cap_feat_group_ind_4,
521 { "Indicator 4", "lte-rrc.eutra_cap_feat_group_ind_4",
522 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_4_val), 0,
523 "EUTRA Feature Group Indicator 4", HFILL }},
524 { &hf_lte_rrc_eutra_cap_feat_group_ind_5,
525 { "Indicator 5", "lte-rrc.eutra_cap_feat_group_ind_5",
526 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_5_val), 0,
527 "EUTRA Feature Group Indicator 5", HFILL }},
528 { &hf_lte_rrc_eutra_cap_feat_group_ind_6,
529 { "Indicator 6", "lte-rrc.eutra_cap_feat_group_ind_6",
530 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_6_val), 0,
531 "EUTRA Feature Group Indicator 6", HFILL }},
532 { &hf_lte_rrc_eutra_cap_feat_group_ind_7,
533 { "Indicator 7", "lte-rrc.eutra_cap_feat_group_ind_7",
534 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_7_val), 0,
535 "EUTRA Feature Group Indicator 7", HFILL }},
536 { &hf_lte_rrc_eutra_cap_feat_group_ind_8,
537 { "Indicator 8", "lte-rrc.eutra_cap_feat_group_ind_8",
538 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_8_val), 0,
539 "EUTRA Feature Group Indicator 8", HFILL }},
540 { &hf_lte_rrc_eutra_cap_feat_group_ind_9,
541 { "Indicator 9", "lte-rrc.eutra_cap_feat_group_ind_9",
542 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_9_val), 0,
543 "EUTRA Feature Group Indicator 9", HFILL }},
544 { &hf_lte_rrc_eutra_cap_feat_group_ind_10,
545 { "Indicator 10", "lte-rrc.eutra_cap_feat_group_ind_10",
546 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_10_val), 0,
547 "EUTRA Feature Group Indicator 10", HFILL }},
548 { &hf_lte_rrc_eutra_cap_feat_group_ind_11,
549 { "Indicator 11", "lte-rrc.eutra_cap_feat_group_ind_11",
550 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_11_val), 0,
551 "EUTRA Feature Group Indicator 11", HFILL }},
552 { &hf_lte_rrc_eutra_cap_feat_group_ind_12,
553 { "Indicator 12", "lte-rrc.eutra_cap_feat_group_ind_12",
554 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_12_val), 0,
555 "EUTRA Feature Group Indicator 12", HFILL }},
556 { &hf_lte_rrc_eutra_cap_feat_group_ind_13,
557 { "Indicator 13", "lte-rrc.eutra_cap_feat_group_ind_13",
558 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_13_val), 0,
559 "EUTRA Feature Group Indicator", HFILL }},
560 { &hf_lte_rrc_eutra_cap_feat_group_ind_14,
561 { "Indicator 14", "lte-rrc.eutra_cap_feat_group_ind_14",
562 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_14_val), 0,
563 "EUTRA Feature Group Indicator 14", HFILL }},
564 { &hf_lte_rrc_eutra_cap_feat_group_ind_15,
565 { "Indicator 15", "lte-rrc.eutra_cap_feat_group_ind_15",
566 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_15_val), 0,
567 "EUTRA Feature Group Indicator 15", HFILL }},
568 { &hf_lte_rrc_eutra_cap_feat_group_ind_16,
569 { "Indicator 16", "lte-rrc.eutra_cap_feat_group_ind_16",
570 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_16_val), 0,
571 "EUTRA Feature Group Indicator 16", HFILL }},
572 { &hf_lte_rrc_eutra_cap_feat_group_ind_17,
573 { "Indicator 17", "lte-rrc.eutra_cap_feat_group_ind_17",
574 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_17_val), 0,
575 "EUTRA Feature Group Indicator 17", HFILL }},
576 { &hf_lte_rrc_eutra_cap_feat_group_ind_18,
577 { "Indicator 18", "lte-rrc.eutra_cap_feat_group_ind_18",
578 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_18_val), 0,
579 "EUTRA Feature Group Indicator 18", HFILL }},
580 { &hf_lte_rrc_eutra_cap_feat_group_ind_19,
581 { "Indicator 19", "lte-rrc.eutra_cap_feat_group_ind_19",
582 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_19_val), 0,
583 "EUTRA Feature Group Indicator 19", HFILL }},
584 { &hf_lte_rrc_eutra_cap_feat_group_ind_20,
585 { "Indicator 20", "lte-rrc.eutra_cap_feat_group_ind_20",
586 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_20_val), 0,
587 "EUTRA Feature Group Indicator 20", HFILL }},
588 { &hf_lte_rrc_eutra_cap_feat_group_ind_21,
589 { "Indicator 21", "lte-rrc.eutra_cap_feat_group_ind_21",
590 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_21_val), 0,
591 "EUTRA Feature Group Indicator 21", HFILL }},
592 { &hf_lte_rrc_eutra_cap_feat_group_ind_22,
593 { "Indicator 22", "lte-rrc.eutra_cap_feat_group_ind_22",
594 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_22_val), 0,
595 "EUTRA Feature Group Indicator 22", HFILL }},
596 { &hf_lte_rrc_eutra_cap_feat_group_ind_23,
597 { "Indicator 23", "lte-rrc.eutra_cap_feat_group_ind_23",
598 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_23_val), 0,
599 "EUTRA Feature Group Indicator 23", HFILL }},
600 { &hf_lte_rrc_eutra_cap_feat_group_ind_24,
601 { "Indicator 24", "lte-rrc.eutra_cap_feat_group_ind_24",
602 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_24_val), 0,
603 "EUTRA Feature Group Indicator 24", HFILL }},
604 { &hf_lte_rrc_eutra_cap_feat_group_ind_25,
605 { "Indicator 25", "lte-rrc.eutra_cap_feat_group_ind_25",
606 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_25_val), 0,
607 "EUTRA Feature Group Indicator 25", HFILL }},
608 { &hf_lte_rrc_eutra_cap_feat_group_ind_26,
609 { "Indicator 26", "lte-rrc.eutra_cap_feat_group_ind_26",
610 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_26_val), 0,
611 "EUTRA Feature Group Indicator 26", HFILL }},
612 { &hf_lte_rrc_eutra_cap_feat_group_ind_27,
613 { "Indicator 27", "lte-rrc.eutra_cap_feat_group_ind_27",
614 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_27_val), 0,
615 "EUTRA Feature Group Indicator 27", HFILL }},
616 { &hf_lte_rrc_eutra_cap_feat_group_ind_28,
617 { "Indicator 28", "lte-rrc.eutra_cap_feat_group_ind_28",
618 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_28_val), 0,
619 "EUTRA Feature Group Indicator 28", HFILL }},
620 { &hf_lte_rrc_eutra_cap_feat_group_ind_29,
621 { "Indicator 29", "lte-rrc.eutra_cap_feat_group_ind_29",
622 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_29_val), 0,
623 "EUTRA Feature Group Indicator 29", HFILL }},
624 { &hf_lte_rrc_eutra_cap_feat_group_ind_30,
625 { "Indicator 30", "lte-rrc.eutra_cap_feat_group_ind_30",
626 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_30_val), 0,
627 "EUTRA Feature Group Indicator 30", HFILL }},
628 { &hf_lte_rrc_eutra_cap_feat_group_ind_31,
629 { "Indicator 31", "lte-rrc.eutra_cap_feat_group_ind_31",
630 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_31_val), 0,
631 "EUTRA Feature Group Indicator 31", HFILL }},
632 { &hf_lte_rrc_eutra_cap_feat_group_ind_32,
633 { "Indicator 32", "lte-rrc.eutra_cap_feat_group_ind_32",
634 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_32_val), 0,
635 "EUTRA Feature Group Indicator 32", HFILL }},
636 { &hf_lte_rrc_eutra_cap_feat_group_ind_101,
637 { "Indicator 101", "lte-rrc.eutra_cap_feat_group_ind_101",
638 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_101_val), 0,
639 "EUTRA Feature Group Indicator 101", HFILL }},
640 { &hf_lte_rrc_eutra_cap_feat_group_ind_102,
641 { "Indicator 102", "lte-rrc.eutra_cap_feat_group_ind_102",
642 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_102_val), 0,
643 "EUTRA Feature Group Indicator 102", HFILL }},
644 { &hf_lte_rrc_eutra_cap_feat_group_ind_103,
645 { "Indicator 103", "lte-rrc.eutra_cap_feat_group_ind_103",
646 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_103_val), 0,
647 "EUTRA Feature Group Indicator 103", HFILL }},
648 { &hf_lte_rrc_eutra_cap_feat_group_ind_104,
649 { "Indicator 104", "lte-rrc.eutra_cap_feat_group_ind_104",
650 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_104_val), 0,
651 "EUTRA Feature Group Indicator 104", HFILL }},
652 { &hf_lte_rrc_eutra_cap_feat_group_ind_105,
653 { "Indicator 105", "lte-rrc.eutra_cap_feat_group_ind_105",
654 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_105_val), 0,
655 "EUTRA Feature Group Indicator 105", HFILL }},
656 { &hf_lte_rrc_eutra_cap_feat_group_ind_106,
657 { "Indicator 106", "lte-rrc.eutra_cap_feat_group_ind_106",
658 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_106_val), 0,
659 "EUTRA Feature Group Indicator 106", HFILL }},
660 { &hf_lte_rrc_eutra_cap_feat_group_ind_107,
661 { "Indicator 107", "lte-rrc.eutra_cap_feat_group_ind_107",
662 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_107_val), 0,
663 "EUTRA Feature Group Indicator 107", HFILL }},
664 { &hf_lte_rrc_eutra_cap_feat_group_ind_108,
665 { "Indicator 108", "lte-rrc.eutra_cap_feat_group_ind_108",
666 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_108_val), 0,
667 "EUTRA Feature Group Indicator 108", HFILL }},
668 { &hf_lte_rrc_eutra_cap_feat_group_ind_109,
669 { "Indicator 109", "lte-rrc.eutra_cap_feat_group_ind_109",
670 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_109_val), 0,
671 "EUTRA Feature Group Indicator 109", HFILL }},
672 { &hf_lte_rrc_eutra_cap_feat_group_ind_110,
673 { "Indicator 110", "lte-rrc.eutra_cap_feat_group_ind_110",
674 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_110_val), 0,
675 "EUTRA Feature Group Indicator 110", HFILL }},
676 { &hf_lte_rrc_eutra_cap_feat_group_ind_111,
677 { "Indicator 111", "lte-rrc.eutra_cap_feat_group_ind_111",
678 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_111_val), 0,
679 "EUTRA Feature Group Indicator 111", HFILL }},
680 { &hf_lte_rrc_eutra_cap_feat_group_ind_112,
681 { "Indicator 112", "lte-rrc.eutra_cap_feat_group_ind_112",
682 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_112_val), 0,
683 "EUTRA Feature Group Indicator 112", HFILL }},
684 { &hf_lte_rrc_eutra_cap_feat_group_ind_113,
685 { "Indicator 113", "lte-rrc.eutra_cap_feat_group_ind_113",
686 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_113_val), 0,
687 "EUTRA Feature Group Indicator 113", HFILL }},
688 { &hf_lte_rrc_eutra_cap_feat_group_ind_114,
689 { "Indicator 114", "lte-rrc.eutra_cap_feat_group_ind_114",
690 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_114_val), 0,
691 "EUTRA Feature Group Indicator 114", HFILL }},
692 { &hf_lte_rrc_eutra_cap_feat_group_ind_115,
693 { "Indicator 115", "lte-rrc.eutra_cap_feat_group_ind_115",
694 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_115_val), 0,
695 "EUTRA Feature Group Indicator 115", HFILL }},
696 { &hf_lte_rrc_eutra_cap_feat_group_ind_116,
697 { "Indicator 116", "lte-rrc.eutra_cap_feat_group_ind_116",
698 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_116_val), 0,
699 "EUTRA Feature Group Indicator 116", HFILL }},
700 { &hf_lte_rrc_eutra_cap_feat_group_ind_117,
701 { "Indicator 117", "lte-rrc.eutra_cap_feat_group_ind_117",
702 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_117_val), 0,
703 "EUTRA Feature Group Indicator 117", HFILL }},
704 { &hf_lte_rrc_eutra_cap_feat_group_ind_118,
705 { "Indicator 118", "lte-rrc.eutra_cap_feat_group_ind_118",
706 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_118_val), 0,
707 "EUTRA Feature Group Indicator 118", HFILL }},
708 { &hf_lte_rrc_eutra_cap_feat_group_ind_119,
709 { "Indicator 119", "lte-rrc.eutra_cap_feat_group_ind_119",
710 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_119_val), 0,
711 "EUTRA Feature Group Indicator 119", HFILL }},
712 { &hf_lte_rrc_eutra_cap_feat_group_ind_120,
713 { "Indicator 120", "lte-rrc.eutra_cap_feat_group_ind_120",
714 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_120_val), 0,
715 "EUTRA Feature Group Indicator 120", HFILL }},
716 { &hf_lte_rrc_eutra_cap_feat_group_ind_121,
717 { "Indicator 121", "lte-rrc.eutra_cap_feat_group_ind_121",
718 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_121_val), 0,
719 "EUTRA Feature Group Indicator 121", HFILL }},
720 { &hf_lte_rrc_eutra_cap_feat_group_ind_122,
721 { "Indicator 122", "lte-rrc.eutra_cap_feat_group_ind_122",
722 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_122_val), 0,
723 "EUTRA Feature Group Indicator 122", HFILL }},
724 { &hf_lte_rrc_eutra_cap_feat_group_ind_123,
725 { "Indicator 123", "lte-rrc.eutra_cap_feat_group_ind_123",
726 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_123_val), 0,
727 "EUTRA Feature Group Indicator 123", HFILL }},
728 { &hf_lte_rrc_eutra_cap_feat_group_ind_124,
729 { "Indicator 124", "lte-rrc.eutra_cap_feat_group_ind_124",
730 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_124_val), 0,
731 "EUTRA Feature Group Indicator 124", HFILL }},
732 { &hf_lte_rrc_eutra_cap_feat_group_ind_125,
733 { "Indicator 125", "lte-rrc.eutra_cap_feat_group_ind_125",
734 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_125_val), 0,
735 "EUTRA Feature Group Indicator 125", HFILL }},
736 { &hf_lte_rrc_eutra_cap_feat_group_ind_126,
737 { "Indicator 126", "lte-rrc.eutra_cap_feat_group_ind_126",
738 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_126_val), 0,
739 "EUTRA Feature Group Indicator 126", HFILL }},
740 { &hf_lte_rrc_eutra_cap_feat_group_ind_127,
741 { "Indicator 127", "lte-rrc.eutra_cap_feat_group_ind_127",
742 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_127_val), 0,
743 "EUTRA Feature Group Indicator 127", HFILL }},
744 { &hf_lte_rrc_eutra_cap_feat_group_ind_128,
745 { "Indicator 128", "lte-rrc.eutra_cap_feat_group_ind_128",
746 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_128_val), 0,
747 "EUTRA Feature Group Indicator 128", HFILL }},
748 { &hf_lte_rrc_eutra_cap_feat_group_ind_129,
749 { "Indicator 129", "lte-rrc.eutra_cap_feat_group_ind_129",
750 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_129_val), 0,
751 "EUTRA Feature Group Indicator 129", HFILL }},
752 { &hf_lte_rrc_eutra_cap_feat_group_ind_130,
753 { "Indicator 130", "lte-rrc.eutra_cap_feat_group_ind_130",
754 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_130_val), 0,
755 "EUTRA Feature Group Indicator 130", HFILL }},
756 { &hf_lte_rrc_eutra_cap_feat_group_ind_131,
757 { "Indicator 131", "lte-rrc.eutra_cap_feat_group_ind_131",
758 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_131_val), 0,
759 "EUTRA Feature Group Indicator 131", HFILL }},
760 { &hf_lte_rrc_eutra_cap_feat_group_ind_132,
761 { "Indicator 132", "lte-rrc.eutra_cap_feat_group_ind_132",
762 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_132_val), 0,
763 "EUTRA Feature Group Indicator 132", HFILL }},
766 /* List of subtrees */
767 static gint *ett[] = {
769 #include "packet-lte-rrc-ettarr.c"
771 &ett_lte_rrc_featureGroupIndicators,
772 &ett_lte_rrc_featureGroupIndicatorsV1020,
773 &ett_lte_rrc_neighCellConfig,
774 &ett_lte_rrc_absTimeInfo,
778 /* Register protocol */
779 proto_lte_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
781 /* These entry points will first create an lte_rrc root node */
782 register_dissector("lte_rrc.dl_ccch", dissect_lte_rrc_DL_CCCH, proto_lte_rrc);
783 register_dissector("lte_rrc.dl_dcch", dissect_lte_rrc_DL_DCCH, proto_lte_rrc);
784 register_dissector("lte_rrc.ul_ccch", dissect_lte_rrc_UL_CCCH, proto_lte_rrc);
785 register_dissector("lte_rrc.ul_dcch", dissect_lte_rrc_UL_DCCH, proto_lte_rrc);
786 register_dissector("lte_rrc.bcch_bch", dissect_lte_rrc_BCCH_BCH, proto_lte_rrc);
787 register_dissector("lte_rrc.bcch_dl_sch", dissect_lte_rrc_BCCH_DL_SCH, proto_lte_rrc);
789 /* Register fields and subtrees */
790 proto_register_field_array(proto_lte_rrc, hf, array_length(hf));
791 proto_register_subtree_array(ett, array_length(ett));
793 /* Register the dissectors defined in lte-rrc.conf */
794 #include "packet-lte-rrc-dis-reg.c"
799 /*--- proto_reg_handoff_rrc ---------------------------------------*/
801 proto_reg_handoff_lte_rrc(void)
803 static dissector_handle_t lte_rrc_dl_ccch_handle;
805 lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch");
806 dissector_add_handle("udp.port", lte_rrc_dl_ccch_handle);
807 nas_eps_handle = find_dissector("nas-eps");
808 rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd");
809 rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont");
810 gsm_a_dtap_handle = find_dissector("gsm_a_dtap");
811 gsm_rlcmac_dl_handle = find_dissector("gsm_rlcmac_dl");