1 /* packet-dect-mitel-eth.c
3 * Dissector for the proprietary protocol of the internal ethernet link
4 * between DECT burst processor and ARM processor in Aastra/Mitel DECT
7 * Copyright 2018 by Harald Welte <laforge@gnumonks.org>
8 * Copyright 2022 by Bernhard Dick <bernhard@bdick.de>
10 * Parts are based on the EVENTPHONE rfpproxy project that is MIT licensed
11 * and Copyright (c) 2019 Bianco Veigel <devel at zivillian.de>
13 * Wireshark - Network traffic analyzer
14 * By Gerald Combs <gerald@wireshark.org>
15 * Copyright 1998 Gerald Combs
17 * SPDX-License-Identifier: GPL-2.0-or-later
21 #include <epan/conversation.h>
22 #include <epan/packet.h>
23 #include <epan/packet_info.h>
24 #include <epan/value_string.h>
25 #include <ftypes/ftypes.h>
26 #include <epan/proto.h>
30 void proto_register_dect_mitel_eth(void);
31 void proto_reg_handoff_dect_mitel_eth(void);
33 static int proto_dect_mitel_eth
;
35 static int hf_dect_mitel_eth_len
;
36 static int hf_dect_mitel_eth_layer
;
37 static int hf_dect_mitel_eth_prim_type
;
38 static int hf_dect_mitel_eth_mcei
;
39 static int hf_dect_mitel_eth_mac_info_ind_string
;
40 static int hf_dect_mitel_eth_pmid
;
41 static int hf_dect_mitel_eth_subfield
;
43 static int hf_dect_mitel_eth_rfpc_message_type
;
44 static int hf_dect_mitel_eth_rfpc_item_type
;
45 static int hf_dect_mitel_eth_rfpc_item_length
;
46 static int hf_dect_mitel_eth_rfpc_item_value
;
48 static int hf_dect_mitel_eth_rfpc_revision_generation
;
49 static int hf_dect_mitel_eth_rfpc_revision_boot_software
;
50 static int hf_dect_mitel_eth_rfpc_revision_prog_software
;
51 static int hf_dect_mitel_eth_rfpc_revision_hardware
;
53 static int hf_dect_mitel_eth_rfpc_rfpi_saris_available
;
54 static int hf_dect_mitel_eth_rfpc_rfpi_ari_class
;
56 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_flags
;
57 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_connection_handover_supported
;
58 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_external_handover_supported
;
59 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_access_rights_requests_supported
;
60 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_coms_service_available
;
61 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_clms_service_available
;
62 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_ciss_services_available
;
63 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_static_fixed_part
;
64 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_sim_services_available
;
65 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_location_registration_supported
;
66 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsc_supported
;
67 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsaa_required
;
68 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_packet_switched_service
;
69 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_circuit_switched_service
;
70 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_gap_basic_speech
;
71 static int hf_dect_mitel_eth_rfpc_higher_layer_capabilities_g726
;
73 static int hf_dect_mitel_eth_rfpc_extended_capabilities_wireless_relay_stations
;
74 static int hf_dect_mitel_eth_rfpc_extended_capabilities_flags
;
75 static int hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_data_services
;
76 static int hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_2
;
77 static int hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_3_or_4
;
78 static int hf_dect_mitel_eth_rfpc_extended_capabilities_data_service_profile_d
;
79 static int hf_dect_mitel_eth_rfpc_extended_capabilities_lrms
;
80 static int hf_dect_mitel_eth_rfpc_extended_capabilities_asymmetric_bearers_supported
;
81 static int hf_dect_mitel_eth_rfpc_extended_capabilities_emergency_call_supported
;
82 static int hf_dect_mitel_eth_rfpc_extended_capabilities_location_registration_with_tpui_allowed
;
83 static int hf_dect_mitel_eth_rfpc_extended_capabilities_sync_to_gps_achieved
;
84 static int hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_intermediate_system
;
85 static int hf_dect_mitel_eth_rfpc_extended_capabilities_rap_part_1_profile
;
86 static int hf_dect_mitel_eth_rfpc_extended_capabilities_v24
;
87 static int hf_dect_mitel_eth_rfpc_extended_capabilities_ppp
;
88 static int hf_dect_mitel_eth_rfpc_extended_capabilities_ip
;
89 static int hf_dect_mitel_eth_rfpc_extended_capabilities_token_ring
;
90 static int hf_dect_mitel_eth_rfpc_extended_capabilities_ethernet
;
91 static int hf_dect_mitel_eth_rfpc_extended_capabilities_ip_roaming_unrestricted_supported
;
92 static int hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_supported
;
93 static int hf_dect_mitel_eth_rfpc_extended_capabilities_basis_odap_supported
;
94 static int hf_dect_mitel_eth_rfpc_extended_capabilities_fmms_interworking_profile_supported
;
95 static int hf_dect_mitel_eth_rfpc_extended_capabilities_extended_fp_info2
;
96 static int hf_dect_mitel_eth_rfpc_extended_capabilities_ipq_services_supported
;
97 static int hf_dect_mitel_eth_rfpc_extended_capabilities_mac_suspend_resume
;
98 static int hf_dect_mitel_eth_rfpc_extended_capabilities_frequency_replacement_supported
;
99 static int hf_dect_mitel_eth_rfpc_extended_capabilities_syncronization
;
101 static int hf_dect_mitel_eth_rfpc_mac_capabilities_flags
;
102 static int hf_dect_mitel_eth_rfpc_mac_capabilities_multibearer_connections
;
103 static int hf_dect_mitel_eth_rfpc_mac_capabilities_ipmr_error_correction
;
104 static int hf_dect_mitel_eth_rfpc_mac_capabilities_ipm_error_detection
;
105 static int hf_dect_mitel_eth_rfpc_mac_capabilities_inb_normal_delay
;
106 static int hf_dect_mitel_eth_rfpc_mac_capabilities_ina_minimum_delay
;
107 static int hf_dect_mitel_eth_rfpc_mac_capabilities_cf_messages
;
108 static int hf_dect_mitel_eth_rfpc_mac_capabilities_b_field_setup
;
109 static int hf_dect_mitel_eth_rfpc_mac_capabilities_advanced_a_field_setup
;
110 static int hf_dect_mitel_eth_rfpc_mac_capabilities_basic_a_field_setup
;
111 static int hf_dect_mitel_eth_rfpc_mac_capabilities_cl_downlink
;
112 static int hf_dect_mitel_eth_rfpc_mac_capabilities_cl_uplink
;
113 static int hf_dect_mitel_eth_rfpc_mac_capabilities_co_setup_on_dummy_allowed
;
114 static int hf_dect_mitel_eth_rfpc_mac_capabilities_page_repetition
;
115 static int hf_dect_mitel_eth_rfpc_mac_capabilities_frequency_control
;
116 static int hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_full
;
117 static int hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_half
;
118 static int hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_double
;
119 static int hf_dect_mitel_eth_rfpc_mac_capabilities_double_duplex_bearer_connections
;
120 static int hf_dect_mitel_eth_rfpc_mac_capabilities_extended_fp_info
;
122 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_1_3
;
123 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_4_6
;
124 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_7_9
;
125 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_10_12
;
126 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_1_2
;
127 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_3_4
;
128 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_5_6
;
129 static int hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_7_8
;
130 static int hf_dect_mitel_eth_rfpc_statistic_data_lost_connections
;
131 static int hf_dect_mitel_eth_rfpc_statistic_data_mac_reset
;
132 static int hf_dect_mitel_eth_rfpc_statistic_data_reject_dummy
;
133 static int hf_dect_mitel_eth_rfpc_statistic_data_handoff_timer
;
134 static int hf_dect_mitel_eth_rfpc_statistic_data_bad_frames
;
135 static int hf_dect_mitel_eth_rfpc_statistic_data_good_frames
;
137 static int hf_dect_mitel_eth_rfpc_rfp_pli_length_indicator
;
139 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_flags
;
140 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_640
;
141 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_672
;
142 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_mux_e_u
;
143 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_ipf
;
144 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_sipf
;
145 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_gf
;
146 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_wrs_ule
;
147 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_no_emission_preferred_cn
;
148 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_flags
;
149 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_1
;
150 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category
;
151 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_3
;
152 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_permanent_clir
;
153 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_third_party_conference
;
154 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_intrusion_call
;
155 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_call_deflection
;
156 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_multiple_lines
;
157 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_no_emission
;
158 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_5
;
159 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_re_keying
;
160 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_dsaa2
;
161 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_dsc2
;
162 static int hf_dect_mitel_eth_rfpc_extended_capabilities2_light_data
;
164 static int hf_dect_mitel_eth_mac_con_ind_flags
;
165 static int hf_dect_mitel_eth_mac_con_ind_flag_handover
;
167 static int hf_dect_mitel_eth_mac_dis_ind_reason
;
169 static int hf_dect_mitel_eth_mac_page_req_flags
;
171 static int hf_dect_mitel_eth_mac_enc_key_req_key
;
172 static int hf_dect_mitel_eth_mac_enc_key_req_id
;
174 static int hf_dect_mitel_eth_mac_enc_eks_ind_type
;
175 static int hf_dect_mitel_eth_mac_enc_eks_ind_id
;
176 static int hf_dect_mitel_eth_mac_enc_eks_ind_ppn
;
178 static int hf_dect_mitel_eth_mac_ho_in_progress_res_key
;
179 static int hf_dect_mitel_eth_mac_ho_in_progress_res_id
;
181 static int hf_dect_mitel_eth_mac_ho_failed_ind_reason
;
183 static int hf_dect_mitel_eth_mt_item_key
;
184 static int hf_dect_mitel_eth_mt_item_length
;
185 static int hf_dect_mitel_eth_mt_item_value
;
187 static int ett_dect_mitel_eth
;
189 static int ett_dect_mitel_eth_rfpc_item
;
191 static int ett_dect_mitel_eth_higher_layer_capabilities_flags
;
192 static int ett_dect_mitel_eth_extended_capabilities_flags
;
193 static int ett_dect_mitel_eth_mac_capabilities_flags
;
194 static int ett_dect_mitel_eth_extended_capabilities2_mac_capability_flags
;
195 static int ett_dect_mitel_eth_extended_capabilities2_flags
;
197 static dissector_handle_t dlc_handle
;
199 #define DECT_MITEL_ETH_T_XDLC 0xA000
200 #define DECT_MITEL_ETH_T_DOWNLOAD 0xA002
201 #define DECT_MITEL_ETH_T_VIDEO 0xA003
202 #define DECT_MITEL_ETH_T_AUDIOLOG 0xA004
204 enum dect_mitel_eth_layer_coding
{
205 DECT_MITEL_ETH_LAYER_RFPC
= 0x78,
206 DECT_MITEL_ETH_LAYER_LC
= 0x79,
207 DECT_MITEL_ETH_LAYER_MAC
= 0x7A,
208 DECT_MITEL_ETH_LAYER_MT
= 0x7C,
209 DECT_MITEL_ETH_LAYER_SYNC
= 0x7D,
212 enum dect_mitel_eth_prim_coding
{
213 DECT_MITEL_ETH_MAC_CON_IND
= 0x01,
214 DECT_MITEL_ETH_MAC_DIS_REQ
= 0x02,
215 DECT_MITEL_ETH_MAC_DIS_IND
= 0x03,
216 DECT_MITEL_ETH_LC_DATA_REQ
= 0x05,
217 DECT_MITEL_ETH_LC_DATA_IND
= 0x06,
218 DECT_MITEL_ETH_LC_DTR_IND
= 0x07,
219 DECT_MITEL_ETH_MAC_PAGE_REQ
= 0x08,
220 DECT_MITEL_ETH_MAC_ENC_KEY_REQ
= 0x09,
221 DECT_MITEL_ETH_MAC_ENC_EKS_IND
= 0x0a,
222 DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND
= 0x0b,
223 DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES
= 0x0c,
224 DECT_MITEL_ETH_MAC_HO_FAILED_IND
= 0x0d,
225 DECT_MITEL_ETH_HO_FAILED_REQ
= 0x0e,
226 DECT_MITEL_ETH_DLC_RFP_ERROR_IND
= 0x14,
227 DECT_MITEL_ETH_MAC_CON_EXT_IND
= 0x15,
228 DECT_MITEL_ETH_HO_IN_PROGRESS_EXT_IND
= 0x16,
229 DECT_MITEL_ETH_MAC_MOD_REQ
= 0x17,
230 DECT_MITEL_ETH_MAC_MOD_CNF
= 0x18,
231 DECT_MITEL_ETH_MAC_MOD_IND
= 0x19,
232 DECT_MITEL_ETH_MAC_MOD_REJ
= 0x1a,
233 DECT_MITEL_ETH_MAC_RECORD_AUDIO
= 0x1b,
234 DECT_MITEL_ETH_MAC_INFO_IND
= 0x1c,
235 DECT_MITEL_ETH_MAC_GET_DEF_CKEY_IND
= 0x1d,
236 DECT_MITEL_ETH_MAC_GET_DEF_CKEY_RES
= 0x1e,
237 DECT_MITEL_ETH_MAC_CLEAR_DEF_CKEY_REQ
= 0x1f,
238 DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_REQ
= 0x20,
239 DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_CNF
= 0x21,
243 enum dect_mitel_eth_rfpc_message_type_coding
{
244 DECT_MITEL_ETH_RFPC_MESSAGE_TYPE_READY_IND
= 0x01,
245 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_REQ
= 0x02,
246 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_CFM
= 0x03,
247 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_SARI_LIST_REQ
= 0x05,
248 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_REQ
= 0x06,
249 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_CFM
= 0x07,
250 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_REQ
= 0x08,
251 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_CFM
= 0x09,
252 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_REQ
= 0x0f,
253 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_CFM
= 0x10,
254 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_REQ
= 0x11,
255 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_CFM
= 0x12,
256 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_RESET_REQ
= 0x13,
257 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_REQ
= 0x16,
258 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_CFM
= 0x17,
259 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ERROR_IND
= 0x18,
260 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_IND
= 0x20,
261 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_REQ
= 0x21,
262 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_REQ
= 0x22,
263 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_IND
= 0x23,
264 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_BMC_RESTART_REQ
= 0x24,
265 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_MASTER_REQ
= 0x25,
266 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INFO_IND
= 0x26,
267 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_IND
= 0x30,
268 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_RES
= 0x31,
269 DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_PAGING_QUEUE_OVERFLOW_IND
= 0x32,
272 enum dect_mitel_eth_rfpc_item_type_coding
{
273 DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_UPN
= 0x01,
274 DECT_MITEL_ETH_RFPC_ITEM_TYPE_REVISION
= 0x02,
275 DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_BEARER
= 0x03,
276 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFPI
= 0x04,
277 DECT_MITEL_ETH_RFPC_ITEM_TYPE_SARI
= 0x05,
278 DECT_MITEL_ETH_RFPC_ITEM_TYPE_HIGHER_LAYER_CAPABILITIES
= 0x06,
279 DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES
= 0x07,
280 DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATUS_INFO
= 0x08,
281 DECT_MITEL_ETH_RFPC_ITEM_TYPE_MAC_CAPABILITIES
= 0x0d,
282 DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA_RESET
= 0x0f,
283 DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA
= 0x10,
284 DECT_MITEL_ETH_RFPC_ITEM_TYPE_ERROR_CAUSE
= 0x11,
285 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_FU6_WINDOW_SIZE
= 0x12,
286 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TO_RFP
= 0x14,
287 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TOPO
= 0x15,
288 DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR
= 0x20,
289 DECT_MITEL_ETH_RFPC_ITEM_TYPE_PABX_DATA
= 0x21,
290 DECT_MITEL_ETH_RFPC_ITEM_TYPE_MONI_DATA
= 0x22,
291 DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR_EXT
= 0x23,
292 DECT_MITEL_ETH_RFPC_ITEM_TYPE_FPGA_REVISION
= 0x24,
293 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_STRING
= 0x25,
294 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_SITE_LOCATION
= 0x26,
295 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_PLI
= 0x27,
296 DECT_MITEL_ETH_RFPC_ITEM_TYPE_REFLECTING_ENVIRONMENT
= 0x28,
297 DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES2
= 0x29,
298 DECT_MITEL_ETH_RFPC_ITEM_TYPE_FREQUENCY_BAND
= 0x2a,
299 DECT_MITEL_ETH_RFPC_ITEM_TYPE_RF_POWER
= 0x2b,
303 enum dect_mitel_eth_rfpc_rfpi_coding
{
304 DECT_MITEL_ETH_RFPC_RFPI_SARIS_AVAILABLE
= 0x80,
307 enum dect_mitel_eth_rfpc_rfpi_ari_class_coding
{
308 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_A
= 0x0,
309 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_B
= 0x1,
310 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_C
= 0x2,
311 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_D
= 0x3,
312 DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_E
= 0x4,
315 /* RFPc Higher layer capabilities */
316 enum dect_mitel_eth_rfpc_higher_layer_capabilities_flags_coding
{
317 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CONNECTION_HANDOVER_SUPPORTED
= 0x0002,
318 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_EXTERNAL_HANDOVER_SUPPORTED
= 0x0004,
319 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_ACCESS_RIGHTS_REQUESTS_SUPPORTED
= 0x0008,
320 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_COMS_SERVICE_AVAILABLE
= 0x0010,
321 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CLMS_SERVICE_AVAILABLE
= 0x0020,
322 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CISS_SERVICES_AVAILABLE
= 0x0040,
323 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_STATIC_FIXED_PART
= 0x0080,
324 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_SIM_SERVICES_AVAILABLE
= 0x0100,
325 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_LOCATION_REGISTRATION_SUPPORTED
= 0x0200,
326 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSC_SUPPORTED
= 0x0400,
327 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSAA_REQUIRED
= 0x0800,
328 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_PACKET_SWITCHED_SERVICE
= 0x1000,
329 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_CIRCUIT_SWITCHED_SERVICE
= 0x2000,
330 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_GAP_BASIC_SPEECH
= 0x4000,
331 DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_G726
= 0x8000,
334 /* RFPc Extended Capabilities*/
335 enum dect_mitel_eth_rfpc_extended_capabilities_flags_coding
{
336 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_DATA_SERVICES
= 0x00000001,
337 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_2
= 0x00000002,
338 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_3_OR_4
= 0x00000004,
339 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DATA_SERVICE_PROFILE_D
= 0x00000008,
340 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LRMS
= 0x00000010,
341 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ASYMMETRIC_BEARERS_SUPPORTED
= 0x00000020,
342 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EMERGENCY_CALL_SUPPORTED
= 0x00000040,
343 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LOCATION_REGISTRATION_WITH_TPUI_ALLOWED
= 0x00000080,
344 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION_TO_GPS_ACHIEVED
= 0x00000100,
345 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_INTERMEDIATE_SYSTEM
= 0x00000200,
346 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_RAP_PART_1_PROFILE
= 0x00000400,
347 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_V24
= 0x00000800,
348 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_PPP
= 0x00001000,
349 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP
= 0x00002000,
350 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_TOKEN_RING
= 0x00004000,
351 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ETHERNET
= 0x00008000,
352 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP_ROAMING_UNRESTRICTED_SUPPORTED
= 0x00010000,
353 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_SUPPORTED
= 0x00020000,
354 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_BASIC_ODAP_SUPPORTED
= 0x00040000,
355 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FMMS_INTERWORKING_PROFILE_SUPPORTED
= 0x00080000,
356 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EXTENDED_FP_INFOR_2
= 0x01000000,
357 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IPQ_SERVICES_SUPPORTED
= 0x02000000,
358 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_MAC_SUSPEND_RESUME
= 0x04000000,
359 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FREQUENCY_REPLACEMENT_SUPPORTED
= 0x08000000,
360 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION
= 0x10000000,
363 /* RFPc MAC Capabilities */
364 enum dect_mitel_eth_rfpc_mac_capabilities_flags
{
365 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_MULTIBEARER_CONNECTIONS
= 0x00001,
366 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPMR_ERROR_CORRECTION
= 0x00002,
367 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPM_ERROR_DETECTION
= 0x00004,
368 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INB_NORMAL_DELAY
= 0x00008,
369 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INA_MINIMUM_DELAY
= 0x00010,
370 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CF_MESSAGES
= 0x00020,
371 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_B_FIELD_SETUP
= 0x00040,
372 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_ADVANCED_A_FIELD_SETUP
= 0x00080,
373 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_BASIC_A_FIELD_SETUP
= 0x00100,
374 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_DOWNLINK
= 0x00200,
375 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_UPLINK
= 0x00400,
376 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CO_SETUP_ON_DUMMY_ALLOWED
= 0x00800,
377 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_PAGE_REPETITION
= 0x01000,
378 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_FREQUENCY_CONTROL
= 0x02000,
379 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_FULL
= 0x04000,
380 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_HALF
= 0x08000,
381 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_DOUBLE
= 0x10000,
382 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_DOUBLE_DUPLEX_BEARER_CONNECTIONS
= 0x40000,
383 DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_EXTENDED_FP_INFO
= 0x80000,
386 /* RFPc Extended Capabilities 2 */
387 enum dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_flags_coding
{
388 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_640
= 0x800,
389 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_672
= 0x400,
390 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_MUX_E_U
= 0x200,
391 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_IPF
= 0x100,
392 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_SIPF
= 0x080,
393 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_GF
= 0x040,
394 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_WRS_ULE
= 0x020,
395 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_NO_EMISSION_PREFERRED_CN
= 0x001,
398 enum dect_mitel_eth_rfpc_extended_capabilities2_flags_coding
{
399 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_1
= 0x800000,
400 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_3
= 0x040000,
401 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_PERMANENT_CLIR
= 0x020000,
402 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_THIRD_PARTY_CONFERENCE
= 0x010000,
403 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_INTRUSION_CALL
= 0x008000,
404 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_CALL_DEFLECTION
= 0x004000,
405 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MULTIPLE_LINES
= 0x002000,
406 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NO_EMISSION
= 0x001000,
407 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_5
= 0x000800,
408 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_RE_KEYING
= 0x000020,
409 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSAA2
= 0x000010,
410 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSC2
= 0x000008,
411 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_LIGHT_DATA
= 0x000004,
414 enum dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category_coding
{
415 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_NOT_SUPPORTED
= 0x0,
416 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_1
= 0x1,
417 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_2
= 0x2,
418 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_3
= 0x3,
419 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_4
= 0x4,
420 DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_5
= 0x5,
425 enum dect_mitel_eth_mac_con_ind_flags_coding
{
426 DECT_MITEL_ETH_MAC_CON_IND_FLAG_HANDOVER
= 0x02,
430 enum dect_mitel_eth_mac_dis_ind_reason_coding
{
431 DECT_MITEL_ETH_MAC_DIS_IND_REASON_UNSPECIFIED
= 0x01,
432 DECT_MITEL_ETH_MAC_DIS_IND_REASON_NORMAL
= 0x02,
433 DECT_MITEL_ETH_MAC_DIS_IND_REASON_ABNORMAL
= 0x03,
436 /* MAC_ENC_EKS_IND */
437 enum dect_mitel_eth_mac_enc_eks_ind_type_coding
{
438 DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED
= 0x01,
439 DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED_WITH_ID
= 0x02,
442 /* MAC_HO_FAILED_IND */
443 enum dect_mitel_eth_mac_ho_failed_ind_reason_coding
{
444 DECT_MITEL_ETH_MAC_HO_FAILED_IND_REASON_SETUP_FAILED
= 0x01,
447 static const value_string dect_mitel_eth_layer_val
[] = {
448 { DECT_MITEL_ETH_LAYER_RFPC
, "RFPc" },
449 { DECT_MITEL_ETH_LAYER_LC
, "Lc" },
450 { DECT_MITEL_ETH_LAYER_MAC
, "MAC" },
451 { DECT_MITEL_ETH_LAYER_MT
, "Mt" },
452 { DECT_MITEL_ETH_LAYER_SYNC
, "Sync" },
456 static const value_string dect_mitel_eth_prim_coding_val
[] = {
457 { DECT_MITEL_ETH_MAC_CON_IND
, "MAC_CON_IND" },
458 { DECT_MITEL_ETH_MAC_DIS_REQ
, "MAC_DIS_REQ" },
459 { DECT_MITEL_ETH_MAC_DIS_IND
, "MAC_DIS_IND" },
460 { DECT_MITEL_ETH_LC_DATA_REQ
, "LC_DATA_REQ" },
461 { DECT_MITEL_ETH_LC_DATA_IND
, "LC_DATA_IND" },
462 { DECT_MITEL_ETH_LC_DTR_IND
, "LC_DTR_IND" },
463 { DECT_MITEL_ETH_MAC_PAGE_REQ
, "MAC_PAGE_REQ" },
464 { DECT_MITEL_ETH_MAC_ENC_KEY_REQ
, "MAC_ENC_KEY_REQ" },
465 { DECT_MITEL_ETH_MAC_ENC_EKS_IND
, "MAC_ENC_EKS_IND" },
466 { DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND
, "MAC_HO_IN_PROGRESS_IND" },
467 { DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES
, "MAC_HO_IN_PROGRESS_RES" },
468 { DECT_MITEL_ETH_MAC_HO_FAILED_IND
, "MAC_HO_FAILED_IND" },
469 { DECT_MITEL_ETH_HO_FAILED_REQ
, "HO_FAILED_REQ" },
470 { DECT_MITEL_ETH_DLC_RFP_ERROR_IND
, "RFP_ERROR_IND" },
471 { DECT_MITEL_ETH_MAC_CON_EXT_IND
, "MAC_CON_EXT_IND" },
472 { DECT_MITEL_ETH_HO_IN_PROGRESS_EXT_IND
, "HO_IN_PROGRESS_EXT_IND" },
473 { DECT_MITEL_ETH_MAC_MOD_REQ
, "MAC_MOD_REQ" },
474 { DECT_MITEL_ETH_MAC_MOD_CNF
, "MAC_MOD_CNF" },
475 { DECT_MITEL_ETH_MAC_MOD_IND
, "MAC_MOD_IND" },
476 { DECT_MITEL_ETH_MAC_MOD_REQ
, "MAC_MOD_REQ" },
477 { DECT_MITEL_ETH_MAC_RECORD_AUDIO
, "MAC_RECORD_AUDIO" },
478 { DECT_MITEL_ETH_MAC_INFO_IND
, "MAC_INFO_IND" },
479 { DECT_MITEL_ETH_MAC_GET_DEF_CKEY_IND
, "MAC_GET_DEF_CKEY_IND" },
480 { DECT_MITEL_ETH_MAC_GET_DEF_CKEY_RES
, "MAC_GET_DEF_CKEY_RES" },
481 { DECT_MITEL_ETH_MAC_CLEAR_DEF_CKEY_REQ
, "MAC_CLEAR_DEF_CKEY_REQ" },
482 { DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_REQ
, "MAC_GET_CURR_CKEY_ID_REQ"},
483 { DECT_MITEL_ETH_MAC_GET_CURR_CKEY_ID_CNF
, "MAC_GET_CURR_CKEY_ID_CNF" },
487 static const value_string dect_mitel_eth_subfield_val
[] = {
494 static const value_string dect_mitel_eth_rfpc_message_type_val
[] = {
495 { DECT_MITEL_ETH_RFPC_MESSAGE_TYPE_READY_IND
, "READY_IND" },
496 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_REQ
, "INIT_REQ" },
497 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INIT_CFM
, "INIT_CFM" },
498 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_SARI_LIST_REQ
, "SARI_LIST_REQ" },
499 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_REQ
, "CHANGE_HIGHER_LAYER_CAPABILITIES_REQ" },
500 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_HIGHER_LAYER_CAPABILITIES_CFM
, "CHANGE_HIGHER_LAYER_CAPABILITIES_CFM" },
501 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_REQ
, "CHANGE_STATUS_INFO_REQ" },
502 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_STATUS_INFO_CFM
, "CHANGE_STATUS_INFO_CFM" },
503 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_REQ
, "ACTIVATE_REQ" },
504 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVATE_CFM
, "ACTIVATE_CFM" },
505 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_REQ
, "DEACTIVATE_REQ" },
506 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_DEACTIVATE_CFM
, "DEACTIVATE_CFM" },
507 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_RESET_REQ
, "RESET_REQ" },
508 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_REQ
, "STATISTICS_DATA_REQ" },
509 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_STATISTICS_DATA_CFM
, "STATISTICS_DATA_CFM" },
510 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ERROR_IND
, "ERROR_IND" },
511 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_IND
, "TO_RFP_IND" },
512 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TO_RFP_REQ
, "TO_RFP_REQ" },
513 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_REQ
, "TOPO_DATA_REQ" },
514 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_TOPO_DATA_IND
, "TOPO_DATA_IND" },
515 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_BMC_RESTART_REQ
, "BMC_RESTART_REQ" },
516 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_CHANGE_MASTER_REQ
, "CHANGE_MASTER_REQ" },
517 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_INFO_IND
, "INFO_IND" },
518 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_IND
, "ACTIVE_IND" },
519 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_ACTIVE_RES
, "ACTIVE_RES" },
520 { DECT_MITEL_ETH_RPFC_MESSAGE_TYPE_PAGING_QUEUE_OVERFLOW_IND
, "PAGING_QUEUE_OVERFLOW_IND" },
524 static const value_string dect_mitel_eth_rfpc_item_type_val
[] = {
525 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_UPN
, "NUMBER_OF_UPN" },
526 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_REVISION
, "REVISION" },
527 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_NUMBER_OF_BEARER
, "NUMBER_OF_BEARER" },
528 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFPI
, "RFPI" },
529 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_SARI
, "SARI" },
530 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_HIGHER_LAYER_CAPABILITIES
, "HIGHER_LAYER_CAPABILITIES" },
531 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES
, "EXTENDED_CAPABILITIES" },
532 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATUS_INFO
, "STATUS_INFO" },
533 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_MAC_CAPABILITIES
, "MAC_CAPABILITIES" },
534 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA_RESET
, "STATISTIC_DATA_RESET" },
535 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA
, "STATISTIC_DATA" },
536 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_ERROR_CAUSE
, "ERROR_CAUSE" },
537 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_FU6_WINDOW_SIZE
, "RFP_FU6_WINDOW_SIZE" },
538 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TO_RFP
, "RFP_TO_RFP" },
539 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_TOPO
, "RFP_TOPO" },
540 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR
, "LAST_ERROR" },
541 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_PABX_DATA
, "PABX_DATA" },
542 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_MONI_DATA
, "MONI_DATA" },
543 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_LAST_ERROR_EXT
, "LAST_ERROR_EXT" },
544 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_FPGA_REVISION
, "FPGA_REVISION" },
545 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_STRING
, "RFP_STRING" },
546 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_SITE_LOCATION
, "RFP_SITE_LOCATION" },
547 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_PLI
, "RFP_PLI" },
548 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_REFLECTING_ENVIRONMENT
, "REFLECTING_ENVIRONMENT" },
549 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES2
, "EXTENDED_CAPABILITIES2" },
550 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_FREQUENCY_BAND
, "FREQUENCY_BAND" },
551 { DECT_MITEL_ETH_RFPC_ITEM_TYPE_RF_POWER
, "RF_POWER" },
556 static const value_string dect_mitel_eth_rfpc_rfpi_ari_class_val
[] = {
557 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_A
, "Class A" },
558 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_B
, "Class B" },
559 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_C
, "Class C" },
560 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_D
, "Class D" },
561 { DECT_MITEL_ETH_RFPC_RFPI_ARI_CLASS_E
, "Class E" },
565 /* RFPc Extended Capabilities*/
566 static const true_false_string tfs_prolonged_standard
= {
571 /* RFPc Extended Capabilities 2 */
572 static const value_string dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category_val
[] = {
573 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_NOT_SUPPORTED
, "Not supported" },
574 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_1
, "Cat 1" },
575 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_2
, "Cat 2" },
576 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_3
, "Cat 3" },
577 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_4
, "Cat 4" },
578 { DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DPRS_DATA_CATEGORY_5
, "Cat 5" },
583 static const value_string dect_mitel_eth_mac_dis_ind_reason_val
[] = {
584 { DECT_MITEL_ETH_MAC_DIS_IND_REASON_UNSPECIFIED
, "Unspecified" },
585 { DECT_MITEL_ETH_MAC_DIS_IND_REASON_NORMAL
, "Normal" },
586 { DECT_MITEL_ETH_MAC_DIS_IND_REASON_ABNORMAL
, "Abnormal" },
590 /* MAC_ENC_EKS_IND */
591 static const value_string dect_mitel_eth_mac_enc_eks_ind_type_val
[] = {
592 { DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED
, "Encrypted" },
593 { DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED_WITH_ID
, "Encrypted with ID" },
597 /* MAC_HO_FAILED_IND */
598 static const value_string dect_mitel_eth_mac_ho_failed_ind_reason_val
[] = {
599 { DECT_MITEL_ETH_MAC_HO_FAILED_IND_REASON_SETUP_FAILED
, "Setup failed" },
603 static unsigned dissect_dect_mitel_eth_mcei_field(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
, unsigned offset
)
606 mcei
= tvb_get_uint8(tvb
, offset
);
607 conversation_set_elements_by_id(pinfo
, CONVERSATION_NONE
, mcei
);
608 col_append_fstr(pinfo
->cinfo
, COL_INFO
, "MCEI=%02x ", mcei
);
609 proto_tree_add_item(tree
, hf_dect_mitel_eth_mcei
, tvb
, offset
, 1, ENC_NA
);
617 | Offset | Len | Content |
618 | ------ | --- | ------------- |
619 | 0 | 1 | Generation |
620 | 1 | 2 | Boot Software |
621 | 3 | 2 | Prog Software |
624 static unsigned dissect_dect_mitel_eth_rfpc_revision(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
626 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_revision_generation
, tvb
, offset
, 1, ENC_NA
);
629 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_revision_boot_software
, tvb
, offset
, 2, ENC_NA
);
632 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_revision_prog_software
, tvb
, offset
, 2, ENC_NA
);
635 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_revision_hardware
, tvb
, offset
, 2, ENC_NA
);
642 | Offset | Len | Content |
643 | ------ | --- | ------- |
645 See also ETSI EN 300 175-6 Chapter 5
647 static unsigned dissect_dect_mitel_eth_rfpc_rfpi(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
649 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_rfpi_saris_available
, tvb
, offset
, 1, ENC_NA
);
650 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_rfpi_ari_class
, tvb
, offset
, 1, ENC_NA
);
653 /* TODO RFPI decoding based on ARI class*/
658 RFPc Higher layer capabilities field
659 | Offset | Len | Content |
660 | ------ | --- | ------- |
663 static unsigned dissect_dect_mitel_eth_rfpc_higher_layer_capabilities(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
665 static int* const flags
[] = {
666 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_connection_handover_supported
,
667 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_external_handover_supported
,
668 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_access_rights_requests_supported
,
669 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_coms_service_available
,
670 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_clms_service_available
,
671 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_ciss_services_available
,
672 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_static_fixed_part
,
673 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_sim_services_available
,
674 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_location_registration_supported
,
675 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsc_supported
,
676 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsaa_required
,
677 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_packet_switched_service
,
678 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_circuit_switched_service
,
679 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_gap_basic_speech
,
680 &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_g726
,
684 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_NA
);
690 RFPc Extended capabilities field
691 | Offset | Len | Content | Mask |
692 | ------ | --- | ----------------------- | ------------ |
693 | 0 | 2 | Wireless Relay Stations | 0x0FC0 |
694 | 1 | 4 | Flags | 0x3FFFFFFFFF |
696 static unsigned dissect_dect_mitel_eth_rfpc_extended_capabilities(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
698 static int* const flags
[] = {
699 &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_data_services
,
700 &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_2
,
701 &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_3_or_4
,
702 &hf_dect_mitel_eth_rfpc_extended_capabilities_data_service_profile_d
,
703 &hf_dect_mitel_eth_rfpc_extended_capabilities_lrms
,
704 &hf_dect_mitel_eth_rfpc_extended_capabilities_asymmetric_bearers_supported
,
705 &hf_dect_mitel_eth_rfpc_extended_capabilities_emergency_call_supported
,
706 &hf_dect_mitel_eth_rfpc_extended_capabilities_location_registration_with_tpui_allowed
,
707 &hf_dect_mitel_eth_rfpc_extended_capabilities_sync_to_gps_achieved
,
708 &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_intermediate_system
,
709 &hf_dect_mitel_eth_rfpc_extended_capabilities_rap_part_1_profile
,
710 &hf_dect_mitel_eth_rfpc_extended_capabilities_v24
,
711 &hf_dect_mitel_eth_rfpc_extended_capabilities_ppp
,
712 &hf_dect_mitel_eth_rfpc_extended_capabilities_ip
,
713 &hf_dect_mitel_eth_rfpc_extended_capabilities_token_ring
,
714 &hf_dect_mitel_eth_rfpc_extended_capabilities_ethernet
,
715 &hf_dect_mitel_eth_rfpc_extended_capabilities_ip_roaming_unrestricted_supported
,
716 &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_supported
,
717 &hf_dect_mitel_eth_rfpc_extended_capabilities_basis_odap_supported
,
718 &hf_dect_mitel_eth_rfpc_extended_capabilities_fmms_interworking_profile_supported
,
719 &hf_dect_mitel_eth_rfpc_extended_capabilities_extended_fp_info2
,
720 &hf_dect_mitel_eth_rfpc_extended_capabilities_ipq_services_supported
,
721 &hf_dect_mitel_eth_rfpc_extended_capabilities_mac_suspend_resume
,
722 &hf_dect_mitel_eth_rfpc_extended_capabilities_frequency_replacement_supported
,
723 &hf_dect_mitel_eth_rfpc_extended_capabilities_syncronization
,
727 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_extended_capabilities_wireless_relay_stations
, tvb
, offset
, 2, ENC_NA
);
729 proto_tree_add_bitmask(tree
, tvb
, offset
, hf_dect_mitel_eth_rfpc_extended_capabilities_flags
, ett_dect_mitel_eth_extended_capabilities_flags
, flags
, ENC_NA
);
736 RFPc MAC capabilities field
737 | Offset | Len | Content | Mask |
738 | ------ | --- | -------------------- | -------- |
739 | 0 | 3 | MAC capability flags | 0x0FFFFF |
741 static unsigned dissect_dect_mitel_eth_rfpc_mac_capabilities(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
743 static int* const flags
[] = {
744 &hf_dect_mitel_eth_rfpc_mac_capabilities_multibearer_connections
,
745 &hf_dect_mitel_eth_rfpc_mac_capabilities_ipmr_error_correction
,
746 &hf_dect_mitel_eth_rfpc_mac_capabilities_ipm_error_detection
,
747 &hf_dect_mitel_eth_rfpc_mac_capabilities_inb_normal_delay
,
748 &hf_dect_mitel_eth_rfpc_mac_capabilities_ina_minimum_delay
,
749 &hf_dect_mitel_eth_rfpc_mac_capabilities_cf_messages
,
750 &hf_dect_mitel_eth_rfpc_mac_capabilities_b_field_setup
,
751 &hf_dect_mitel_eth_rfpc_mac_capabilities_advanced_a_field_setup
,
752 &hf_dect_mitel_eth_rfpc_mac_capabilities_basic_a_field_setup
,
753 &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_downlink
,
754 &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_uplink
,
755 &hf_dect_mitel_eth_rfpc_mac_capabilities_co_setup_on_dummy_allowed
,
756 &hf_dect_mitel_eth_rfpc_mac_capabilities_page_repetition
,
757 &hf_dect_mitel_eth_rfpc_mac_capabilities_frequency_control
,
758 &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_full
,
759 &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_half
,
760 &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_double
,
761 &hf_dect_mitel_eth_rfpc_mac_capabilities_double_duplex_bearer_connections
,
762 &hf_dect_mitel_eth_rfpc_mac_capabilities_extended_fp_info
,
766 proto_tree_add_bitmask(tree
, tvb
, offset
, hf_dect_mitel_eth_rfpc_mac_capabilities_flags
, ett_dect_mitel_eth_mac_capabilities_flags
, flags
, ENC_NA
);
774 | Offset | Len | Content |
775 | ------ | --- | --------------------- |
776 | 0 | 2 | BMC connections 1-3 |
777 | 2 | 2 | BMC connections 4-6 |
778 | 4 | 2 | BMC connections 7-9 |
779 | 6 | 2 | BMC connections 10-12 |
780 | 8 | 2 | BMC DSP channels 1+2 |
781 | 10 | 2 | BMC DSP channels 3+4 |
782 | 12 | 2 | BMC DSP channels 5+6 |
783 | 14 | 2 | BMC DSP channels 7+8 |
784 | 16 | 2 | Lost connections |
785 | 34 | 2 | MAC reset |
786 | 40 | 2 | Reject dummy |
787 | 42 | 4 | Bad frames |
788 | 46 | 4 | Good frames |
789 | 50 | 2 | Handoff timer |
791 static unsigned dissect_dect_mitel_eth_rfpc_statistic_data(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
793 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_1_3
, tvb
, offset
, 2, ENC_NA
);
796 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_4_6
, tvb
, offset
, 2, ENC_NA
);
799 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_7_9
, tvb
, offset
, 2, ENC_NA
);
802 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_10_12
, tvb
, offset
, 2, ENC_NA
);
805 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_1_2
, tvb
, offset
, 2, ENC_NA
);
808 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_3_4
, tvb
, offset
, 2, ENC_NA
);
811 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_5_6
, tvb
, offset
, 2, ENC_NA
);
814 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_7_8
, tvb
, offset
, 2, ENC_NA
);
817 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_lost_connections
, tvb
, offset
, 2, ENC_NA
);
820 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_mac_reset
, tvb
, offset
, 2, ENC_NA
);
823 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_reject_dummy
, tvb
, offset
, 2, ENC_NA
);
826 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_bad_frames
, tvb
, offset
, 4, ENC_NA
);
829 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_good_frames
, tvb
, offset
, 4, ENC_NA
);
832 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_statistic_data_handoff_timer
, tvb
, offset
, 2, ENC_NA
);
840 | Offset | Len | Content |
841 | ------ | --- | --------------------- |
842 | 0 | 1 | PARK length indicator |
844 static unsigned dissect_dect_mitel_eth_rfpc_rfp_pli(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
846 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_rfp_pli_length_indicator
, tvb
, offset
, 1, ENC_NA
);
853 RFPc Extended capabilities2 field
854 | Offset | Len | Content | Mask |
855 | ------ | --- | ----------------------- | ------------ |
856 | 0 | 2 | MAC capability flags | 0x0FFF |
857 | 2 | 3 | Capability information | 0xFFFFFF |
859 static unsigned dissect_dect_mitel_eth_rfpc_extended_capabilities2(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
861 static int* const mac_capability_flags
[] = {
862 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_640
,
863 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_672
,
864 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_mux_e_u
,
865 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_ipf
,
866 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_sipf
,
867 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_gf
,
868 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_wrs_ule
,
869 &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_no_emission_preferred_cn
,
873 static int* const capability_flags
[] = {
874 &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_1
,
875 &hf_dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category
,
876 &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_3
,
877 &hf_dect_mitel_eth_rfpc_extended_capabilities2_permanent_clir
,
878 &hf_dect_mitel_eth_rfpc_extended_capabilities2_third_party_conference
,
879 &hf_dect_mitel_eth_rfpc_extended_capabilities2_intrusion_call
,
880 &hf_dect_mitel_eth_rfpc_extended_capabilities2_call_deflection
,
881 &hf_dect_mitel_eth_rfpc_extended_capabilities2_multiple_lines
,
882 &hf_dect_mitel_eth_rfpc_extended_capabilities2_no_emission
,
883 &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_5
,
884 &hf_dect_mitel_eth_rfpc_extended_capabilities2_re_keying
,
885 &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsaa2
,
886 &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsc2
,
887 &hf_dect_mitel_eth_rfpc_extended_capabilities2_light_data
,
891 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_NA
);
894 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_NA
);
901 | Offset | Len | Content |
902 | ------- | --- | ----------------- |
903 | 0 | 1 | RFPc Message Type |
904 | 1 | 1 | Element0 key |
905 | 2 | 1 | Element0 length |
906 | 3 | len | Element0 content |
907 | 3+len | 1 | Element1 key |
908 | 3+len+1 | 1 | Element1 length |
909 | 3+len+2 | len | Element1 content |
913 static unsigned dissect_dect_mitel_eth_rfpc(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
915 uint8_t message_type
, item_type
, item_length
;
916 proto_tree
*rfpc_item_tree
;
917 proto_item
*rfpc_item_tree_item
;
919 proto_tree_add_item(tree
, hf_dect_mitel_eth_rfpc_message_type
, tvb
, offset
, 1, ENC_NA
);
920 message_type
= tvb_get_uint8(tvb
, offset
);
921 col_append_fstr(pinfo
->cinfo
, COL_INFO
, "RFPc: %s ",
922 val_to_str(message_type
, dect_mitel_eth_rfpc_message_type_val
, "Unknown 0x%02x"));
925 while ( tvb_reported_length_remaining(tvb
, offset
) ) {
926 item_type
= tvb_get_uint8(tvb
, offset
);
927 rfpc_item_tree
= proto_tree_add_subtree_format(tree
, tvb
, offset
, -1, ett_dect_mitel_eth_rfpc_item
, &rfpc_item_tree_item
,
928 "Item: %s", val_to_str(item_type
, dect_mitel_eth_rfpc_item_type_val
, "Unknown: 0x%0x"));
929 proto_tree_add_item(rfpc_item_tree
, hf_dect_mitel_eth_rfpc_item_type
, tvb
, offset
, 1, ENC_NA
);
932 item_length
= tvb_get_uint8(tvb
, offset
);
933 proto_tree_add_item(rfpc_item_tree
, hf_dect_mitel_eth_rfpc_item_length
, tvb
, offset
, 1, ENC_NA
);
934 proto_item_set_len(rfpc_item_tree_item
, item_length
+ 2);
938 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_REVISION
:
939 offset
= dissect_dect_mitel_eth_rfpc_revision(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
941 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFPI
:
942 offset
= dissect_dect_mitel_eth_rfpc_rfpi(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
944 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_HIGHER_LAYER_CAPABILITIES
:
945 offset
= dissect_dect_mitel_eth_rfpc_higher_layer_capabilities(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
947 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES
:
948 offset
= dissect_dect_mitel_eth_rfpc_extended_capabilities(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
950 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_MAC_CAPABILITIES
:
951 offset
= dissect_dect_mitel_eth_rfpc_mac_capabilities(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
953 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_STATISTIC_DATA
:
954 offset
= dissect_dect_mitel_eth_rfpc_statistic_data(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
956 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_RFP_PLI
:
957 offset
= dissect_dect_mitel_eth_rfpc_rfp_pli(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
959 case DECT_MITEL_ETH_RFPC_ITEM_TYPE_EXTENDED_CAPABILITIES2
:
960 offset
= dissect_dect_mitel_eth_rfpc_extended_capabilities2(tvb
, pinfo
, rfpc_item_tree
, data
, offset
);
963 proto_tree_add_item(rfpc_item_tree
, hf_dect_mitel_eth_rfpc_item_value
, tvb
, offset
, item_length
, ENC_NA
);
964 offset
+= item_length
;
973 | Offset | Len | Content |
974 | ------ | --- | --------------------- |
976 | 1 | 3 | PMID (in last 20bits) |
979 static unsigned dissect_dect_mitel_eth_mac_con_ind(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
981 static int *const mac_con_ind_flags
[] = {
982 &hf_dect_mitel_eth_mac_con_ind_flag_handover
,
986 pinfo
->p2p_dir
= P2P_DIR_RECV
;
987 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
989 proto_tree_add_item(tree
, hf_dect_mitel_eth_pmid
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
991 proto_tree_add_bitmask(tree
, tvb
, offset
, hf_dect_mitel_eth_mac_con_ind_flags
, ett_dect_mitel_eth
, mac_con_ind_flags
, ENC_NA
);
998 | Offset | Len | Content |
999 | ------ | --- | ------- |
1003 static unsigned dissect_dect_mitel_eth_mac_dis_ind(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1005 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
1007 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_dis_ind_reason
, tvb
, offset
, 1, ENC_NA
);
1013 MAC_PAGE_REQ Message
1014 | Offset | Len | Content |
1015 | ------ | --- | --------------- |
1016 | 1 | 1 | Flags (unknown) |
1018 static unsigned dissect_dect_mitel_eth_mac_page_req(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1020 pinfo
->p2p_dir
= P2P_DIR_SENT
;
1022 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_page_req_flags
, tvb
, offset
, 1, ENC_NA
);
1028 MAC_ENC_KEY_REQ Message
1029 | Offset | Len | Content |
1030 | ------ | --- | --------- |
1033 | 9 | 1 | (Key?) ID |
1035 static unsigned dissect_dect_mitel_eth_mac_enc_key_req(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1037 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
1039 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_enc_key_req_key
, tvb
, offset
, 8, ENC_NA
);
1041 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_enc_key_req_id
, tvb
, offset
, 1, ENC_NA
);
1047 MAC_ENC_EKS_IND Message
1048 | Offset | Len | Content | Comment |
1049 | ------ | --- | --------- | ------------------ |
1052 | 2 | 1 | (Key?) ID | if Type == with ID |
1053 | 3 | 2 | PPN | if Type == with ID |
1055 static unsigned dissect_dect_mitel_eth_mac_enc_eks_ind(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1058 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
1060 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_enc_eks_ind_type
, tvb
, offset
, 1, ENC_NA
);
1061 type
= tvb_get_uint8(tvb
, offset
);
1063 if ( type
== DECT_MITEL_ETH_MAC_ENC_EKS_IND_TYPE_ENCRYPTED_WITH_ID
) {
1064 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_enc_eks_ind_id
, tvb
, offset
, 1, ENC_NA
);
1066 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_enc_eks_ind_ppn
, tvb
, offset
, 2, ENC_NA
);
1073 DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND Message
1074 | Offset | Len | Content |
1075 | ------ | --- | --------------------- |
1077 | 1 | 3 | PMID (in last 20bits) |
1079 static unsigned dissect_dect_mitel_eth_mac_ho_in_progress_ind(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1081 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
1083 proto_tree_add_item(tree
, hf_dect_mitel_eth_pmid
, tvb
, offset
, 3, ENC_NA
);
1089 DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES Message
1090 | Offset | Len | Content |
1091 | ------ | --- | --------- |
1094 | 11 | 1 | (Key?) ID |
1096 static unsigned dissect_dect_mitel_eth_mac_ho_in_progress_res(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1098 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
1102 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_ho_in_progress_res_key
, tvb
, offset
, 8, ENC_NA
);
1105 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_ho_in_progress_res_id
, tvb
, offset
, 1, ENC_NA
);
1111 MAC_HO_FAILED_IND Message
1112 | Offset | Len | Content |
1113 | ------ | --- | ------- |
1117 static unsigned dissect_dect_mitel_eth_mac_ho_failed_ind(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1119 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
1121 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_ho_failed_ind_reason
, tvb
, offset
, 1, ENC_NA
);
1127 MAC_INFO_IND Message
1128 | Offset | Len | Content |
1129 | ------ | --- | --------------------- |
1131 | 1 | 3 | PMID (in last 20bits) |
1134 static unsigned dissect_dect_mitel_eth_mac_info_ind(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1136 pinfo
->p2p_dir
= P2P_DIR_RECV
;
1137 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, tree
, data
, offset
);
1139 proto_tree_add_item(tree
, hf_dect_mitel_eth_pmid
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
1142 proto_tree_add_item(tree
, hf_dect_mitel_eth_mac_info_ind_string
, tvb
, offset
,
1143 tvb_captured_length_remaining(tvb
, offset
+9), ENC_ASCII
|ENC_NA
);
1148 MAC_CLEAR_DEF_CKEY_REQ Message
1149 | Offset | Len | Content |
1150 | ------ | --- | --------------------- |
1151 | 0 | 3 | PMID (in last 20bits) |
1153 static unsigned dissect_dect_mitel_eth_mac_clear_def_ckey_req(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
, unsigned offset
)
1155 proto_tree_add_item(tree
, hf_dect_mitel_eth_pmid
, tvb
, offset
, 3, ENC_BIG_ENDIAN
);
1160 static int dissect_dect_mitel_eth(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void* data
)
1162 proto_item
*dect_mitel_eth_tree_item
;
1163 proto_tree
*dect_mitel_eth_tree
;
1165 uint16_t mitel_eth_len
, payload_len
;
1166 uint8_t prim_type
, layer
, mt_item_length
;
1168 bool ip_encapsulated
;
1169 tvbuff_t
*payload_tvb
= NULL
;
1171 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "MI-DECToE");
1172 col_clear(pinfo
->cinfo
, COL_INFO
);
1174 dect_mitel_eth_tree_item
= proto_tree_add_item(tree
, proto_dect_mitel_eth
, tvb
, 0, -1, ENC_NA
);
1175 dect_mitel_eth_tree
= proto_item_add_subtree(dect_mitel_eth_tree_item
, ett_dect_mitel_eth
);
1177 * When the protocol is used within the internal Ethernet channel in the RFP there is a two byte
1178 * field with not yet really known content and a two byte length field. This is not in place / consumed
1179 * by the upper layer dissector if this protocol is used in OMM<>RFP communication. So the data parameter
1180 * is used to get information from the dect-mitel-rfp dissector whether it was IP encapsulated or not.
1183 ip_encapsulated
= *( ( bool* )data
);
1185 ip_encapsulated
= false;
1187 if(!ip_encapsulated
) {
1188 mitel_eth_len
= tvb_get_uint16(tvb
, offset
, 2);
1189 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_len
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1190 if (mitel_eth_len
< 3)
1191 return tvb_captured_length(tvb
);
1195 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_layer
, tvb
, offset
, 1, ENC_NA
);
1196 layer
= tvb_get_uint8(tvb
, offset
);
1199 if ( layer
!= DECT_MITEL_ETH_LAYER_RFPC
) {
1200 prim_type
= tvb_get_uint8(tvb
, offset
);
1201 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_prim_type
, tvb
, offset
, 1, ENC_NA
);
1203 col_append_fstr(pinfo
->cinfo
, COL_INFO
, "%s ",
1204 val_to_str(prim_type
, dect_mitel_eth_prim_coding_val
, "Unknown 0x%02x"));
1209 case DECT_MITEL_ETH_LAYER_RFPC
:
1210 dissect_dect_mitel_eth_rfpc(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1212 case DECT_MITEL_ETH_LAYER_MT
:
1213 while ( tvb_reported_length_remaining(tvb
, offset
) ) {
1214 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_mt_item_key
, tvb
, offset
, 1, ENC_NA
);
1216 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_mt_item_length
, tvb
, offset
, 1, ENC_NA
);
1217 mt_item_length
= tvb_get_uint8(tvb
, offset
);
1219 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_mt_item_value
, tvb
, offset
, mt_item_length
, ENC_NA
);
1220 offset
+= mt_item_length
;
1223 case DECT_MITEL_ETH_LAYER_LC
:
1224 case DECT_MITEL_ETH_LAYER_MAC
:
1225 switch (prim_type
) {
1226 case DECT_MITEL_ETH_MAC_PAGE_REQ
:
1227 dissect_dect_mitel_eth_mac_page_req(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1229 case DECT_MITEL_ETH_MAC_ENC_KEY_REQ
:
1230 dissect_dect_mitel_eth_mac_enc_key_req(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1232 case DECT_MITEL_ETH_MAC_ENC_EKS_IND
:
1233 dissect_dect_mitel_eth_mac_enc_eks_ind(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1235 case DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_IND
:
1236 dissect_dect_mitel_eth_mac_ho_in_progress_ind(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1238 case DECT_MITEL_ETH_MAC_HO_IN_PROGRESS_RES
:
1239 dissect_dect_mitel_eth_mac_ho_in_progress_res(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1241 case DECT_MITEL_ETH_MAC_HO_FAILED_IND
:
1242 dissect_dect_mitel_eth_mac_ho_failed_ind(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1244 case DECT_MITEL_ETH_MAC_CON_IND
:
1245 dissect_dect_mitel_eth_mac_con_ind(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1247 case DECT_MITEL_ETH_MAC_INFO_IND
:
1248 dissect_dect_mitel_eth_mac_info_ind(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1250 case DECT_MITEL_ETH_MAC_CLEAR_DEF_CKEY_REQ
:
1251 dissect_dect_mitel_eth_mac_clear_def_ckey_req(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1253 case DECT_MITEL_ETH_MAC_DIS_REQ
:
1254 pinfo
->p2p_dir
= P2P_DIR_SENT
;
1255 dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1257 case DECT_MITEL_ETH_MAC_DIS_IND
:
1258 dissect_dect_mitel_eth_mac_dis_ind(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1260 case DECT_MITEL_ETH_LC_DTR_IND
:
1261 pinfo
->p2p_dir
= P2P_DIR_RECV
;
1262 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1264 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_subfield
, tvb
, offset
, 1, ENC_NA
);
1266 case DECT_MITEL_ETH_LC_DATA_REQ
:
1267 case DECT_MITEL_ETH_LC_DATA_IND
:
1268 if(prim_type
== DECT_MITEL_ETH_LC_DATA_REQ
) {
1269 pinfo
->p2p_dir
= P2P_DIR_SENT
;
1271 pinfo
->p2p_dir
= P2P_DIR_RECV
;
1273 offset
= dissect_dect_mitel_eth_mcei_field(tvb
, pinfo
, dect_mitel_eth_tree
, data
, offset
);
1275 proto_tree_add_item(dect_mitel_eth_tree
, hf_dect_mitel_eth_subfield
, tvb
, offset
, 1, ENC_NA
);
1277 payload_len
= tvb_get_uint8(tvb
, offset
);
1279 payload_tvb
= tvb_new_subset_length(tvb
, offset
, payload_len
);
1281 call_dissector(dlc_handle
, payload_tvb
, pinfo
, tree
);
1290 return tvb_captured_length(tvb
);
1293 void proto_register_dect_mitel_eth(void)
1296 static hf_register_info hf
[] =
1298 { &hf_dect_mitel_eth_len
,
1299 { "Length", "dect_mitel_eth.length", FT_UINT16
, BASE_DEC
,
1300 NULL
, 0x0, NULL
, HFILL
1303 { &hf_dect_mitel_eth_layer
,
1304 { "Interface layer", "dect_mitel_eth.layer", FT_UINT8
, BASE_HEX
,
1305 VALS(dect_mitel_eth_layer_val
), 0x0, NULL
, HFILL
1308 { &hf_dect_mitel_eth_prim_type
,
1309 { "Primitive Type", "dect_mitel_eth.prim", FT_UINT8
, BASE_HEX
,
1310 VALS(dect_mitel_eth_prim_coding_val
), 0x0, NULL
, HFILL
1313 { &hf_dect_mitel_eth_mcei
,
1314 { "MCEI", "dect_mitel_eth.mcei", FT_UINT8
, BASE_HEX
,
1315 NULL
, 0x0, NULL
, HFILL
1318 { &hf_dect_mitel_eth_mac_info_ind_string
,
1319 { "MAC Info String", "dect_mitel_eth.mac_info_str", FT_STRING
, BASE_NONE
,
1320 NULL
, 0, NULL
, HFILL
1323 { &hf_dect_mitel_eth_pmid
,
1324 { "PMID", "dect_mitel_eth.pmid", FT_UINT24
, BASE_HEX
,
1325 NULL
, 0x0FFFFF, NULL
, HFILL
1328 { &hf_dect_mitel_eth_subfield
,
1329 { "Subfield", "dect_mitel_eth.subfield", FT_UINT8
, BASE_HEX
,
1330 VALS(dect_mitel_eth_subfield_val
), 0, NULL
, HFILL
1334 { &hf_dect_mitel_eth_rfpc_message_type
,
1335 { "Message Type", "dect_mitel_eth.rfpc.message_type", FT_UINT8
, BASE_HEX
,
1336 VALS(dect_mitel_eth_rfpc_message_type_val
), 0, NULL
, HFILL
1339 { &hf_dect_mitel_eth_rfpc_item_type
,
1340 { "Type", "dect_mitel_eth.rfpc.item.type", FT_UINT8
, BASE_HEX
,
1341 VALS(dect_mitel_eth_rfpc_item_type_val
), 0, NULL
, HFILL
1344 { &hf_dect_mitel_eth_rfpc_item_length
,
1345 { "Length", "dect_mitel_eth.rfpc.item.length", FT_UINT8
, BASE_HEX
,
1346 NULL
, 0, NULL
, HFILL
1349 { &hf_dect_mitel_eth_rfpc_item_value
,
1350 { "Value", "dect_mitel_eth.rfpc.item.value", FT_BYTES
, BASE_NONE
,
1351 NULL
, 0, NULL
, HFILL
1355 { &hf_dect_mitel_eth_rfpc_revision_generation
,
1356 { "Generation", "dect_mitel_eth.rfpc.revision.generation", FT_UINT8
, BASE_HEX
,
1357 NULL
, 0, NULL
, HFILL
1360 { &hf_dect_mitel_eth_rfpc_revision_boot_software
,
1361 { "Boot Software", "dect_mitel_eth.rfpc.revision.boot_software", FT_UINT16
, BASE_HEX
,
1362 NULL
, 0, NULL
, HFILL
1365 { &hf_dect_mitel_eth_rfpc_revision_prog_software
,
1366 { "Prog Software", "dect_mitel_eth.rfpc.revision.prog_software", FT_UINT16
, BASE_HEX
,
1367 NULL
, 0, NULL
, HFILL
1370 { &hf_dect_mitel_eth_rfpc_revision_hardware
,
1371 { "Hardware", "dect_mitel_eth.rfpc.revision.hardware", FT_UINT16
, BASE_HEX
,
1372 NULL
, 0, NULL
, HFILL
1376 { &hf_dect_mitel_eth_rfpc_rfpi_saris_available
,
1377 { "SARIs available", "dect_mitel_eth.rfpc.rfpi.e", FT_BOOLEAN
, 8,
1378 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_RFPI_SARIS_AVAILABLE
, NULL
, HFILL
1381 { &hf_dect_mitel_eth_rfpc_rfpi_ari_class
,
1382 { "ARI class", "dect_mitel_eth.rfpc.rfpi.ari_class", FT_UINT8
, BASE_HEX
,
1383 VALS(dect_mitel_eth_rfpc_rfpi_ari_class_val
), 0x70, NULL
, HFILL
1386 /* RFPc Higher layer capabilities */
1387 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_flags
,
1388 { "MAC capability flags", "dect_mitel_eth.rfpc.higher_layer_capabilities.flags", FT_UINT16
, BASE_HEX
,
1389 NULL
, 0, NULL
, HFILL
1392 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_connection_handover_supported
,
1393 { "Connection handover supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.connect_handover_supported", FT_BOOLEAN
, 16,
1394 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CONNECTION_HANDOVER_SUPPORTED
, NULL
, HFILL
1397 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_external_handover_supported
,
1398 { "External handover supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.external_handover_supported", FT_BOOLEAN
, 16,
1399 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_EXTERNAL_HANDOVER_SUPPORTED
, NULL
, HFILL
1402 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_access_rights_requests_supported
,
1403 { "Access rights requests supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.access_rights_requests_supported", FT_BOOLEAN
, 16,
1404 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_ACCESS_RIGHTS_REQUESTS_SUPPORTED
, NULL
, HFILL
1407 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_coms_service_available
,
1408 { "COMS service available", "dect_mitel_eth.rfpc.higher_layer_capabilities.coms_service_available", FT_BOOLEAN
, 16,
1409 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_COMS_SERVICE_AVAILABLE
, NULL
, HFILL
1412 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_clms_service_available
,
1413 { "CLMS service available", "dect_mitel_eth.rfpc.higher_layer_capabilities.clms_service_available", FT_BOOLEAN
, 16,
1414 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CLMS_SERVICE_AVAILABLE
, NULL
, HFILL
1417 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_ciss_services_available
,
1418 { "CISS service available", "dect_mitel_eth.rfpc.higher_layer_capabilities.ciss_service_available", FT_BOOLEAN
, 16,
1419 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_CISS_SERVICES_AVAILABLE
, NULL
, HFILL
1422 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_static_fixed_part
,
1423 { "Non-static fixed part", "dect_mitel_eth.rfpc.higher_layer_capabilities.non_static_fixed_part", FT_BOOLEAN
, 16,
1424 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_STATIC_FIXED_PART
, NULL
, HFILL
1427 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_sim_services_available
,
1428 { "SIM services available", "dect_mitel_eth.rfpc.higher_layer_capabilities.sim_services_available", FT_BOOLEAN
, 16,
1429 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_SIM_SERVICES_AVAILABLE
, NULL
, HFILL
1432 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_location_registration_supported
,
1433 { "Location registration supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.location_registration_supported", FT_BOOLEAN
, 16,
1434 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_LOCATION_REGISTRATION_SUPPORTED
, NULL
, HFILL
1437 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsc_supported
,
1438 { "DSC supported", "dect_mitel_eth.rfpc.higher_layer_capabilities.dsc_supported", FT_BOOLEAN
, 16,
1439 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSC_SUPPORTED
, NULL
, HFILL
1442 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_dsaa_required
,
1443 { "DSAA required", "dect_mitel_eth.rfpc.higher_layer_capabilities.dsaa_required", FT_BOOLEAN
, 16,
1444 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_DSAA_REQUIRED
, NULL
, HFILL
1447 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_packet_switched_service
,
1448 { "Non-voice packet switched service", "dect_mitel_eth.rfpc.higher_layer_capabilities.non_voice_packet_switched_service", FT_BOOLEAN
, 16,
1449 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_PACKET_SWITCHED_SERVICE
, NULL
, HFILL
1452 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_non_voice_circuit_switched_service
,
1453 { "Non-voice circuit switched service", "dect_mitel_eth.rfpc.higher_layer_capabilities.non_voice_circuit_switched_service", FT_BOOLEAN
, 16,
1454 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_NON_VOICE_CIRCUIT_SWITCHED_SERVICE
, NULL
, HFILL
1457 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_gap_basic_speech
,
1458 { "GAP basic speech", "dect_mitel_eth.rfpc.higher_layer_capabilities.gap_basic_speech", FT_BOOLEAN
, 16,
1459 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_GAP_BASIC_SPEECH
, NULL
, HFILL
1462 { &hf_dect_mitel_eth_rfpc_higher_layer_capabilities_g726
,
1463 { "ADPCM/G-726 Voice service", "dect_mitel_eth.rfpc.higher_layer_capabilities.g726", FT_BOOLEAN
, 16,
1464 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_HIGHER_LAYER_CAPABILITIES_G726
, NULL
, HFILL
1467 /* RFPc Extended capabilities */
1468 { &hf_dect_mitel_eth_rfpc_extended_capabilities_wireless_relay_stations
,
1469 { "Wireless relay stations", "dect_mitel_eth.rfpc.extended_capabilities.wireless_relay_stations", FT_UINT16
, BASE_DEC
,
1470 NULL
, 0x0FC0, NULL
, HFILL
1473 { &hf_dect_mitel_eth_rfpc_extended_capabilities_flags
,
1474 { "Flags", "dect_mitel_eth.rfpc.extended_capabilities.flags", FT_UINT32
, BASE_HEX
,
1475 NULL
, 0x3FFFFFFF, NULL
, HFILL
1478 { &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_data_services
,
1479 { "ISDN data services", "dect_mitel_eth.rfpc.extended_capabilities.isdn_data_services", FT_BOOLEAN
, 32,
1480 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_DATA_SERVICES
, NULL
, HFILL
1483 { &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_2
,
1484 { "DPRS class 2", "dect_mitel_eth.rfpc.extended_capabilities.dprs_class_2", FT_BOOLEAN
, 32,
1485 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_2
, NULL
, HFILL
1488 { &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_class_3_or_4
,
1489 { "DPRS class 3 or 4", "dect_mitel_eth.rfpc.extended_capabilities.dprs_class_3_or_4", FT_BOOLEAN
, 32,
1490 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_CLASS_3_OR_4
, NULL
, HFILL
1493 { &hf_dect_mitel_eth_rfpc_extended_capabilities_data_service_profile_d
,
1494 { "Data service profile D", "dect_mitel_eth.rfpc.extended_capabilities.data_service_profile_d", FT_BOOLEAN
, 32,
1495 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DATA_SERVICE_PROFILE_D
, NULL
, HFILL
1498 { &hf_dect_mitel_eth_rfpc_extended_capabilities_lrms
,
1499 { "LRMS", "dect_mitel_eth.rfpc.extended_capabilities.lrms", FT_BOOLEAN
, 32,
1500 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LRMS
, NULL
, HFILL
1503 { &hf_dect_mitel_eth_rfpc_extended_capabilities_asymmetric_bearers_supported
,
1504 { "Asymmetric bearers supported", "dect_mitel_eth.rfpc.extended_capabilities.asymmetric_bearers_supported", FT_BOOLEAN
, 32,
1505 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ASYMMETRIC_BEARERS_SUPPORTED
, NULL
, HFILL
1508 { &hf_dect_mitel_eth_rfpc_extended_capabilities_emergency_call_supported
,
1509 { "Emergency call supported", "dect_mitel_eth.rfpc.extended_capabilities.emergency_call_supported", FT_BOOLEAN
, 32,
1510 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EMERGENCY_CALL_SUPPORTED
, NULL
, HFILL
1513 { &hf_dect_mitel_eth_rfpc_extended_capabilities_location_registration_with_tpui_allowed
,
1514 { "Location registration with TPUI allowed", "dect_mitel_eth.rfpc.extended_capabilities.location_registration_with_tpui_allowed", FT_BOOLEAN
, 32,
1515 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_LOCATION_REGISTRATION_WITH_TPUI_ALLOWED
, NULL
, HFILL
1518 { &hf_dect_mitel_eth_rfpc_extended_capabilities_sync_to_gps_achieved
,
1519 { "Sync to GPS achieved", "dect_mitel_eth.rfpc.extended_capabilities.sync_to_gps_achieved", FT_BOOLEAN
, 32,
1520 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION_TO_GPS_ACHIEVED
, NULL
, HFILL
1523 { &hf_dect_mitel_eth_rfpc_extended_capabilities_isdn_intermediate_system
,
1524 { "ISDN intermediate system", "dect_mitel_eth.rfpc.extended_capabilities.isdn_intermediate_system", FT_BOOLEAN
, 32,
1525 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ISDN_INTERMEDIATE_SYSTEM
, NULL
, HFILL
1528 { &hf_dect_mitel_eth_rfpc_extended_capabilities_rap_part_1_profile
,
1529 { "RAP part 1 profile", "dect_mitel_eth.rfpc.extended_capabilities.rap_part_1_profile", FT_BOOLEAN
, 32,
1530 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_RAP_PART_1_PROFILE
, NULL
, HFILL
1533 { &hf_dect_mitel_eth_rfpc_extended_capabilities_v24
,
1534 { "V24", "dect_mitel_eth.rfpc.extended_capabilities.v24", FT_BOOLEAN
, 32,
1535 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_V24
, NULL
, HFILL
1538 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ppp
,
1539 { "PPP", "dect_mitel_eth.rfpc.extended_capabilities.ppp", FT_BOOLEAN
, 32,
1540 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_PPP
, NULL
, HFILL
1543 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ip
,
1544 { "IP", "dect_mitel_eth.rfpc.extended_capabilities.ip", FT_BOOLEAN
, 32,
1545 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP
, NULL
, HFILL
1548 { &hf_dect_mitel_eth_rfpc_extended_capabilities_token_ring
,
1549 { "Token Ring", "dect_mitel_eth.rfpc.extended_capabilities.token_ring", FT_BOOLEAN
, 32,
1550 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_TOKEN_RING
, NULL
, HFILL
1553 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ethernet
,
1554 { "Ethernet", "dect_mitel_eth.rfpc.extended_capabilities.ethernet", FT_BOOLEAN
, 32,
1555 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_ETHERNET
, NULL
, HFILL
1558 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ip_roaming_unrestricted_supported
,
1559 { "IP roaming unrestricted supported", "dect_mitel_eth.rfpc.extended_capabilities.ip_roaming_unrestricted_supported", FT_BOOLEAN
, 32,
1560 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IP_ROAMING_UNRESTRICTED_SUPPORTED
, NULL
, HFILL
1563 { &hf_dect_mitel_eth_rfpc_extended_capabilities_dprs_supported
,
1564 { "DPRS supported", "dect_mitel_eth.rfpc.extended_capabilities.dprs_supported", FT_BOOLEAN
, 32,
1565 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_DPRS_SUPPORTED
, NULL
, HFILL
1568 { &hf_dect_mitel_eth_rfpc_extended_capabilities_basis_odap_supported
,
1569 { "Basic ODAP supported", "dect_mitel_eth.rfpc.extended_capabilities.basic_odap_supported", FT_BOOLEAN
, 32,
1570 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_BASIC_ODAP_SUPPORTED
, NULL
, HFILL
1573 { &hf_dect_mitel_eth_rfpc_extended_capabilities_fmms_interworking_profile_supported
,
1574 { "FMMS interworking profile supported", "dect_mitel_eth.rfpc.extended_capabilities.fmms_interworking_profile_supported", FT_BOOLEAN
, 32,
1575 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FMMS_INTERWORKING_PROFILE_SUPPORTED
, NULL
, HFILL
1578 { &hf_dect_mitel_eth_rfpc_extended_capabilities_extended_fp_info2
,
1579 { "Extended FP info 2", "dect_mitel_eth.rfpc.extended_capabilities.extended_fp_info2", FT_BOOLEAN
, 32,
1580 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_EXTENDED_FP_INFOR_2
, NULL
, HFILL
1583 { &hf_dect_mitel_eth_rfpc_extended_capabilities_ipq_services_supported
,
1584 { "IPq services supported", "dect_mitel_eth.rfpc.extended_capabilities.ipq_services_supported", FT_BOOLEAN
, 32,
1585 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_IPQ_SERVICES_SUPPORTED
, NULL
, HFILL
1588 { &hf_dect_mitel_eth_rfpc_extended_capabilities_mac_suspend_resume
,
1589 { "MAC suspend resume", "dect_mitel_eth.rfpc.extended_capabilities.mac_suspend_resume", FT_BOOLEAN
, 32,
1590 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_MAC_SUSPEND_RESUME
, NULL
, HFILL
1593 { &hf_dect_mitel_eth_rfpc_extended_capabilities_frequency_replacement_supported
,
1594 { "Frequency replacement supported", "dect_mitel_eth.rfpc.extended_capabilities.frequency_replacement_supported", FT_BOOLEAN
, 32,
1595 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_FREQUENCY_REPLACEMENT_SUPPORTED
, NULL
, HFILL
1598 { &hf_dect_mitel_eth_rfpc_extended_capabilities_syncronization
,
1599 { "Synchronization", "dect_mitel_eth.rfpc.extended_capabilities.synchronization", FT_BOOLEAN
, 32,
1600 TFS(&tfs_prolonged_standard
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITY_SYNCHRONIZATION
, NULL
, HFILL
1603 /* RFPc MAC capabilities */
1604 { &hf_dect_mitel_eth_rfpc_mac_capabilities_flags
,
1605 { "MAC capability flags", "dect_mitel_eth.rfpc.mac_capabilities.flags", FT_UINT24
, BASE_HEX
,
1606 NULL
, 0x0FFFFF, NULL
, HFILL
1609 { &hf_dect_mitel_eth_rfpc_mac_capabilities_multibearer_connections
,
1610 { "Multibearer connections", "dect_mitel_eth.rfpc.mac_capabilities.multibearer_connections", FT_BOOLEAN
, 20,
1611 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_MULTIBEARER_CONNECTIONS
, NULL
, HFILL
1614 { &hf_dect_mitel_eth_rfpc_mac_capabilities_ipmr_error_correction
,
1615 { "Ipmr error correction", "dect_mitel_eth.rfpc.mac_capabilities.ipmr_error_correction", FT_BOOLEAN
, 20,
1616 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPMR_ERROR_CORRECTION
, NULL
, HFILL
1619 { &hf_dect_mitel_eth_rfpc_mac_capabilities_ipm_error_detection
,
1620 { "Ipm error detection", "dect_mitel_eth.rfpc.mac_capabilities.ipm_error_detection", FT_BOOLEAN
, 20,
1621 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_IPM_ERROR_DETECTION
, NULL
, HFILL
1624 { &hf_dect_mitel_eth_rfpc_mac_capabilities_inb_normal_delay
,
1625 { "Inb normal delay", "dect_mitel_eth.rfpc.mac_capabilities.inb_normal_delay", FT_BOOLEAN
, 20,
1626 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INB_NORMAL_DELAY
, NULL
, HFILL
1629 { &hf_dect_mitel_eth_rfpc_mac_capabilities_ina_minimum_delay
,
1630 { "Ina minimum delay", "dect_mitel_eth.rfpc.mac_capabilities.ina_minimum_delay", FT_BOOLEAN
, 20,
1631 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_INA_MINIMUM_DELAY
, NULL
, HFILL
1634 { &hf_dect_mitel_eth_rfpc_mac_capabilities_cf_messages
,
1635 { "Cf messages", "dect_mitel_eth.rfpc.mac_capabilities.cf_messages", FT_BOOLEAN
, 20,
1636 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CF_MESSAGES
, NULL
, HFILL
1639 { &hf_dect_mitel_eth_rfpc_mac_capabilities_b_field_setup
,
1640 { "B-field setup", "dect_mitel_eth.rfpc.mac_capabilities.b_field_setup", FT_BOOLEAN
, 20,
1641 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_B_FIELD_SETUP
, NULL
, HFILL
1644 { &hf_dect_mitel_eth_rfpc_mac_capabilities_advanced_a_field_setup
,
1645 { "Advanced A-field setup", "dect_mitel_eth.rfpc.mac_capabilities.advanced_a_field_setup", FT_BOOLEAN
, 20,
1646 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_ADVANCED_A_FIELD_SETUP
, NULL
, HFILL
1649 { &hf_dect_mitel_eth_rfpc_mac_capabilities_basic_a_field_setup
,
1650 { "Basic A-field setup", "dect_mitel_eth.rfpc.mac_capabilities.basic_a_field_setup", FT_BOOLEAN
, 20,
1651 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_BASIC_A_FIELD_SETUP
, NULL
, HFILL
1654 { &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_downlink
,
1655 { "Cl downlink", "dect_mitel_eth.rfpc.mac_capabilities.cl_downlink", FT_BOOLEAN
, 20,
1656 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_DOWNLINK
, NULL
, HFILL
1659 { &hf_dect_mitel_eth_rfpc_mac_capabilities_cl_uplink
,
1660 { "Cl uplink", "dect_mitel_eth.rfpc.mac_capabilities.cl_uplink", FT_BOOLEAN
, 20,
1661 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CL_UPLINK
, NULL
, HFILL
1664 { &hf_dect_mitel_eth_rfpc_mac_capabilities_co_setup_on_dummy_allowed
,
1665 { "CO setup on dummy allowed", "dect_mitel_eth.rfpc.mac_capabilities.co_setup_on_dummy_allowed", FT_BOOLEAN
, 20,
1666 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_CO_SETUP_ON_DUMMY_ALLOWED
, NULL
, HFILL
1669 { &hf_dect_mitel_eth_rfpc_mac_capabilities_page_repetition
,
1670 { "Page repetition", "dect_mitel_eth.rfpc.mac_capabilities.page_repetition", FT_BOOLEAN
, 20,
1671 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_PAGE_REPETITION
, NULL
, HFILL
1674 { &hf_dect_mitel_eth_rfpc_mac_capabilities_frequency_control
,
1675 { "Frequency control", "dect_mitel_eth.rfpc.mac_capabilities.frequency_control", FT_BOOLEAN
, 20,
1676 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_FREQUENCY_CONTROL
, NULL
, HFILL
1679 { &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_full
,
1680 { "Slot size full", "dect_mitel_eth.rfpc.mac_capabilities.slot_size_full", FT_BOOLEAN
, 20,
1681 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_FULL
, NULL
, HFILL
1684 { &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_half
,
1685 { "Slot size half", "dect_mitel_eth.rfpc.mac_capabilities.slot_size_half", FT_BOOLEAN
, 20,
1686 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_HALF
, NULL
, HFILL
1689 { &hf_dect_mitel_eth_rfpc_mac_capabilities_slot_size_double
,
1690 { "Slot size double", "dect_mitel_eth.rfpc.mac_capabilities.slot_size_double", FT_BOOLEAN
, 20,
1691 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_SLOT_SIZE_DOUBLE
, NULL
, HFILL
1694 { &hf_dect_mitel_eth_rfpc_mac_capabilities_double_duplex_bearer_connections
,
1695 { "Double duplexe bearer connections", "dect_mitel_eth.rfpc.mac_capabilities.double_duplex_bearer_connections", FT_BOOLEAN
, 20,
1696 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_DOUBLE_DUPLEX_BEARER_CONNECTIONS
, NULL
, HFILL
1699 { &hf_dect_mitel_eth_rfpc_mac_capabilities_extended_fp_info
,
1700 { "Extended FP info", "dect_mitel_eth.rfpc.mac_capabilities.extended_fp_info", FT_BOOLEAN
, 20,
1701 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_MAC_CAPABILITIES_EXTENDED_FP_INFO
, NULL
, HFILL
1704 /* RFPc Statistic data */
1705 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_1_3
,
1706 { "BMC connections 1-3", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_1_3", FT_UINT16
, BASE_DEC
,
1707 NULL
, 0, NULL
, HFILL
1710 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_4_6
,
1711 { "BMC connections 4-6", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_4_6", FT_UINT16
, BASE_DEC
,
1712 NULL
, 0, NULL
, HFILL
1715 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_7_9
,
1716 { "BMC connections 7-9", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_7_9", FT_UINT16
, BASE_DEC
,
1717 NULL
, 0, NULL
, HFILL
1720 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_connections_10_12
,
1721 { "BMC connections 10-12", "dect_mitel_eth.rfpc.statistic_data.bmc_connections_10_12", FT_UINT16
, BASE_DEC
,
1722 NULL
, 0, NULL
, HFILL
1725 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_1_2
,
1726 { "BMC DSP Channels 1+2", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_1_2", FT_UINT16
, BASE_DEC
,
1727 NULL
, 0, NULL
, HFILL
1730 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_3_4
,
1731 { "BMC DSP Channels 3+4", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_3_4", FT_UINT16
, BASE_DEC
,
1732 NULL
, 0, NULL
, HFILL
1735 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_5_6
,
1736 { "BMC DSP Channels 5+6", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_5_6", FT_UINT16
, BASE_DEC
,
1737 NULL
, 0, NULL
, HFILL
1740 { &hf_dect_mitel_eth_rfpc_statistic_data_bmc_dsp_channels_7_8
,
1741 { "BMC DSP Channels 7+8", "dect_mitel_eth.rfpc.statistic_data.bmc_channels_7_8", FT_UINT16
, BASE_DEC
,
1742 NULL
, 0, NULL
, HFILL
1745 { &hf_dect_mitel_eth_rfpc_statistic_data_lost_connections
,
1746 { "Lost connection", "dect_mitel_eth.rfpc.statistic_data.lost_connections", FT_UINT16
, BASE_DEC
,
1747 NULL
, 0, NULL
, HFILL
1750 { &hf_dect_mitel_eth_rfpc_statistic_data_mac_reset
,
1751 { "MAC reset", "dect_mitel_eth.rfpc.statistic_data.mac_reset", FT_UINT16
, BASE_DEC
,
1752 NULL
, 0, NULL
, HFILL
1755 { &hf_dect_mitel_eth_rfpc_statistic_data_reject_dummy
,
1756 { "Reject dummy", "dect_mitel_eth.rfpc.statistic_data.reject_dummy", FT_UINT16
, BASE_DEC
,
1757 NULL
, 0, NULL
, HFILL
1760 { &hf_dect_mitel_eth_rfpc_statistic_data_handoff_timer
,
1761 { "Handoff timer", "dect_mitel_eth.rfpc.statistic_data.handoff_timer", FT_UINT16
, BASE_DEC
,
1762 NULL
, 0, NULL
, HFILL
1765 { &hf_dect_mitel_eth_rfpc_statistic_data_bad_frames
,
1766 { "Bad frames", "dect_mitel_eth.rfpc.statistic_data.bad_frames", FT_UINT32
, BASE_DEC
,
1767 NULL
, 0, NULL
, HFILL
1770 { &hf_dect_mitel_eth_rfpc_statistic_data_good_frames
,
1771 { "Good frames", "dect_mitel_eth.rfpc.statistic_data.good_frames", FT_UINT32
, BASE_DEC
,
1772 NULL
, 0, NULL
, HFILL
1776 { &hf_dect_mitel_eth_rfpc_rfp_pli_length_indicator
,
1777 { "PARK length indicator", "dect_mitel_eth.rfpc.rfp_pli.length_indicator", FT_UINT8
, BASE_DEC
,
1778 NULL
, 0, NULL
, HFILL
1781 /* RFPc Extended capabilities 2 */
1782 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_flags
,
1783 { "MAC capability flags", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.flags", FT_UINT16
, BASE_HEX
,
1784 NULL
, 0x0FFF, NULL
, HFILL
1787 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_640
,
1788 { "Long slot; j = 640", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.slot_type.long_640", FT_BOOLEAN
, 12,
1789 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_640
, NULL
, HFILL
1792 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_slot_type_long_672
,
1793 { "Long slot; j = 672", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.slot_type.long_672", FT_BOOLEAN
, 12,
1794 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_SLOT_TYPE_LONG_672
, NULL
, HFILL
1797 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_mux_e_u
,
1798 { "E+U-type mux and channel I PF basic procedures", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.mux_e_u", FT_BOOLEAN
, 12,
1799 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_MUX_E_U
, NULL
, HFILL
1802 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_ipf
,
1803 { "Channel I PF advanced procedures", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.channel_ipf", FT_BOOLEAN
, 12,
1804 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_IPF
, NULL
, HFILL
1807 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_sipf
,
1808 { "Channel SI PF", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.channel_sipf", FT_BOOLEAN
, 12,
1809 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_SIPF
, NULL
, HFILL
1812 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_channel_gf
,
1813 { "Channel GF", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.channel_gf", FT_BOOLEAN
, 12,
1814 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_CHANNEL_GF
, NULL
, HFILL
1817 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_wrs_ule
,
1818 { "WRS for ULE", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.wrs_ule", FT_BOOLEAN
, 12,
1819 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_WRS_ULE
, NULL
, HFILL
1822 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_mac_capability_no_emission_preferred_cn
,
1823 { "No emission mode preferred cn", "dect_mitel_eth.rfpc.extended_capabilities2.mac_capability.no_emission_preferred_cn", FT_BOOLEAN
, 12,
1824 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MAC_CAPABILITY_NO_EMISSION_PREFERRED_CN
, NULL
, HFILL
1827 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_flags
,
1828 { "Capability flags", "dect_mitel_eth.rfpc.extended_capabilities2.flags", FT_UINT24
, BASE_HEX
,
1829 NULL
, 0, NULL
, HFILL
1832 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category
,
1833 { "DPRS data category", "dect_mitel_eth.rfpc.extended_capabilities2.dprs_data_category", FT_UINT24
, BASE_HEX
,
1834 VALS(dect_mitel_eth_rfpc_extended_capabilities2_dprs_data_category_val
), 0x780000, NULL
, HFILL
1837 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_1
,
1838 { "NG-DECT Part 1: Wideband voice", "dect_mitel_eth.rfpc.extended_capabilities2.ng_dect_1", FT_BOOLEAN
, 24,
1839 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_1
, NULL
, HFILL
1842 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_3
,
1843 { "NG-DECT Part 3: Extended wideband voice", "dect_mitel_eth.rfpc.extended_capabilities2.ng_dect_3", FT_BOOLEAN
, 24,
1844 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_3
, NULL
, HFILL
1847 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_permanent_clir
,
1848 { "Permanent CLIR", "dect_mitel_eth.rfpc.extended_capabilities2.permanent_clir", FT_BOOLEAN
, 24,
1849 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_PERMANENT_CLIR
, NULL
, HFILL
1852 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_third_party_conference
,
1853 { "Third party conference", "dect_mitel_eth.rfpc.extended_capabilities2.third_party_conference", FT_BOOLEAN
, 24,
1854 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_THIRD_PARTY_CONFERENCE
, NULL
, HFILL
1857 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_intrusion_call
,
1858 { "Intrusion call", "dect_mitel_eth.rfpc.extended_capabilities2.intrusion_call", FT_BOOLEAN
, 24,
1859 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_INTRUSION_CALL
, NULL
, HFILL
1862 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_call_deflection
,
1863 { "Call deflection", "dect_mitel_eth.rfpc.extended_capabilities2.call_deflection", FT_BOOLEAN
, 24,
1864 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_CALL_DEFLECTION
, NULL
, HFILL
1867 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_multiple_lines
,
1868 { "Multiple lines", "dect_mitel_eth.rfpc.extended_capabilities2.multiple_lines", FT_BOOLEAN
, 24,
1869 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_MULTIPLE_LINES
, NULL
, HFILL
1872 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_no_emission
,
1873 { "Capability to support \"no emission\" or U-NEMo mode", "dect_mitel_eth.rfpc.extended_capabilities2.no_emission", FT_BOOLEAN
, 24,
1874 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NO_EMISSION
, NULL
, HFILL
1877 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_ng_dect_5
,
1878 { "NG-DECT Part 5", "dect_mitel_eth.rfpc.extended_capabilities2.ng_dect_5", FT_BOOLEAN
, 24,
1879 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_NG_DECT_5
, NULL
, HFILL
1882 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_re_keying
,
1883 { "Re-keying and default cipher key early encryption mechanism", "dect_mitel_eth.rfpc.extended_capabilities2.re_keying", FT_BOOLEAN
, 24,
1884 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_RE_KEYING
, NULL
, HFILL
1887 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsaa2
,
1888 { "DSAA2 supported", "dect_mitel_eth.rfpc.extended_capabilities2.dsaa2", FT_BOOLEAN
, 24,
1889 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSAA2
, NULL
, HFILL
1892 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_dsc2
,
1893 { "DSC2 supported", "dect_mitel_eth.rfpc.extended_capabilities2.dsc2", FT_BOOLEAN
, 24,
1894 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_DSC2
, NULL
, HFILL
1897 { &hf_dect_mitel_eth_rfpc_extended_capabilities2_light_data
,
1898 { "Light data services", "dect_mitel_eth.rfpc.extended_capabilities2.light_data", FT_BOOLEAN
, 24,
1899 TFS(&tfs_yes_no
), DECT_MITEL_ETH_RFPC_EXTENDED_CAPABILITIES2_LIGHT_DATA
, NULL
, HFILL
1903 { &hf_dect_mitel_eth_mac_con_ind_flags
,
1904 { "Flags", "dect_mitel_eth.mac_con_ind.flags", FT_UINT8
, BASE_HEX
,
1905 NULL
, 0x0, NULL
, HFILL
1908 { &hf_dect_mitel_eth_mac_con_ind_flag_handover
,
1909 { "Handover", "dect_mitel_eth.mac_con_ind.flags.handover", FT_BOOLEAN
, 8,
1910 TFS(&tfs_yes_no
), DECT_MITEL_ETH_MAC_CON_IND_FLAG_HANDOVER
, NULL
, HFILL
1914 { &hf_dect_mitel_eth_mac_dis_ind_reason
,
1915 { "Reason", "dect_mitel_eth.mac_dis_ind.reason", FT_UINT8
, BASE_HEX
,
1916 VALS(dect_mitel_eth_mac_dis_ind_reason_val
), 0x0, NULL
, HFILL
1920 { &hf_dect_mitel_eth_mac_page_req_flags
,
1921 { "Flags", "dect_mitel_eth.mac_page_req.flags", FT_UINT8
, BASE_HEX
,
1922 NULL
, 0x0, NULL
, HFILL
1925 /* MAC_ENC_KEY_REQ */
1926 { &hf_dect_mitel_eth_mac_enc_key_req_key
,
1927 { "Key", "dect_mitel_eth.mac.enc_key_req.key", FT_UINT64
, BASE_HEX
,
1928 NULL
, 0, NULL
, HFILL
1931 { &hf_dect_mitel_eth_mac_enc_key_req_id
,
1932 { "ID", "dect_mitel_eth.mac.enc_key_req.id", FT_UINT8
, BASE_HEX
,
1933 NULL
, 0, NULL
, HFILL
1936 /* MAC_ENC_EKS_IND */
1937 { &hf_dect_mitel_eth_mac_enc_eks_ind_type
,
1938 { "Type", "dect_mitel_eth.mac.enc_eks_ind.type", FT_UINT8
, BASE_HEX
,
1939 VALS(dect_mitel_eth_mac_enc_eks_ind_type_val
), 0, NULL
, HFILL
1942 { &hf_dect_mitel_eth_mac_enc_eks_ind_id
,
1943 { "ID", "dect_mitel_eth.mac.enc_eks_ind.id", FT_UINT8
, BASE_HEX
,
1944 NULL
, 0, NULL
, HFILL
1947 { &hf_dect_mitel_eth_mac_enc_eks_ind_ppn
,
1948 { "PPN", "dect_mitel_eth.mac.enc_eks_ind.ppn", FT_UINT16
, BASE_HEX
,
1949 NULL
, 0, NULL
, HFILL
1952 /* MAC_HO_IN_PROGRESS_RES */
1953 { &hf_dect_mitel_eth_mac_ho_in_progress_res_key
,
1954 { "Key", "dect_mitel_eth.mac.ho_in_progress_res.key", FT_UINT64
, BASE_HEX
,
1955 NULL
, 0, NULL
, HFILL
1958 { &hf_dect_mitel_eth_mac_ho_in_progress_res_id
,
1959 { "ID", "dect_mitel_eth.mac.ho_in_progress_res.id", FT_UINT8
, BASE_HEX
,
1960 NULL
, 0, NULL
, HFILL
1963 /* MAC_HO_FAILED_IND */
1964 { &hf_dect_mitel_eth_mac_ho_failed_ind_reason
,
1965 { "Reason", "dect_mitel_eth.mac.ho_failed_ind.reason", FT_UINT8
, BASE_HEX
,
1966 VALS(dect_mitel_eth_mac_ho_failed_ind_reason_val
), 0, NULL
, HFILL
1969 { &hf_dect_mitel_eth_mt_item_key
,
1970 { "Key", "dect_mitel_eth.mt.item.key", FT_UINT8
, BASE_HEX
,
1971 NULL
, 0x0, NULL
, HFILL
1974 { &hf_dect_mitel_eth_mt_item_length
,
1975 { "Length", "dect_mitel_eth.mt.item.length", FT_UINT8
, BASE_DEC
,
1976 NULL
, 0x0, NULL
, HFILL
1979 { &hf_dect_mitel_eth_mt_item_value
,
1980 { "Value", "dect_mitel_eth.mt.item.value", FT_BYTES
, BASE_NONE
,
1981 NULL
, 0x0, NULL
, HFILL
1986 static int *ett
[] = {
1987 &ett_dect_mitel_eth
,
1988 &ett_dect_mitel_eth_rfpc_item
,
1989 &ett_dect_mitel_eth_higher_layer_capabilities_flags
,
1990 &ett_dect_mitel_eth_extended_capabilities_flags
,
1991 &ett_dect_mitel_eth_mac_capabilities_flags
,
1992 &ett_dect_mitel_eth_extended_capabilities2_mac_capability_flags
,
1993 &ett_dect_mitel_eth_extended_capabilities2_flags
,
1996 /* Register protocol */
1997 proto_dect_mitel_eth
= proto_register_protocol("Aastra/Mitel DECT-over-Ethernet", "Mitel-DECToE", "dect_mitel_eth");
1999 proto_register_subtree_array(ett
, array_length(ett
));
2000 proto_register_field_array(proto_dect_mitel_eth
, hf
, array_length(hf
));
2002 register_dissector("dect_mitel_eth", dissect_dect_mitel_eth
, proto_dect_mitel_eth
);
2005 void proto_reg_handoff_dect_mitel_eth(void)
2007 dissector_handle_t dect_mitel_eth_handle
=
2008 create_dissector_handle(dissect_dect_mitel_eth
, proto_dect_mitel_eth
);
2009 dissector_add_uint("ethertype", DECT_MITEL_ETH_T_XDLC
, dect_mitel_eth_handle
);
2011 dlc_handle
= find_dissector("dect_dlc");
2015 * Editor modelines - http://www.wireshark.org/tools/modelines.html
2020 * indent-tabs-mode: t
2023 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
2024 * :indentSize=8:tabSize=8:noTabs=false: