Bug Summary

File:builds/wireshark/wireshark/epan/dissectors/packet-dect-mitel-eth.c
Warning:line 952, column 5
Value stored to 'offset' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple x86_64-pc-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name packet-dect-mitel-eth.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -fno-delete-null-pointer-checks -mframe-pointer=all -relaxed-aliasing -fmath-errno -ffp-contract=on -fno-rounding-math -ffloat16-excess-precision=fast -fbfloat16-excess-precision=fast -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/builds/wireshark/wireshark/build -fcoverage-compilation-dir=/builds/wireshark/wireshark/build -resource-dir /usr/lib/llvm-22/lib/clang/22 -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /builds/wireshark/wireshark/epan/dissectors -isystem /builds/wireshark/wireshark/build/epan/dissectors -isystem /usr/include/mit-krb5 -isystem /usr/include/libxml2 -isystem /builds/wireshark/wireshark/epan -D CARES_NO_DEPRECATED -D G_DISABLE_DEPRECATED -D G_DISABLE_SINGLE_INCLUDES -D WS_BUILD_DLL -D WS_DEBUG -D WS_DEBUG_UTF_8 -I /builds/wireshark/wireshark/build -I /builds/wireshark/wireshark -I /builds/wireshark/wireshark/include -D _GLIBCXX_ASSERTIONS -internal-isystem /usr/lib/llvm-22/lib/clang/22/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/16/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fmacro-prefix-map=/builds/wireshark/wireshark/= -fmacro-prefix-map=/builds/wireshark/wireshark/build/= -fmacro-prefix-map=../= -Wno-format-nonliteral -std=gnu17 -ferror-limit 19 -fvisibility=hidden -fwrapv -fwrapv-pointer -fstrict-flex-arrays=3 -stack-protector 2 -fstack-clash-protection -fcf-protection=full -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fexceptions -fcolor-diagnostics -analyzer-output=html -faddrsig -fdwarf2-cfi-asm -o /builds/wireshark/wireshark/sbout/2026-11-04-100346-3662-1 -x c /builds/wireshark/wireshark/epan/dissectors/packet-dect-mitel-eth.c
1/* packet-dect-mitel-eth.c
2 *
3 * Dissector for the proprietary protocol of the internal ethernet link
4 * between DECT burst processor and ARM processor in Aastra/Mitel DECT
5 * base stations.
6 *
7 * Copyright 2018 by Harald Welte <laforge@gnumonks.org>
8 * Copyright 2022 by Bernhard Dick <bernhard@bdick.de>
9 *
10 * Parts are based on the EVENTPHONE rfpproxy project that is MIT licensed
11 * and Copyright (c) 2019 Bianco Veigel <devel at zivillian.de>
12 *
13 * Wireshark - Network traffic analyzer
14 * By Gerald Combs <gerald@wireshark.org>
15 * Copyright 1998 Gerald Combs
16 *
17 * SPDX-License-Identifier: GPL-2.0-or-later
18 */
19
20#include "config.h"
21#include <epan/conversation.h>
22#include <epan/packet.h>
23#include <epan/packet_info.h>
24#include <ftypes/ftypes.h>
25#include <epan/proto.h>
26#include <epan/tfs.h>
27#include <tvbuff.h>
28
29void proto_register_dect_mitel_eth(void);
30void proto_reg_handoff_dect_mitel_eth(void);
31
32static int proto_dect_mitel_eth;
33
34static int hf_dect_mitel_eth_len;
35static int hf_dect_mitel_eth_layer;
36static int hf_dect_mitel_eth_prim_type;
37static int hf_dect_mitel_eth_mcei;
38static int hf_dect_mitel_eth_mac_info_ind_string;
39static int hf_dect_mitel_eth_pmid;
40static int hf_dect_mitel_eth_subfield;
41
42static int hf_dect_mitel_eth_rfpc_message_type;
43static int hf_dect_mitel_eth_rfpc_item_type;
44static int hf_dect_mitel_eth_rfpc_item_length;
45static int hf_dect_mitel_eth_rfpc_item_value;
46
47static int hf_dect_mitel_eth_rfpc_revision_generation;
48static int hf_dect_mitel_eth_rfpc_revision_boot_software;
49static int hf_dect_mitel_eth_rfpc_revision_prog_software;
50static int hf_dect_mitel_eth_rfpc_revision_hardware;
51
52static int hf_dect_mitel_eth_rfpc_rfpi_saris_available;
53static int hf_dect_mitel_eth_rfpc_rfpi_ari_class;
54
55static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_flags;
56static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_connection_handover_supported;
57static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_external_handover_supported;
58static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_access_rights_requests_supported;
59static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_coms_service_available;
60static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_clms_service_available;
61static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_ciss_services_available;
62static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_static_fixed_part;
63static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_sim_services_available;
64static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_location_registration_supported;
65static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsc_supported;
66static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsaa_required;
67static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_packet_switched_service;
68static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_circuit_switched_service;
69static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_gap_basic_speech;
70static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_g726;
71
72static int hf_dect_mitel_eth_rfpc_extended_capabilities_wireless_relay_stations;
73static int hf_dect_mitel_eth_rfpc_extended_capabilities_flags;
74static int hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_data_services;
75static int hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_2;
76static int hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_3_or_4;
77static int hf_dect_mitel_eth_rfpc_extended_capabilities_data_service_profile_d;
78static int hf_dect_mitel_eth_rfpc_extended_capabilities_lrms;
79static int hf_dect_mitel_eth_rfpc_extended_capabilities_asymmetric_bearers_supported;
80static int hf_dect_mitel_eth_rfpc_extended_capabilities_emergency_call_supported;
81static int hf_dect_mitel_eth_rfpc_extended_capabilities_location_registration_with_tpui_allowed;
82static int hf_dect_mitel_eth_rfpc_extended_capabilities_sync_to_gps_achieved;
83static int hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_intermediate_system;
84static int hf_dect_mitel_eth_rfpc_extended_capabilities_rap_part_1_profile;
85static int hf_dect_mitel_eth_rfpc_extended_capabilities_v24;
86static int hf_dect_mitel_eth_rfpc_extended_capabilities_ppp;
87static int hf_dect_mitel_eth_rfpc_extended_capabilities_ip;
88static int hf_dect_mitel_eth_rfpc_extended_capabilities_token_ring;
89static int hf_dect_mitel_eth_rfpc_extended_capabilities_ethernet;
90static int hf_dect_mitel_eth_rfpc_extended_capabilities_ip_roaming_unrestricted_supported;
91static int hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_supported;
92static int hf_dect_mitel_eth_rfpc_extended_capabilities_basis_odap_supported;
93static int hf_dect_mitel_eth_rfpc_extended_capabilities_fmms_interworking_profile_supported;
94static int hf_dect_mitel_eth_rfpc_extended_capabilities_extended_fp_info2;
95static int hf_dect_mitel_eth_rfpc_extended_capabilities_ipq_services_supported;
96static int hf_dect_mitel_eth_rfpc_extended_capabilities_mac_suspend_resume;
97static int hf_dect_mitel_eth_rfpc_extended_capabilities_frequency_replacement_supported;
98static int hf_dect_mitel_eth_rfpc_extended_capabilities_synchronization;
99
100static int hf_dect_mitel_eth_rfpc_mac_capabilities_flags;
101static int hf_dect_mitel_eth_rfpc_mac_capabilities_multibearer_connections;
102static int hf_dect_mitel_eth_rfpc_mac_capabilities_ipmr_error_correction;
103static int hf_dect_mitel_eth_rfpc_mac_capabilities_ipm_error_detection;
104static int hf_dect_mitel_eth_rfpc_mac_capabilities_inb_normal_delay;
105static int hf_dect_mitel_eth_rfpc_mac_capabilities_ina_minimum_delay;
106static int hf_dect_mitel_eth_rfpc_mac_capabilities_cf_messages;
107static int hf_dect_mitel_eth_rfpc_mac_capabilities_b_field_setup;
108static int hf_dect_mitel_eth_rfpc_mac_capabilities_advanced_a_field_setup;
109static int hf_dect_mitel_eth_rfpc_mac_capabilities_basic_a_field_setup;
110static int hf_dect_mitel_eth_rfpc_mac_capabilities_cl_downlink;
111static int hf_dect_mitel_eth_rfpc_mac_capabilities_cl_uplink;
112static int hf_dect_mitel_eth_rfpc_mac_capabilities_co_setup_on_dummy_allowed;
113static int hf_dect_mitel_eth_rfpc_mac_capabilities_page_repetition;
114static int hf_dect_mitel_eth_rfpc_mac_capabilities_frequency_control;
115static int hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_full;
116static int hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_half;
117static int hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_double;
118static int hf_dect_mitel_eth_rfpc_mac_capabilities_double_duplex_bearer_connections;
119static int hf_dect_mitel_eth_rfpc_mac_capabilities_extended_fp_info;
120
121static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_1_3;
122static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_4_6;
123static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_7_9;
124static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_10_12;
125static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_1_2;
126static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_3_4;
127static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_5_6;
128static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_7_8;
129static int hf_dect_mitel_eth_rfpc_statistic_data_lost_connections;
130static int hf_dect_mitel_eth_rfpc_statistic_data_mac_reset;
131static int hf_dect_mitel_eth_rfpc_statistic_data_reject_dummy;
132static int hf_dect_mitel_eth_rfpc_statistic_data_handoff_timer;
133static int hf_dect_mitel_eth_rfpc_statistic_data_bad_frames;
134static int hf_dect_mitel_eth_rfpc_statistic_data_good_frames;
135
136static int hf_dect_mitel_eth_rfpc_rfp_pli_length_indicator;
137
138static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_flags;
139static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_640;
140static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_672;
141static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_mux_e_u;
142static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_ipf;
143static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_sipf;
144static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_gf;
145static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_wrs_ule;
146static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_no_emission_preferred_cn;
147static int hf_dect_mitel_eth_rfpc_extended_capabilities2_flags;
148static int hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_1;
149static int hf_dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category;
150static int hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_3;
151static int hf_dect_mitel_eth_rfpc_extended_capabilities2_permanent_clir;
152static int hf_dect_mitel_eth_rfpc_extended_capabilities2_third_party_conference;
153static int hf_dect_mitel_eth_rfpc_extended_capabilities2_intrusion_call;
154static int hf_dect_mitel_eth_rfpc_extended_capabilities2_call_deflection;
155static int hf_dect_mitel_eth_rfpc_extended_capabilities2_multiple_lines;
156static int hf_dect_mitel_eth_rfpc_extended_capabilities2_no_emission;
157static int hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_5;
158static int hf_dect_mitel_eth_rfpc_extended_capabilities2_re_keying;
159static int hf_dect_mitel_eth_rfpc_extended_capabilities2_dsaa2;
160static int hf_dect_mitel_eth_rfpc_extended_capabilities2_dsc2;
161static int hf_dect_mitel_eth_rfpc_extended_capabilities2_light_data;
162
163static int hf_dect_mitel_eth_mac_con_ind_flags;
164static int hf_dect_mitel_eth_mac_con_ind_flag_handover;
165
166static int hf_dect_mitel_eth_mac_dis_ind_reason;
167
168static int hf_dect_mitel_eth_mac_page_req_flags;
169
170static int hf_dect_mitel_eth_mac_enc_key_req_key;
171static int hf_dect_mitel_eth_mac_enc_key_req_id;
172
173static int hf_dect_mitel_eth_mac_enc_eks_ind_type;
174static int hf_dect_mitel_eth_mac_enc_eks_ind_id;
175static int hf_dect_mitel_eth_mac_enc_eks_ind_ppn;
176
177static int hf_dect_mitel_eth_mac_ho_in_progress_res_key;
178static int hf_dect_mitel_eth_mac_ho_in_progress_res_id;
179
180static int hf_dect_mitel_eth_mac_ho_failed_ind_reason;
181
182static int hf_dect_mitel_eth_mt_item_key;
183static int hf_dect_mitel_eth_mt_item_length;
184static int hf_dect_mitel_eth_mt_item_value;
185
186static int ett_dect_mitel_eth;
187
188static int ett_dect_mitel_eth_rfpc_item;
189
190static int ett_dect_mitel_eth_higher_layer_capabilities_flags;
191static int ett_dect_mitel_eth_extended_capabilities_flags;
192static int ett_dect_mitel_eth_mac_capabilities_flags;
193static int ett_dect_mitel_eth_extended_capabilities2_mac_capability_flags;
194static int ett_dect_mitel_eth_extended_capabilities2_flags;
195
196static dissector_handle_t dlc_handle;
197
198#define DECT_MITEL_ETH_T_XDLC0xA000 0xA000
199#define DECT_MITEL_ETH_T_DOWNLOAD0xA002 0xA002
200#define DECT_MITEL_ETH_T_VIDEO0xA003 0xA003
201#define DECT_MITEL_ETH_T_AUDIOLOG0xA004 0xA004
202
203enum dect_mitel_eth_layer_coding {
204 DECT_MITEL_ETH_LAYER_RFPC = 0x78,
205 DECT_MITEL_ETH_LAYER_LC = 0x79,
206 DECT_MITEL_ETH_LAYER_MAC = 0x7A,
207 DECT_MITEL_ETH_LAYER_MT = 0x7C,
208 DECT_MITEL_ETH_LAYER_SYNC = 0x7D,
209};
210
211enum dect_mitel_eth_prim_coding {
212 DECT_MITEL_ETH_MAC_CON_IND = 0x01,
213 DECT_MITEL_ETH_MAC_DIS_REQ = 0x02,
214 DECT_MITEL_ETH_MAC_DIS_IND = 0x03,
215 DECT_MITEL_ETH_LC_DATA_REQ = 0x05,
216 DECT_MITEL_ETH_LC_DATA_IND = 0x06,
217 DECT_MITEL_ETH_LC_DTR_IND = 0x07,
218 DECT_MITEL_ETH_MAC_PAGE_REQ = 0x08,
219 DECT_MITEL_ETH_MAC_ENC_KEY_REQ = 0x09,
220 DECT_MITEL_ETH_MAC_ENC_EKS_IND = 0x0a,
221 DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND = 0x0b,
222 DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES = 0x0c,
223 DECT_MITEL_ETH_MAC_HO_FAILED_IND = 0x0d,
224 DECT_MITEL_ETH_HO_FAILED_REQ = 0x0e,
225 DECT_MITEL_ETH_DLC_RFP_ERROR_IND = 0x14,
226 DECT_MITEL_ETH_MAC_CON_EXT_IND = 0x15,
227 DECT_MITEL_ETH_HO_IN_PROGRESS_EXT_IND = 0x16,
228 DECT_MITEL_ETH_MAC_MOD_REQ = 0x17,
229 DECT_MITEL_ETH_MAC_MOD_CNF = 0x18,
230 DECT_MITEL_ETH_MAC_MOD_IND = 0x19,
231 DECT_MITEL_ETH_MAC_MOD_REJ = 0x1a,
232 DECT_MITEL_ETH_MAC_RECORD_AUDIO = 0x1b,
233 DECT_MITEL_ETH_MAC_INFO_IND = 0x1c,
234 DECT_MITEL_ETH_MAC_GET_DEF_CKEY_IND = 0x1d,
235 DECT_MITEL_ETH_MAC_GET_DEF_CKEY_RES = 0x1e,
236 DECT_MITEL_ETH_MAC_CLEAR_DEF_CKEY_REQ = 0x1f,
237 DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_REQ = 0x20,
238 DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_CNF = 0x21,
239};
240
241/* RFPC */
242enum dect_mitel_eth_rfpc_message_type_coding {
243 DECT_MITEL_ETH_RFPC_MESSAGE_TYPE_READY_IND = 0x01,
244 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_REQ = 0x02,
245 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_CFM = 0x03,
246 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_SARI_LIST_REQ = 0x05,
247 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_REQ = 0x06,
248 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_CFM = 0x07,
249 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_REQ = 0x08,
250 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_CFM = 0x09,
251 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_REQ = 0x0f,
252 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_CFM = 0x10,
253 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_REQ = 0x11,
254 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_CFM = 0x12,
255 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_RESET_REQ = 0x13,
256 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_REQ = 0x16,
257 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_CFM = 0x17,
258 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ERROR_IND = 0x18,
259 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_IND = 0x20,
260 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_REQ = 0x21,
261 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_REQ = 0x22,
262 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_IND = 0x23,
263 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_BMC_RESTART_REQ = 0x24,
264 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_MASTER_REQ = 0x25,
265 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INFO_IND = 0x26,
266 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_IND = 0x30,
267 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_RES = 0x31,
268 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_PAGING_QUEUE_OVERFLOW_IND = 0x32,
269};
270
271enum dect_mitel_eth_rfpc_item_type_coding {
272 DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_UPN = 0x01,
273 DECT_MITEL_ETH_RFPC_ITEM_TYPE_REVISION = 0x02,
274 DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_BEARER = 0x03,
275 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFPI = 0x04,
276 DECT_MITEL_ETH_RFPC_ITEM_TYPE_SARI = 0x05,
277 DECT_MITEL_ETH_RFPC_ITEM_TYPE_HIGHER_LAYER_CAPABILITIES = 0x06,
278 DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES = 0x07,
279 DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATUS_INFO = 0x08,
280 DECT_MITEL_ETH_RFPC_ITEM_TYPE_MAC_CAPABILITIES = 0x0d,
281 DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA_RESET = 0x0f,
282 DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA = 0x10,
283 DECT_MITEL_ETH_RFPC_ITEM_TYPE_ERROR_CAUSE = 0x11,
284 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_FU6_WINDOW_SIZE = 0x12,
285 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TO_RFP = 0x14,
286 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TOPO = 0x15,
287 DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR = 0x20,
288 DECT_MITEL_ETH_RFPC_ITEM_TYPE_PABX_DATA = 0x21,
289 DECT_MITEL_ETH_RFPC_ITEM_TYPE_MONI_DATA = 0x22,
290 DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR_EXT = 0x23,
291 DECT_MITEL_ETH_RFPC_ITEM_TYPE_FPGA_REVISION = 0x24,
292 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_STRING = 0x25,
293 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_SITE_LOCATION = 0x26,
294 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_PLI = 0x27,
295 DECT_MITEL_ETH_RFPC_ITEM_TYPE_REFLECTING_ENVIRONMENT = 0x28,
296 DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES2 = 0x29,
297 DECT_MITEL_ETH_RFPC_ITEM_TYPE_FREQUENCY_BAND = 0x2a,
298 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RF_POWER = 0x2b,
299};
300
301/* RFPc RFPI */
302enum dect_mitel_eth_rfpc_rfpi_coding {
303 DECT_MITEL_ETH_RFPC_RFPI_SARIS_AVAILABLE = 0x80,
304};
305
306enum dect_mitel_eth_rfpc_rfpi_ari_class_coding {
307 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_A = 0x0,
308 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_B = 0x1,
309 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_C = 0x2,
310 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_D = 0x3,
311 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_E = 0x4,
312};
313
314/* RFPc Higher layer capabilities */
315enum dect_mitel_eth_rfpc_higher_layer_capabilities_flags_coding {
316 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CONNECTION_HANDOVER_SUPPORTED = 0x0002,
317 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_EXTERNAL_HANDOVER_SUPPORTED = 0x0004,
318 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_ACCESS_RIGHTS_REQUESTS_SUPPORTED = 0x0008,
319 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_COMS_SERVICE_AVAILABLE = 0x0010,
320 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CLMS_SERVICE_AVAILABLE = 0x0020,
321 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CISS_SERVICES_AVAILABLE = 0x0040,
322 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_STATIC_FIXED_PART = 0x0080,
323 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_SIM_SERVICES_AVAILABLE = 0x0100,
324 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_LOCATION_REGISTRATION_SUPPORTED = 0x0200,
325 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSC_SUPPORTED = 0x0400,
326 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSAA_REQUIRED = 0x0800,
327 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_PACKET_SWITCHED_SERVICE = 0x1000,
328 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_CIRCUIT_SWITCHED_SERVICE = 0x2000,
329 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_GAP_BASIC_SPEECH = 0x4000,
330 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_G726 = 0x8000,
331};
332
333/* RFPc Extended Capabilities*/
334enum dect_mitel_eth_rfpc_extended_capabilities_flags_coding {
335 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_DATA_SERVICES = 0x00000001,
336 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_2 = 0x00000002,
337 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_3_OR_4 = 0x00000004,
338 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DATA_SERVICE_PROFILE_D = 0x00000008,
339 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LRMS = 0x00000010,
340 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ASYMMETRIC_BEARERS_SUPPORTED = 0x00000020,
341 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EMERGENCY_CALL_SUPPORTED = 0x00000040,
342 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LOCATION_REGISTRATION_WITH_TPUI_ALLOWED = 0x00000080,
343 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION_TO_GPS_ACHIEVED = 0x00000100,
344 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_INTERMEDIATE_SYSTEM = 0x00000200,
345 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_RAP_PART_1_PROFILE = 0x00000400,
346 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_V24 = 0x00000800,
347 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_PPP = 0x00001000,
348 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP = 0x00002000,
349 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_TOKEN_RING = 0x00004000,
350 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ETHERNET = 0x00008000,
351 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP_ROAMING_UNRESTRICTED_SUPPORTED = 0x00010000,
352 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_SUPPORTED = 0x00020000,
353 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_BASIC_ODAP_SUPPORTED = 0x00040000,
354 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FMMS_INTERWORKING_PROFILE_SUPPORTED = 0x00080000,
355 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EXTENDED_FP_INFOR_2 = 0x01000000,
356 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IPQ_SERVICES_SUPPORTED = 0x02000000,
357 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_MAC_SUSPEND_RESUME = 0x04000000,
358 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FREQUENCY_REPLACEMENT_SUPPORTED = 0x08000000,
359 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION = 0x10000000,
360};
361
362/* RFPc MAC Capabilities */
363enum dect_mitel_eth_rfpc_mac_capabilities_flags {
364 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_MULTIBEARER_CONNECTIONS = 0x00001,
365 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPMR_ERROR_CORRECTION = 0x00002,
366 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPM_ERROR_DETECTION = 0x00004,
367 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INB_NORMAL_DELAY = 0x00008,
368 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INA_MINIMUM_DELAY = 0x00010,
369 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CF_MESSAGES = 0x00020,
370 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_B_FIELD_SETUP = 0x00040,
371 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_ADVANCED_A_FIELD_SETUP = 0x00080,
372 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_BASIC_A_FIELD_SETUP = 0x00100,
373 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_DOWNLINK = 0x00200,
374 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_UPLINK = 0x00400,
375 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CO_SETUP_ON_DUMMY_ALLOWED = 0x00800,
376 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_PAGE_REPETITION = 0x01000,
377 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_FREQUENCY_CONTROL = 0x02000,
378 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_FULL = 0x04000,
379 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_HALF = 0x08000,
380 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_DOUBLE = 0x10000,
381 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_DOUBLE_DUPLEX_BEARER_CONNECTIONS = 0x40000,
382 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_EXTENDED_FP_INFO = 0x80000,
383};
384
385/* RFPc Extended Capabilities 2 */
386enum dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_flags_coding {
387 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_640 = 0x800,
388 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_672 = 0x400,
389 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_MUX_E_U = 0x200,
390 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_IPF = 0x100,
391 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_SIPF = 0x080,
392 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_GF = 0x040,
393 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_WRS_ULE = 0x020,
394 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_NO_EMISSION_PREFERRED_CN = 0x001,
395};
396
397enum dect_mitel_eth_rfpc_extended_capabilities2_flags_coding {
398 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_1 = 0x800000,
399 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_3 = 0x040000,
400 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_PERMANENT_CLIR = 0x020000,
401 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_THIRD_PARTY_CONFERENCE = 0x010000,
402 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_INTRUSION_CALL = 0x008000,
403 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_CALL_DEFLECTION = 0x004000,
404 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MULTIPLE_LINES = 0x002000,
405 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NO_EMISSION = 0x001000,
406 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_5 = 0x000800,
407 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_RE_KEYING = 0x000020,
408 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSAA2 = 0x000010,
409 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSC2 = 0x000008,
410 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_LIGHT_DATA = 0x000004,
411};
412
413enum dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category_coding {
414 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_NOT_SUPPORTED = 0x0,
415 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_1 = 0x1,
416 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_2 = 0x2,
417 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_3 = 0x3,
418 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_4 = 0x4,
419 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_5 = 0x5,
420};
421
422
423/* MAC_CON_IND */
424enum dect_mitel_eth_mac_con_ind_flags_coding {
425 DECT_MITEL_ETH_MAC_CON_IND_FLAG_HANDOVER = 0x02,
426};
427
428/* MAC_DIS_IND */
429enum dect_mitel_eth_mac_dis_ind_reason_coding {
430 DECT_MITEL_ETH_MAC_DIS_IND_REASON_UNSPECIFIED = 0x01,
431 DECT_MITEL_ETH_MAC_DIS_IND_REASON_NORMAL = 0x02,
432 DECT_MITEL_ETH_MAC_DIS_IND_REASON_ABNORMAL = 0x03,
433};
434
435/* MAC_ENC_EKS_IND */
436enum dect_mitel_eth_mac_enc_eks_ind_type_coding {
437 DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED = 0x01,
438 DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED_WITH_ID = 0x02,
439};
440
441/* MAC_HO_FAILED_IND */
442enum dect_mitel_eth_mac_ho_failed_ind_reason_coding {
443 DECT_MITEL_ETH_MAC_HO_FAILED_IND_REASON_SETUP_FAILED = 0x01,
444};
445
446static const value_string dect_mitel_eth_layer_val[] = {
447 { DECT_MITEL_ETH_LAYER_RFPC, "RFPc" },
448 { DECT_MITEL_ETH_LAYER_LC, "Lc" },
449 { DECT_MITEL_ETH_LAYER_MAC, "MAC" },
450 { DECT_MITEL_ETH_LAYER_MT, "Mt" },
451 { DECT_MITEL_ETH_LAYER_SYNC, "Sync" },
452 { 0, NULL((void*)0) }
453};
454
455static const value_string dect_mitel_eth_prim_coding_val[] = {
456 { DECT_MITEL_ETH_MAC_CON_IND, "MAC_CON_IND" },
457 { DECT_MITEL_ETH_MAC_DIS_REQ, "MAC_DIS_REQ" },
458 { DECT_MITEL_ETH_MAC_DIS_IND, "MAC_DIS_IND" },
459 { DECT_MITEL_ETH_LC_DATA_REQ, "LC_DATA_REQ" },
460 { DECT_MITEL_ETH_LC_DATA_IND, "LC_DATA_IND" },
461 { DECT_MITEL_ETH_LC_DTR_IND, "LC_DTR_IND" },
462 { DECT_MITEL_ETH_MAC_PAGE_REQ, "MAC_PAGE_REQ" },
463 { DECT_MITEL_ETH_MAC_ENC_KEY_REQ, "MAC_ENC_KEY_REQ" },
464 { DECT_MITEL_ETH_MAC_ENC_EKS_IND, "MAC_ENC_EKS_IND" },
465 { DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND, "MAC_HO_IN_PROGRESS_IND" },
466 { DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES, "MAC_HO_IN_PROGRESS_RES" },
467 { DECT_MITEL_ETH_MAC_HO_FAILED_IND, "MAC_HO_FAILED_IND" },
468 { DECT_MITEL_ETH_HO_FAILED_REQ, "HO_FAILED_REQ" },
469 { DECT_MITEL_ETH_DLC_RFP_ERROR_IND, "RFP_ERROR_IND" },
470 { DECT_MITEL_ETH_MAC_CON_EXT_IND, "MAC_CON_EXT_IND" },
471 { DECT_MITEL_ETH_HO_IN_PROGRESS_EXT_IND, "HO_IN_PROGRESS_EXT_IND" },
472 { DECT_MITEL_ETH_MAC_MOD_REQ, "MAC_MOD_REQ" },
473 { DECT_MITEL_ETH_MAC_MOD_CNF, "MAC_MOD_CNF" },
474 { DECT_MITEL_ETH_MAC_MOD_IND, "MAC_MOD_IND" },
475 { DECT_MITEL_ETH_MAC_RECORD_AUDIO, "MAC_RECORD_AUDIO" },
476 { DECT_MITEL_ETH_MAC_INFO_IND, "MAC_INFO_IND" },
477 { DECT_MITEL_ETH_MAC_GET_DEF_CKEY_IND, "MAC_GET_DEF_CKEY_IND" },
478 { DECT_MITEL_ETH_MAC_GET_DEF_CKEY_RES, "MAC_GET_DEF_CKEY_RES" },
479 { DECT_MITEL_ETH_MAC_CLEAR_DEF_CKEY_REQ, "MAC_CLEAR_DEF_CKEY_REQ" },
480 { DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_REQ, "MAC_GET_CURR_CKEY_ID_REQ"},
481 { DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_CNF, "MAC_GET_CURR_CKEY_ID_CNF" },
482 { 0, NULL((void*)0) }
483};
484
485static const value_string dect_mitel_eth_subfield_val[] = {
486 { 0x00, "B0" },
487 { 0x10, "B1" },
488 { 0, NULL((void*)0) }
489};
490
491/* RFPC */
492static const value_string dect_mitel_eth_rfpc_message_type_val[] = {
493 { DECT_MITEL_ETH_RFPC_MESSAGE_TYPE_READY_IND, "READY_IND" },
494 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_REQ, "INIT_REQ" },
495 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_CFM, "INIT_CFM" },
496 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_SARI_LIST_REQ, "SARI_LIST_REQ" },
497 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_REQ, "CHANGE_HIGHER_LAYER_CAPABILITIES_REQ" },
498 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_CFM, "CHANGE_HIGHER_LAYER_CAPABILITIES_CFM" },
499 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_REQ, "CHANGE_STATUS_INFO_REQ" },
500 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_CFM, "CHANGE_STATUS_INFO_CFM" },
501 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_REQ, "ACTIVATE_REQ" },
502 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_CFM, "ACTIVATE_CFM" },
503 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_REQ, "DEACTIVATE_REQ" },
504 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_CFM, "DEACTIVATE_CFM" },
505 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_RESET_REQ, "RESET_REQ" },
506 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_REQ, "STATISTICS_DATA_REQ" },
507 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_CFM, "STATISTICS_DATA_CFM" },
508 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ERROR_IND, "ERROR_IND" },
509 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_IND, "TO_RFP_IND" },
510 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_REQ, "TO_RFP_REQ" },
511 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_REQ, "TOPO_DATA_REQ" },
512 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_IND, "TOPO_DATA_IND" },
513 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_BMC_RESTART_REQ, "BMC_RESTART_REQ" },
514 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_MASTER_REQ, "CHANGE_MASTER_REQ" },
515 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INFO_IND, "INFO_IND" },
516 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_IND, "ACTIVE_IND" },
517 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_RES, "ACTIVE_RES" },
518 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_PAGING_QUEUE_OVERFLOW_IND, "PAGING_QUEUE_OVERFLOW_IND" },
519 { 0, NULL((void*)0) }
520};
521
522static const value_string dect_mitel_eth_rfpc_item_type_val[] = {
523 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_UPN, "NUMBER_OF_UPN" },
524 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_REVISION, "REVISION" },
525 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_BEARER, "NUMBER_OF_BEARER" },
526 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFPI, "RFPI" },
527 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_SARI, "SARI" },
528 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_HIGHER_LAYER_CAPABILITIES, "HIGHER_LAYER_CAPABILITIES" },
529 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES, "EXTENDED_CAPABILITIES" },
530 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATUS_INFO, "STATUS_INFO" },
531 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_MAC_CAPABILITIES, "MAC_CAPABILITIES" },
532 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA_RESET, "STATISTIC_DATA_RESET" },
533 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA, "STATISTIC_DATA" },
534 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_ERROR_CAUSE, "ERROR_CAUSE" },
535 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_FU6_WINDOW_SIZE, "RFP_FU6_WINDOW_SIZE" },
536 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TO_RFP, "RFP_TO_RFP" },
537 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TOPO, "RFP_TOPO" },
538 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR, "LAST_ERROR" },
539 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_PABX_DATA, "PABX_DATA" },
540 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_MONI_DATA, "MONI_DATA" },
541 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR_EXT, "LAST_ERROR_EXT" },
542 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_FPGA_REVISION, "FPGA_REVISION" },
543 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_STRING, "RFP_STRING" },
544 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_SITE_LOCATION, "RFP_SITE_LOCATION" },
545 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_PLI, "RFP_PLI" },
546 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_REFLECTING_ENVIRONMENT, "REFLECTING_ENVIRONMENT" },
547 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES2, "EXTENDED_CAPABILITIES2" },
548 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_FREQUENCY_BAND, "FREQUENCY_BAND" },
549 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RF_POWER, "RF_POWER" },
550 { 0, NULL((void*)0) }
551};
552
553/* RFPc RFPI */
554static const value_string dect_mitel_eth_rfpc_rfpi_ari_class_val[] = {
555 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_A, "Class A" },
556 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_B, "Class B" },
557 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_C, "Class C" },
558 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_D, "Class D" },
559 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_E, "Class E" },
560 { 0, NULL((void*)0) }
561};
562
563/* RFPc Extended Capabilities*/
564static const true_false_string tfs_prolonged_standard = {
565 "Prolonged",
566 "Standard"
567};
568
569/* RFPc Extended Capabilities 2 */
570static const value_string dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category_val[] = {
571 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_NOT_SUPPORTED, "Not supported" },
572 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_1, "Cat 1" },
573 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_2, "Cat 2" },
574 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_3, "Cat 3" },
575 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_4, "Cat 4" },
576 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_5, "Cat 5" },
577 { 0, NULL((void*)0) }
578};
579
580/* MAC_DIS_IND */
581static const value_string dect_mitel_eth_mac_dis_ind_reason_val[] = {
582 { DECT_MITEL_ETH_MAC_DIS_IND_REASON_UNSPECIFIED, "Unspecified" },
583 { DECT_MITEL_ETH_MAC_DIS_IND_REASON_NORMAL, "Normal" },
584 { DECT_MITEL_ETH_MAC_DIS_IND_REASON_ABNORMAL, "Abnormal" },
585 { 0, NULL((void*)0) }
586};
587
588/* MAC_ENC_EKS_IND */
589static const value_string dect_mitel_eth_mac_enc_eks_ind_type_val[] = {
590 { DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED, "Encrypted" },
591 { DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED_WITH_ID, "Encrypted with ID" },
592 { 0, NULL((void*)0) }
593};
594
595/* MAC_HO_FAILED_IND */
596static const value_string dect_mitel_eth_mac_ho_failed_ind_reason_val[] = {
597 { DECT_MITEL_ETH_MAC_HO_FAILED_IND_REASON_SETUP_FAILED, "Setup failed" },
598 { 0, NULL((void*)0) }
599};
600
601static unsigned dissect_dect_mitel_eth_mcei_field(tvbuff_t *tvb _U___attribute__((unused)), packet_info *pinfo _U___attribute__((unused)), proto_tree *tree _U___attribute__((unused)), void *data _U___attribute__((unused)), unsigned offset)
602{
603 uint8_t mcei;
604 mcei = tvb_get_uint8(tvb, offset);
605 conversation_set_elements_by_id(pinfo, CONVERSATION_NONE, mcei);
606 col_append_fstr(pinfo->cinfo, COL_INFO, "MCEI=%02x ", mcei);
607 proto_tree_add_item(tree, hf_dect_mitel_eth_mcei, tvb, offset, 1, ENC_NA0x00000000);
608 offset++;
609
610 return offset;
611}
612
613/*
614RFPc Revision
615| Offset | Len | Content |
616| ------ | --- | ------------- |
617| 0 | 1 | Generation |
618| 1 | 2 | Boot Software |
619| 3 | 2 | Prog Software |
620| 5 | 2 | Hardware |
621 */
622static unsigned dissect_dect_mitel_eth_rfpc_revision(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
623{
624 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_revision_generation, tvb, offset, 1, ENC_NA0x00000000);
625 offset++;
626
627 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_revision_boot_software, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
628 offset += 2;
629
630 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_revision_prog_software, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
631 offset += 2;
632
633 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_revision_hardware, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
634 offset += 2;
635 return offset;
636}
637
638/*
639RFPc RFPI
640| Offset | Len | Content |
641| ------ | --- | ------- |
642| 0 | 5 | RFPI |
643See also ETSI EN 300 175-6 Chapter 5
644 */
645static unsigned dissect_dect_mitel_eth_rfpc_rfpi(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
646{
647 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_rfpi_saris_available, tvb, offset, 1, ENC_NA0x00000000);
648 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_rfpi_ari_class, tvb, offset, 1, ENC_NA0x00000000);
649 offset += 5;
650
651 /* TODO RFPI decoding based on ARI class*/
652 return offset;
653}
654
655/*
656RFPc Higher layer capabilities field
657| Offset | Len | Content |
658| ------ | --- | ------- |
659| 0 | 2 | Flags |
660 */
661static unsigned dissect_dect_mitel_eth_rfpc_higher_layer_capabilities(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
662{
663 static int* const flags[] = {
664 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_connection_handover_supported,
665 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_external_handover_supported,
666 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_access_rights_requests_supported,
667 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_coms_service_available,
668 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_clms_service_available,
669 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_ciss_services_available,
670 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_static_fixed_part,
671 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_sim_services_available,
672 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_location_registration_supported,
673 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsc_supported,
674 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsaa_required,
675 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_packet_switched_service,
676 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_circuit_switched_service,
677 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_gap_basic_speech,
678 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_g726,
679 NULL((void*)0)
680 };
681
682 proto_tree_add_bitmask(tree, tvb, offset, hf_dect_mitel_eth_rfpc_higher_layer_capabilities_flags, ett_dect_mitel_eth_higher_layer_capabilities_flags, flags, ENC_BIG_ENDIAN0x00000000);
683 offset += 2;
684 return offset;
685}
686
687/*
688RFPc Extended capabilities field
689| Offset | Len | Content | Mask |
690| ------ | --- | ----------------------- | ------------ |
691| 0 | 2 | Wireless Relay Stations | 0x0FC0 |
692| 1 | 4 | Flags | 0x3FFFFFFFFF |
693 */
694static unsigned dissect_dect_mitel_eth_rfpc_extended_capabilities(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
695{
696 static int* const flags[] = {
697 &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_data_services,
698 &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_2,
699 &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_3_or_4,
700 &hf_dect_mitel_eth_rfpc_extended_capabilities_data_service_profile_d,
701 &hf_dect_mitel_eth_rfpc_extended_capabilities_lrms,
702 &hf_dect_mitel_eth_rfpc_extended_capabilities_asymmetric_bearers_supported,
703 &hf_dect_mitel_eth_rfpc_extended_capabilities_emergency_call_supported,
704 &hf_dect_mitel_eth_rfpc_extended_capabilities_location_registration_with_tpui_allowed,
705 &hf_dect_mitel_eth_rfpc_extended_capabilities_sync_to_gps_achieved,
706 &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_intermediate_system,
707 &hf_dect_mitel_eth_rfpc_extended_capabilities_rap_part_1_profile,
708 &hf_dect_mitel_eth_rfpc_extended_capabilities_v24,
709 &hf_dect_mitel_eth_rfpc_extended_capabilities_ppp,
710 &hf_dect_mitel_eth_rfpc_extended_capabilities_ip,
711 &hf_dect_mitel_eth_rfpc_extended_capabilities_token_ring,
712 &hf_dect_mitel_eth_rfpc_extended_capabilities_ethernet,
713 &hf_dect_mitel_eth_rfpc_extended_capabilities_ip_roaming_unrestricted_supported,
714 &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_supported,
715 &hf_dect_mitel_eth_rfpc_extended_capabilities_basis_odap_supported,
716 &hf_dect_mitel_eth_rfpc_extended_capabilities_fmms_interworking_profile_supported,
717 &hf_dect_mitel_eth_rfpc_extended_capabilities_extended_fp_info2,
718 &hf_dect_mitel_eth_rfpc_extended_capabilities_ipq_services_supported,
719 &hf_dect_mitel_eth_rfpc_extended_capabilities_mac_suspend_resume,
720 &hf_dect_mitel_eth_rfpc_extended_capabilities_frequency_replacement_supported,
721 &hf_dect_mitel_eth_rfpc_extended_capabilities_synchronization,
722 NULL((void*)0)
723 };
724
725 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_extended_capabilities_wireless_relay_stations, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
726 offset++;
727 proto_tree_add_bitmask(tree, tvb, offset, hf_dect_mitel_eth_rfpc_extended_capabilities_flags, ett_dect_mitel_eth_extended_capabilities_flags, flags, ENC_BIG_ENDIAN0x00000000);
728
729 offset += 4;
730 return offset;
731}
732
733/*
734RFPc MAC capabilities field
735| Offset | Len | Content | Mask |
736| ------ | --- | -------------------- | -------- |
737| 0 | 3 | MAC capability flags | 0x0FFFFF |
738 */
739static unsigned dissect_dect_mitel_eth_rfpc_mac_capabilities(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
740{
741 static int* const flags[] = {
742 &hf_dect_mitel_eth_rfpc_mac_capabilities_multibearer_connections,
743 &hf_dect_mitel_eth_rfpc_mac_capabilities_ipmr_error_correction,
744 &hf_dect_mitel_eth_rfpc_mac_capabilities_ipm_error_detection,
745 &hf_dect_mitel_eth_rfpc_mac_capabilities_inb_normal_delay,
746 &hf_dect_mitel_eth_rfpc_mac_capabilities_ina_minimum_delay,
747 &hf_dect_mitel_eth_rfpc_mac_capabilities_cf_messages,
748 &hf_dect_mitel_eth_rfpc_mac_capabilities_b_field_setup,
749 &hf_dect_mitel_eth_rfpc_mac_capabilities_advanced_a_field_setup,
750 &hf_dect_mitel_eth_rfpc_mac_capabilities_basic_a_field_setup,
751 &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_downlink,
752 &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_uplink,
753 &hf_dect_mitel_eth_rfpc_mac_capabilities_co_setup_on_dummy_allowed,
754 &hf_dect_mitel_eth_rfpc_mac_capabilities_page_repetition,
755 &hf_dect_mitel_eth_rfpc_mac_capabilities_frequency_control,
756 &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_full,
757 &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_half,
758 &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_double,
759 &hf_dect_mitel_eth_rfpc_mac_capabilities_double_duplex_bearer_connections,
760 &hf_dect_mitel_eth_rfpc_mac_capabilities_extended_fp_info,
761 NULL((void*)0)
762 };
763
764 proto_tree_add_bitmask(tree, tvb, offset, hf_dect_mitel_eth_rfpc_mac_capabilities_flags, ett_dect_mitel_eth_mac_capabilities_flags, flags, ENC_BIG_ENDIAN0x00000000);
765
766 offset += 3;
767 return offset;
768}
769
770/*
771RFPc Statistics data
772| Offset | Len | Content |
773| ------ | --- | --------------------- |
774| 0 | 2 | BMC connections 1-3 |
775| 2 | 2 | BMC connections 4-6 |
776| 4 | 2 | BMC connections 7-9 |
777| 6 | 2 | BMC connections 10-12 |
778| 8 | 2 | BMC DSP channels 1+2 |
779| 10 | 2 | BMC DSP channels 3+4 |
780| 12 | 2 | BMC DSP channels 5+6 |
781| 14 | 2 | BMC DSP channels 7+8 |
782| 16 | 2 | Lost connections |
783| 34 | 2 | MAC reset |
784| 40 | 2 | Reject dummy |
785| 42 | 4 | Bad frames |
786| 46 | 4 | Good frames |
787| 50 | 2 | Handoff timer |
788 */
789static unsigned dissect_dect_mitel_eth_rfpc_statistic_data(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
790{
791 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_1_3, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
792 offset += 2;
793
794 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_4_6, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
795 offset += 2;
796
797 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_7_9, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
798 offset += 2;
799
800 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_10_12, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
801 offset += 2;
802
803 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_1_2, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
804 offset += 2;
805
806 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_3_4, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
807 offset += 2;
808
809 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_5_6, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
810 offset += 2;
811
812 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_7_8, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
813 offset += 2;
814
815 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_lost_connections, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
816 offset += 18;
817
818 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_mac_reset, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
819 offset += 6;
820
821 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_reject_dummy, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
822 offset += 2;
823
824 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_bad_frames, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000);
825 offset += 4;
826
827 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_good_frames, tvb, offset, 4, ENC_BIG_ENDIAN0x00000000);
828 offset += 4;
829
830 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_statistic_data_handoff_timer, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
831 offset += 2;
832
833 return offset;
834}
835
836/*
837RFPc RFP_PLI
838| Offset | Len | Content |
839| ------ | --- | --------------------- |
840| 0 | 1 | PARK length indicator |
841 */
842static unsigned dissect_dect_mitel_eth_rfpc_rfp_pli(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
843{
844 proto_tree_add_item(tree, hf_dect_mitel_eth_rfpc_rfp_pli_length_indicator, tvb, offset, 1, ENC_NA0x00000000);
845 offset ++;
846
847 return offset;
848}
849
850/*
851RFPc Extended capabilities2 field
852| Offset | Len | Content | Mask |
853| ------ | --- | ----------------------- | ------------ |
854| 0 | 2 | MAC capability flags | 0x0FFF |
855| 2 | 3 | Capability information | 0xFFFFFF |
856 */
857static unsigned dissect_dect_mitel_eth_rfpc_extended_capabilities2(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
858{
859 static int* const mac_capability_flags[] = {
860 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_640,
861 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_672,
862 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_mux_e_u,
863 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_ipf,
864 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_sipf,
865 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_gf,
866 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_wrs_ule,
867 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_no_emission_preferred_cn,
868 NULL((void*)0)
869 };
870
871 static int* const capability_flags[] = {
872 &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_1,
873 &hf_dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category,
874 &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_3,
875 &hf_dect_mitel_eth_rfpc_extended_capabilities2_permanent_clir,
876 &hf_dect_mitel_eth_rfpc_extended_capabilities2_third_party_conference,
877 &hf_dect_mitel_eth_rfpc_extended_capabilities2_intrusion_call,
878 &hf_dect_mitel_eth_rfpc_extended_capabilities2_call_deflection,
879 &hf_dect_mitel_eth_rfpc_extended_capabilities2_multiple_lines,
880 &hf_dect_mitel_eth_rfpc_extended_capabilities2_no_emission,
881 &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_5,
882 &hf_dect_mitel_eth_rfpc_extended_capabilities2_re_keying,
883 &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsaa2,
884 &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsc2,
885 &hf_dect_mitel_eth_rfpc_extended_capabilities2_light_data,
886 NULL((void*)0)
887 };
888
889 proto_tree_add_bitmask(tree, tvb, offset, hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_flags, ett_dect_mitel_eth_extended_capabilities2_mac_capability_flags, mac_capability_flags, ENC_BIG_ENDIAN0x00000000);
890 offset += 2;
891
892 proto_tree_add_bitmask(tree, tvb, offset, hf_dect_mitel_eth_rfpc_extended_capabilities2_flags, ett_dect_mitel_eth_extended_capabilities2_flags, capability_flags, ENC_BIG_ENDIAN0x00000000);
893 offset += 3;
894 return offset;
895}
896
897/*
898RFPc Message
899| Offset | Len | Content |
900| ------- | --- | ----------------- |
901| 0 | 1 | RFPc Message Type |
902| 1 | 1 | Element0 key |
903| 2 | 1 | Element0 length |
904| 3 | len | Element0 content |
905| 3+len | 1 | Element1 key |
906| 3+len+1 | 1 | Element1 length |
907| 3+len+2 | len | Element1 content |
908| ... | ... | ... |
909
910 */
911static unsigned dissect_dect_mitel_eth_rfpc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
912{
913 uint8_t message_type, item_type, item_length;
914 unsigned item_start;
915 proto_tree *rfpc_item_tree;
916 proto_item *rfpc_item_tree_item;
917
918 proto_tree_add_item_ret_uint8(tree, hf_dect_mitel_eth_rfpc_message_type, tvb, offset, 1, ENC_NA0x00000000, &message_type);
919 col_append_fstr(pinfo->cinfo, COL_INFO, "RFPc: %s ",
920 val_to_str(pinfo->pool, message_type, dect_mitel_eth_rfpc_message_type_val, "Unknown 0x%02x"));
921 offset++;
922
923 while ( tvb_reported_length_remaining(tvb, offset) ) {
924 item_type = tvb_get_uint8(tvb, offset);
925 rfpc_item_tree = proto_tree_add_subtree_format(tree, tvb, offset, -1, ett_dect_mitel_eth_rfpc_item, &rfpc_item_tree_item,
926 "Item: %s", val_to_str(pinfo->pool, item_type, dect_mitel_eth_rfpc_item_type_val, "Unknown: 0x%0x"));
927 proto_tree_add_item(rfpc_item_tree, hf_dect_mitel_eth_rfpc_item_type, tvb, offset, 1, ENC_NA0x00000000);
928 offset++;
929
930 proto_tree_add_item_ret_uint8(rfpc_item_tree, hf_dect_mitel_eth_rfpc_item_length, tvb, offset, 1, ENC_NA0x00000000, &item_length);
931 proto_item_set_len(rfpc_item_tree_item, item_length + 2);
932 offset ++;
933 item_start = offset;
934
935 switch (item_type) {
936 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_REVISION:
937 offset = dissect_dect_mitel_eth_rfpc_revision(tvb, pinfo, rfpc_item_tree, data, offset);
938 break;
939 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFPI:
940 offset = dissect_dect_mitel_eth_rfpc_rfpi(tvb, pinfo, rfpc_item_tree, data, offset);
941 break;
942 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_HIGHER_LAYER_CAPABILITIES:
943 offset = dissect_dect_mitel_eth_rfpc_higher_layer_capabilities(tvb, pinfo, rfpc_item_tree, data, offset);
944 break;
945 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES:
946 offset = dissect_dect_mitel_eth_rfpc_extended_capabilities(tvb, pinfo, rfpc_item_tree, data, offset);
947 break;
948 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_MAC_CAPABILITIES:
949 offset = dissect_dect_mitel_eth_rfpc_mac_capabilities(tvb, pinfo, rfpc_item_tree, data, offset);
950 break;
951 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA:
952 offset = dissect_dect_mitel_eth_rfpc_statistic_data(tvb, pinfo, rfpc_item_tree, data, offset);
Value stored to 'offset' is never read
953 break;
954 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_PLI:
955 offset = dissect_dect_mitel_eth_rfpc_rfp_pli(tvb, pinfo, rfpc_item_tree, data, offset);
956 break;
957 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES2:
958 offset = dissect_dect_mitel_eth_rfpc_extended_capabilities2(tvb, pinfo, rfpc_item_tree, data, offset);
959 break;
960 default:
961 proto_tree_add_item(rfpc_item_tree, hf_dect_mitel_eth_rfpc_item_value, tvb, offset, item_length, ENC_NA0x00000000);
962 break;
963 }
964 /* The next item follows this one, however much of it was decoded */
965 offset = item_start + item_length;
966 }
967 return offset;
968}
969
970/*
971MAC_CON_IND Message
972| Offset | Len | Content |
973| ------ | --- | --------------------- |
974| 0 | 1 | MCEI |
975| 1 | 3 | PMID (in last 20bits) |
976| 4 | 1 | Flags |
977*/
978static unsigned dissect_dect_mitel_eth_mac_con_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
979{
980 static int *const mac_con_ind_flags[] = {
981 &hf_dect_mitel_eth_mac_con_ind_flag_handover,
982 NULL((void*)0)
983 };
984
985 pinfo->p2p_dir = P2P_DIR_RECV1;
986 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
987
988 proto_tree_add_item(tree, hf_dect_mitel_eth_pmid, tvb, offset, 3, ENC_BIG_ENDIAN0x00000000);
989 offset+=3;
990 proto_tree_add_bitmask(tree, tvb, offset, hf_dect_mitel_eth_mac_con_ind_flags, ett_dect_mitel_eth, mac_con_ind_flags, ENC_NA0x00000000);
991 offset++;
992 return offset;
993}
994
995/*
996MAC_DIS_IND Message
997| Offset | Len | Content |
998| ------ | --- | ------- |
999| 0 | 1 | MCEI |
1000| 1 | 1 | Reason |
1001*/
1002static unsigned dissect_dect_mitel_eth_mac_dis_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
1003{
1004 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
1005
1006 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_dis_ind_reason, tvb, offset, 1, ENC_NA0x00000000);
1007
1008 return offset;
1009}
1010
1011/*
1012MAC_PAGE_REQ Message
1013| Offset | Len | Content |
1014| ------ | --- | --------------- |
1015| 1 | 1 | Flags (unknown) |
1016 */
1017static unsigned dissect_dect_mitel_eth_mac_page_req(tvbuff_t *tvb, packet_info *pinfo _U___attribute__((unused)), proto_tree *tree, void *data _U___attribute__((unused)), unsigned offset)
1018{
1019 pinfo->p2p_dir = P2P_DIR_SENT0;
1020 offset++;
1021 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_page_req_flags, tvb, offset, 1, ENC_NA0x00000000);
1022 offset += 3;
1023 return offset;
1024}
1025
1026/*
1027MAC_ENC_KEY_REQ Message
1028| Offset | Len | Content |
1029| ------ | --- | --------- |
1030| 0 | 1 | MCEI |
1031| 1 | 8 | Key |
1032| 9 | 1 | (Key?) ID |
1033 */
1034static unsigned dissect_dect_mitel_eth_mac_enc_key_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
1035{
1036 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
1037
1038 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_enc_key_req_key, tvb, offset, 8, ENC_BIG_ENDIAN0x00000000);
1039 offset += 8;
1040 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_enc_key_req_id, tvb, offset, 1, ENC_NA0x00000000);
1041 offset++;
1042 return offset;
1043}
1044
1045/*
1046MAC_ENC_EKS_IND Message
1047| Offset | Len | Content | Comment |
1048| ------ | --- | --------- | ------------------ |
1049| 0 | 1 | MCEI | |
1050| 1 | 1 | Type | |
1051| 2 | 1 | (Key?) ID | if Type == with ID |
1052| 3 | 2 | PPN | if Type == with ID |
1053 */
1054static unsigned dissect_dect_mitel_eth_mac_enc_eks_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
1055{
1056 uint8_t type;
1057 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
1058
1059 proto_tree_add_item_ret_uint8(tree, hf_dect_mitel_eth_mac_enc_eks_ind_type, tvb, offset, 1, ENC_NA0x00000000, &type);
1060 offset++;
1061 if ( type == DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED_WITH_ID ) {
1062 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_enc_eks_ind_id, tvb, offset, 1, ENC_NA0x00000000);
1063 offset++;
1064 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_enc_eks_ind_ppn, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000);
1065 offset += 2;
1066 }
1067 return offset;
1068}
1069
1070/*
1071DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND Message
1072| Offset | Len | Content |
1073| ------ | --- | --------------------- |
1074| 0 | 1 | MCEI |
1075| 1 | 3 | PMID (in last 20bits) |
1076 */
1077static unsigned dissect_dect_mitel_eth_mac_ho_in_progress_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
1078{
1079 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
1080
1081 proto_tree_add_item(tree, hf_dect_mitel_eth_pmid, tvb, offset, 3, ENC_BIG_ENDIAN0x00000000);
1082 offset += 3;
1083 return offset;
1084}
1085
1086/*
1087DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES Message
1088| Offset | Len | Content |
1089| ------ | --- | --------- |
1090| 0 | 1 | MCEI |
1091| 2 | 8 | Key |
1092| 11 | 1 | (Key?) ID |
1093 */
1094static unsigned dissect_dect_mitel_eth_mac_ho_in_progress_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
1095{
1096 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
1097
1098 offset++;
1099
1100 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_ho_in_progress_res_key, tvb, offset, 8, ENC_BIG_ENDIAN0x00000000);
1101 offset += 9;
1102
1103 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_ho_in_progress_res_id, tvb, offset, 1, ENC_NA0x00000000);
1104 offset++;
1105 return offset;
1106}
1107
1108/*
1109MAC_HO_FAILED_IND Message
1110| Offset | Len | Content |
1111| ------ | --- | ------- |
1112| 0 | 1 | MCEI |
1113| 1 | 1 | Reason |
1114 */
1115static unsigned dissect_dect_mitel_eth_mac_ho_failed_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
1116{
1117 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
1118
1119 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_ho_failed_ind_reason, tvb, offset, 1, ENC_NA0x00000000);
1120 offset++;
1121 return offset;
1122}
1123
1124/*
1125MAC_INFO_IND Message
1126| Offset | Len | Content |
1127| ------ | --- | --------------------- |
1128| 0 | 1 | MCEI |
1129| 1 | 3 | PMID (in last 20bits) |
1130| 5 | | String |
1131*/
1132static unsigned dissect_dect_mitel_eth_mac_info_ind(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data, unsigned offset)
1133{
1134 pinfo->p2p_dir = P2P_DIR_RECV1;
1135 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, tree, data, offset);
1136
1137 proto_tree_add_item(tree, hf_dect_mitel_eth_pmid, tvb, offset, 3, ENC_BIG_ENDIAN0x00000000);
1138 offset+=4;
1139
1140 proto_tree_add_item(tree, hf_dect_mitel_eth_mac_info_ind_string, tvb, offset,
1141 tvb_captured_length_remaining(tvb, offset+9), ENC_ASCII0x00000000);
1142 return offset;
1143}
1144
1145/*
1146MAC_CLEAR_DEF_CKEY_REQ Message
1147| Offset | Len | Content |
1148| ------ | --- | --------------------- |
1149| 0 | 3 | PMID (in last 20bits) |
1150*/
1151static unsigned dissect_dect_mitel_eth_mac_clear_def_ckey_req(tvbuff_t *tvb _U___attribute__((unused)), packet_info *pinfo _U___attribute__((unused)), proto_tree *tree _U___attribute__((unused)), void *data _U___attribute__((unused)), unsigned offset)
1152{
1153 proto_tree_add_item(tree, hf_dect_mitel_eth_pmid, tvb, offset, 3, ENC_BIG_ENDIAN0x00000000);
1154 offset+=3;
1155 return offset;
1156}
1157
1158static int dissect_dect_mitel_eth(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
1159{
1160 proto_item *dect_mitel_eth_tree_item;
1161 proto_tree *dect_mitel_eth_tree;
1162
1163 uint16_t mitel_eth_len, payload_len;
1164 uint8_t prim_type, layer, mt_item_length;
1165 unsigned offset = 0;
1166 bool_Bool ip_encapsulated;
1167 tvbuff_t *payload_tvb = NULL((void*)0);
1168
1169 col_set_str(pinfo->cinfo, COL_PROTOCOL, "MI-DECToE");
1170 col_clear(pinfo->cinfo, COL_INFO);
1171
1172 dect_mitel_eth_tree_item = proto_tree_add_item(tree, proto_dect_mitel_eth, tvb, 0, -1, ENC_NA0x00000000);
1173 dect_mitel_eth_tree = proto_item_add_subtree(dect_mitel_eth_tree_item, ett_dect_mitel_eth);
1174 /*
1175 * When the protocol is used within the internal Ethernet channel in the RFP there is a two byte
1176 * field with not yet really known content and a two byte length field. This is not in place / consumed
1177 * by the upper layer dissector if this protocol is used in OMM<>RFP communication. So the data parameter
1178 * is used to get information from the dect-mitel-rfp dissector whether it was IP encapsulated or not.
1179 */
1180 if(data) {
1181 ip_encapsulated = *( ( bool_Bool* )data );
1182 } else {
1183 ip_encapsulated = false0;
1184 }
1185 if(!ip_encapsulated) {
1186 proto_tree_add_item_ret_uint16(dect_mitel_eth_tree, hf_dect_mitel_eth_len, tvb, offset, 2, ENC_BIG_ENDIAN0x00000000, &mitel_eth_len);
1187 if (mitel_eth_len < 3)
1188 return tvb_captured_length(tvb);
1189 offset += 4;
1190 }
1191
1192 proto_tree_add_item_ret_uint8(dect_mitel_eth_tree, hf_dect_mitel_eth_layer, tvb, offset, 1, ENC_NA0x00000000, &layer);
1193 offset++;
1194
1195 if ( layer != DECT_MITEL_ETH_LAYER_RFPC) {
1196 proto_tree_add_item_ret_uint8(dect_mitel_eth_tree, hf_dect_mitel_eth_prim_type, tvb, offset, 1, ENC_NA0x00000000, &prim_type);
1197
1198 col_append_fstr(pinfo->cinfo, COL_INFO, "%s ",
1199 val_to_str(pinfo->pool, prim_type, dect_mitel_eth_prim_coding_val, "Unknown 0x%02x"));
1200 offset++;
1201 }
1202
1203 switch (layer) {
1204 case DECT_MITEL_ETH_LAYER_RFPC:
1205 dissect_dect_mitel_eth_rfpc(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1206 break;
1207 case DECT_MITEL_ETH_LAYER_MT:
1208 while ( tvb_reported_length_remaining(tvb, offset) ) {
1209 proto_tree_add_item(dect_mitel_eth_tree, hf_dect_mitel_eth_mt_item_key, tvb, offset, 1, ENC_NA0x00000000);
1210 offset++;
1211 proto_tree_add_item_ret_uint8(dect_mitel_eth_tree, hf_dect_mitel_eth_mt_item_length, tvb, offset, 1, ENC_NA0x00000000, &mt_item_length);
1212 offset++;
1213 proto_tree_add_item(dect_mitel_eth_tree, hf_dect_mitel_eth_mt_item_value, tvb, offset, mt_item_length, ENC_NA0x00000000);
1214 offset += mt_item_length;
1215 }
1216 break;
1217 case DECT_MITEL_ETH_LAYER_LC:
1218 case DECT_MITEL_ETH_LAYER_MAC:
1219 switch (prim_type) {
1220 case DECT_MITEL_ETH_MAC_PAGE_REQ:
1221 dissect_dect_mitel_eth_mac_page_req(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1222 break;
1223 case DECT_MITEL_ETH_MAC_ENC_KEY_REQ:
1224 dissect_dect_mitel_eth_mac_enc_key_req(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1225 break;
1226 case DECT_MITEL_ETH_MAC_ENC_EKS_IND:
1227 dissect_dect_mitel_eth_mac_enc_eks_ind(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1228 break;
1229 case DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND:
1230 dissect_dect_mitel_eth_mac_ho_in_progress_ind(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1231 break;
1232 case DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES:
1233 dissect_dect_mitel_eth_mac_ho_in_progress_res(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1234 break;
1235 case DECT_MITEL_ETH_MAC_HO_FAILED_IND:
1236 dissect_dect_mitel_eth_mac_ho_failed_ind(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1237 break;
1238 case DECT_MITEL_ETH_MAC_CON_IND:
1239 dissect_dect_mitel_eth_mac_con_ind(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1240 break;
1241 case DECT_MITEL_ETH_MAC_INFO_IND:
1242 dissect_dect_mitel_eth_mac_info_ind(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1243 break;
1244 case DECT_MITEL_ETH_MAC_CLEAR_DEF_CKEY_REQ:
1245 dissect_dect_mitel_eth_mac_clear_def_ckey_req(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1246 break;
1247 case DECT_MITEL_ETH_MAC_DIS_REQ:
1248 pinfo->p2p_dir = P2P_DIR_SENT0;
1249 dissect_dect_mitel_eth_mcei_field(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1250 break;
1251 case DECT_MITEL_ETH_MAC_DIS_IND:
1252 dissect_dect_mitel_eth_mac_dis_ind(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1253 break;
1254 case DECT_MITEL_ETH_LC_DTR_IND:
1255 pinfo->p2p_dir = P2P_DIR_RECV1;
1256 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1257
1258 proto_tree_add_item(dect_mitel_eth_tree, hf_dect_mitel_eth_subfield, tvb, offset, 1, ENC_NA0x00000000);
1259 break;
1260 case DECT_MITEL_ETH_LC_DATA_REQ:
1261 case DECT_MITEL_ETH_LC_DATA_IND:
1262 if(prim_type == DECT_MITEL_ETH_LC_DATA_REQ) {
1263 pinfo->p2p_dir = P2P_DIR_SENT0;
1264 } else {
1265 pinfo->p2p_dir = P2P_DIR_RECV1;
1266 }
1267 offset = dissect_dect_mitel_eth_mcei_field(tvb, pinfo, dect_mitel_eth_tree, data, offset);
1268
1269 proto_tree_add_item(dect_mitel_eth_tree, hf_dect_mitel_eth_subfield, tvb, offset, 1, ENC_NA0x00000000);
1270 offset++;
1271 payload_len = tvb_get_uint8(tvb, offset);
1272 offset++;
1273 payload_tvb = tvb_new_subset_length(tvb, offset, payload_len);
1274 if (payload_tvb)
1275 call_dissector(dlc_handle, payload_tvb, pinfo, tree);
1276 payload_tvb = NULL((void*)0);
1277 break;
1278 default:
1279 break;
1280 }
1281 break;
1282 }
1283
1284 return tvb_captured_length(tvb);
1285}
1286
1287void proto_register_dect_mitel_eth(void)
1288{
1289
1290 static hf_register_info hf[] =
1291 {
1292 { &hf_dect_mitel_eth_len,
1293 { "Length", "dect_mitel_eth.length", FT_UINT16, BASE_DEC,
1294 NULL((void*)0), 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1295 }
1296 },
1297 { &hf_dect_mitel_eth_layer,
1298 { "Interface layer", "dect_mitel_eth.layer", FT_UINT8, BASE_HEX,
1299 VALS(dect_mitel_eth_layer_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_layer_val
))))
, 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1300 }
1301 },
1302 { &hf_dect_mitel_eth_prim_type,
1303 { "Primitive Type", "dect_mitel_eth.prim", FT_UINT8, BASE_HEX,
1304 VALS(dect_mitel_eth_prim_coding_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_prim_coding_val
))))
, 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1305 }
1306 },
1307 { &hf_dect_mitel_eth_mcei,
1308 { "MCEI", "dect_mitel_eth.mcei", FT_UINT8, BASE_HEX,
1309 NULL((void*)0), 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1310 }
1311 },
1312 { &hf_dect_mitel_eth_mac_info_ind_string,
1313 { "MAC Info String", "dect_mitel_eth.mac_info_str", FT_STRING, BASE_NONE,
1314 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1315 }
1316 },
1317 { &hf_dect_mitel_eth_pmid,
1318 { "PMID", "dect_mitel_eth.pmid", FT_UINT24, BASE_HEX,
1319 NULL((void*)0), 0x0FFFFF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1320 }
1321 },
1322 { &hf_dect_mitel_eth_subfield,
1323 { "Subfield", "dect_mitel_eth.subfield", FT_UINT8, BASE_HEX,
1324 VALS(dect_mitel_eth_subfield_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_subfield_val
))))
, 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1325 }
1326 },
1327 /* RFPc Message */
1328 { &hf_dect_mitel_eth_rfpc_message_type,
1329 { "Message Type", "dect_mitel_eth.rfpc.message_type", FT_UINT8, BASE_HEX,
1330 VALS(dect_mitel_eth_rfpc_message_type_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_rfpc_message_type_val
))))
, 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1331 }
1332 },
1333 { &hf_dect_mitel_eth_rfpc_item_type,
1334 { "Type", "dect_mitel_eth.rfpc.item.type", FT_UINT8, BASE_HEX,
1335 VALS(dect_mitel_eth_rfpc_item_type_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_rfpc_item_type_val
))))
, 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1336 }
1337 },
1338 { &hf_dect_mitel_eth_rfpc_item_length,
1339 { "Length", "dect_mitel_eth.rfpc.item.length", FT_UINT8, BASE_HEX,
1340 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1341 }
1342 },
1343 { &hf_dect_mitel_eth_rfpc_item_value,
1344 { "Value", "dect_mitel_eth.rfpc.item.value", FT_BYTES, BASE_NONE,
1345 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1346 }
1347 },
1348 /* RFPc Revision */
1349 { &hf_dect_mitel_eth_rfpc_revision_generation,
1350 { "Generation", "dect_mitel_eth.rfpc.revision.generation", FT_UINT8, BASE_HEX,
1351 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1352 }
1353 },
1354 { &hf_dect_mitel_eth_rfpc_revision_boot_software,
1355 { "Boot Software", "dect_mitel_eth.rfpc.revision.boot_software", FT_UINT16, BASE_HEX,
1356 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1357 }
1358 },
1359 { &hf_dect_mitel_eth_rfpc_revision_prog_software,
1360 { "Prog Software", "dect_mitel_eth.rfpc.revision.prog_software", FT_UINT16, BASE_HEX,
1361 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1362 }
1363 },
1364 { &hf_dect_mitel_eth_rfpc_revision_hardware,
1365 { "Hardware", "dect_mitel_eth.rfpc.revision.hardware", FT_UINT16, BASE_HEX,
1366 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1367 }
1368 },
1369 /* RFPc RFPI */
1370 { &hf_dect_mitel_eth_rfpc_rfpi_saris_available,
1371 { "SARIs available", "dect_mitel_eth.rfpc.rfpi.e", FT_BOOLEAN, 8,
1372 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_RFPI_SARIS_AVAILABLE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1373 }
1374 },
1375 { &hf_dect_mitel_eth_rfpc_rfpi_ari_class,
1376 { "ARI class", "dect_mitel_eth.rfpc.rfpi.ari_class", FT_UINT8, BASE_HEX,
1377 VALS(dect_mitel_eth_rfpc_rfpi_ari_class_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_rfpc_rfpi_ari_class_val
))))
, 0x70, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1378 }
1379 },
1380 /* RFPc Higher layer capabilities */
1381 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_flags,
1382 { "MAC capability flags", "dect_mitel_eth.rfpc.higher_layer_capabilities.flags", FT_UINT16, BASE_HEX,
1383 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1384 }
1385 },
1386 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_connection_handover_supported,
1387 { "Connection handover supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.connect_handover_supported", FT_BOOLEAN, 16,
1388 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CONNECTION_HANDOVER_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1389 }
1390 },
1391 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_external_handover_supported,
1392 { "External handover supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.external_handover_supported", FT_BOOLEAN, 16,
1393 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_EXTERNAL_HANDOVER_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1394 }
1395 },
1396 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_access_rights_requests_supported,
1397 { "Access rights requests supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.access_rights_requests_supported", FT_BOOLEAN, 16,
1398 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_ACCESS_RIGHTS_REQUESTS_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1399 }
1400 },
1401 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_coms_service_available,
1402 { "COMS service available", "dect_mitel_eth.rfpc.higher_layer_capabilities.coms_service_available", FT_BOOLEAN, 16,
1403 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_COMS_SERVICE_AVAILABLE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1404 }
1405 },
1406 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_clms_service_available,
1407 { "CLMS service available", "dect_mitel_eth.rfpc.higher_layer_capabilities.clms_service_available", FT_BOOLEAN, 16,
1408 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CLMS_SERVICE_AVAILABLE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1409 }
1410 },
1411 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_ciss_services_available,
1412 { "CISS service available", "dect_mitel_eth.rfpc.higher_layer_capabilities.ciss_service_available", FT_BOOLEAN, 16,
1413 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CISS_SERVICES_AVAILABLE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1414 }
1415 },
1416 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_static_fixed_part,
1417 { "Non-static fixed part", "dect_mitel_eth.rfpc.higher_layer_capabilities.non_static_fixed_part", FT_BOOLEAN, 16,
1418 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_STATIC_FIXED_PART, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1419 }
1420 },
1421 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_sim_services_available,
1422 { "SIM services available", "dect_mitel_eth.rfpc.higher_layer_capabilities.sim_services_available", FT_BOOLEAN, 16,
1423 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_SIM_SERVICES_AVAILABLE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1424 }
1425 },
1426 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_location_registration_supported,
1427 { "Location registration supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.location_registration_supported", FT_BOOLEAN, 16,
1428 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_LOCATION_REGISTRATION_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1429 }
1430 },
1431 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsc_supported,
1432 { "DSC supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.dsc_supported", FT_BOOLEAN, 16,
1433 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSC_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1434 }
1435 },
1436 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsaa_required,
1437 { "DSAA required", "dect_mitel_eth.rfpc.higher_layer_capabilities.dsaa_required", FT_BOOLEAN, 16,
1438 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSAA_REQUIRED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1439 }
1440 },
1441 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_packet_switched_service,
1442 { "Non-voice packet switched service", "dect_mitel_eth.rfpc.higher_layer_capabilities.non_voice_packet_switched_service", FT_BOOLEAN, 16,
1443 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_PACKET_SWITCHED_SERVICE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1444 }
1445 },
1446 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_circuit_switched_service,
1447 { "Non-voice circuit switched service", "dect_mitel_eth.rfpc.higher_layer_capabilities.non_voice_circuit_switched_service", FT_BOOLEAN, 16,
1448 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_CIRCUIT_SWITCHED_SERVICE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1449 }
1450 },
1451 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_gap_basic_speech,
1452 { "GAP basic speech", "dect_mitel_eth.rfpc.higher_layer_capabilities.gap_basic_speech", FT_BOOLEAN, 16,
1453 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_GAP_BASIC_SPEECH, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1454 }
1455 },
1456 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_g726,
1457 { "ADPCM/G-726 Voice service", "dect_mitel_eth.rfpc.higher_layer_capabilities.g726", FT_BOOLEAN, 16,
1458 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_G726, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1459 }
1460 },
1461 /* RFPc Extended capabilities */
1462 { &hf_dect_mitel_eth_rfpc_extended_capabilities_wireless_relay_stations,
1463 { "Wireless relay stations", "dect_mitel_eth.rfpc.extended_capabilities.wireless_relay_stations", FT_UINT16, BASE_DEC,
1464 NULL((void*)0), 0x0FC0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1465 }
1466 },
1467 { &hf_dect_mitel_eth_rfpc_extended_capabilities_flags,
1468 { "Flags", "dect_mitel_eth.rfpc.extended_capabilities.flags", FT_UINT32, BASE_HEX,
1469 NULL((void*)0), 0x3FFFFFFF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1470 }
1471 },
1472 { &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_data_services,
1473 { "ISDN data services", "dect_mitel_eth.rfpc.extended_capabilities.isdn_data_services", FT_BOOLEAN, 32,
1474 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_DATA_SERVICES, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1475 }
1476 },
1477 { &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_2,
1478 { "DPRS class 2", "dect_mitel_eth.rfpc.extended_capabilities.dprs_class_2", FT_BOOLEAN, 32,
1479 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_2, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1480 }
1481 },
1482 { &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_3_or_4,
1483 { "DPRS class 3 or 4", "dect_mitel_eth.rfpc.extended_capabilities.dprs_class_3_or_4", FT_BOOLEAN, 32,
1484 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_3_OR_4, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1485 }
1486 },
1487 { &hf_dect_mitel_eth_rfpc_extended_capabilities_data_service_profile_d,
1488 { "Data service profile D", "dect_mitel_eth.rfpc.extended_capabilities.data_service_profile_d", FT_BOOLEAN, 32,
1489 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DATA_SERVICE_PROFILE_D, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1490 }
1491 },
1492 { &hf_dect_mitel_eth_rfpc_extended_capabilities_lrms,
1493 { "LRMS", "dect_mitel_eth.rfpc.extended_capabilities.lrms", FT_BOOLEAN, 32,
1494 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LRMS, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1495 }
1496 },
1497 { &hf_dect_mitel_eth_rfpc_extended_capabilities_asymmetric_bearers_supported,
1498 { "Asymmetric bearers supported", "dect_mitel_eth.rfpc.extended_capabilities.asymmetric_bearers_supported", FT_BOOLEAN, 32,
1499 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ASYMMETRIC_BEARERS_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1500 }
1501 },
1502 { &hf_dect_mitel_eth_rfpc_extended_capabilities_emergency_call_supported,
1503 { "Emergency call supported", "dect_mitel_eth.rfpc.extended_capabilities.emergency_call_supported", FT_BOOLEAN, 32,
1504 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EMERGENCY_CALL_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1505 }
1506 },
1507 { &hf_dect_mitel_eth_rfpc_extended_capabilities_location_registration_with_tpui_allowed,
1508 { "Location registration with TPUI allowed", "dect_mitel_eth.rfpc.extended_capabilities.location_registration_with_tpui_allowed", FT_BOOLEAN, 32,
1509 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LOCATION_REGISTRATION_WITH_TPUI_ALLOWED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1510 }
1511 },
1512 { &hf_dect_mitel_eth_rfpc_extended_capabilities_sync_to_gps_achieved,
1513 { "Sync to GPS achieved", "dect_mitel_eth.rfpc.extended_capabilities.sync_to_gps_achieved", FT_BOOLEAN, 32,
1514 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION_TO_GPS_ACHIEVED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1515 }
1516 },
1517 { &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_intermediate_system,
1518 { "ISDN intermediate system", "dect_mitel_eth.rfpc.extended_capabilities.isdn_intermediate_system", FT_BOOLEAN, 32,
1519 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_INTERMEDIATE_SYSTEM, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1520 }
1521 },
1522 { &hf_dect_mitel_eth_rfpc_extended_capabilities_rap_part_1_profile,
1523 { "RAP part 1 profile", "dect_mitel_eth.rfpc.extended_capabilities.rap_part_1_profile", FT_BOOLEAN, 32,
1524 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_RAP_PART_1_PROFILE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1525 }
1526 },
1527 { &hf_dect_mitel_eth_rfpc_extended_capabilities_v24,
1528 { "V24", "dect_mitel_eth.rfpc.extended_capabilities.v24", FT_BOOLEAN, 32,
1529 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_V24, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1530 }
1531 },
1532 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ppp,
1533 { "PPP", "dect_mitel_eth.rfpc.extended_capabilities.ppp", FT_BOOLEAN, 32,
1534 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_PPP, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1535 }
1536 },
1537 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ip,
1538 { "IP", "dect_mitel_eth.rfpc.extended_capabilities.ip", FT_BOOLEAN, 32,
1539 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1540 }
1541 },
1542 { &hf_dect_mitel_eth_rfpc_extended_capabilities_token_ring,
1543 { "Token Ring", "dect_mitel_eth.rfpc.extended_capabilities.token_ring", FT_BOOLEAN, 32,
1544 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_TOKEN_RING, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1545 }
1546 },
1547 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ethernet,
1548 { "Ethernet", "dect_mitel_eth.rfpc.extended_capabilities.ethernet", FT_BOOLEAN, 32,
1549 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ETHERNET, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1550 }
1551 },
1552 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ip_roaming_unrestricted_supported,
1553 { "IP roaming unrestricted supported", "dect_mitel_eth.rfpc.extended_capabilities.ip_roaming_unrestricted_supported", FT_BOOLEAN, 32,
1554 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP_ROAMING_UNRESTRICTED_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1555 }
1556 },
1557 { &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_supported,
1558 { "DPRS supported", "dect_mitel_eth.rfpc.extended_capabilities.dprs_supported", FT_BOOLEAN, 32,
1559 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1560 }
1561 },
1562 { &hf_dect_mitel_eth_rfpc_extended_capabilities_basis_odap_supported,
1563 { "Basic ODAP supported", "dect_mitel_eth.rfpc.extended_capabilities.basic_odap_supported", FT_BOOLEAN, 32,
1564 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_BASIC_ODAP_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1565 }
1566 },
1567 { &hf_dect_mitel_eth_rfpc_extended_capabilities_fmms_interworking_profile_supported,
1568 { "FMMS interworking profile supported", "dect_mitel_eth.rfpc.extended_capabilities.fmms_interworking_profile_supported", FT_BOOLEAN, 32,
1569 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FMMS_INTERWORKING_PROFILE_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1570 }
1571 },
1572 { &hf_dect_mitel_eth_rfpc_extended_capabilities_extended_fp_info2,
1573 { "Extended FP info 2", "dect_mitel_eth.rfpc.extended_capabilities.extended_fp_info2", FT_BOOLEAN, 32,
1574 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EXTENDED_FP_INFOR_2, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1575 }
1576 },
1577 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ipq_services_supported,
1578 { "IPq services supported", "dect_mitel_eth.rfpc.extended_capabilities.ipq_services_supported", FT_BOOLEAN, 32,
1579 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IPQ_SERVICES_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1580 }
1581 },
1582 { &hf_dect_mitel_eth_rfpc_extended_capabilities_mac_suspend_resume,
1583 { "MAC suspend resume", "dect_mitel_eth.rfpc.extended_capabilities.mac_suspend_resume", FT_BOOLEAN, 32,
1584 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_MAC_SUSPEND_RESUME, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1585 }
1586 },
1587 { &hf_dect_mitel_eth_rfpc_extended_capabilities_frequency_replacement_supported,
1588 { "Frequency replacement supported", "dect_mitel_eth.rfpc.extended_capabilities.frequency_replacement_supported", FT_BOOLEAN, 32,
1589 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FREQUENCY_REPLACEMENT_SUPPORTED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1590 }
1591 },
1592 { &hf_dect_mitel_eth_rfpc_extended_capabilities_synchronization,
1593 { "Synchronization", "dect_mitel_eth.rfpc.extended_capabilities.synchronization", FT_BOOLEAN, 32,
1594 TFS(&tfs_prolonged_standard)((0 ? (const struct true_false_string*)0 : ((&tfs_prolonged_standard
))))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1595 }
1596 },
1597 /* RFPc MAC capabilities */
1598 { &hf_dect_mitel_eth_rfpc_mac_capabilities_flags,
1599 { "MAC capability flags", "dect_mitel_eth.rfpc.mac_capabilities.flags", FT_UINT24, BASE_HEX,
1600 NULL((void*)0), 0x0FFFFF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1601 }
1602 },
1603 { &hf_dect_mitel_eth_rfpc_mac_capabilities_multibearer_connections,
1604 { "Multibearer connections", "dect_mitel_eth.rfpc.mac_capabilities.multibearer_connections", FT_BOOLEAN, 20,
1605 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_MULTIBEARER_CONNECTIONS, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1606 }
1607 },
1608 { &hf_dect_mitel_eth_rfpc_mac_capabilities_ipmr_error_correction,
1609 { "Ipmr error correction", "dect_mitel_eth.rfpc.mac_capabilities.ipmr_error_correction", FT_BOOLEAN, 20,
1610 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPMR_ERROR_CORRECTION, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1611 }
1612 },
1613 { &hf_dect_mitel_eth_rfpc_mac_capabilities_ipm_error_detection,
1614 { "Ipm error detection", "dect_mitel_eth.rfpc.mac_capabilities.ipm_error_detection", FT_BOOLEAN, 20,
1615 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPM_ERROR_DETECTION, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1616 }
1617 },
1618 { &hf_dect_mitel_eth_rfpc_mac_capabilities_inb_normal_delay,
1619 { "Inb normal delay", "dect_mitel_eth.rfpc.mac_capabilities.inb_normal_delay", FT_BOOLEAN, 20,
1620 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INB_NORMAL_DELAY, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1621 }
1622 },
1623 { &hf_dect_mitel_eth_rfpc_mac_capabilities_ina_minimum_delay,
1624 { "Ina minimum delay", "dect_mitel_eth.rfpc.mac_capabilities.ina_minimum_delay", FT_BOOLEAN, 20,
1625 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INA_MINIMUM_DELAY, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1626 }
1627 },
1628 { &hf_dect_mitel_eth_rfpc_mac_capabilities_cf_messages,
1629 { "Cf messages", "dect_mitel_eth.rfpc.mac_capabilities.cf_messages", FT_BOOLEAN, 20,
1630 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CF_MESSAGES, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1631 }
1632 },
1633 { &hf_dect_mitel_eth_rfpc_mac_capabilities_b_field_setup,
1634 { "B-field setup", "dect_mitel_eth.rfpc.mac_capabilities.b_field_setup", FT_BOOLEAN, 20,
1635 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_B_FIELD_SETUP, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1636 }
1637 },
1638 { &hf_dect_mitel_eth_rfpc_mac_capabilities_advanced_a_field_setup,
1639 { "Advanced A-field setup", "dect_mitel_eth.rfpc.mac_capabilities.advanced_a_field_setup", FT_BOOLEAN, 20,
1640 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_ADVANCED_A_FIELD_SETUP, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1641 }
1642 },
1643 { &hf_dect_mitel_eth_rfpc_mac_capabilities_basic_a_field_setup,
1644 { "Basic A-field setup", "dect_mitel_eth.rfpc.mac_capabilities.basic_a_field_setup", FT_BOOLEAN, 20,
1645 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_BASIC_A_FIELD_SETUP, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1646 }
1647 },
1648 { &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_downlink,
1649 { "Cl downlink", "dect_mitel_eth.rfpc.mac_capabilities.cl_downlink", FT_BOOLEAN, 20,
1650 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_DOWNLINK, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1651 }
1652 },
1653 { &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_uplink,
1654 { "Cl uplink", "dect_mitel_eth.rfpc.mac_capabilities.cl_uplink", FT_BOOLEAN, 20,
1655 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_UPLINK, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1656 }
1657 },
1658 { &hf_dect_mitel_eth_rfpc_mac_capabilities_co_setup_on_dummy_allowed,
1659 { "CO setup on dummy allowed", "dect_mitel_eth.rfpc.mac_capabilities.co_setup_on_dummy_allowed", FT_BOOLEAN, 20,
1660 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CO_SETUP_ON_DUMMY_ALLOWED, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1661 }
1662 },
1663 { &hf_dect_mitel_eth_rfpc_mac_capabilities_page_repetition,
1664 { "Page repetition", "dect_mitel_eth.rfpc.mac_capabilities.page_repetition", FT_BOOLEAN, 20,
1665 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_PAGE_REPETITION, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1666 }
1667 },
1668 { &hf_dect_mitel_eth_rfpc_mac_capabilities_frequency_control,
1669 { "Frequency control", "dect_mitel_eth.rfpc.mac_capabilities.frequency_control", FT_BOOLEAN, 20,
1670 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_FREQUENCY_CONTROL, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1671 }
1672 },
1673 { &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_full,
1674 { "Slot size full", "dect_mitel_eth.rfpc.mac_capabilities.slot_size_full", FT_BOOLEAN, 20,
1675 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_FULL, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1676 }
1677 },
1678 { &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_half,
1679 { "Slot size half", "dect_mitel_eth.rfpc.mac_capabilities.slot_size_half", FT_BOOLEAN, 20,
1680 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_HALF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1681 }
1682 },
1683 { &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_double,
1684 { "Slot size double", "dect_mitel_eth.rfpc.mac_capabilities.slot_size_double", FT_BOOLEAN, 20,
1685 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_DOUBLE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1686 }
1687 },
1688 { &hf_dect_mitel_eth_rfpc_mac_capabilities_double_duplex_bearer_connections,
1689 { "Double duplexe bearer connections", "dect_mitel_eth.rfpc.mac_capabilities.double_duplex_bearer_connections", FT_BOOLEAN, 20,
1690 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_DOUBLE_DUPLEX_BEARER_CONNECTIONS, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1691 }
1692 },
1693 { &hf_dect_mitel_eth_rfpc_mac_capabilities_extended_fp_info,
1694 { "Extended FP info", "dect_mitel_eth.rfpc.mac_capabilities.extended_fp_info", FT_BOOLEAN, 20,
1695 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_EXTENDED_FP_INFO, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1696 }
1697 },
1698 /* RFPc Statistic data */
1699 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_1_3,
1700 { "BMC connections 1-3", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_1_3", FT_UINT16, BASE_DEC,
1701 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1702 }
1703 },
1704 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_4_6,
1705 { "BMC connections 4-6", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_4_6", FT_UINT16, BASE_DEC,
1706 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1707 }
1708 },
1709 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_7_9,
1710 { "BMC connections 7-9", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_7_9", FT_UINT16, BASE_DEC,
1711 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1712 }
1713 },
1714 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_10_12,
1715 { "BMC connections 10-12", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_10_12", FT_UINT16, BASE_DEC,
1716 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1717 }
1718 },
1719 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_1_2,
1720 { "BMC DSP Channels 1+2", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_1_2", FT_UINT16, BASE_DEC,
1721 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1722 }
1723 },
1724 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_3_4,
1725 { "BMC DSP Channels 3+4", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_3_4", FT_UINT16, BASE_DEC,
1726 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1727 }
1728 },
1729 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_5_6,
1730 { "BMC DSP Channels 5+6", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_5_6", FT_UINT16, BASE_DEC,
1731 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1732 }
1733 },
1734 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_7_8,
1735 { "BMC DSP Channels 7+8", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_7_8", FT_UINT16, BASE_DEC,
1736 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1737 }
1738 },
1739 { &hf_dect_mitel_eth_rfpc_statistic_data_lost_connections,
1740 { "Lost connection", "dect_mitel_eth.rfpc.statistic_data.lost_connections", FT_UINT16, BASE_DEC,
1741 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1742 }
1743 },
1744 { &hf_dect_mitel_eth_rfpc_statistic_data_mac_reset,
1745 { "MAC reset", "dect_mitel_eth.rfpc.statistic_data.mac_reset", FT_UINT16, BASE_DEC,
1746 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1747 }
1748 },
1749 { &hf_dect_mitel_eth_rfpc_statistic_data_reject_dummy,
1750 { "Reject dummy", "dect_mitel_eth.rfpc.statistic_data.reject_dummy", FT_UINT16, BASE_DEC,
1751 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1752 }
1753 },
1754 { &hf_dect_mitel_eth_rfpc_statistic_data_handoff_timer,
1755 { "Handoff timer", "dect_mitel_eth.rfpc.statistic_data.handoff_timer", FT_UINT16, BASE_DEC,
1756 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1757 }
1758 },
1759 { &hf_dect_mitel_eth_rfpc_statistic_data_bad_frames,
1760 { "Bad frames", "dect_mitel_eth.rfpc.statistic_data.bad_frames", FT_UINT32, BASE_DEC,
1761 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1762 }
1763 },
1764 { &hf_dect_mitel_eth_rfpc_statistic_data_good_frames,
1765 { "Good frames", "dect_mitel_eth.rfpc.statistic_data.good_frames", FT_UINT32, BASE_DEC,
1766 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1767 }
1768 },
1769 /* RFPc RFP_PLI */
1770 { &hf_dect_mitel_eth_rfpc_rfp_pli_length_indicator,
1771 { "PARK length indicator", "dect_mitel_eth.rfpc.rfp_pli.length_indicator", FT_UINT8, BASE_DEC,
1772 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1773 }
1774 },
1775 /* RFPc Extended capabilities 2 */
1776 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_flags,
1777 { "MAC capability flags", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.flags", FT_UINT16, BASE_HEX,
1778 NULL((void*)0), 0x0FFF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1779 }
1780 },
1781 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_640,
1782 { "Long slot; j = 640", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.slot_type.long_640", FT_BOOLEAN, 12,
1783 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_640, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1784 }
1785 },
1786 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_672,
1787 { "Long slot; j = 672", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.slot_type.long_672", FT_BOOLEAN, 12,
1788 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_672, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1789 }
1790 },
1791 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_mux_e_u,
1792 { "E+U-type mux and channel I PF basic procedures", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.mux_e_u", FT_BOOLEAN, 12,
1793 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_MUX_E_U, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1794 }
1795 },
1796 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_ipf,
1797 { "Channel I PF advanced procedures", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.channel_ipf", FT_BOOLEAN, 12,
1798 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_IPF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1799 }
1800 },
1801 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_sipf,
1802 { "Channel SI PF", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.channel_sipf", FT_BOOLEAN, 12,
1803 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_SIPF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1804 }
1805 },
1806 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_gf,
1807 { "Channel GF", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.channel_gf", FT_BOOLEAN, 12,
1808 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_GF, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1809 }
1810 },
1811 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_wrs_ule,
1812 { "WRS for ULE", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.wrs_ule", FT_BOOLEAN, 12,
1813 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_WRS_ULE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1814 }
1815 },
1816 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_no_emission_preferred_cn,
1817 { "No emission mode preferred cn", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.no_emission_preferred_cn", FT_BOOLEAN, 12,
1818 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_NO_EMISSION_PREFERRED_CN, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1819 }
1820 },
1821 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_flags,
1822 { "Capability flags", "dect_mitel_eth.rfpc.extended_capabilities2.flags", FT_UINT24, BASE_HEX,
1823 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1824 }
1825 },
1826 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category,
1827 { "DPRS data category", "dect_mitel_eth.rfpc.extended_capabilities2.dprs_data_category", FT_UINT24, BASE_HEX,
1828 VALS(dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category_val
))))
, 0x780000, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1829 }
1830 },
1831 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_1,
1832 { "NG-DECT Part 1: Wideband voice", "dect_mitel_eth.rfpc.extended_capabilities2.ng_dect_1", FT_BOOLEAN, 24,
1833 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_1, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1834 }
1835 },
1836 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_3,
1837 { "NG-DECT Part 3: Extended wideband voice", "dect_mitel_eth.rfpc.extended_capabilities2.ng_dect_3", FT_BOOLEAN, 24,
1838 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_3, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1839 }
1840 },
1841 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_permanent_clir,
1842 { "Permanent CLIR", "dect_mitel_eth.rfpc.extended_capabilities2.permanent_clir", FT_BOOLEAN, 24,
1843 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_PERMANENT_CLIR, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1844 }
1845 },
1846 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_third_party_conference,
1847 { "Third party conference", "dect_mitel_eth.rfpc.extended_capabilities2.third_party_conference", FT_BOOLEAN, 24,
1848 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_THIRD_PARTY_CONFERENCE, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1849 }
1850 },
1851 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_intrusion_call,
1852 { "Intrusion call", "dect_mitel_eth.rfpc.extended_capabilities2.intrusion_call", FT_BOOLEAN, 24,
1853 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_INTRUSION_CALL, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1854 }
1855 },
1856 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_call_deflection,
1857 { "Call deflection", "dect_mitel_eth.rfpc.extended_capabilities2.call_deflection", FT_BOOLEAN, 24,
1858 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_CALL_DEFLECTION, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1859 }
1860 },
1861 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_multiple_lines,
1862 { "Multiple lines", "dect_mitel_eth.rfpc.extended_capabilities2.multiple_lines", FT_BOOLEAN, 24,
1863 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MULTIPLE_LINES, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1864 }
1865 },
1866 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_no_emission,
1867 { "Capability to support \"no emission\" or U-NEMo mode", "dect_mitel_eth.rfpc.extended_capabilities2.no_emission", FT_BOOLEAN, 24,
1868 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NO_EMISSION, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1869 }
1870 },
1871 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_5,
1872 { "NG-DECT Part 5", "dect_mitel_eth.rfpc.extended_capabilities2.ng_dect_5", FT_BOOLEAN, 24,
1873 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_5, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1874 }
1875 },
1876 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_re_keying,
1877 { "Re-keying and default cipher key early encryption mechanism", "dect_mitel_eth.rfpc.extended_capabilities2.re_keying", FT_BOOLEAN, 24,
1878 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_RE_KEYING, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1879 }
1880 },
1881 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsaa2,
1882 { "DSAA2 supported", "dect_mitel_eth.rfpc.extended_capabilities2.dsaa2", FT_BOOLEAN, 24,
1883 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSAA2, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1884 }
1885 },
1886 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsc2,
1887 { "DSC2 supported", "dect_mitel_eth.rfpc.extended_capabilities2.dsc2", FT_BOOLEAN, 24,
1888 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSC2, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1889 }
1890 },
1891 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_light_data,
1892 { "Light data services", "dect_mitel_eth.rfpc.extended_capabilities2.light_data", FT_BOOLEAN, 24,
1893 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_LIGHT_DATA, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1894 }
1895 },
1896 /* MAC_CON_IND */
1897 { &hf_dect_mitel_eth_mac_con_ind_flags,
1898 { "Flags", "dect_mitel_eth.mac_con_ind.flags", FT_UINT8, BASE_HEX,
1899 NULL((void*)0), 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1900 }
1901 },
1902 { &hf_dect_mitel_eth_mac_con_ind_flag_handover,
1903 { "Handover", "dect_mitel_eth.mac_con_ind.flags.handover", FT_BOOLEAN, 8,
1904 TFS(&tfs_yes_no)((0 ? (const struct true_false_string*)0 : ((&tfs_yes_no)
)))
, DECT_MITEL_ETH_MAC_CON_IND_FLAG_HANDOVER, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1905 }
1906 },
1907 /* MAC_DIS_IND */
1908 { &hf_dect_mitel_eth_mac_dis_ind_reason,
1909 { "Reason", "dect_mitel_eth.mac_dis_ind.reason", FT_UINT8, BASE_HEX,
1910 VALS(dect_mitel_eth_mac_dis_ind_reason_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_mac_dis_ind_reason_val
))))
, 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1911 }
1912 },
1913 /* MAC_PAGE_REQ */
1914 { &hf_dect_mitel_eth_mac_page_req_flags,
1915 { "Flags", "dect_mitel_eth.mac_page_req.flags", FT_UINT8, BASE_HEX,
1916 NULL((void*)0), 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1917 }
1918 },
1919 /* MAC_ENC_KEY_REQ */
1920 { &hf_dect_mitel_eth_mac_enc_key_req_key,
1921 { "Key", "dect_mitel_eth.mac.enc_key_req.key", FT_UINT64, BASE_HEX,
1922 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1923 }
1924 },
1925 { &hf_dect_mitel_eth_mac_enc_key_req_id,
1926 { "ID", "dect_mitel_eth.mac.enc_key_req.id", FT_UINT8, BASE_HEX,
1927 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1928 }
1929 },
1930 /* MAC_ENC_EKS_IND */
1931 { &hf_dect_mitel_eth_mac_enc_eks_ind_type,
1932 { "Type", "dect_mitel_eth.mac.enc_eks_ind.type", FT_UINT8, BASE_HEX,
1933 VALS(dect_mitel_eth_mac_enc_eks_ind_type_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_mac_enc_eks_ind_type_val
))))
, 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1934 }
1935 },
1936 { &hf_dect_mitel_eth_mac_enc_eks_ind_id,
1937 { "ID", "dect_mitel_eth.mac.enc_eks_ind.id", FT_UINT8, BASE_HEX,
1938 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1939 }
1940 },
1941 { &hf_dect_mitel_eth_mac_enc_eks_ind_ppn,
1942 { "PPN", "dect_mitel_eth.mac.enc_eks_ind.ppn", FT_UINT16, BASE_HEX,
1943 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1944 }
1945 },
1946 /* MAC_HO_IN_PROGRESS_RES */
1947 { &hf_dect_mitel_eth_mac_ho_in_progress_res_key,
1948 { "Key", "dect_mitel_eth.mac.ho_in_progress_res.key", FT_UINT64, BASE_HEX,
1949 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1950 }
1951 },
1952 { &hf_dect_mitel_eth_mac_ho_in_progress_res_id,
1953 { "ID", "dect_mitel_eth.mac.ho_in_progress_res.id", FT_UINT8, BASE_HEX,
1954 NULL((void*)0), 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1955 }
1956 },
1957 /* MAC_HO_FAILED_IND */
1958 { &hf_dect_mitel_eth_mac_ho_failed_ind_reason,
1959 { "Reason", "dect_mitel_eth.mac.ho_failed_ind.reason", FT_UINT8, BASE_HEX,
1960 VALS(dect_mitel_eth_mac_ho_failed_ind_reason_val)((0 ? (const struct _value_string*)0 : ((dect_mitel_eth_mac_ho_failed_ind_reason_val
))))
, 0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1961 }
1962 },
1963 { &hf_dect_mitel_eth_mt_item_key,
1964 { "Key", "dect_mitel_eth.mt.item.key", FT_UINT8, BASE_HEX,
1965 NULL((void*)0), 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1966 }
1967 },
1968 { &hf_dect_mitel_eth_mt_item_length,
1969 { "Length", "dect_mitel_eth.mt.item.length", FT_UINT8, BASE_DEC,
1970 NULL((void*)0), 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1971 }
1972 },
1973 { &hf_dect_mitel_eth_mt_item_value,
1974 { "Value", "dect_mitel_eth.mt.item.value", FT_BYTES, BASE_NONE,
1975 NULL((void*)0), 0x0, NULL((void*)0), HFILL-1, 0, HF_REF_TYPE_NONE, -1, ((void*)0)
1976 }
1977 },
1978 };
1979
1980 static int *ett[] = {
1981 &ett_dect_mitel_eth,
1982 &ett_dect_mitel_eth_rfpc_item,
1983 &ett_dect_mitel_eth_higher_layer_capabilities_flags,
1984 &ett_dect_mitel_eth_extended_capabilities_flags,
1985 &ett_dect_mitel_eth_mac_capabilities_flags,
1986 &ett_dect_mitel_eth_extended_capabilities2_mac_capability_flags,
1987 &ett_dect_mitel_eth_extended_capabilities2_flags,
1988 };
1989
1990 /* Register protocol */
1991 proto_dect_mitel_eth = proto_register_protocol("Aastra/Mitel DECT-over-Ethernet", "Mitel-DECToE", "dect_mitel_eth");
1992
1993 proto_register_subtree_array(ett, array_length(ett)(sizeof (ett) / sizeof (ett)[0]));
1994 proto_register_field_array(proto_dect_mitel_eth, hf, array_length(hf)(sizeof (hf) / sizeof (hf)[0]));
1995
1996 register_dissector("dect_mitel_eth", dissect_dect_mitel_eth, proto_dect_mitel_eth);
1997}
1998
1999void proto_reg_handoff_dect_mitel_eth(void)
2000{
2001 dissector_handle_t dect_mitel_eth_handle =
2002 create_dissector_handle(dissect_dect_mitel_eth, proto_dect_mitel_eth);
2003 dissector_add_uint("ethertype", DECT_MITEL_ETH_T_XDLC0xA000, dect_mitel_eth_handle);
2004
2005 dlc_handle = find_dissector("dect_dlc");
2006}
2007
2008/*
2009 * Editor modelines - http://www.wireshark.org/tools/modelines.html
2010 *
2011 * Local variables:
2012 * c-basic-offset: 8
2013 * tab-width: 8
2014 * indent-tabs-mode: t
2015 * End:
2016 *
2017 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
2018 * :indentSize=8:tabSize=8:noTabs=false:
2019 */