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 V11.4.0 Release 11) packet dissection
5 * Copyright 2008, Vincent Helfre
6 * Copyright 2009-2013, Pascal Quantin
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
33 #include <epan/packet.h>
34 #include <epan/asn1.h>
35 #include <epan/expert.h>
37 #include "packet-per.h"
38 #include "packet-rrc.h"
39 #include "packet-gsm_a_common.h"
40 #include "packet-lpp.h"
41 #include "packet-gsm_map.h"
42 #include "packet-cell_broadcast.h"
43 #include "packet-mac-lte.h"
44 #include "packet-rlc-lte.h"
46 #define PNAME "LTE Radio Resource Control (RRC) protocol"
47 #define PSNAME "LTE RRC"
48 #define PFNAME "lte_rrc"
50 static dissector_handle_t nas_eps_handle = NULL;
51 static dissector_handle_t rrc_irat_ho_to_utran_cmd_handle = NULL;
52 static dissector_handle_t rrc_sys_info_cont_handle = NULL;
53 static dissector_handle_t gsm_a_dtap_handle = NULL;
54 static dissector_handle_t gsm_rlcmac_dl_handle = NULL;
56 static GHashTable *lte_rrc_etws_cmas_dcs_hash = NULL;
58 /* Keep track of where/how the System Info value has changed */
59 static GHashTable *lte_rrc_system_info_value_changed_hash = NULL;
60 static guint8 system_info_value_current;
61 static gboolean system_info_value_current_set;
64 extern int proto_mac_lte;
67 /* Include constants */
68 #include "packet-lte-rrc-val.h"
70 /* Initialize the protocol and registered fields */
71 static int proto_lte_rrc = -1;
73 #include "packet-lte-rrc-hf.c"
75 static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1;
76 static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1;
77 static int hf_lte_rrc_eutra_cap_feat_group_ind_3 = -1;
78 static int hf_lte_rrc_eutra_cap_feat_group_ind_4 = -1;
79 static int hf_lte_rrc_eutra_cap_feat_group_ind_5 = -1;
80 static int hf_lte_rrc_eutra_cap_feat_group_ind_6 = -1;
81 static int hf_lte_rrc_eutra_cap_feat_group_ind_7 = -1;
82 static int hf_lte_rrc_eutra_cap_feat_group_ind_8 = -1;
83 static int hf_lte_rrc_eutra_cap_feat_group_ind_9 = -1;
84 static int hf_lte_rrc_eutra_cap_feat_group_ind_10 = -1;
85 static int hf_lte_rrc_eutra_cap_feat_group_ind_11 = -1;
86 static int hf_lte_rrc_eutra_cap_feat_group_ind_12 = -1;
87 static int hf_lte_rrc_eutra_cap_feat_group_ind_13 = -1;
88 static int hf_lte_rrc_eutra_cap_feat_group_ind_14 = -1;
89 static int hf_lte_rrc_eutra_cap_feat_group_ind_15 = -1;
90 static int hf_lte_rrc_eutra_cap_feat_group_ind_16 = -1;
91 static int hf_lte_rrc_eutra_cap_feat_group_ind_17 = -1;
92 static int hf_lte_rrc_eutra_cap_feat_group_ind_18 = -1;
93 static int hf_lte_rrc_eutra_cap_feat_group_ind_19 = -1;
94 static int hf_lte_rrc_eutra_cap_feat_group_ind_20 = -1;
95 static int hf_lte_rrc_eutra_cap_feat_group_ind_21 = -1;
96 static int hf_lte_rrc_eutra_cap_feat_group_ind_22 = -1;
97 static int hf_lte_rrc_eutra_cap_feat_group_ind_23 = -1;
98 static int hf_lte_rrc_eutra_cap_feat_group_ind_24 = -1;
99 static int hf_lte_rrc_eutra_cap_feat_group_ind_25 = -1;
100 static int hf_lte_rrc_eutra_cap_feat_group_ind_26 = -1;
101 static int hf_lte_rrc_eutra_cap_feat_group_ind_27 = -1;
102 static int hf_lte_rrc_eutra_cap_feat_group_ind_28 = -1;
103 static int hf_lte_rrc_eutra_cap_feat_group_ind_29 = -1;
104 static int hf_lte_rrc_eutra_cap_feat_group_ind_30 = -1;
105 static int hf_lte_rrc_eutra_cap_feat_group_ind_31 = -1;
106 static int hf_lte_rrc_eutra_cap_feat_group_ind_32 = -1;
107 static int hf_lte_rrc_eutra_cap_feat_group_ind_33 = -1;
108 static int hf_lte_rrc_eutra_cap_feat_group_ind_34 = -1;
109 static int hf_lte_rrc_eutra_cap_feat_group_ind_35 = -1;
110 static int hf_lte_rrc_eutra_cap_feat_group_ind_36 = -1;
111 static int hf_lte_rrc_eutra_cap_feat_group_ind_37 = -1;
112 static int hf_lte_rrc_eutra_cap_feat_group_ind_38 = -1;
113 static int hf_lte_rrc_eutra_cap_feat_group_ind_39 = -1;
114 static int hf_lte_rrc_eutra_cap_feat_group_ind_40 = -1;
115 static int hf_lte_rrc_eutra_cap_feat_group_ind_41 = -1;
116 static int hf_lte_rrc_eutra_cap_feat_group_ind_42 = -1;
117 static int hf_lte_rrc_eutra_cap_feat_group_ind_43 = -1;
118 static int hf_lte_rrc_eutra_cap_feat_group_ind_44 = -1;
119 static int hf_lte_rrc_eutra_cap_feat_group_ind_45 = -1;
120 static int hf_lte_rrc_eutra_cap_feat_group_ind_46 = -1;
121 static int hf_lte_rrc_eutra_cap_feat_group_ind_47 = -1;
122 static int hf_lte_rrc_eutra_cap_feat_group_ind_48 = -1;
123 static int hf_lte_rrc_eutra_cap_feat_group_ind_49 = -1;
124 static int hf_lte_rrc_eutra_cap_feat_group_ind_50 = -1;
125 static int hf_lte_rrc_eutra_cap_feat_group_ind_51 = -1;
126 static int hf_lte_rrc_eutra_cap_feat_group_ind_52 = -1;
127 static int hf_lte_rrc_eutra_cap_feat_group_ind_53 = -1;
128 static int hf_lte_rrc_eutra_cap_feat_group_ind_54 = -1;
129 static int hf_lte_rrc_eutra_cap_feat_group_ind_55 = -1;
130 static int hf_lte_rrc_eutra_cap_feat_group_ind_56 = -1;
131 static int hf_lte_rrc_eutra_cap_feat_group_ind_57 = -1;
132 static int hf_lte_rrc_eutra_cap_feat_group_ind_58 = -1;
133 static int hf_lte_rrc_eutra_cap_feat_group_ind_59 = -1;
134 static int hf_lte_rrc_eutra_cap_feat_group_ind_60 = -1;
135 static int hf_lte_rrc_eutra_cap_feat_group_ind_61 = -1;
136 static int hf_lte_rrc_eutra_cap_feat_group_ind_62 = -1;
137 static int hf_lte_rrc_eutra_cap_feat_group_ind_63 = -1;
138 static int hf_lte_rrc_eutra_cap_feat_group_ind_64 = -1;
139 static int hf_lte_rrc_eutra_cap_feat_group_ind_101 = -1;
140 static int hf_lte_rrc_eutra_cap_feat_group_ind_102 = -1;
141 static int hf_lte_rrc_eutra_cap_feat_group_ind_103 = -1;
142 static int hf_lte_rrc_eutra_cap_feat_group_ind_104 = -1;
143 static int hf_lte_rrc_eutra_cap_feat_group_ind_105 = -1;
144 static int hf_lte_rrc_eutra_cap_feat_group_ind_106 = -1;
145 static int hf_lte_rrc_eutra_cap_feat_group_ind_107 = -1;
146 static int hf_lte_rrc_eutra_cap_feat_group_ind_108 = -1;
147 static int hf_lte_rrc_eutra_cap_feat_group_ind_109 = -1;
148 static int hf_lte_rrc_eutra_cap_feat_group_ind_110 = -1;
149 static int hf_lte_rrc_eutra_cap_feat_group_ind_111 = -1;
150 static int hf_lte_rrc_eutra_cap_feat_group_ind_112 = -1;
151 static int hf_lte_rrc_eutra_cap_feat_group_ind_113 = -1;
152 static int hf_lte_rrc_eutra_cap_feat_group_ind_114 = -1;
153 static int hf_lte_rrc_eutra_cap_feat_group_ind_115 = -1;
154 static int hf_lte_rrc_eutra_cap_feat_group_ind_116 = -1;
155 static int hf_lte_rrc_eutra_cap_feat_group_ind_117 = -1;
156 static int hf_lte_rrc_eutra_cap_feat_group_ind_118 = -1;
157 static int hf_lte_rrc_eutra_cap_feat_group_ind_119 = -1;
158 static int hf_lte_rrc_eutra_cap_feat_group_ind_120 = -1;
159 static int hf_lte_rrc_eutra_cap_feat_group_ind_121 = -1;
160 static int hf_lte_rrc_eutra_cap_feat_group_ind_122 = -1;
161 static int hf_lte_rrc_eutra_cap_feat_group_ind_123 = -1;
162 static int hf_lte_rrc_eutra_cap_feat_group_ind_124 = -1;
163 static int hf_lte_rrc_eutra_cap_feat_group_ind_125 = -1;
164 static int hf_lte_rrc_eutra_cap_feat_group_ind_126 = -1;
165 static int hf_lte_rrc_eutra_cap_feat_group_ind_127 = -1;
166 static int hf_lte_rrc_eutra_cap_feat_group_ind_128 = -1;
167 static int hf_lte_rrc_eutra_cap_feat_group_ind_129 = -1;
168 static int hf_lte_rrc_eutra_cap_feat_group_ind_130 = -1;
169 static int hf_lte_rrc_eutra_cap_feat_group_ind_131 = -1;
170 static int hf_lte_rrc_eutra_cap_feat_group_ind_132 = -1;
171 static int hf_lte_rrc_serialNumber_gs = -1;
172 static int hf_lte_rrc_serialNumber_msg_code = -1;
173 static int hf_lte_rrc_serialNumber_upd_nb = -1;
174 static int hf_lte_rrc_warningType_value = -1;
175 static int hf_lte_rrc_warningType_emergency_user_alert = -1;
176 static int hf_lte_rrc_warningType_popup = -1;
177 static int hf_lte_rrc_warningMessageSegment_nb_pages = -1;
178 static int hf_lte_rrc_warningMessageSegment_decoded_page = -1;
180 /* Initialize the subtree pointers */
181 static int ett_lte_rrc = -1;
183 #include "packet-lte-rrc-ett.c"
185 static gint ett_lte_rrc_featureGroupIndicators = -1;
186 static gint ett_lte_rrc_featureGroupIndRel9Add = -1;
187 static gint ett_lte_rrc_featureGroupIndRel10 = -1;
188 static gint ett_lte_rrc_absTimeInfo = -1;
189 static gint ett_lte_rrc_nas_SecurityParam = -1;
190 static gint ett_lte_rrc_targetRAT_MessageContainer = -1;
191 static gint ett_lte_rrc_siPsiSibContainer = -1;
192 static gint ett_lte_rrc_dedicatedInfoNAS = -1;
193 static gint ett_lte_rrc_timeInfo = -1;
194 static gint ett_lte_rrc_serialNumber = -1;
195 static gint ett_lte_rrc_warningType = -1;
196 static gint ett_lte_rrc_dataCodingScheme = -1;
197 static gint ett_lte_rrc_warningMessageSegment = -1;
199 static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT;
200 static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT;
201 static expert_field ei_lte_rrc_sibs_changing = EI_INIT;
202 static expert_field ei_lte_rrc_earthquake_warning_sys = EI_INIT;
203 static expert_field ei_lte_rrc_commercial_mobile_alert_sys = EI_INIT;
204 static expert_field ei_lte_rrc_unexpected_type_value = EI_INIT;
205 static expert_field ei_lte_rrc_unexpected_length_value = EI_INIT;
206 static expert_field ei_lte_rrc_too_many_group_a_rapids = EI_INIT;
208 /* Forward declarations */
209 static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
210 static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
211 int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
213 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_1_val = {
214 "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Supported",
215 "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Not supported"
217 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_2_val = {
218 "Simultaneous CQI & 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 & 2-1 - Supported",
219 "Simultaneous CQI & 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 & 2-1 - Not supported"
221 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_3_val = {
222 "5bit RLC UM SN; 7bit PDCP SN - Supported",
223 "5bit RLC UM SN; 7bit PDCP SN - Not supported"
225 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_4_val = {
226 "Short DRX cycle - Supported",
227 "Short DRX cycle - Not supported"
229 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_5_val = {
230 "Long DRX cycle; DRX command MAC control element - Supported",
231 "Long DRX cycle; DRX command MAC control element - Not supported"
233 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_6_val = {
234 "Prioritised bit rate - Supported",
235 "Prioritised bit rate - Not supported"
237 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_7_val = {
238 "RLC UM - Supported",
239 "RLC UM - Not supported"
241 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_8_val = {
242 "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Supported",
243 "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Not supported"
245 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_9_val = {
246 "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Supported",
247 "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Not Supported"
249 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_10_val = {
250 "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",
251 "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"
253 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_11_val = {
254 "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Supported",
255 "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Not supported"
257 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_12_val = {
258 "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Supported",
259 "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Not supported"
261 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_13_val = {
262 "Inter-frequency handover (within FDD or TDD) - Supported",
263 "Inter-frequency handover (within FDD or TDD) - Not supported"
265 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_14_val = {
266 "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Supported",
267 "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Not supported"
269 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_15_val = {
270 "Measurement reporting event: Event B1 - Neighbour > threshold - Supported",
271 "Measurement reporting event: Event B1 - Neighbour > threshold - Not supported"
273 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_16_val = {
274 "non-ANR related periodical measurement reporting - Supported",
275 "non-ANR related periodical measurement reporting - Not supported"
277 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_17_val = {
278 "ANR related intra-frequency measurement reporting events - Supported",
279 "ANR related intra-frequency measurement reporting events - Not supported"
281 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_18_val = {
282 "ANR related inter-frequency measurement reporting events - Supported",
283 "ANR related inter-frequency measurement reporting events - Not supported"
285 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_19_val = {
286 "ANR related inter-RAT measurement reporting events - Supported",
287 "ANR related inter-RAT measurement reporting events - Not supported"
289 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_20_val = {
290 "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",
291 "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"
293 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_21_val = {
294 "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",
295 "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"
297 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_22_val = {
298 "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
299 "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
301 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_23_val = {
302 "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
303 "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
305 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_24_val = {
306 "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
307 "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
309 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_25_val = {
310 "Inter-frequency measurements and reporting in E-UTRA connected mode - Supported",
311 "Inter-frequency measurements and reporting in E-UTRA connected mode - Not supported"
313 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_26_val = {
314 "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
315 "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
317 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_27_val = {
318 "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Supported",
319 "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Not supported"
321 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_28_val = {
322 "TTI bundling - Supported",
323 "TTI bundling - Not supported"
325 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = {
326 "Semi-Persistent Scheduling - Supported",
327 "Semi-Persistent Scheduling - Not supported"
329 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = {
330 "Handover between FDD and TDD - Supported",
331 "Handover between FDD and TDD - Not supported"
333 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = {
334 "Mechanisms defined for cells broadcasting multi band information - Supported",
335 "Mechanisms defined for cells broadcasting multi band information - Not supported"
337 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_32_val = {
338 "Undefined - Supported",
339 "Undefined - Not supported"
341 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_33_val = {
342 "Inter-RAT ANR features for UTRAN FDD - Supported",
343 "Inter-RAT ANR features for UTRAN FDD - Not supported"
345 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_34_val = {
346 "Inter-RAT ANR features for GERAN - Supported",
347 "Inter-RAT ANR features for GERAN - Not supported"
349 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_35_val = {
350 "Inter-RAT ANR features for 1xRTT - Supported",
351 "Inter-RAT ANR features for 1xRTT - Not supported"
353 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_36_val = {
354 "Inter-RAT ANR features for HRPD - Supported",
355 "Inter-RAT ANR features for HRPD - Not supported"
357 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_37_val = {
358 "Inter-RAT ANR features for UTRAN TDD - Supported",
359 "Inter-RAT ANR features for UTRAN TDD - Not supported"
361 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_38_val = {
362 "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH PS handover - Supported",
363 "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH PS handover - Not supported"
365 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_39_val = {
366 "UTRAN TDD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported",
367 "UTRAN TDD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported"
369 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_40_val = {
370 "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH CS handover - Supported",
371 "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH CS handover - Not supported"
373 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_41_val = {
374 "Measurement reporting event: Event B1 - Neighbour > threshold for UTRAN FDD - Supported",
375 "Measurement reporting event: Event B1 - Neighbour > threshold for UTRAN FDD - Not supported"
377 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_42_val = {
378 "Undefined - Supported",
379 "Undefined - Not supported"
381 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_43_val = {
382 "Undefined - Supported",
383 "Undefined - Not supported"
385 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_44_val = {
386 "Undefined - Supported",
387 "Undefined - Not supported"
389 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_45_val = {
390 "Undefined - Supported",
391 "Undefined - Not supported"
393 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_46_val = {
394 "Undefined - Supported",
395 "Undefined - Not supported"
397 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_47_val = {
398 "Undefined - Supported",
399 "Undefined - Not supported"
401 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_48_val = {
402 "Undefined - Supported",
403 "Undefined - Not supported"
405 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_49_val = {
406 "Undefined - Supported",
407 "Undefined - Not supported"
409 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_50_val = {
410 "Undefined - Supported",
411 "Undefined - Not supported"
413 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_51_val = {
414 "Undefined - Supported",
415 "Undefined - Not supported"
417 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_52_val = {
418 "Undefined - Supported",
419 "Undefined - Not supported"
421 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_53_val = {
422 "Undefined - Supported",
423 "Undefined - Not supported"
425 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_54_val = {
426 "Undefined - Supported",
427 "Undefined - Not supported"
429 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_55_val = {
430 "Undefined - Supported",
431 "Undefined - Not supported"
433 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_56_val = {
434 "Undefined - Supported",
435 "Undefined - Not supported"
437 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_57_val = {
438 "Undefined - Supported",
439 "Undefined - Not supported"
441 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_58_val = {
442 "Undefined - Supported",
443 "Undefined - Not supported"
445 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_59_val = {
446 "Undefined - Supported",
447 "Undefined - Not supported"
449 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_60_val = {
450 "Undefined - Supported",
451 "Undefined - Not supported"
453 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_61_val = {
454 "Undefined - Supported",
455 "Undefined - Not supported"
457 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_62_val = {
458 "Undefined - Supported",
459 "Undefined - Not supported"
461 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_63_val = {
462 "Undefined - Supported",
463 "Undefined - Not supported"
465 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_64_val = {
466 "Undefined - Supported",
467 "Undefined - Not supported"
469 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_101_val = {
470 "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Supported",
471 "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Not supported"
473 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_102_val = {
474 "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Supported",
475 "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Not supported"
477 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_103_val = {
478 "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Supported",
479 "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Not supported"
481 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_104_val = {
482 "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Supported",
483 "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Not supported"
485 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_105_val = {
486 "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",
487 "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"
489 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_106_val = {
490 "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported",
491 "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported"
493 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_107_val = {
494 "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",
495 "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"
497 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_108_val = {
498 "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported",
499 "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported"
501 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_109_val = {
502 "PUCCH RM1-1 submode 1 - Supported",
503 "PUCCH RM1-1 submode 1 - Not supported"
505 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_110_val = {
506 "PUCCH RM1-1 submode 2 - Supported",
507 "PUCCH RM1-1 submode 2 - Not supported"
509 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_111_val = {
510 "Measurement reporting trigger Event A6 - Supported",
511 "Measurement reporting trigger Event A6 - Not supported"
513 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_112_val = {
514 "SCell addition within the Handover to EUTRA procedure - Supported",
515 "SCell addition within the Handover to EUTRA procedure - Not supported"
517 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_113_val = {
518 "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Supported",
519 "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Not supported"
521 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_114_val = {
522 "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Supported",
523 "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Not supported"
525 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_115_val = {
526 "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Supported",
527 "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Not supported"
529 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_116_val = {
530 "Relative transmit phase continuity for spatial multiplexing in UL - Supported",
531 "Relative transmit phase continuity for spatial multiplexing in UL - Not supported"
533 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_117_val = {
534 "Undefined - Supported",
535 "Undefined - Not supported"
537 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_118_val = {
538 "Undefined - Supported",
539 "Undefined - Not supported"
541 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_119_val = {
542 "Undefined - Supported",
543 "Undefined - Not supported"
545 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_120_val = {
546 "Undefined - Supported",
547 "Undefined - Not supported"
549 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_121_val = {
550 "Undefined - Supported",
551 "Undefined - Not supported"
553 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_122_val = {
554 "Undefined - Supported",
555 "Undefined - Not supported"
557 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_123_val = {
558 "Undefined - Supported",
559 "Undefined - Not supported"
561 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_124_val = {
562 "Undefined - Supported",
563 "Undefined - Not supported"
565 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_125_val = {
566 "Undefined - Supported",
567 "Undefined - Not supported"
569 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_126_val = {
570 "Undefined - Supported",
571 "Undefined - Not supported"
573 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_127_val = {
574 "Undefined - Supported",
575 "Undefined - Not supported"
577 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_128_val = {
578 "Undefined - Supported",
579 "Undefined - Not supported"
581 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_129_val = {
582 "Undefined - Supported",
583 "Undefined - Not supported"
585 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_130_val = {
586 "Undefined - Supported",
587 "Undefined - Not supported"
589 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_131_val = {
590 "Undefined - Supported",
591 "Undefined - Not supported"
593 static const true_false_string lte_rrc_eutra_cap_feat_group_ind_132_val = {
594 "Undefined - Supported",
595 "Undefined - Not supported"
598 static const value_string lte_rrc_q_RxLevMin_vals[] = {
650 static value_string_ext lte_rrc_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_q_RxLevMin_vals);
652 static const value_string lte_rrc_q_RxLevMinOffset_vals[] = {
665 lte_rrc_timeConnFailure_r10_fmt(gchar *s, guint32 v)
667 g_snprintf(s, ITEM_LABEL_LENGTH, "%ums (%u)", 100*v, v);
670 static const value_string lte_rrc_utra_q_RxLevMin_vals[] = {
721 static value_string_ext lte_rrc_utra_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_q_RxLevMin_vals);
723 static const value_string lte_rrc_geran_q_RxLevMin_vals[] = {
772 static value_string_ext lte_rrc_geran_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_geran_q_RxLevMin_vals);
774 static const value_string lte_rrc_nomPDSCH_RS_EPRE_Offset_vals[] = {
786 static const value_string lte_rrc_deltaPreambleMsg3_vals[] = {
798 static const value_string lte_rrc_ReselectionThreshold_vals[] = {
833 static value_string_ext lte_rrc_ReselectionThreshold_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_ReselectionThreshold_vals);
835 static const value_string lte_rrc_Hysteresis_vals[] = {
869 static value_string_ext lte_rrc_Hysteresis_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_Hysteresis_vals);
871 static const value_string lte_rrc_s_Measure_vals[] = {
972 static value_string_ext lte_rrc_s_Measure_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_s_Measure_vals);
974 static const value_string lte_rrc_utra_EcN0_vals[] = {
975 { 0 , "CPICH Ec/Io < -24dB"},
976 { 1 , "-24dB <= CPICH Ec/Io < -23.5dB"},
977 { 2 , "-23.5dB <= CPICH Ec/Io < -23dB"},
978 { 3 , "-23dB <= CPICH Ec/Io < -22.5dB"},
979 { 4 , "-22.5dB <= CPICH Ec/Io < -22dB"},
980 { 5 , "-22dB <= CPICH Ec/Io < -21.5dB"},
981 { 6 , "-21.5dB <= CPICH Ec/Io < -21dB"},
982 { 7 , "-21dB <= CPICH Ec/Io < -20.5dB"},
983 { 8 , "-20.5dB <= CPICH Ec/Io < -20dB"},
984 { 9 , "-20dB <= CPICH Ec/Io < -19.5dB"},
985 { 10, "-19.5dB <= CPICH Ec/Io < -19dB"},
986 { 11, "-19dB <= CPICH Ec/Io < -18.5dB"},
987 { 12, "-18.5dB <= CPICH Ec/Io < -18dB"},
988 { 13, "-18dB <= CPICH Ec/Io < -17.5dB"},
989 { 14, "-17.5dB <= CPICH Ec/Io < -17dB"},
990 { 15, "-17dB <= CPICH Ec/Io < -16.5dB"},
991 { 16, "-16.5dB <= CPICH Ec/Io < -16dB"},
992 { 17, "-16dB <= CPICH Ec/Io < -15.5dB"},
993 { 18, "-15.5dB <= CPICH Ec/Io < -15dB"},
994 { 19, "-15dB <= CPICH Ec/Io < -14.5dB"},
995 { 20, "-14.5dB <= CPICH Ec/Io < -14dB"},
996 { 21, "-14dB <= CPICH Ec/Io < -13.5dB"},
997 { 22, "-13.5dB <= CPICH Ec/Io < -13dB"},
998 { 23, "-13dB <= CPICH Ec/Io < -12.5dB"},
999 { 24, "-12.5dB <= CPICH Ec/Io < -12dB"},
1000 { 25, "-12dB <= CPICH Ec/Io < -11.5dB"},
1001 { 26, "-11.5dB <= CPICH Ec/Io < -11dB"},
1002 { 27, "-11dB <= CPICH Ec/Io < -10.5dB"},
1003 { 28, "-10.5dB <= CPICH Ec/Io < -10dB"},
1004 { 29, "-10dB <= CPICH Ec/Io < -9.5dB"},
1005 { 30, "-9.5dB <= CPICH Ec/Io < -9dB"},
1006 { 31, "-9dB <= CPICH Ec/Io < -8.5dB"},
1007 { 32, "-8.5dB <= CPICH Ec/Io < -8dB"},
1008 { 33, "-8dB <= CPICH Ec/Io < -7.5dB"},
1009 { 34, "-7.5dB <= CPICH Ec/Io < -7dB"},
1010 { 35, "-7dB <= CPICH Ec/Io < -6.5dB"},
1011 { 36, "-6.5dB <= CPICH Ec/Io < -6dB"},
1012 { 37, "-6dB <= CPICH Ec/Io < -5.5dB"},
1013 { 38, "-5.5dB <= CPICH Ec/Io < -5dB"},
1014 { 39, "-5dB <= CPICH Ec/Io < -4.5dB"},
1015 { 40, "-4.5dB <= CPICH Ec/Io < -4dB"},
1016 { 41, "-4dB <= CPICH Ec/Io < -3.5dB"},
1017 { 42, "-3.5dB <= CPICH Ec/Io < -3dB"},
1018 { 43, "-3dB <= CPICH Ec/Io < -2.5dB"},
1019 { 44, "-2.5dB <= CPICH Ec/Io < -2dB"},
1020 { 45, "-2dB <= CPICH Ec/Io < -1.5dB"},
1021 { 46, "-1.5dB <= CPICH Ec/Io < -1dB"},
1022 { 47, "-1dB <= CPICH Ec/Io < -0.5dB"},
1023 { 48, "-0.5dB <= CPICH Ec/Io < 0dB"},
1024 { 49, "0dB <= CPICH Ec/Io"},
1027 static value_string_ext lte_rrc_utra_EcN0_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_EcN0_vals);
1029 static const value_string lte_rrc_utra_RSCP_vals[] = {
1030 { -5, "RSCP < -120dBm"},
1031 { -4, "-120dBm <= RSCP < -119dBm"},
1032 { -3, "-119dBm <= RSCP < -118dBm"},
1033 { -2, "-118dBm <= RSCP < -117dBm"},
1034 { -1, "-117dBm <= RSCP < -116dBm"},
1035 { 0, "-116dBm <= RSCP < -115dBm"},
1036 { 1, "-115dBm <= RSCP < -114dBm"},
1037 { 2, "-114dBm <= RSCP < -113dBm"},
1038 { 3, "-113dBm <= RSCP < -112dBm"},
1039 { 4, "-112dBm <= RSCP < -111dBm"},
1040 { 5, "-111dBm <= RSCP < -110dBm"},
1041 { 6, "-110dBm <= RSCP < -109dBm"},
1042 { 7, "-109dBm <= RSCP < -108dBm"},
1043 { 8, "-108dBm <= RSCP < -107dBm"},
1044 { 9, "-107dBm <= RSCP < -106dBm"},
1045 { 10, "-106dBm <= RSCP < -105dBm"},
1046 { 11, "-105dBm <= RSCP < -104dBm"},
1047 { 12, "-104dBm <= RSCP < -103dBm"},
1048 { 13, "-103dBm <= RSCP < -102dBm"},
1049 { 14, "-102dBm <= RSCP < -101dBm"},
1050 { 15, "-101dBm <= RSCP < -100dBm"},
1051 { 16, "-100dBm <= RSCP < -99dBm"},
1052 { 17, "-99dBm <= RSCP < -98dBm"},
1053 { 18, "-98dBm <= RSCP < -97dBm"},
1054 { 19, "-97dBm <= RSCP < -96dBm"},
1055 { 20, "-96dBm <= RSCP < -95dBm"},
1056 { 21, "-95dBm <= RSCP < -94dBm"},
1057 { 22, "-94dBm <= RSCP < -93dBm"},
1058 { 23, "-93dBm <= RSCP < -92dBm"},
1059 { 24, "-92dBm <= RSCP < -91dBm"},
1060 { 25, "-91dBm <= RSCP < -90dBm"},
1061 { 26, "-90dBm <= RSCP < -89dBm"},
1062 { 27, "-89dBm <= RSCP < -88dBm"},
1063 { 28, "-88dBm <= RSCP < -87dBm"},
1064 { 29, "-87dBm <= RSCP < -86dBm"},
1065 { 30, "-86dBm <= RSCP < -85dBm"},
1066 { 31, "-85dBm <= RSCP < -84dBm"},
1067 { 32, "-84dBm <= RSCP < -83dBm"},
1068 { 33, "-83dBm <= RSCP < -82dBm"},
1069 { 34, "-82dBm <= RSCP < -81dBm"},
1070 { 35, "-81dBm <= RSCP < -80dBm"},
1071 { 36, "-80dBm <= RSCP < -79dBm"},
1072 { 37, "-79dBm <= RSCP < -78dBm"},
1073 { 38, "-78dBm <= RSCP < -77dBm"},
1074 { 39, "-77dBm <= RSCP < -76dBm"},
1075 { 40, "-76dBm <= RSCP < -75dBm"},
1076 { 41, "-75dBm <= RSCP < -74dBm"},
1077 { 42, "-74dBm <= RSCP < -73dBm"},
1078 { 43, "-73dBm <= RSCP < -72dBm"},
1079 { 44, "-72dBm <= RSCP < -71dBm"},
1080 { 45, "-71dBm <= RSCP < -70dBm"},
1081 { 46, "-70dBm <= RSCP < -69dBm"},
1082 { 47, "-69dBm <= RSCP < -68dBm"},
1083 { 48, "-68dBm <= RSCP < -67dBm"},
1084 { 49, "-67dBm <= RSCP < -66dBm"},
1085 { 50, "-66dBm <= RSCP < -65dBm"},
1086 { 51, "-65dBm <= RSCP < -64dBm"},
1087 { 52, "-64dBm <= RSCP < -63dBm"},
1088 { 53, "-63dBm <= RSCP < -62dBm"},
1089 { 54, "-62dBm <= RSCP < -61dBm"},
1090 { 55, "-61dBm <= RSCP < -60dBm"},
1091 { 56, "-60dBm <= RSCP < -59dBm"},
1092 { 57, "-59dBm <= RSCP < -58dBm"},
1093 { 58, "-58dBm <= RSCP < -57dBm"},
1094 { 59, "-57dBm <= RSCP < -56dBm"},
1095 { 60, "-56dBm <= RSCP < -55dBm"},
1096 { 61, "-55dBm <= RSCP < -54dBm"},
1097 { 62, "-54dBm <= RSCP < -53dBm"},
1098 { 63, "-53dBm <= RSCP < -52dBm"},
1099 { 64, "-52dBm <= RSCP < -51dBm"},
1100 { 65, "-51dBm <= RSCP < -50dBm"},
1101 { 66, "-50dBm <= RSCP < -49dBm"},
1102 { 67, "-49dBm <= RSCP < -48dBm"},
1103 { 68, "-48dBm <= RSCP < -47dBm"},
1104 { 69, "-47dBm <= RSCP < -46dBm"},
1105 { 70, "-46dBm <= RSCP < -45dBm"},
1106 { 71, "-45dBm <= RSCP < -44dBm"},
1107 { 72, "-44dBm <= RSCP < -43dBm"},
1108 { 73, "-43dBm <= RSCP < -42dBm"},
1109 { 74, "-42dBm <= RSCP < -41dBm"},
1110 { 75, "-41dBm <= RSCP < -40dBm"},
1111 { 76, "-40dBm <= RSCP < -39dBm"},
1112 { 77, "-39dBm <= RSCP < -38dBm"},
1113 { 78, "-38dBm <= RSCP < -37dBm"},
1114 { 79, "-37dBm <= RSCP < -36dBm"},
1115 { 80, "-36dBm <= RSCP < -35dBm"},
1116 { 81, "-35dBm <= RSCP < -34dBm"},
1117 { 82, "-34dBm <= RSCP < -33dBm"},
1118 { 83, "-33dBm <= RSCP < -32dBm"},
1119 { 84, "-32dBm <= RSCP < -31dBm"},
1120 { 85, "-31dBm <= RSCP < -30dBm"},
1121 { 86, "-30dBm <= RSCP < -29dBm"},
1122 { 87, "-29dBm <= RSCP < -28dBm"},
1123 { 88, "-28dBm <= RSCP < -27dBm"},
1124 { 89, "-27dBm <= RSCP < -26dBm"},
1125 { 90, "-26dBm <= RSCP < -25dBm"},
1126 { 91, "-25dBm <= RSCP"},
1129 static value_string_ext lte_rrc_utra_RSCP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_RSCP_vals);
1131 static const value_string lte_rrc_a3_a6_Offset_vals[] = {
1195 static value_string_ext lte_rrc_a3_a6_Offset_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_a3_a6_Offset_vals);
1197 static const value_string lte_rrc_threshold_RSRP_vals[] = {
1298 static value_string_ext lte_rrc_threshold_RSRP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_threshold_RSRP_vals);
1300 static const value_string lte_rrc_threshold_RSRQ_vals[] = {
1338 static value_string_ext lte_rrc_threshold_RSRQ_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_threshold_RSRQ_vals);
1340 static const value_string lte_rrc_thresholdGERAN_vals[] = {
1407 static value_string_ext lte_rrc_thresholdGERAN_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdGERAN_vals);
1409 static const value_string lte_rrc_thresholdUTRA_EcN0_vals[] = {
1462 static value_string_ext lte_rrc_thresholdUTRA_EcN0_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdUTRA_EcN0_vals);
1464 static const value_string lte_rrc_thresholdUTRA_RSCP_vals[] = {
1564 static value_string_ext lte_rrc_thresholdUTRA_RSCP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdUTRA_RSCP_vals);
1566 static const value_string lte_rrc_RSRP_Range_vals[] = {
1567 { 0, "RSRP < -140dBm"},
1568 { 1, "-140dBm <= RSRP < -139dBm"},
1569 { 2, "-139dBm <= RSRP < -138dBm"},
1570 { 3, "-138dBm <= RSRP < -137dBm"},
1571 { 4, "-137dBm <= RSRP < -136dBm"},
1572 { 5, "-136dBm <= RSRP < -135dBm"},
1573 { 6, "-135dBm <= RSRP < -134dBm"},
1574 { 7, "-134dBm <= RSRP < -133dBm"},
1575 { 8, "-133dBm <= RSRP < -132dBm"},
1576 { 9, "-132dBm <= RSRP < -131dBm"},
1577 { 10, "-131dBm <= RSRP < -130dBm"},
1578 { 11, "-130dBm <= RSRP < -129dBm"},
1579 { 12, "-129dBm <= RSRP < -128dBm"},
1580 { 13, "-128dBm <= RSRP < -127dBm"},
1581 { 14, "-127dBm <= RSRP < -126dBm"},
1582 { 15, "-126dBm <= RSRP < -125dBm"},
1583 { 16, "-125dBm <= RSRP < -124dBm"},
1584 { 17, "-124dBm <= RSRP < -123dBm"},
1585 { 18, "-123dBm <= RSRP < -122dBm"},
1586 { 19, "-122dBm <= RSRP < -121dBm"},
1587 { 20, "-121dBm <= RSRP < -120dBm"},
1588 { 21, "-120dBm <= RSRP < -119dBm"},
1589 { 22, "-119dBm <= RSRP < -118dBm"},
1590 { 23, "-118dBm <= RSRP < -117dBm"},
1591 { 24, "-117dBm <= RSRP < -116dBm"},
1592 { 25, "-116dBm <= RSRP < -115dBm"},
1593 { 26, "-115dBm <= RSRP < -114dBm"},
1594 { 27, "-114dBm <= RSRP < -113dBm"},
1595 { 28, "-113dBm <= RSRP < -112dBm"},
1596 { 29, "-112dBm <= RSRP < -111dBm"},
1597 { 30, "-111dBm <= RSRP < -110dBm"},
1598 { 31, "-110dBm <= RSRP < -109dBm"},
1599 { 32, "-109dBm <= RSRP < -108dBm"},
1600 { 33, "-108dBm <= RSRP < -107dBm"},
1601 { 34, "-107dBm <= RSRP < -106dBm"},
1602 { 35, "-106dBm <= RSRP < -105dBm"},
1603 { 36, "-105dBm <= RSRP < -104dBm"},
1604 { 37, "-104dBm <= RSRP < -103dBm"},
1605 { 38, "-103dBm <= RSRP < -102dBm"},
1606 { 39, "-102dBm <= RSRP < -101dBm"},
1607 { 40, "-101dBm <= RSRP < -100dBm"},
1608 { 41, "-100dBm <= RSRP < -99dBm"},
1609 { 42, "-99dBm <= RSRP < -98dBm"},
1610 { 43, "-98dBm <= RSRP < -97dBm"},
1611 { 44, "-97dBm <= RSRP < -96dBm"},
1612 { 45, "-96dBm <= RSRP < -95dBm"},
1613 { 46, "-95dBm <= RSRP < -94dBm"},
1614 { 47, "-94dBm <= RSRP < -93dBm"},
1615 { 48, "-93dBm <= RSRP < -92dBm"},
1616 { 49, "-92dBm <= RSRP < -91dBm"},
1617 { 50, "-91dBm <= RSRP < -90dBm"},
1618 { 51, "-90dBm <= RSRP < -89dBm"},
1619 { 52, "-89dBm <= RSRP < -88dBm"},
1620 { 53, "-88dBm <= RSRP < -87dBm"},
1621 { 54, "-87dBm <= RSRP < -86dBm"},
1622 { 55, "-86dBm <= RSRP < -85dBm"},
1623 { 56, "-85dBm <= RSRP < -84dBm"},
1624 { 57, "-84dBm <= RSRP < -83dBm"},
1625 { 58, "-83dBm <= RSRP < -82dBm"},
1626 { 59, "-82dBm <= RSRP < -81dBm"},
1627 { 60, "-81dBm <= RSRP < -80dBm"},
1628 { 61, "-80dBm <= RSRP < -79dBm"},
1629 { 62, "-79dBm <= RSRP < -78dBm"},
1630 { 63, "-78dBm <= RSRP < -77dBm"},
1631 { 64, "-77dBm <= RSRP < -76dBm"},
1632 { 65, "-76dBm <= RSRP < -75dBm"},
1633 { 66, "-75dBm <= RSRP < -74dBm"},
1634 { 67, "-74dBm <= RSRP < -73dBm"},
1635 { 68, "-73dBm <= RSRP < -72dBm"},
1636 { 69, "-72dBm <= RSRP < -71dBm"},
1637 { 70, "-71dBm <= RSRP < -70dBm"},
1638 { 71, "-70dBm <= RSRP < -69dBm"},
1639 { 72, "-69dBm <= RSRP < -68dBm"},
1640 { 73, "-68dBm <= RSRP < -67dBm"},
1641 { 74, "-67dBm <= RSRP < -66dBm"},
1642 { 75, "-66dBm <= RSRP < -65dBm"},
1643 { 76, "-65dBm <= RSRP < -64dBm"},
1644 { 77, "-64dBm <= RSRP < -63dBm"},
1645 { 78, "-63dBm <= RSRP < -62dBm"},
1646 { 79, "-62dBm <= RSRP < -61dBm"},
1647 { 80, "-61dBm <= RSRP < -60dBm"},
1648 { 81, "-60dBm <= RSRP < -59dBm"},
1649 { 82, "-59dBm <= RSRP < -58dBm"},
1650 { 83, "-58dBm <= RSRP < -57dBm"},
1651 { 84, "-57dBm <= RSRP < -56dBm"},
1652 { 85, "-56dBm <= RSRP < -55dBm"},
1653 { 86, "-55dBm <= RSRP < -54dBm"},
1654 { 87, "-54dBm <= RSRP < -53dBm"},
1655 { 88, "-53dBm <= RSRP < -52dBm"},
1656 { 89, "-52dBm <= RSRP < -51dBm"},
1657 { 90, "-51dBm <= RSRP < -50dBm"},
1658 { 91, "-50dBm <= RSRP < -49dBm"},
1659 { 92, "-49dBm <= RSRP < -48dBm"},
1660 { 93, "-48dBm <= RSRP < -47dBm"},
1661 { 94, "-47dBm <= RSRP < -46dBm"},
1662 { 95, "-46dBm <= RSRP < -45dBm"},
1663 { 96, "-45dBm <= RSRP < -44dBm"},
1664 { 97, "-44dBm <= RSRP"},
1667 static value_string_ext lte_rrc_RSRP_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRP_Range_vals);
1669 static const value_string lte_rrc_RSRQ_Range_vals[] = {
1670 { 0, "RSRQ < -19.5dB"},
1671 { 1, "-19.5dB <= RSRQ < -19dB"},
1672 { 2, "-19dB <= RSRQ < -18.5dB"},
1673 { 3, "-18.5dB <= RSRQ < -18dB"},
1674 { 4, "-18dB <= RSRQ < -17.5dB"},
1675 { 5, "-17.5dB <= RSRQ < -17dB"},
1676 { 6, "-17dB <= RSRQ < -16.5dB"},
1677 { 7, "-16.5dB <= RSRQ < -16dB"},
1678 { 8, "-16dB <= RSRQ < -15.5dB"},
1679 { 9, "-15.5dB <= RSRQ < -15dB"},
1680 { 10, "-15dB <= RSRQ < -14.5dB"},
1681 { 11, "-14.5dB <= RSRQ < -14dB"},
1682 { 12, "-14dB <= RSRQ < -13.5dB"},
1683 { 13, "-13.5dB <= RSRQ < -13dB"},
1684 { 14, "-13dB <= RSRQ < -12.5dB"},
1685 { 15, "-12.5dB <= RSRQ < -12dB"},
1686 { 16, "-12dB <= RSRQ < -11.5dB"},
1687 { 17, "-11.5dB <= RSRQ < -11dB"},
1688 { 18, "-11dB <= RSRQ < -10.5dB"},
1689 { 19, "-10.5dB <= RSRQ < -10dB"},
1690 { 20, "-10dB <= RSRQ < -9.5dB"},
1691 { 21, "-9.5dB <= RSRQ < -9dB"},
1692 { 22, "-9dB <= RSRQ < -8.5dB"},
1693 { 23, "-8.5dB <= RSRQ < -8dB"},
1694 { 24, "-8dB <= RSRQ < -7.5dB"},
1695 { 25, "-7.5dB <= RSRQ < -7dB"},
1696 { 26, "-7dB <= RSRQ < -6.5dB"},
1697 { 27, "-6.5dB <= RSRQ < -6dB"},
1698 { 28, "-6dB <= RSRQ < -5.5dB"},
1699 { 29, "-5.5dB <= RSRQ < -5dB"},
1700 { 30, "-5dB <= RSRQ < -4.5dB"},
1701 { 31, "-4.5dB <= RSRQ < -4dB"},
1702 { 32, "-4dB <= RSRQ < -3.5dB"},
1703 { 33, "-3.5dB <= RSRQ < -3dB"},
1704 { 34, "-3dB <= RSRQ"},
1707 static value_string_ext lte_rrc_RSRQ_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRQ_Range_vals);
1709 static const true_false_string lte_rrc_duration_val = {
1714 static const value_string lte_rrc_daylightSavingTime_vals[] = {
1715 { 0, "No adjustment for Daylight Saving Time"},
1716 { 1, "+1 hour adjustment for Daylight Saving Time"},
1717 { 2, "+2 hours adjustment for Daylight Saving Time"},
1722 static const value_string lte_rrc_neighCellConfig_vals[] = {
1723 { 0, "Not all neighbour cells have the same MBSFN subframe allocation as serving cell"},
1724 { 1, "No MBSFN subframes are present in all neighbour cells"},
1725 { 2, "The MBSFN subframe allocations of all neighbour cells are identical to or subsets of that in the serving cell"},
1726 { 3, "Different UL/DL allocation in neighbouring cells for TDD compared to the serving cell"},
1730 static const value_string lte_rrc_messageIdentifier_vals[] = {
1731 { 0x1100, "ETWS Identifier for earthquake warning message"},
1732 { 0x1101, "ETWS Identifier for tsunami warning message"},
1733 { 0x1102, "ETWS Identifier for earthquake and tsunami combined warning message"},
1734 { 0x1103, "ETWS Identifier for test message"},
1735 { 0x1104, "ETWS Identifier for messages related to other emergency types"},
1736 { 0x1105, "ETWS Identifier for future extension"},
1737 { 0x1106, "ETWS Identifier for future extension"},
1738 { 0x1107, "ETWS Identifier for future extension"},
1739 { 0x1112, "CMAS Identifier for CMAS Presidential Level Alerts"},
1740 { 0x1113, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Observed"},
1741 { 0x1114, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Likely"},
1742 { 0x1115, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Observed"},
1743 { 0x1116, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Likely"},
1744 { 0x1117, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Observed"},
1745 { 0x1118, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Likely"},
1746 { 0x1119, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Observed"},
1747 { 0x111a, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Likely"},
1748 { 0x111b, "CMAS Identifier for Child Abduction Emergency (or Amber Alert)"},
1749 { 0x111c, "CMAS Identifier for the Required Monthly Test"},
1750 { 0x111d, "CMAS Identifier for CMAS Exercise"},
1751 { 0x111e, "CMAS Identifier for operator defined use"},
1752 { 0x111f, "CMAS Identifier for CMAS Presidential Level Alerts for additional languages"},
1753 { 0x1120, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Observed for additional languages"},
1754 { 0x1121, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Likely for additional languages"},
1755 { 0x1122, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Observed for additional languages"},
1756 { 0x1123, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Likely for additional languages"},
1757 { 0x1124, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Observed for additional languages"},
1758 { 0x1125, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Likely for additional languages"},
1759 { 0x1126, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Observed for additional languages"},
1760 { 0x1127, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Likely for additional languages"},
1761 { 0x1128, "CMAS Identifier for Child Abduction Emergency (or Amber Alert) for additional languages"},
1762 { 0x1129, "CMAS Identifier for the Required Monthly Test for additional languages"},
1763 { 0x112a, "CMAS Identifier for CMAS Exercise for additional languages"},
1764 { 0x112b, "CMAS Identifier for operator defined use for additional languages"},
1767 static value_string_ext lte_rrc_messageIdentifier_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageIdentifier_vals);
1769 static const value_string lte_rrc_serialNumber_gs_vals[] = {
1770 { 0, "Display mode immediate, cell wide"},
1771 { 1, "Display mode normal, PLMN wide"},
1772 { 2, "Display mode normal, tracking area wide"},
1773 { 3, "Display mode normal, cell wide"},
1777 static const value_string lte_rrc_warningType_vals[] = {
1780 { 2, "Earthquake and Tsunami"},
1787 lte_rrc_localTimeOffset_fmt(gchar *s, guint32 v)
1789 gint32 time_offset = (gint32) v;
1791 g_snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)",
1792 (time_offset < 0) ? '-':'+', abs(time_offset) >> 2,
1793 (abs(time_offset) & 0x03) * 15, time_offset);
1797 dissect_lte_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme)
1800 guint8 nb_of_pages, length, *str;
1802 tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
1805 nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0);
1806 ti = proto_tree_add_uint(tree, hf_lte_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages);
1807 if (nb_of_pages > 15) {
1808 expert_add_info_format_text(pinfo, ti, &ei_lte_rrc_number_pages_le15,
1809 "Number of pages should be <=15 (found %u)", nb_of_pages);
1812 for (i = 0, offset = 1; i < nb_of_pages; i++) {
1813 length = tvb_get_guint8(warning_msg_seg_tvb, offset+82);
1814 cb_data_page_tvb = tvb_new_subset(warning_msg_seg_tvb, offset, length, length);
1815 cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0);
1817 str = tvb_get_ephemeral_string(cb_data_tvb, 0, tvb_length(cb_data_tvb));
1818 proto_tree_add_string_format(tree, hf_lte_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83,
1819 str, "Decoded Page %u: %s", i+1, str);
1826 dissect_lte_rrc_featureGroupIndicators(tvbuff_t *featureGroupIndicators_tvb, asn1_ctx_t *actx)
1828 proto_tree *subtree;
1830 subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndicators);
1831 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_1, featureGroupIndicators_tvb, 0, 1, ENC_BIG_ENDIAN);
1832 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_2, featureGroupIndicators_tvb, 1, 1, ENC_BIG_ENDIAN);
1833 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_3, featureGroupIndicators_tvb, 2, 1, ENC_BIG_ENDIAN);
1834 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_4, featureGroupIndicators_tvb, 3, 1, ENC_BIG_ENDIAN);
1835 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_5, featureGroupIndicators_tvb, 4, 1, ENC_BIG_ENDIAN);
1836 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_6, featureGroupIndicators_tvb, 5, 1, ENC_BIG_ENDIAN);
1837 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_7, featureGroupIndicators_tvb, 6, 1, ENC_BIG_ENDIAN);
1838 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_8, featureGroupIndicators_tvb, 7, 1, ENC_BIG_ENDIAN);
1839 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_9, featureGroupIndicators_tvb, 8, 1, ENC_BIG_ENDIAN);
1840 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_10, featureGroupIndicators_tvb, 9, 1, ENC_BIG_ENDIAN);
1841 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_11, featureGroupIndicators_tvb, 10, 1, ENC_BIG_ENDIAN);
1842 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_12, featureGroupIndicators_tvb, 11, 1, ENC_BIG_ENDIAN);
1843 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_13, featureGroupIndicators_tvb, 12, 1, ENC_BIG_ENDIAN);
1844 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_14, featureGroupIndicators_tvb, 13, 1, ENC_BIG_ENDIAN);
1845 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_15, featureGroupIndicators_tvb, 14, 1, ENC_BIG_ENDIAN);
1846 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_16, featureGroupIndicators_tvb, 15, 1, ENC_BIG_ENDIAN);
1847 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_17, featureGroupIndicators_tvb, 16, 1, ENC_BIG_ENDIAN);
1848 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_18, featureGroupIndicators_tvb, 17, 1, ENC_BIG_ENDIAN);
1849 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_19, featureGroupIndicators_tvb, 18, 1, ENC_BIG_ENDIAN);
1850 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_20, featureGroupIndicators_tvb, 19, 1, ENC_BIG_ENDIAN);
1851 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_21, featureGroupIndicators_tvb, 20, 1, ENC_BIG_ENDIAN);
1852 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_22, featureGroupIndicators_tvb, 21, 1, ENC_BIG_ENDIAN);
1853 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_23, featureGroupIndicators_tvb, 22, 1, ENC_BIG_ENDIAN);
1854 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_24, featureGroupIndicators_tvb, 23, 1, ENC_BIG_ENDIAN);
1855 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_25, featureGroupIndicators_tvb, 24, 1, ENC_BIG_ENDIAN);
1856 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_26, featureGroupIndicators_tvb, 25, 1, ENC_BIG_ENDIAN);
1857 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_27, featureGroupIndicators_tvb, 26, 1, ENC_BIG_ENDIAN);
1858 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_28, featureGroupIndicators_tvb, 27, 1, ENC_BIG_ENDIAN);
1859 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_29, featureGroupIndicators_tvb, 28, 1, ENC_BIG_ENDIAN);
1860 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_30, featureGroupIndicators_tvb, 29, 1, ENC_BIG_ENDIAN);
1861 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_31, featureGroupIndicators_tvb, 30, 1, ENC_BIG_ENDIAN);
1862 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_32, featureGroupIndicators_tvb, 31, 1, ENC_BIG_ENDIAN);
1866 dissect_lte_rrc_featureGroupIndRel10(tvbuff_t *featureGroupIndRel10_tvb, asn1_ctx_t *actx)
1868 proto_tree *subtree;
1870 subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndRel10);
1871 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_101, featureGroupIndRel10_tvb, 0, 1, ENC_BIG_ENDIAN);
1872 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_102, featureGroupIndRel10_tvb, 1, 1, ENC_BIG_ENDIAN);
1873 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_103, featureGroupIndRel10_tvb, 2, 1, ENC_BIG_ENDIAN);
1874 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_104, featureGroupIndRel10_tvb, 3, 1, ENC_BIG_ENDIAN);
1875 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_105, featureGroupIndRel10_tvb, 4, 1, ENC_BIG_ENDIAN);
1876 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_106, featureGroupIndRel10_tvb, 5, 1, ENC_BIG_ENDIAN);
1877 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_107, featureGroupIndRel10_tvb, 6, 1, ENC_BIG_ENDIAN);
1878 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_108, featureGroupIndRel10_tvb, 7, 1, ENC_BIG_ENDIAN);
1879 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_109, featureGroupIndRel10_tvb, 8, 1, ENC_BIG_ENDIAN);
1880 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_110, featureGroupIndRel10_tvb, 9, 1, ENC_BIG_ENDIAN);
1881 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_111, featureGroupIndRel10_tvb, 10, 1, ENC_BIG_ENDIAN);
1882 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_112, featureGroupIndRel10_tvb, 11, 1, ENC_BIG_ENDIAN);
1883 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_113, featureGroupIndRel10_tvb, 12, 1, ENC_BIG_ENDIAN);
1884 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_114, featureGroupIndRel10_tvb, 13, 1, ENC_BIG_ENDIAN);
1885 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_115, featureGroupIndRel10_tvb, 14, 1, ENC_BIG_ENDIAN);
1886 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_116, featureGroupIndRel10_tvb, 15, 1, ENC_BIG_ENDIAN);
1887 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_117, featureGroupIndRel10_tvb, 16, 1, ENC_BIG_ENDIAN);
1888 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_118, featureGroupIndRel10_tvb, 17, 1, ENC_BIG_ENDIAN);
1889 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_119, featureGroupIndRel10_tvb, 18, 1, ENC_BIG_ENDIAN);
1890 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_120, featureGroupIndRel10_tvb, 19, 1, ENC_BIG_ENDIAN);
1891 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_121, featureGroupIndRel10_tvb, 20, 1, ENC_BIG_ENDIAN);
1892 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_122, featureGroupIndRel10_tvb, 21, 1, ENC_BIG_ENDIAN);
1893 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_123, featureGroupIndRel10_tvb, 22, 1, ENC_BIG_ENDIAN);
1894 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_124, featureGroupIndRel10_tvb, 23, 1, ENC_BIG_ENDIAN);
1895 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_125, featureGroupIndRel10_tvb, 24, 1, ENC_BIG_ENDIAN);
1896 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_126, featureGroupIndRel10_tvb, 25, 1, ENC_BIG_ENDIAN);
1897 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_127, featureGroupIndRel10_tvb, 26, 1, ENC_BIG_ENDIAN);
1898 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_128, featureGroupIndRel10_tvb, 27, 1, ENC_BIG_ENDIAN);
1899 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_129, featureGroupIndRel10_tvb, 28, 1, ENC_BIG_ENDIAN);
1900 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_130, featureGroupIndRel10_tvb, 29, 1, ENC_BIG_ENDIAN);
1901 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_131, featureGroupIndRel10_tvb, 30, 1, ENC_BIG_ENDIAN);
1902 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_132, featureGroupIndRel10_tvb, 31, 1, ENC_BIG_ENDIAN);
1906 dissect_lte_rrc_featureGroupIndRel9Add(tvbuff_t *featureGroupIndRel9Add_tvb, asn1_ctx_t *actx)
1908 proto_tree *subtree;
1910 subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndRel9Add);
1911 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_33, featureGroupIndRel9Add_tvb, 0, 1, ENC_BIG_ENDIAN);
1912 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_34, featureGroupIndRel9Add_tvb, 1, 1, ENC_BIG_ENDIAN);
1913 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_35, featureGroupIndRel9Add_tvb, 2, 1, ENC_BIG_ENDIAN);
1914 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_36, featureGroupIndRel9Add_tvb, 3, 1, ENC_BIG_ENDIAN);
1915 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_37, featureGroupIndRel9Add_tvb, 4, 1, ENC_BIG_ENDIAN);
1916 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_38, featureGroupIndRel9Add_tvb, 5, 1, ENC_BIG_ENDIAN);
1917 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_39, featureGroupIndRel9Add_tvb, 6, 1, ENC_BIG_ENDIAN);
1918 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_40, featureGroupIndRel9Add_tvb, 7, 1, ENC_BIG_ENDIAN);
1919 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_41, featureGroupIndRel9Add_tvb, 8, 1, ENC_BIG_ENDIAN);
1920 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_42, featureGroupIndRel9Add_tvb, 9, 1, ENC_BIG_ENDIAN);
1921 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_43, featureGroupIndRel9Add_tvb, 10, 1, ENC_BIG_ENDIAN);
1922 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_44, featureGroupIndRel9Add_tvb, 11, 1, ENC_BIG_ENDIAN);
1923 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_45, featureGroupIndRel9Add_tvb, 12, 1, ENC_BIG_ENDIAN);
1924 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_46, featureGroupIndRel9Add_tvb, 13, 1, ENC_BIG_ENDIAN);
1925 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_47, featureGroupIndRel9Add_tvb, 14, 1, ENC_BIG_ENDIAN);
1926 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_48, featureGroupIndRel9Add_tvb, 15, 1, ENC_BIG_ENDIAN);
1927 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_49, featureGroupIndRel9Add_tvb, 16, 1, ENC_BIG_ENDIAN);
1928 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_50, featureGroupIndRel9Add_tvb, 17, 1, ENC_BIG_ENDIAN);
1929 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_51, featureGroupIndRel9Add_tvb, 18, 1, ENC_BIG_ENDIAN);
1930 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_52, featureGroupIndRel9Add_tvb, 19, 1, ENC_BIG_ENDIAN);
1931 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_53, featureGroupIndRel9Add_tvb, 20, 1, ENC_BIG_ENDIAN);
1932 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_54, featureGroupIndRel9Add_tvb, 21, 1, ENC_BIG_ENDIAN);
1933 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_55, featureGroupIndRel9Add_tvb, 22, 1, ENC_BIG_ENDIAN);
1934 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_56, featureGroupIndRel9Add_tvb, 23, 1, ENC_BIG_ENDIAN);
1935 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_57, featureGroupIndRel9Add_tvb, 24, 1, ENC_BIG_ENDIAN);
1936 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_58, featureGroupIndRel9Add_tvb, 25, 1, ENC_BIG_ENDIAN);
1937 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_59, featureGroupIndRel9Add_tvb, 26, 1, ENC_BIG_ENDIAN);
1938 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_60, featureGroupIndRel9Add_tvb, 27, 1, ENC_BIG_ENDIAN);
1939 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_61, featureGroupIndRel9Add_tvb, 28, 1, ENC_BIG_ENDIAN);
1940 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_62, featureGroupIndRel9Add_tvb, 29, 1, ENC_BIG_ENDIAN);
1941 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_63, featureGroupIndRel9Add_tvb, 30, 1, ENC_BIG_ENDIAN);
1942 proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_64, featureGroupIndRel9Add_tvb, 31, 1, ENC_BIG_ENDIAN);
1945 #include "packet-lte-rrc-fn.c"
1948 dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
1951 proto_tree *lte_rrc_tree;
1953 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_CCCH");
1954 col_clear(pinfo->cinfo, COL_INFO);
1957 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
1958 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
1959 dissect_DL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
1964 dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
1967 proto_tree *lte_rrc_tree;
1969 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_DCCH");
1970 col_clear(pinfo->cinfo, COL_INFO);
1972 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
1973 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
1974 dissect_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
1979 dissect_lte_rrc_UL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
1982 proto_tree *lte_rrc_tree;
1984 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_CCCH");
1985 col_clear(pinfo->cinfo, COL_INFO);
1988 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
1989 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
1990 dissect_UL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
1995 dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
1998 proto_tree *lte_rrc_tree;
2000 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_DCCH");
2001 col_clear(pinfo->cinfo, COL_INFO);
2004 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
2005 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
2006 dissect_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
2011 dissect_lte_rrc_BCCH_BCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2014 proto_tree *lte_rrc_tree;
2016 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC BCCH_BCH");
2017 col_clear(pinfo->cinfo, COL_INFO);
2020 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
2021 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
2022 dissect_BCCH_BCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
2027 dissect_lte_rrc_BCCH_DL_SCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2030 proto_tree *lte_rrc_tree;
2032 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_SCH");
2033 col_clear(pinfo->cinfo, COL_INFO);
2035 /* Dissect regardless of whether tree is set, so that we can track whether
2036 systemInfoValue has changed */
2037 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
2038 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
2039 dissect_BCCH_DL_SCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
2043 dissect_lte_rrc_PCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2046 proto_tree *lte_rrc_tree;
2048 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC PCCH");
2049 col_clear(pinfo->cinfo, COL_INFO);
2052 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
2053 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
2054 dissect_PCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
2059 dissect_lte_rrc_MCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
2062 proto_tree *lte_rrc_tree;
2064 col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC MCCH");
2065 col_clear(pinfo->cinfo, COL_INFO);
2068 ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA);
2069 lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc);
2070 dissect_MCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL);
2075 lte_rrc_init_protocol(void)
2077 if (lte_rrc_etws_cmas_dcs_hash) {
2078 g_hash_table_destroy(lte_rrc_etws_cmas_dcs_hash);
2080 if (lte_rrc_system_info_value_changed_hash) {
2081 g_hash_table_destroy(lte_rrc_system_info_value_changed_hash);
2084 lte_rrc_etws_cmas_dcs_hash = g_hash_table_new(g_direct_hash, g_direct_equal);
2085 lte_rrc_system_info_value_changed_hash = g_hash_table_new(g_direct_hash, g_direct_equal);
2088 /*--- proto_register_rrc -------------------------------------------*/
2089 void proto_register_lte_rrc(void) {
2091 /* List of fields */
2092 static hf_register_info hf[] = {
2094 #include "packet-lte-rrc-hfarr.c"
2096 { &hf_lte_rrc_eutra_cap_feat_group_ind_1,
2097 { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
2098 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_1_val), 0,
2099 "EUTRA Feature Group Indicator 1", HFILL }},
2100 { &hf_lte_rrc_eutra_cap_feat_group_ind_2,
2101 { "Indicator 2", "lte-rrc.eutra_cap_feat_group_ind_2",
2102 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_2_val), 0,
2103 "EUTRA Feature Group Indicator 2", HFILL }},
2104 { &hf_lte_rrc_eutra_cap_feat_group_ind_3,
2105 { "Indicator 3", "lte-rrc.eutra_cap_feat_group_ind_3",
2106 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_3_val), 0,
2107 "EUTRA Feature Group Indicator 3", HFILL }},
2108 { &hf_lte_rrc_eutra_cap_feat_group_ind_4,
2109 { "Indicator 4", "lte-rrc.eutra_cap_feat_group_ind_4",
2110 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_4_val), 0,
2111 "EUTRA Feature Group Indicator 4", HFILL }},
2112 { &hf_lte_rrc_eutra_cap_feat_group_ind_5,
2113 { "Indicator 5", "lte-rrc.eutra_cap_feat_group_ind_5",
2114 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_5_val), 0,
2115 "EUTRA Feature Group Indicator 5", HFILL }},
2116 { &hf_lte_rrc_eutra_cap_feat_group_ind_6,
2117 { "Indicator 6", "lte-rrc.eutra_cap_feat_group_ind_6",
2118 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_6_val), 0,
2119 "EUTRA Feature Group Indicator 6", HFILL }},
2120 { &hf_lte_rrc_eutra_cap_feat_group_ind_7,
2121 { "Indicator 7", "lte-rrc.eutra_cap_feat_group_ind_7",
2122 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_7_val), 0,
2123 "EUTRA Feature Group Indicator 7", HFILL }},
2124 { &hf_lte_rrc_eutra_cap_feat_group_ind_8,
2125 { "Indicator 8", "lte-rrc.eutra_cap_feat_group_ind_8",
2126 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_8_val), 0,
2127 "EUTRA Feature Group Indicator 8", HFILL }},
2128 { &hf_lte_rrc_eutra_cap_feat_group_ind_9,
2129 { "Indicator 9", "lte-rrc.eutra_cap_feat_group_ind_9",
2130 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_9_val), 0,
2131 "EUTRA Feature Group Indicator 9", HFILL }},
2132 { &hf_lte_rrc_eutra_cap_feat_group_ind_10,
2133 { "Indicator 10", "lte-rrc.eutra_cap_feat_group_ind_10",
2134 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_10_val), 0,
2135 "EUTRA Feature Group Indicator 10", HFILL }},
2136 { &hf_lte_rrc_eutra_cap_feat_group_ind_11,
2137 { "Indicator 11", "lte-rrc.eutra_cap_feat_group_ind_11",
2138 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_11_val), 0,
2139 "EUTRA Feature Group Indicator 11", HFILL }},
2140 { &hf_lte_rrc_eutra_cap_feat_group_ind_12,
2141 { "Indicator 12", "lte-rrc.eutra_cap_feat_group_ind_12",
2142 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_12_val), 0,
2143 "EUTRA Feature Group Indicator 12", HFILL }},
2144 { &hf_lte_rrc_eutra_cap_feat_group_ind_13,
2145 { "Indicator 13", "lte-rrc.eutra_cap_feat_group_ind_13",
2146 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_13_val), 0,
2147 "EUTRA Feature Group Indicator", HFILL }},
2148 { &hf_lte_rrc_eutra_cap_feat_group_ind_14,
2149 { "Indicator 14", "lte-rrc.eutra_cap_feat_group_ind_14",
2150 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_14_val), 0,
2151 "EUTRA Feature Group Indicator 14", HFILL }},
2152 { &hf_lte_rrc_eutra_cap_feat_group_ind_15,
2153 { "Indicator 15", "lte-rrc.eutra_cap_feat_group_ind_15",
2154 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_15_val), 0,
2155 "EUTRA Feature Group Indicator 15", HFILL }},
2156 { &hf_lte_rrc_eutra_cap_feat_group_ind_16,
2157 { "Indicator 16", "lte-rrc.eutra_cap_feat_group_ind_16",
2158 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_16_val), 0,
2159 "EUTRA Feature Group Indicator 16", HFILL }},
2160 { &hf_lte_rrc_eutra_cap_feat_group_ind_17,
2161 { "Indicator 17", "lte-rrc.eutra_cap_feat_group_ind_17",
2162 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_17_val), 0,
2163 "EUTRA Feature Group Indicator 17", HFILL }},
2164 { &hf_lte_rrc_eutra_cap_feat_group_ind_18,
2165 { "Indicator 18", "lte-rrc.eutra_cap_feat_group_ind_18",
2166 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_18_val), 0,
2167 "EUTRA Feature Group Indicator 18", HFILL }},
2168 { &hf_lte_rrc_eutra_cap_feat_group_ind_19,
2169 { "Indicator 19", "lte-rrc.eutra_cap_feat_group_ind_19",
2170 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_19_val), 0,
2171 "EUTRA Feature Group Indicator 19", HFILL }},
2172 { &hf_lte_rrc_eutra_cap_feat_group_ind_20,
2173 { "Indicator 20", "lte-rrc.eutra_cap_feat_group_ind_20",
2174 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_20_val), 0,
2175 "EUTRA Feature Group Indicator 20", HFILL }},
2176 { &hf_lte_rrc_eutra_cap_feat_group_ind_21,
2177 { "Indicator 21", "lte-rrc.eutra_cap_feat_group_ind_21",
2178 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_21_val), 0,
2179 "EUTRA Feature Group Indicator 21", HFILL }},
2180 { &hf_lte_rrc_eutra_cap_feat_group_ind_22,
2181 { "Indicator 22", "lte-rrc.eutra_cap_feat_group_ind_22",
2182 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_22_val), 0,
2183 "EUTRA Feature Group Indicator 22", HFILL }},
2184 { &hf_lte_rrc_eutra_cap_feat_group_ind_23,
2185 { "Indicator 23", "lte-rrc.eutra_cap_feat_group_ind_23",
2186 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_23_val), 0,
2187 "EUTRA Feature Group Indicator 23", HFILL }},
2188 { &hf_lte_rrc_eutra_cap_feat_group_ind_24,
2189 { "Indicator 24", "lte-rrc.eutra_cap_feat_group_ind_24",
2190 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_24_val), 0,
2191 "EUTRA Feature Group Indicator 24", HFILL }},
2192 { &hf_lte_rrc_eutra_cap_feat_group_ind_25,
2193 { "Indicator 25", "lte-rrc.eutra_cap_feat_group_ind_25",
2194 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_25_val), 0,
2195 "EUTRA Feature Group Indicator 25", HFILL }},
2196 { &hf_lte_rrc_eutra_cap_feat_group_ind_26,
2197 { "Indicator 26", "lte-rrc.eutra_cap_feat_group_ind_26",
2198 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_26_val), 0,
2199 "EUTRA Feature Group Indicator 26", HFILL }},
2200 { &hf_lte_rrc_eutra_cap_feat_group_ind_27,
2201 { "Indicator 27", "lte-rrc.eutra_cap_feat_group_ind_27",
2202 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_27_val), 0,
2203 "EUTRA Feature Group Indicator 27", HFILL }},
2204 { &hf_lte_rrc_eutra_cap_feat_group_ind_28,
2205 { "Indicator 28", "lte-rrc.eutra_cap_feat_group_ind_28",
2206 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_28_val), 0,
2207 "EUTRA Feature Group Indicator 28", HFILL }},
2208 { &hf_lte_rrc_eutra_cap_feat_group_ind_29,
2209 { "Indicator 29", "lte-rrc.eutra_cap_feat_group_ind_29",
2210 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_29_val), 0,
2211 "EUTRA Feature Group Indicator 29", HFILL }},
2212 { &hf_lte_rrc_eutra_cap_feat_group_ind_30,
2213 { "Indicator 30", "lte-rrc.eutra_cap_feat_group_ind_30",
2214 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_30_val), 0,
2215 "EUTRA Feature Group Indicator 30", HFILL }},
2216 { &hf_lte_rrc_eutra_cap_feat_group_ind_31,
2217 { "Indicator 31", "lte-rrc.eutra_cap_feat_group_ind_31",
2218 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_31_val), 0,
2219 "EUTRA Feature Group Indicator 31", HFILL }},
2220 { &hf_lte_rrc_eutra_cap_feat_group_ind_32,
2221 { "Indicator 32", "lte-rrc.eutra_cap_feat_group_ind_32",
2222 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_32_val), 0,
2223 "EUTRA Feature Group Indicator 32", HFILL }},
2224 { &hf_lte_rrc_eutra_cap_feat_group_ind_33,
2225 { "Indicator 33", "lte-rrc.eutra_cap_feat_group_ind_33",
2226 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_33_val), 0,
2227 "EUTRA Feature Group Indicator 33", HFILL }},
2228 { &hf_lte_rrc_eutra_cap_feat_group_ind_34,
2229 { "Indicator 34", "lte-rrc.eutra_cap_feat_group_ind_34",
2230 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_34_val), 0,
2231 "EUTRA Feature Group Indicator 34", HFILL }},
2232 { &hf_lte_rrc_eutra_cap_feat_group_ind_35,
2233 { "Indicator 35", "lte-rrc.eutra_cap_feat_group_ind_35",
2234 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_35_val), 0,
2235 "EUTRA Feature Group Indicator 35", HFILL }},
2236 { &hf_lte_rrc_eutra_cap_feat_group_ind_36,
2237 { "Indicator 36", "lte-rrc.eutra_cap_feat_group_ind_36",
2238 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_36_val), 0,
2239 "EUTRA Feature Group Indicator 36", HFILL }},
2240 { &hf_lte_rrc_eutra_cap_feat_group_ind_37,
2241 { "Indicator 37", "lte-rrc.eutra_cap_feat_group_ind_37",
2242 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_37_val), 0,
2243 "EUTRA Feature Group Indicator 37", HFILL }},
2244 { &hf_lte_rrc_eutra_cap_feat_group_ind_38,
2245 { "Indicator 38", "lte-rrc.eutra_cap_feat_group_ind_38",
2246 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_38_val), 0,
2247 "EUTRA Feature Group Indicator 38", HFILL }},
2248 { &hf_lte_rrc_eutra_cap_feat_group_ind_39,
2249 { "Indicator 39", "lte-rrc.eutra_cap_feat_group_ind_39",
2250 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_39_val), 0,
2251 "EUTRA Feature Group Indicator 39", HFILL }},
2252 { &hf_lte_rrc_eutra_cap_feat_group_ind_40,
2253 { "Indicator 40", "lte-rrc.eutra_cap_feat_group_ind_40",
2254 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_40_val), 0,
2255 "EUTRA Feature Group Indicator 40", HFILL }},
2256 { &hf_lte_rrc_eutra_cap_feat_group_ind_41,
2257 { "Indicator 41", "lte-rrc.eutra_cap_feat_group_ind_41",
2258 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_41_val), 0,
2259 "EUTRA Feature Group Indicator 41", HFILL }},
2260 { &hf_lte_rrc_eutra_cap_feat_group_ind_42,
2261 { "Indicator 42", "lte-rrc.eutra_cap_feat_group_ind_42",
2262 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_42_val), 0,
2263 "EUTRA Feature Group Indicator 42", HFILL }},
2264 { &hf_lte_rrc_eutra_cap_feat_group_ind_43,
2265 { "Indicator 43", "lte-rrc.eutra_cap_feat_group_ind_43",
2266 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_43_val), 0,
2267 "EUTRA Feature Group Indicator 43", HFILL }},
2268 { &hf_lte_rrc_eutra_cap_feat_group_ind_44,
2269 { "Indicator 44", "lte-rrc.eutra_cap_feat_group_ind_44",
2270 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_44_val), 0,
2271 "EUTRA Feature Group Indicator 44", HFILL }},
2272 { &hf_lte_rrc_eutra_cap_feat_group_ind_45,
2273 { "Indicator 45", "lte-rrc.eutra_cap_feat_group_ind_45",
2274 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_45_val), 0,
2275 "EUTRA Feature Group Indicator 45", HFILL }},
2276 { &hf_lte_rrc_eutra_cap_feat_group_ind_46,
2277 { "Indicator 46", "lte-rrc.eutra_cap_feat_group_ind_46",
2278 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_46_val), 0,
2279 "EUTRA Feature Group Indicator 46", HFILL }},
2280 { &hf_lte_rrc_eutra_cap_feat_group_ind_47,
2281 { "Indicator 47", "lte-rrc.eutra_cap_feat_group_ind_47",
2282 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_47_val), 0,
2283 "EUTRA Feature Group Indicator 47", HFILL }},
2284 { &hf_lte_rrc_eutra_cap_feat_group_ind_48,
2285 { "Indicator 48", "lte-rrc.eutra_cap_feat_group_ind_48",
2286 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_48_val), 0,
2287 "EUTRA Feature Group Indicator 48", HFILL }},
2288 { &hf_lte_rrc_eutra_cap_feat_group_ind_49,
2289 { "Indicator 49", "lte-rrc.eutra_cap_feat_group_ind_49",
2290 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_49_val), 0,
2291 "EUTRA Feature Group Indicator 49", HFILL }},
2292 { &hf_lte_rrc_eutra_cap_feat_group_ind_50,
2293 { "Indicator 50", "lte-rrc.eutra_cap_feat_group_ind_50",
2294 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_50_val), 0,
2295 "EUTRA Feature Group Indicator 50", HFILL }},
2296 { &hf_lte_rrc_eutra_cap_feat_group_ind_51,
2297 { "Indicator 51", "lte-rrc.eutra_cap_feat_group_ind_51",
2298 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_51_val), 0,
2299 "EUTRA Feature Group Indicator 51", HFILL }},
2300 { &hf_lte_rrc_eutra_cap_feat_group_ind_52,
2301 { "Indicator 52", "lte-rrc.eutra_cap_feat_group_ind_52",
2302 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_52_val), 0,
2303 "EUTRA Feature Group Indicator 52", HFILL }},
2304 { &hf_lte_rrc_eutra_cap_feat_group_ind_53,
2305 { "Indicator 53", "lte-rrc.eutra_cap_feat_group_ind_53",
2306 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_53_val), 0,
2307 "EUTRA Feature Group Indicator 53", HFILL }},
2308 { &hf_lte_rrc_eutra_cap_feat_group_ind_54,
2309 { "Indicator 54", "lte-rrc.eutra_cap_feat_group_ind_54",
2310 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_54_val), 0,
2311 "EUTRA Feature Group Indicator 54", HFILL }},
2312 { &hf_lte_rrc_eutra_cap_feat_group_ind_55,
2313 { "Indicator 55", "lte-rrc.eutra_cap_feat_group_ind_55",
2314 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_55_val), 0,
2315 "EUTRA Feature Group Indicator 55", HFILL }},
2316 { &hf_lte_rrc_eutra_cap_feat_group_ind_56,
2317 { "Indicator 56", "lte-rrc.eutra_cap_feat_group_ind_56",
2318 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_56_val), 0,
2319 "EUTRA Feature Group Indicator 56", HFILL }},
2320 { &hf_lte_rrc_eutra_cap_feat_group_ind_57,
2321 { "Indicator 57", "lte-rrc.eutra_cap_feat_group_ind_57",
2322 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_57_val), 0,
2323 "EUTRA Feature Group Indicator 57", HFILL }},
2324 { &hf_lte_rrc_eutra_cap_feat_group_ind_58,
2325 { "Indicator 58", "lte-rrc.eutra_cap_feat_group_ind_58",
2326 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_58_val), 0,
2327 "EUTRA Feature Group Indicator 58", HFILL }},
2328 { &hf_lte_rrc_eutra_cap_feat_group_ind_59,
2329 { "Indicator 59", "lte-rrc.eutra_cap_feat_group_ind_59",
2330 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_59_val), 0,
2331 "EUTRA Feature Group Indicator 59", HFILL }},
2332 { &hf_lte_rrc_eutra_cap_feat_group_ind_60,
2333 { "Indicator 60", "lte-rrc.eutra_cap_feat_group_ind_60",
2334 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_60_val), 0,
2335 "EUTRA Feature Group Indicator 60", HFILL }},
2336 { &hf_lte_rrc_eutra_cap_feat_group_ind_61,
2337 { "Indicator 61", "lte-rrc.eutra_cap_feat_group_ind_61",
2338 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_61_val), 0,
2339 "EUTRA Feature Group Indicator 61", HFILL }},
2340 { &hf_lte_rrc_eutra_cap_feat_group_ind_62,
2341 { "Indicator 62", "lte-rrc.eutra_cap_feat_group_ind_62",
2342 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_62_val), 0,
2343 "EUTRA Feature Group Indicator 62", HFILL }},
2344 { &hf_lte_rrc_eutra_cap_feat_group_ind_63,
2345 { "Indicator 63", "lte-rrc.eutra_cap_feat_group_ind_63",
2346 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_63_val), 0,
2347 "EUTRA Feature Group Indicator 63", HFILL }},
2348 { &hf_lte_rrc_eutra_cap_feat_group_ind_64,
2349 { "Indicator 64", "lte-rrc.eutra_cap_feat_group_ind_64",
2350 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_64_val), 0,
2351 "EUTRA Feature Group Indicator 64", HFILL }},
2352 { &hf_lte_rrc_eutra_cap_feat_group_ind_101,
2353 { "Indicator 101", "lte-rrc.eutra_cap_feat_group_ind_101",
2354 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_101_val), 0,
2355 "EUTRA Feature Group Indicator 101", HFILL }},
2356 { &hf_lte_rrc_eutra_cap_feat_group_ind_102,
2357 { "Indicator 102", "lte-rrc.eutra_cap_feat_group_ind_102",
2358 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_102_val), 0,
2359 "EUTRA Feature Group Indicator 102", HFILL }},
2360 { &hf_lte_rrc_eutra_cap_feat_group_ind_103,
2361 { "Indicator 103", "lte-rrc.eutra_cap_feat_group_ind_103",
2362 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_103_val), 0,
2363 "EUTRA Feature Group Indicator 103", HFILL }},
2364 { &hf_lte_rrc_eutra_cap_feat_group_ind_104,
2365 { "Indicator 104", "lte-rrc.eutra_cap_feat_group_ind_104",
2366 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_104_val), 0,
2367 "EUTRA Feature Group Indicator 104", HFILL }},
2368 { &hf_lte_rrc_eutra_cap_feat_group_ind_105,
2369 { "Indicator 105", "lte-rrc.eutra_cap_feat_group_ind_105",
2370 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_105_val), 0,
2371 "EUTRA Feature Group Indicator 105", HFILL }},
2372 { &hf_lte_rrc_eutra_cap_feat_group_ind_106,
2373 { "Indicator 106", "lte-rrc.eutra_cap_feat_group_ind_106",
2374 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_106_val), 0,
2375 "EUTRA Feature Group Indicator 106", HFILL }},
2376 { &hf_lte_rrc_eutra_cap_feat_group_ind_107,
2377 { "Indicator 107", "lte-rrc.eutra_cap_feat_group_ind_107",
2378 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_107_val), 0,
2379 "EUTRA Feature Group Indicator 107", HFILL }},
2380 { &hf_lte_rrc_eutra_cap_feat_group_ind_108,
2381 { "Indicator 108", "lte-rrc.eutra_cap_feat_group_ind_108",
2382 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_108_val), 0,
2383 "EUTRA Feature Group Indicator 108", HFILL }},
2384 { &hf_lte_rrc_eutra_cap_feat_group_ind_109,
2385 { "Indicator 109", "lte-rrc.eutra_cap_feat_group_ind_109",
2386 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_109_val), 0,
2387 "EUTRA Feature Group Indicator 109", HFILL }},
2388 { &hf_lte_rrc_eutra_cap_feat_group_ind_110,
2389 { "Indicator 110", "lte-rrc.eutra_cap_feat_group_ind_110",
2390 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_110_val), 0,
2391 "EUTRA Feature Group Indicator 110", HFILL }},
2392 { &hf_lte_rrc_eutra_cap_feat_group_ind_111,
2393 { "Indicator 111", "lte-rrc.eutra_cap_feat_group_ind_111",
2394 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_111_val), 0,
2395 "EUTRA Feature Group Indicator 111", HFILL }},
2396 { &hf_lte_rrc_eutra_cap_feat_group_ind_112,
2397 { "Indicator 112", "lte-rrc.eutra_cap_feat_group_ind_112",
2398 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_112_val), 0,
2399 "EUTRA Feature Group Indicator 112", HFILL }},
2400 { &hf_lte_rrc_eutra_cap_feat_group_ind_113,
2401 { "Indicator 113", "lte-rrc.eutra_cap_feat_group_ind_113",
2402 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_113_val), 0,
2403 "EUTRA Feature Group Indicator 113", HFILL }},
2404 { &hf_lte_rrc_eutra_cap_feat_group_ind_114,
2405 { "Indicator 114", "lte-rrc.eutra_cap_feat_group_ind_114",
2406 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_114_val), 0,
2407 "EUTRA Feature Group Indicator 114", HFILL }},
2408 { &hf_lte_rrc_eutra_cap_feat_group_ind_115,
2409 { "Indicator 115", "lte-rrc.eutra_cap_feat_group_ind_115",
2410 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_115_val), 0,
2411 "EUTRA Feature Group Indicator 115", HFILL }},
2412 { &hf_lte_rrc_eutra_cap_feat_group_ind_116,
2413 { "Indicator 116", "lte-rrc.eutra_cap_feat_group_ind_116",
2414 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_116_val), 0,
2415 "EUTRA Feature Group Indicator 116", HFILL }},
2416 { &hf_lte_rrc_eutra_cap_feat_group_ind_117,
2417 { "Indicator 117", "lte-rrc.eutra_cap_feat_group_ind_117",
2418 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_117_val), 0,
2419 "EUTRA Feature Group Indicator 117", HFILL }},
2420 { &hf_lte_rrc_eutra_cap_feat_group_ind_118,
2421 { "Indicator 118", "lte-rrc.eutra_cap_feat_group_ind_118",
2422 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_118_val), 0,
2423 "EUTRA Feature Group Indicator 118", HFILL }},
2424 { &hf_lte_rrc_eutra_cap_feat_group_ind_119,
2425 { "Indicator 119", "lte-rrc.eutra_cap_feat_group_ind_119",
2426 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_119_val), 0,
2427 "EUTRA Feature Group Indicator 119", HFILL }},
2428 { &hf_lte_rrc_eutra_cap_feat_group_ind_120,
2429 { "Indicator 120", "lte-rrc.eutra_cap_feat_group_ind_120",
2430 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_120_val), 0,
2431 "EUTRA Feature Group Indicator 120", HFILL }},
2432 { &hf_lte_rrc_eutra_cap_feat_group_ind_121,
2433 { "Indicator 121", "lte-rrc.eutra_cap_feat_group_ind_121",
2434 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_121_val), 0,
2435 "EUTRA Feature Group Indicator 121", HFILL }},
2436 { &hf_lte_rrc_eutra_cap_feat_group_ind_122,
2437 { "Indicator 122", "lte-rrc.eutra_cap_feat_group_ind_122",
2438 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_122_val), 0,
2439 "EUTRA Feature Group Indicator 122", HFILL }},
2440 { &hf_lte_rrc_eutra_cap_feat_group_ind_123,
2441 { "Indicator 123", "lte-rrc.eutra_cap_feat_group_ind_123",
2442 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_123_val), 0,
2443 "EUTRA Feature Group Indicator 123", HFILL }},
2444 { &hf_lte_rrc_eutra_cap_feat_group_ind_124,
2445 { "Indicator 124", "lte-rrc.eutra_cap_feat_group_ind_124",
2446 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_124_val), 0,
2447 "EUTRA Feature Group Indicator 124", HFILL }},
2448 { &hf_lte_rrc_eutra_cap_feat_group_ind_125,
2449 { "Indicator 125", "lte-rrc.eutra_cap_feat_group_ind_125",
2450 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_125_val), 0,
2451 "EUTRA Feature Group Indicator 125", HFILL }},
2452 { &hf_lte_rrc_eutra_cap_feat_group_ind_126,
2453 { "Indicator 126", "lte-rrc.eutra_cap_feat_group_ind_126",
2454 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_126_val), 0,
2455 "EUTRA Feature Group Indicator 126", HFILL }},
2456 { &hf_lte_rrc_eutra_cap_feat_group_ind_127,
2457 { "Indicator 127", "lte-rrc.eutra_cap_feat_group_ind_127",
2458 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_127_val), 0,
2459 "EUTRA Feature Group Indicator 127", HFILL }},
2460 { &hf_lte_rrc_eutra_cap_feat_group_ind_128,
2461 { "Indicator 128", "lte-rrc.eutra_cap_feat_group_ind_128",
2462 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_128_val), 0,
2463 "EUTRA Feature Group Indicator 128", HFILL }},
2464 { &hf_lte_rrc_eutra_cap_feat_group_ind_129,
2465 { "Indicator 129", "lte-rrc.eutra_cap_feat_group_ind_129",
2466 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_129_val), 0,
2467 "EUTRA Feature Group Indicator 129", HFILL }},
2468 { &hf_lte_rrc_eutra_cap_feat_group_ind_130,
2469 { "Indicator 130", "lte-rrc.eutra_cap_feat_group_ind_130",
2470 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_130_val), 0,
2471 "EUTRA Feature Group Indicator 130", HFILL }},
2472 { &hf_lte_rrc_eutra_cap_feat_group_ind_131,
2473 { "Indicator 131", "lte-rrc.eutra_cap_feat_group_ind_131",
2474 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_131_val), 0,
2475 "EUTRA Feature Group Indicator 131", HFILL }},
2476 { &hf_lte_rrc_eutra_cap_feat_group_ind_132,
2477 { "Indicator 132", "lte-rrc.eutra_cap_feat_group_ind_132",
2478 FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_132_val), 0,
2479 "EUTRA Feature Group Indicator 132", HFILL }},
2480 { &hf_lte_rrc_serialNumber_gs,
2481 { "Geographical Scope", "lte-rrc.serialNumber.gs",
2482 FT_UINT16, BASE_DEC, VALS(lte_rrc_serialNumber_gs_vals), 0xc000,
2484 { &hf_lte_rrc_serialNumber_msg_code,
2485 { "Message Code", "lte-rrc.serialNumber.msg_code",
2486 FT_UINT16, BASE_DEC, NULL, 0x3ff0,
2488 { &hf_lte_rrc_serialNumber_upd_nb,
2489 { "Update Number", "lte-rrc.serialNumber.upd_nb",
2490 FT_UINT16, BASE_DEC, NULL, 0x000f,
2492 { &hf_lte_rrc_warningType_value,
2493 { "Warning Type Value", "lte-rrc.warningType.value",
2494 FT_UINT16, BASE_DEC, VALS(lte_rrc_warningType_vals), 0xfe00,
2496 { &hf_lte_rrc_warningType_emergency_user_alert,
2497 { "Emergency User Alert", "lte-rrc.warningType.emergency_user_alert",
2498 FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
2500 { &hf_lte_rrc_warningType_popup,
2501 { "Popup", "lte-rrc.warningType.popup",
2502 FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
2504 { &hf_lte_rrc_warningMessageSegment_nb_pages,
2505 { "Number of Pages", "lte-rrc.warningMessageSegment.nb_pages",
2506 FT_UINT8, BASE_DEC, NULL, 0,
2508 { &hf_lte_rrc_warningMessageSegment_decoded_page,
2509 { "Decoded Page", "lte-rrc.warningMessageSegment.decoded_page",
2510 FT_STRING, BASE_NONE, NULL, 0,
2514 /* List of subtrees */
2515 static gint *ett[] = {
2517 #include "packet-lte-rrc-ettarr.c"
2519 &ett_lte_rrc_featureGroupIndicators,
2520 &ett_lte_rrc_featureGroupIndRel9Add,
2521 &ett_lte_rrc_featureGroupIndRel10,
2522 &ett_lte_rrc_absTimeInfo,
2523 &ett_lte_rrc_nas_SecurityParam,
2524 &ett_lte_rrc_targetRAT_MessageContainer,
2525 &ett_lte_rrc_siPsiSibContainer,
2526 &ett_lte_rrc_dedicatedInfoNAS,
2527 &ett_lte_rrc_timeInfo,
2528 &ett_lte_rrc_serialNumber,
2529 &ett_lte_rrc_warningType,
2530 &ett_lte_rrc_dataCodingScheme,
2531 &ett_lte_rrc_warningMessageSegment
2534 static ei_register_info ei[] = {
2535 { &ei_lte_rrc_number_pages_le15, { "lte_rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }},
2536 { &ei_lte_rrc_si_info_value_changed, { "lte_rrc.si_info_value_changed", PI_SEQUENCE, PI_WARN, "SI Info Value changed", EXPFILL }},
2537 { &ei_lte_rrc_sibs_changing, { "lte_rrc.sibs_changing", PI_SEQUENCE, PI_WARN, "SIBs changing in next BCCH modification period - signalled in Paging message", EXPFILL }},
2538 { &ei_lte_rrc_earthquake_warning_sys, { "lte_rrc.earthquake_warning_sys", PI_SEQUENCE, PI_WARN, "Earthquake and Tsunami Warning System Indication!", EXPFILL }},
2539 { &ei_lte_rrc_commercial_mobile_alert_sys, { "lte_rrc.commercial_mobile_alert_sys", PI_SEQUENCE, PI_WARN, "Commercial Mobile Alert System Indication!", EXPFILL }},
2540 { &ei_lte_rrc_unexpected_type_value, { "lte_rrc.unexpected_type_value", PI_MALFORMED, PI_ERROR, "Unexpected type value", EXPFILL }},
2541 { &ei_lte_rrc_unexpected_length_value, { "lte_rrc.unexpected_length_value", PI_MALFORMED, PI_ERROR, "Unexpected type length", EXPFILL }},
2542 { &ei_lte_rrc_too_many_group_a_rapids, { "lte_rrc.too_many_groupa_rapids", PI_MALFORMED, PI_ERROR, "Unexpected type length", EXPFILL }},
2545 expert_module_t* expert_lte_rrc;
2547 /* Register protocol */
2548 proto_lte_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
2550 /* These entry points will first create an lte_rrc root node */
2551 register_dissector("lte_rrc.dl_ccch", dissect_lte_rrc_DL_CCCH, proto_lte_rrc);
2552 register_dissector("lte_rrc.dl_dcch", dissect_lte_rrc_DL_DCCH, proto_lte_rrc);
2553 register_dissector("lte_rrc.ul_ccch", dissect_lte_rrc_UL_CCCH, proto_lte_rrc);
2554 register_dissector("lte_rrc.ul_dcch", dissect_lte_rrc_UL_DCCH, proto_lte_rrc);
2555 register_dissector("lte_rrc.bcch_bch", dissect_lte_rrc_BCCH_BCH, proto_lte_rrc);
2556 register_dissector("lte_rrc.bcch_dl_sch", dissect_lte_rrc_BCCH_DL_SCH, proto_lte_rrc);
2557 register_dissector("lte_rrc.pcch", dissect_lte_rrc_PCCH, proto_lte_rrc);
2558 register_dissector("lte_rrc.mcch", dissect_lte_rrc_MCCH, proto_lte_rrc);
2560 /* Register fields and subtrees */
2561 proto_register_field_array(proto_lte_rrc, hf, array_length(hf));
2562 proto_register_subtree_array(ett, array_length(ett));
2563 expert_lte_rrc = expert_register_protocol(proto_lte_rrc);
2564 expert_register_field_array(expert_lte_rrc, ei, array_length(ei));
2566 /* Register the dissectors defined in lte-rrc.conf */
2567 #include "packet-lte-rrc-dis-reg.c"
2569 register_init_routine(<e_rrc_init_protocol);
2573 /*--- proto_reg_handoff_rrc ---------------------------------------*/
2575 proto_reg_handoff_lte_rrc(void)
2577 static dissector_handle_t lte_rrc_dl_ccch_handle;
2579 lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch");
2580 dissector_add_handle("udp.port", lte_rrc_dl_ccch_handle);
2581 nas_eps_handle = find_dissector("nas-eps");
2582 rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd");
2583 rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont");
2584 gsm_a_dtap_handle = find_dissector("gsm_a_dtap");
2585 gsm_rlcmac_dl_handle = find_dissector("gsm_rlcmac_dl");