1 /* packet-dect-mitel-rfp.c
2 * Routines for DECT-Mitel-RFP dissection
3 * Copyright 2022, Bernhard Dick <bernhard@bdick.de>
5 * Parts are based on the EVENTPHONE rfpproxy project that is MIT licensed
6 * and Copyright (c) 2019 Bianco Veigel <devel at zivillian.de>
8 * Wireshark - Network traffic analyzer
9 * By Gerald Combs <gerald@wireshark.org>
10 * Copyright 1998 Gerald Combs
12 * SPDX-License-Identifier: GPL-2.0-or-later
16 * This is a proprietary protocol deveolped by Mitel for communication
17 * between the DECT system management Software (OMM) and the DECT
23 #include <epan/packet.h>
24 #include <epan/column-utils.h>
25 #include <epan/prefs.h>
26 #include <epan/proto.h>
28 #include <epan/tvbuff.h>
29 #include <epan/unit_strings.h>
30 #include <epan/value_string.h>
31 #include <ftypes/ftypes.h>
34 void proto_reg_handoff_dect_mitel_rfp(void);
35 void proto_register_dect_mitel_rfp(void);
37 /* Initialize the protocol and registered fields */
38 static int proto_dect_mitel_rfp
;
40 static int hf_dect_mitel_rfp_message_type
;
41 static int hf_dect_mitel_rfp_message_length
;
44 static int hf_dect_mitel_rfp_control_ack_message
;
45 static int hf_dect_mitel_rfp_control_ack_call_id
;
48 static int hf_dect_mitel_rfp_control_nack_message
;
49 static int hf_dect_mitel_rfp_control_nack_call_id
;
50 static int hf_dect_mitel_rfp_control_nack_reason
;
52 /* CONTROL-HEARTBEAT */
53 static int hf_dect_mitel_rfp_control_heartbeat_milliseconds
;
54 static int hf_dect_mitel_rfp_control_heartbeat_nanoseconds
;
57 static int hf_dect_mitel_rfp_sys_ip_options_voice_tos
;
58 static int hf_dect_mitel_rfp_sys_ip_options_signalling_tos
;
59 static int hf_dect_mitel_rfp_sys_ip_options_ttl
;
60 static int hf_dect_mitel_rfp_sys_ip_options_signal_vlan_priority
;
61 static int hf_dect_mitel_rfp_sys_ip_options_voice_vlan_priority
;
64 static int hf_dect_mitel_rfp_sys_led_id
;
65 static int hf_dect_mitel_rfp_sys_led_color
;
67 /* SYS-HEARTBEAT-INTERVAL */
68 static int hf_dect_mitel_rfp_sys_heartbeat_interval_value
;
71 static int hf_dect_mitel_rfp_sys_syslog_ip_address
;
72 static int hf_dect_mitel_rfp_sys_syslog_port
;
74 /* SYS-MAX-CHANNELS */
75 static int hf_dect_mitel_rfp_sys_max_channels_dsp
;
76 static int hf_dect_mitel_rfp_sys_max_channels_sessions
;
79 static int hf_dect_mitel_rfp_sys_http_set_ip_address
;
80 static int hf_dect_mitel_rfp_sys_http_set_port
;
83 static int hf_dect_mitel_rfp_sys_passwd_remote_access_enabled
;
84 static int hf_dect_mitel_rfp_sys_passwd_root_username
;
85 static int hf_dect_mitel_rfp_sys_passwd_root_password
;
86 static int hf_dect_mitel_rfp_sys_passwd_admin_username
;
87 static int hf_dect_mitel_rfp_sys_passwd_admin_password
;
90 static int hf_dect_mitel_rfp_sys_rping_ip_address
;
91 static int hf_dect_mitel_rfp_sys_rping_rtt
;
94 static int hf_dect_mitel_rfp_sys_core_dump_url
;
97 static int hf_dect_mitel_rfp_sys_vsntp_time_t1_seconds
;
98 static int hf_dect_mitel_rfp_sys_vsntp_time_t1_nanoseconds
;
99 static int hf_dect_mitel_rfp_sys_vsntp_time_t2_seconds
;
100 static int hf_dect_mitel_rfp_sys_vsntp_time_t2_nanoseconds
;
103 static int hf_dect_mitel_rfp_sys_init_rfp_model
;
104 static int hf_dect_mitel_rfp_sys_init_rfp_mac
;
105 static int hf_dect_mitel_rfp_sys_init_crypted
;
106 static int hf_dect_mitel_rfp_sys_init_protocol
;
107 static int hf_dect_mitel_rfp_sys_init_rfp_capabilities
;
108 static int hf_dect_mitel_rfp_sys_init_rfp_capability_normal_tx
;
109 static int hf_dect_mitel_rfp_sys_init_rfp_capability_indoor
;
110 static int hf_dect_mitel_rfp_sys_init_rfp_capability_wlan
;
111 static int hf_dect_mitel_rfp_sys_init_rfp_capability_encryption
;
112 static int hf_dect_mitel_rfp_sys_init_rfp_capability_frequency_shift
;
113 static int hf_dect_mitel_rfp_sys_init_rfp_capability_low_tx
;
114 static int hf_dect_mitel_rfp_sys_init_rfp_capability_advanced_feature
;
115 static int hf_dect_mitel_rfp_sys_init_rfp_software_version
;
116 static int hf_dect_mitel_rfp_sys_init_signature
;
118 /* SYS-AUTHENTICATE */
119 static int hf_dect_mitel_rfp_sys_authenticate_omm_iv
;
120 static int hf_dect_mitel_rfp_sys_authenticate_rfp_iv
;
122 /* SYS-LICENSE-TIMER */
123 static int hf_dect_mitel_rfp_sys_license_timer_query
;
124 static int hf_dect_mitel_rfp_sys_license_timer_grace_period
;
125 static int hf_dect_mitel_rfp_sys_license_timer_checksum
;
128 static int hf_dect_mitel_rfp_media_handle
;
129 static int hf_dect_mitel_rfp_media_mcei
;
130 static int hf_dect_mitel_rfp_media_direction
;
133 static int hf_dect_mitel_rfp_media_open_codec
;
134 static int hf_dect_mitel_rfp_media_open_slot_count
;
135 static int hf_dect_mitel_rfp_media_open_flags
;
138 static int hf_dect_mitel_rfp_media_conf_vif
;
139 static int hf_dect_mitel_rfp_media_conf_vad
;
140 static int hf_dect_mitel_rfp_media_conf_codec_count
;
141 static int hf_dect_mitel_rfp_media_conf_codec_type
;
142 static int hf_dect_mitel_rfp_media_conf_codec_pt
;
143 static int hf_dect_mitel_rfp_media_conf_codec_rate
;
144 static int hf_dect_mitel_rfp_media_conf_ppn
;
145 static int hf_dect_mitel_rfp_media_conf_local_port_1
;
146 static int hf_dect_mitel_rfp_media_conf_local_port_2
;
147 static int hf_dect_mitel_rfp_media_conf_rx_ip_address
;
148 static int hf_dect_mitel_rfp_media_conf_rx_port_1
;
149 static int hf_dect_mitel_rfp_media_conf_rx_port_2
;
150 static int hf_dect_mitel_rfp_media_conf_tx_ip_address
;
151 static int hf_dect_mitel_rfp_media_conf_tx_port_1
;
152 static int hf_dect_mitel_rfp_media_conf_tx_port_2
;
155 static int hf_dect_mitel_rfp_media_start_time
;
156 static int hf_dect_mitel_rfp_media_start_met_keep_alive
;
158 /* MEDIA-STATISTICS */
159 static int hf_dect_mitel_rfp_media_statistics_duration
;
160 static int hf_dect_mitel_rfp_media_statistics_tx_packets
;
161 static int hf_dect_mitel_rfp_media_statistics_tx_bytes
;
162 static int hf_dect_mitel_rfp_media_statistics_rx_packets
;
163 static int hf_dect_mitel_rfp_media_statistics_rx_bytes
;
164 static int hf_dect_mitel_rfp_media_statistics_lost_packets
;
165 static int hf_dect_mitel_rfp_media_statistics_max_jitter
;
166 static int hf_dect_mitel_rfp_media_statistics_rtp_ip_address
;
168 /* MEDIA-REDIRECT-START */
169 static int hf_dect_mitel_rfp_media_redirect_start_local_port_1
;
170 static int hf_dect_mitel_rfp_media_redirect_start_local_port_2
;
171 static int hf_dect_mitel_rfp_media_redirect_start_remote_ip_address
;
172 static int hf_dect_mitel_rfp_media_redirect_start_remote_port_1
;
173 static int hf_dect_mitel_rfp_media_redirect_start_remote_port_2
;
174 static int hf_dect_mitel_rfp_media_redirect_start_time
;
176 /* MEDIA-REDIRECT-STOP */
177 static int hf_dect_mitel_rfp_media_redirect_stop_fallback
;
180 static int hf_dect_mitel_rfp_media_dtmf_duration
;
181 static int hf_dect_mitel_rfp_media_dtmf_key
;
184 static int hf_dect_mitel_rfp_media_tone_count
;
185 static int hf_dect_mitel_rfp_media_tone_frequency_1
;
186 static int hf_dect_mitel_rfp_media_tone_frequency_2
;
187 static int hf_dect_mitel_rfp_media_tone_frequency_3
;
188 static int hf_dect_mitel_rfp_media_tone_frequency_4
;
189 static int hf_dect_mitel_rfp_media_tone_cb_1
;
190 static int hf_dect_mitel_rfp_media_tone_cb_2
;
191 static int hf_dect_mitel_rfp_media_tone_cb_3
;
192 static int hf_dect_mitel_rfp_media_tone_cb_4
;
193 static int hf_dect_mitel_rfp_media_tone_duration
;
194 static int hf_dect_mitel_rfp_media_tone_cycle_count
;
195 static int hf_dect_mitel_rfp_media_tone_cycle_to
;
196 static int hf_dect_mitel_rfp_media_tone_next
;
199 static int hf_dect_mitel_rfp_sync_payload_type
;
200 static int hf_dect_mitel_rfp_sync_payload_length
;
202 /* SYNC FREQ_CTRL_MODE_IND */
203 static int hf_dect_mitel_rfp_sync_freq_ctrl_mode_ind_mode
;
205 /* SYNC FREQ_CTRL_MODE_CFM */
206 static int hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_mode
;
207 static int hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_ppm
;
208 static int hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_avg
;
210 /* SYNC SET_FREQUENCY */
211 static int hf_dect_mitel_rfp_sync_set_frequency_value
;
213 /* SYNC START_MAC_SLAVE_MODE_IND */
214 static int hf_dect_mitel_rfp_sync_start_mac_slave_mode_ind_rfp
;
216 /* SYNC SYSTEM_SEARCH_IND */
217 static int hf_dect_mitel_rfp_sync_system_search_ind_mode
;
219 /* SYNC SYSTEM_SEARCH_CFM */
220 static int hf_dect_mitel_rfp_sync_system_search_cfm_count
;
221 static int hf_dect_mitel_rfp_sync_system_search_cfm_item_rpn
;
222 static int hf_dect_mitel_rfp_sync_system_search_cfm_item_rssi
;
224 /* SYNC PHASE_OFS_WITH_RSSI_IND */
225 static int hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_count
;
226 static int hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_rpn
;
227 static int hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_offset
;
228 static int hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_rssi
;
229 static int hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_qt_sync_check
;
232 enum dect_mitel_rfp_message_type_coding
{
233 DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_ACK
= 0x0001,
234 DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_NACK
= 0x0002,
235 DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_HEARTBEAT
= 0x0003,
236 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_IP_OPTIONS
= 0x0101,
237 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_LED
= 0x0102,
238 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SPY
= 0x0104,
239 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_HEARTBEAT_INTERVAL
= 0x0105,
240 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RSX
= 0x0106,
241 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SYSLOG
= 0x0107,
242 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_MAX_CHANNELS
= 0x0108,
243 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_HTTP_SET
= 0x0109,
244 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_PASSWD
= 0x010a,
245 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_CRYPTED_PACKET
= 0x010b,
246 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_OMM_CONTROL
= 0x010c,
247 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STATE_DUMP
= 0x010d,
248 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RPING
= 0x010e,
249 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STATE_DUMP_REQ
= 0x010f,
250 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STATE_DUMP_RES
= 0x0110,
251 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_NEW_SW
= 0x0111,
252 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_AUDIO_LOG
= 0x0112,
253 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_USB_OVERLOAD
= 0x0113,
254 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SW_CONTAINER
= 0x0115,
255 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_CORE_DUMP
= 0x0116,
256 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_VSNTP_TIME
= 0x0117,
257 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_UPDATE_802_1X_SUPPLICANT
= 0x0119,
258 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_INIT
= 0x0120,
259 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RESET
= 0x0121,
260 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SUPPLICANT_MD5
= 0x0122,
261 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STREAM_INFO
= 0x0123,
262 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RFP_AUTH_KEY
= 0x0124,
263 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RFP_RE_ENROLEMENT
= 0x0125,
264 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_ENCRYPTION_CONF
= 0x0126,
265 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_AUTHENTICATE
= 0x012d,
266 DECT_MITEL_RFP_MESSAGE_TYPE_SYS_LICENSE_TIMER
= 0x0134,
267 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_OPEN
= 0x0200,
268 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CONF
= 0x0201,
269 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CLOSE
= 0x0202,
270 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_START
= 0x0203,
271 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STOP
= 0x0204,
272 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STATISTICS
= 0x0205,
273 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_START
= 0x0206,
274 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_STOP
= 0x0207,
275 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_RESTART
= 0x0208,
276 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_DTMF
= 0x0209,
277 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_DSP_CLOSE
= 0x020a,
278 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_TONE
= 0x020b,
279 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_BANDWIDTH_SWO
= 0x020c,
280 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_MUTE
= 0x020d,
281 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_G729_USED
= 0x020e,
282 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_TRACE_PPN
= 0x020f,
283 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_EOS_DETECT
= 0x0210,
284 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_AUDIO_STATISTICS
= 0x0211,
285 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_VIDEO_STATE
= 0x0212,
286 DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CHANNEL_MOD_INFO
= 0x0213,
287 DECT_MITEL_RFP_MESSAGE_TYPE_ETH
= 0x0301,
288 DECT_MITEL_RFP_MESSAGE_TYPE_SYNC
= 0x0302,
289 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CONFIG
= 0x0401,
290 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_UP
= 0x0402,
291 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_DOWN
= 0x0403,
292 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CLIENT_REQ
= 0x0404,
293 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CLIENT_REP
= 0x0405,
294 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_SET_ACL
= 0x0406,
295 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CLIENT_INFO
= 0x0407,
296 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_ACK
= 0x0408,
297 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_LINK_NOK_NACK
= 0x0409,
298 DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_IFACE_REP
= 0x040e,
299 DECT_MITEL_RFP_MESSAGE_TYPE_SNMP_RFP_UPDATE
= 0x0501,
300 DECT_MITEL_RFP_MESSAGE_TYPE_CONF_OPEN
= 0x0600,
301 DECT_MITEL_RFP_MESSAGE_TYPE_CONF_ADD_SUBSCR
= 0x0601,
302 DECT_MITEL_RFP_MESSAGE_TYPE_CONF_CHG_SUBSCR
= 0x0602,
303 DECT_MITEL_RFP_MESSAGE_TYPE_CONF_DEL_SUBSCR
= 0x0603,
304 DECT_MITEL_RFP_MESSAGE_TYPE_CONF_CLOSE
= 0x0604,
305 DECT_MITEL_RFP_MESSAGE_TYPE_CONF_RTP
= 0x0605,
306 DECT_MITEL_RFP_MESSAGE_TYPE_BLUETOOTH_DEVICE
= 0x0700,
307 DECT_MITEL_RFP_MESSAGE_TYPE_BLUETOOTH_CONFIG
= 0x0701,
308 DECT_MITEL_RFP_MESSAGE_TYPE_BLUETOOTH_DATA
= 0x0702,
309 DECT_MITEL_RFP_MESSAGE_TYPE_VIDEO_DEVICE
= 0x0800,
310 DECT_MITEL_RFP_MESSAGE_TYPE_VIDEO_CONFIG
= 0x0801,
314 enum dect_mitel_rfp_control_nack_reason_coding
{
315 DECT_MITEL_RFP_CONTROL_NACK_REASON_OK
= 0x04000000,
316 DECT_MITEL_RFP_CONTROL_NACK_REASON_INVALID_ELEMENT
= 0x04000001,
317 DECT_MITEL_RFP_CONTROL_NACK_REASON_NO_RESOURCE
= 0x04000002,
318 DECT_MITEL_RFP_CONTROL_NACK_REASON_WRONG_STATE
= 0x04000003,
319 DECT_MITEL_RFP_CONTROL_NACK_REASON_INVALID_PARAMETERS
= 0x04000004,
320 DECT_MITEL_RFP_CONTROL_NACK_REASON_PORT_IN_USE
= 0x04000005,
321 DECT_MITEL_RFP_CONTROL_NACK_REASON_CODEC_NOT_SUPPORTED
= 0x04000006,
322 DECT_MITEL_RFP_CONTROL_NACK_REASON_VIDEO_NOT_SUPPORTED
= 0x04000007,
326 enum dect_mitel_rfp_sys_led_color_coding
{
327 DECT_MITEL_RFP_SYS_LED_COLOR_OFF
= 0x00,
328 DECT_MITEL_RFP_SYS_LED_COLOR_STEADY_GREEN
= 0x01,
329 DECT_MITEL_RFP_SYS_LED_COLOR_FLASH_GREEN
= 0x02,
330 DECT_MITEL_RFP_SYS_LED_COLOR_FLASH_GREEN_ORANGE
= 0x03,
331 DECT_MITEL_RFP_SYS_LED_COLOR_FLASH_GREEN_RED
= 0x04,
332 DECT_MITEL_RFP_SYS_LED_COLOR_STEADY_RED
= 0x05,
333 DECT_MITEL_RFP_SYS_LED_COLOR_STEADY_ORANGE
= 0x06,
334 DECT_MITEL_RFP_SYS_LED_COLOR_CYCLE_GREEN_RED
= 0x07,
338 enum dect_mitel_rfp_sys_init_rfp_model_coding
{
339 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP31
= 0x0001,
340 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP33
= 0x0002,
341 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP41
= 0x0003,
342 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP32
= 0x0004,
343 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP32US
= 0x0005,
344 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP34
= 0x0006,
345 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP34US
= 0x0007,
346 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP42
= 0x0008,
347 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP42US
= 0x0009,
348 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP35
= 0x000b,
349 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP36
= 0x000c,
350 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP43
= 0x000d,
351 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP37
= 0x000e,
352 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP44
= 0x0010,
353 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP45
= 0x0011,
354 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP47
= 0x0012,
355 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP48
= 0x0013,
356 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_PC_ECM
= 0x0014,
357 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_PC
= 0x0015,
358 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL31
= 0x1001,
359 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL33
= 0x1002,
360 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL41
= 0x1003,
361 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL32US
= 0x1005,
362 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL34
= 0x1006,
363 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL34US
= 0x1007,
364 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL42
= 0x1008,
365 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL42US
= 0x1009,
366 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL35
= 0x100B,
367 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL36
= 0x100C,
368 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL43
= 0x100D,
369 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL37
= 0x100E,
370 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL35
= 0x200B,
371 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL36
= 0x200C,
372 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL43
= 0x200D,
373 DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL37
= 0x200E,
376 enum dect_mitel_rfp_sys_init_rfp_capability_coding
{
377 DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_NORMAL_TX
= 0x00000008,
378 DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_INDOOR
= 0x00000010,
379 DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_WLAN
= 0x00000020,
380 DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_ENCRYPTION
= 0x00000100,
381 DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_FREQUENCY_SHIFT
= 0x00000200,
382 DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_LOW_TX
= 0x00000400,
383 DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_ADVANCED_FEATURE
= 0x00008000,
387 enum dect_mitel_rfp_media_direction_coding
{
388 DECT_MITEL_RFP_MEDIA_DIRECTION_NONE
= 0x0,
389 DECT_MITEL_RFP_MEDIA_DIRECTION_RX
= 0x1,
390 DECT_MITEL_RFP_MEDIA_DIRECTION_TX
= 0x2,
391 DECT_MITEL_RFP_MEDIA_DIRECTION_RXTX
= 0x3,
395 enum dect_mitel_rfp_media_conf_codec_type_coding
{
396 DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G711_A
= 0x0,
397 DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G723_1_53
= 0x1,
398 DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G723_1_63
= 0x2,
399 DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G729
= 0x3,
400 DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G711_U
= 0x4,
404 enum dect_mitel_rfp_sync_payload_type_coding
{
405 DECT_MITEL_RFP_SYNC_TYPE_GET_REQ_RSSI_COMP_IND
= 0x7d0e,
406 DECT_MITEL_RFP_SYNC_TYPE_GET_REQ_RSSI_COMP_CFM
= 0x7d0f,
407 DECT_MITEL_RFP_SYNC_TYPE_FREQ_CTRL_MODE_IND
= 0x7d15,
408 DECT_MITEL_RFP_SYNC_TYPE_FREQ_CTRL_MODE_CFM
= 0x7d16,
409 DECT_MITEL_RFP_SYNC_TYPE_PHASE_OFFSET_IND
= 0x7d17,
410 DECT_MITEL_RFP_SYNC_TYPE_SET_FREQUENCY
= 0x7d18,
411 DECT_MITEL_RFP_SYNC_TYPE_SET_REPORT_LIMIT
= 0x7d1a,
412 DECT_MITEL_RFP_SYNC_TYPE_RESET_MAC_IND
= 0x7d1b,
413 DECT_MITEL_RFP_SYNC_TYPE_START_MAC_MASTER_IND
= 0x7d1c,
414 DECT_MITEL_RFP_SYNC_TYPE_START_MAC_SLAVE_MODE_IND
= 0x7d1d,
415 DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_IND
= 0x7d1e,
416 DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_CFM
= 0x7d1f,
417 DECT_MITEL_RFP_SYNC_TYPE_MAC_STARTED_IND
= 0x7d20,
418 DECT_MITEL_RFP_SYNC_TYPE_RESET_MAC_CFM
= 0x7d21,
419 DECT_MITEL_RFP_SYNC_TYPE_START_MAC_MASTER_CFM
= 0x7d22,
420 DECT_MITEL_RFP_SYNC_TYPE_START_MAC_MASTER_REJ
= 0x7d23,
421 DECT_MITEL_RFP_SYNC_TYPE_START_MAC_SLAVE_MODE_CFM
= 0x7d24,
422 DECT_MITEL_RFP_SYNC_TYPE_START_MAC_SLAVE_REJ
= 0x7d25,
423 DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_REJ
= 0x7d26,
424 DECT_MITEL_RFP_SYNC_TYPE_READY_FOR_SYNC_IND
= 0x7d27,
425 DECT_MITEL_RFP_SYNC_TYPE_GET_ACTIVE_CHANNEL_CFM
= 0x7d29,
426 DECT_MITEL_RFP_SYNC_TYPE_PHASE_OFS_WITH_RSSI_IND
= 0x7d2c,
427 DECT_MITEL_RFP_SYNC_TYPE_RESET_MAC_IF_IDLE_CFM
= 0x7d2f,
428 DECT_MITEL_RFP_SYNC_TYPE_UNKNOWN_READY_FOR_SYNC
= 0x7d32,
429 DECT_MITEL_RFP_SYNC_TYPE_UNKNOWN_STANDBY
= 0x7d33,
433 static const value_string dect_mitel_rfp_message_type_val
[] = {
434 { DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_ACK
, "CONTROL-ACK" },
435 { DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_NACK
, "CONTROL-NACK" },
436 { DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_HEARTBEAT
, "CONTROL-HEARTBEAT" },
437 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_IP_OPTIONS
, "SYS-IP-OPTIONS" },
438 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_LED
, "SYS-LED" },
439 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SPY
, "SYS-SPY" },
440 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_HEARTBEAT_INTERVAL
, "SYS-HEARTBEAT-INTERVAL" },
441 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RSX
, "SYS-RSX" },
442 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SYSLOG
, "SYS-SYSLOG" },
443 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_MAX_CHANNELS
, "SYS-MAX-CHANNELS" },
444 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_HTTP_SET
, "SYS-HTTP-SET" },
445 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_PASSWD
, "SYS-PASSWD" },
446 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_CRYPTED_PACKET
, "SYS-CRYPTED-PACKET" },
447 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_OMM_CONTROL
, "SYS-OMM-CONTROL" },
448 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STATE_DUMP
, "SYS-STATE-DUMP" },
449 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RPING
, "SYS-RPING" },
450 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STATE_DUMP_REQ
, "SYS-STATE-DUMP-REQ" },
451 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STATE_DUMP_RES
, "SYS-STATE-DUMP-RES" },
452 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_NEW_SW
, "SYS-NEW-SW" },
453 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_AUDIO_LOG
, "SYS-AUDIO-LOG" },
454 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_USB_OVERLOAD
, "SYS-USB-OVERLOAD" },
455 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SW_CONTAINER
, "SYS-SW-CONTAINER" },
456 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_CORE_DUMP
, "SYS-CORE-DUMP" },
457 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_VSNTP_TIME
, "SYS-VSNTP-TIME" },
458 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_UPDATE_802_1X_SUPPLICANT
, "SYS-UPDATE-802-1X-SUPPLICANT" },
459 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_INIT
, "SYS-INIT" },
460 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RESET
, "SYS-RESET" },
461 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SUPPLICANT_MD5
, "SYS-SUPPLICANT-MD5" },
462 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_STREAM_INFO
, "SYS-STREAM-INFO" },
463 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RFP_AUTH_KEY
, "SYS-RFP-AUTH-KEY" },
464 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RFP_RE_ENROLEMENT
, "SYS-RFP-RE-ENROLEMENT" },
465 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_ENCRYPTION_CONF
, "SYS-ENCRYPTION-CONF" },
466 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_AUTHENTICATE
, "SYS-AUTHENTICATE" },
467 { DECT_MITEL_RFP_MESSAGE_TYPE_SYS_LICENSE_TIMER
, "SYS-LICENSE-TIMER" },
468 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_OPEN
, "MEDIA-OPEN" },
469 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CONF
, "MEDIA-CONF" },
470 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CLOSE
, "MEDIA-CLOSE" },
471 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_START
, "MEDIA-START" },
472 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STOP
, "MEDIA-STOP" },
473 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STATISTICS
, "MEDIA-STATISTICS" },
474 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_START
, "MEDIA-REDIRECT-START" },
475 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_STOP
, "MEDIA-REDIRECT-STOP" },
476 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_RESTART
, "MEDIA-RESTART" },
477 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_DTMF
, "MEDIA-DTMF" },
478 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_DSP_CLOSE
, "MEDIA-DSP-CLOSE" },
479 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_TONE
, "MEDIA-TONE" },
480 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_BANDWIDTH_SWO
, "MEDIA-BANDWIDTH-SWO" },
481 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_MUTE
, "MEDIA-MUTE" },
482 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_G729_USED
, "MEDIA-G729-USED" },
483 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_TRACE_PPN
, "MEDIA-TRACE-PPN" },
484 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_EOS_DETECT
, "MEDIA-EOS-DETECT" },
485 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_AUDIO_STATISTICS
, "MEDIA-AUDIO-STATISTICS" },
486 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_VIDEO_STATE
, "MEDIA-VIDEO-STATE" },
487 { DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CHANNEL_MOD_INFO
, "MEDIA-CHANNEL-MOD-INFO" },
488 { DECT_MITEL_RFP_MESSAGE_TYPE_ETH
, "DECToE" },
489 { DECT_MITEL_RFP_MESSAGE_TYPE_SYNC
, "SYNC" },
490 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CONFIG
, "WLAN-RFP-CONFIG" },
491 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_UP
, "WLAN-RFP-UP" },
492 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_DOWN
, "WLAN-RFP-DOWN" },
493 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CLIENT_REQ
, "WLAN-RFP-CLIENT-REQ" },
494 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CLIENT_REP
, "WLAN-RFP-CLIENT-REP" },
495 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_SET_ACL
, "WLAN-RFP-SET-ACL" },
496 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_CLIENT_INFO
, "WLAN-RFP-CLIENT-INFO" },
497 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_ACK
, "WLAN-RFP-ACK" },
498 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_LINK_NOK_NACK
, "WLAN-RFP-LINK-NON-NACK" },
499 { DECT_MITEL_RFP_MESSAGE_TYPE_WLAN_RFP_IFACE_REP
, "WLAN-RFP-IFACE-REP" },
500 { DECT_MITEL_RFP_MESSAGE_TYPE_SNMP_RFP_UPDATE
, "SNMP-RFP-UPDATE" },
501 { DECT_MITEL_RFP_MESSAGE_TYPE_CONF_OPEN
, "CONF-OPEN" },
502 { DECT_MITEL_RFP_MESSAGE_TYPE_CONF_ADD_SUBSCR
, "CONF-ADD-SUBSCR" },
503 { DECT_MITEL_RFP_MESSAGE_TYPE_CONF_CHG_SUBSCR
, "CONF-CHG-SUBSCR" },
504 { DECT_MITEL_RFP_MESSAGE_TYPE_CONF_DEL_SUBSCR
, "CONF-DEL-SUBSCR" },
505 { DECT_MITEL_RFP_MESSAGE_TYPE_CONF_CLOSE
, "CONF-CLOSE" },
506 { DECT_MITEL_RFP_MESSAGE_TYPE_CONF_RTP
, "CONF-RTP" },
507 { DECT_MITEL_RFP_MESSAGE_TYPE_BLUETOOTH_DEVICE
, "BLUETOOTH-DEVICE" },
508 { DECT_MITEL_RFP_MESSAGE_TYPE_BLUETOOTH_CONFIG
, "BLUETOOTH-CONFIG" },
509 { DECT_MITEL_RFP_MESSAGE_TYPE_BLUETOOTH_DATA
, "BLUETOOTH-DATA" },
510 { DECT_MITEL_RFP_MESSAGE_TYPE_VIDEO_DEVICE
, "VIDEO-DEVICE" },
511 { DECT_MITEL_RFP_MESSAGE_TYPE_VIDEO_CONFIG
, "VIDEO-CONFIG" },
516 static const value_string dect_mitel_rfp_control_nack_reason_val
[] = {
517 { DECT_MITEL_RFP_CONTROL_NACK_REASON_OK
, "OK" },
518 { DECT_MITEL_RFP_CONTROL_NACK_REASON_INVALID_ELEMENT
, "Invalid element" },
519 { DECT_MITEL_RFP_CONTROL_NACK_REASON_NO_RESOURCE
, "No resource" },
520 { DECT_MITEL_RFP_CONTROL_NACK_REASON_WRONG_STATE
, "Wrong state" },
521 { DECT_MITEL_RFP_CONTROL_NACK_REASON_INVALID_PARAMETERS
, "Invalid parameters" },
522 { DECT_MITEL_RFP_CONTROL_NACK_REASON_PORT_IN_USE
, "Port in use" },
523 { DECT_MITEL_RFP_CONTROL_NACK_REASON_CODEC_NOT_SUPPORTED
, "Codec not supported" },
524 { DECT_MITEL_RFP_CONTROL_NACK_REASON_VIDEO_NOT_SUPPORTED
, "Video not supported" },
529 static const value_string dect_mitel_rfp_sys_led_color_val
[] = {
530 { DECT_MITEL_RFP_SYS_LED_COLOR_OFF
, "Off" },
531 { DECT_MITEL_RFP_SYS_LED_COLOR_STEADY_GREEN
, "Steady green" },
532 { DECT_MITEL_RFP_SYS_LED_COLOR_FLASH_GREEN
, "Flash green" },
533 { DECT_MITEL_RFP_SYS_LED_COLOR_FLASH_GREEN_ORANGE
, "Flash green-orange" },
534 { DECT_MITEL_RFP_SYS_LED_COLOR_FLASH_GREEN_RED
, "Flash green-red" },
535 { DECT_MITEL_RFP_SYS_LED_COLOR_STEADY_RED
, "Steady red" },
536 { DECT_MITEL_RFP_SYS_LED_COLOR_STEADY_ORANGE
, "Steady orange" },
537 { DECT_MITEL_RFP_SYS_LED_COLOR_CYCLE_GREEN_RED
, "Cycle green-red" },
542 static const value_string dect_mitel_rfp_sys_init_rfp_model_val
[] = {
543 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP31
, "RFP 31" },
544 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP33
, "RFP 33" },
545 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP41
, "RFP 41" },
546 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP32
, "RFP 32" },
547 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP32US
, "RFP 32 (US Version)" },
548 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP34
, "RFP 34" },
549 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP34US
, "RFP 34 (US Version)" },
550 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP42
, "RFP 42" },
551 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP42US
, "RFP 42 (US Version)" },
552 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP35
, "RFP 35" },
553 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP36
, "RFP 36" },
554 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP43
, "RFP 43" },
555 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP37
, "RFP 37" },
556 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP44
, "RFP 44" },
557 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP45
, "RFP 45" },
558 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP47
, "RFP 47" },
559 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFP48
, "RFP 48" },
560 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_PC_ECM
, "PC-ECM" },
561 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_PC
, "PC" },
562 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL31
, "RFP L31" },
563 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL33
, "RFP L33" },
564 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL41
, "RFP L41" },
565 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL32US
, "RFP L32 (US Version)" },
566 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL34
, "RFP L34" },
567 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL34US
, "RFP L34 (US Version)" },
568 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL42
, "RFP L42" },
569 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL42US
, "RFP L42 (US Version)" },
570 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL35
, "RFP L35" },
571 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL36
, "RFP L36" },
572 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL43
, "RFP L43" },
573 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPL37
, "RFP L37" },
574 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL35
, "RFP SL35" },
575 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL36
, "RFP SL36" },
576 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL43
, "RFP SL43" },
577 { DECT_MITEL_RFP_SYS_INIT_RFP_MODEL_RFPSL37
, "RFP SL37" },
582 static const value_string dect_mitel_rfp_media_direction_val
[] = {
583 { DECT_MITEL_RFP_MEDIA_DIRECTION_NONE
, "None" },
584 { DECT_MITEL_RFP_MEDIA_DIRECTION_RX
, "RX" },
585 { DECT_MITEL_RFP_MEDIA_DIRECTION_TX
, "TX" },
586 { DECT_MITEL_RFP_MEDIA_DIRECTION_RXTX
, "RX+TX" },
591 static const value_string dect_mitel_rfp_media_conf_codec_type_val
[] = {
592 { DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G711_A
, "G.711 alaw" },
593 { DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G723_1_53
, "G.723 5.3kbit/s" },
594 { DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G723_1_63
, "G.723 6.3kbit/s" },
595 { DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G729
, "G.729" },
596 { DECT_MITEL_RFP_MEDIA_CONF_CODEC_TYPE_G711_U
, "G.711 ulaw" },
601 static const value_string dect_mitel_rfp_sync_payload_type_val
[] = {
602 { DECT_MITEL_RFP_SYNC_TYPE_GET_REQ_RSSI_COMP_IND
, "GET_REQ_RSSI_COMP_IND" },
603 { DECT_MITEL_RFP_SYNC_TYPE_GET_REQ_RSSI_COMP_CFM
, "GET_REQ_RSSI_COMP_CFM" },
604 { DECT_MITEL_RFP_SYNC_TYPE_FREQ_CTRL_MODE_IND
, "FREQ_CTRL_MODE_IND" },
605 { DECT_MITEL_RFP_SYNC_TYPE_FREQ_CTRL_MODE_CFM
, "FREQ_CTRL_MODE_CFM" },
606 { DECT_MITEL_RFP_SYNC_TYPE_PHASE_OFFSET_IND
, "PHASE_OFFSET_IND" },
607 { DECT_MITEL_RFP_SYNC_TYPE_SET_FREQUENCY
, "SET_FREQUENCY" },
608 { DECT_MITEL_RFP_SYNC_TYPE_SET_REPORT_LIMIT
, "SET_REPORT_LIMIT" },
609 { DECT_MITEL_RFP_SYNC_TYPE_RESET_MAC_IND
, "RESET_MAC_IND" },
610 { DECT_MITEL_RFP_SYNC_TYPE_START_MAC_MASTER_IND
, "START_MAC_MASTER_IND" },
611 { DECT_MITEL_RFP_SYNC_TYPE_START_MAC_SLAVE_MODE_IND
, "START_MAC_SLAVE_MODE_IND" },
612 { DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_IND
, "SYSTEM_SEARCH_IND" },
613 { DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_CFM
, "SYSTEM_SEARCH_CFM" },
614 { DECT_MITEL_RFP_SYNC_TYPE_MAC_STARTED_IND
, "MAC_STARTED_IND" },
615 { DECT_MITEL_RFP_SYNC_TYPE_RESET_MAC_CFM
, "RESET_MAC_CFM" },
616 { DECT_MITEL_RFP_SYNC_TYPE_START_MAC_MASTER_CFM
, "START_MAC_MASTER_CFM" },
617 { DECT_MITEL_RFP_SYNC_TYPE_START_MAC_MASTER_REJ
, "START_MAC_MASTER_REJ" },
618 { DECT_MITEL_RFP_SYNC_TYPE_START_MAC_SLAVE_MODE_CFM
, "START_MAC_SLAVE_MODE_CFM" },
619 { DECT_MITEL_RFP_SYNC_TYPE_START_MAC_SLAVE_REJ
, "START_MAC_SLAVE_REJ" },
620 { DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_REJ
, "SYSTEM_SEARCH_REJ" },
621 { DECT_MITEL_RFP_SYNC_TYPE_READY_FOR_SYNC_IND
, "READY_FOR_SYNC_IND" },
622 { DECT_MITEL_RFP_SYNC_TYPE_GET_ACTIVE_CHANNEL_CFM
, "GET_ACTIVE_CHANNEL_CFM" },
623 { DECT_MITEL_RFP_SYNC_TYPE_PHASE_OFS_WITH_RSSI_IND
, "PHASE_OFS_WITH_RSSI_IND" },
624 { DECT_MITEL_RFP_SYNC_TYPE_RESET_MAC_IF_IDLE_CFM
, "RESET_MAC_IF_IDLE_CFM" },
625 { DECT_MITEL_RFP_SYNC_TYPE_UNKNOWN_READY_FOR_SYNC
, "UNKNOWN_READY_FOR_SYNC" },
626 { DECT_MITEL_RFP_SYNC_TYPE_UNKNOWN_STANDBY
, "UNKNOWN_STANDBY" },
630 static dissector_handle_t dect_mitel_rfp_handle
;
631 static dissector_handle_t dect_mitel_eth_handle
;
634 #define DECT_MITEL_RFP_TCP_PORT 16321
635 static unsigned tcp_port_pref
= DECT_MITEL_RFP_TCP_PORT
;
637 /* Initialize the subtree pointers */
638 static int ett_dect_mitel_rfp
;
639 static int ett_dect_mitel_rfp_sys_init_rfp_capabilities
;
640 static int ett_dect_mitel_rfp_media_tone_entry
;
641 static int ett_dect_mitel_rfp_sync_system_search_cfm_item
;
642 static int ett_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item
;
646 | Offset | Len | Content |
647 | ------ | --- | ------- |
651 static unsigned dissect_dect_mitel_rfp_control_ack(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
653 proto_tree_add_item(tree
, hf_dect_mitel_rfp_control_ack_message
, tvb
, offset
, 2, ENC_NA
);
655 proto_tree_add_item(tree
, hf_dect_mitel_rfp_control_ack_call_id
, tvb
, offset
, 2, ENC_NA
);
662 | Offset | Len | Content |
663 | ------ | --- | ------------- |
666 | 4 | 4 | Reject resaon |
668 static unsigned dissect_dect_mitel_rfp_control_nack(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
670 proto_tree_add_item(tree
, hf_dect_mitel_rfp_control_nack_message
, tvb
, offset
, 2, ENC_NA
);
672 proto_tree_add_item(tree
, hf_dect_mitel_rfp_control_nack_call_id
, tvb
, offset
, 2, ENC_NA
);
674 proto_tree_add_item(tree
, hf_dect_mitel_rfp_control_nack_reason
, tvb
, offset
, 4, ENC_NA
);
680 CONTROL-HEARTBEAT Message
681 | Offset | Len | Content |
682 | ------ | --- | ------------------- |
683 | 0 | 4 | Uptime milliseconds |
684 | 4 | 4 | Uptime nanoseconds |
686 static unsigned dissect_dect_mitel_rfp_control_heartbeat(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
688 proto_tree_add_item(tree
, hf_dect_mitel_rfp_control_heartbeat_milliseconds
, tvb
, offset
, 4, ENC_NA
);
690 proto_tree_add_item(tree
, hf_dect_mitel_rfp_control_heartbeat_nanoseconds
, tvb
, offset
, 4, ENC_NA
);
696 SYS-IP-OPTIONS Message
697 | Offset | Len | Content |
698 | ------ | --- | --------------------------- |
699 | 0 | 1 | Voice Type of Service (ToS) |
700 | 1 | 1 | Signalling ToS |
702 | 3 | 1 | Signal VLAN priority |
703 | 4 | 1 | Voice VLAN priority |
705 static unsigned dissect_dect_mitel_rfp_sys_ip_options(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
707 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_ip_options_voice_tos
, tvb
, offset
, 1, ENC_NA
);
709 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_ip_options_signalling_tos
, tvb
, offset
, 1, ENC_NA
);
711 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_ip_options_ttl
, tvb
, offset
, 1, ENC_NA
);
713 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_ip_options_signal_vlan_priority
, tvb
, offset
, 1, ENC_NA
);
715 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_ip_options_voice_vlan_priority
, tvb
, offset
, 1, ENC_NA
);
722 | Offset | Len | Content |
723 | ------ | --- | ----------- |
725 | 1 | 1 | LED Colour |
727 static unsigned dissect_dect_mitel_rfp_sys_led(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
729 uint8_t led_id
, led_color
;
730 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_led_id
, tvb
, offset
, 1, ENC_NA
);
731 led_id
= tvb_get_uint8(tvb
, offset
);
733 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_led_color
, tvb
, offset
, 1, ENC_NA
);
734 led_color
= tvb_get_uint8(tvb
, offset
);
736 col_append_fstr(pinfo
->cinfo
, COL_INFO
, "LED %d:%s", led_id
,
737 val_to_str(led_color
, dect_mitel_rfp_sys_led_color_val
, "Unknown: %02x"));
742 SYS-HEARTBEAT-INTERVAL Message
743 | Offset | Len | Content |
744 | ------ | --- | ------------------ |
745 | 0 | 1 | Interval value (s) |
747 static unsigned dissect_dect_mitel_rfp_sys_heartbeat_interval(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
750 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_heartbeat_interval_value
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
751 interval
= tvb_get_uint8(tvb
, offset
);
752 col_append_fstr(pinfo
->cinfo
, COL_INFO
, "Interval: %ds", interval
);
760 | Offset | Len | Content |
761 | ------ | --- | ------------------ |
762 | 0 | 16 | IP Address |
765 static unsigned dissect_dect_mitel_rfp_sys_syslog(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
767 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_syslog_ip_address
, tvb
, offset
, 16, ENC_NA
);
770 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_syslog_port
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
777 SYS-MAX-CHANNELS Message
778 | Offset | Len | Content |
779 | ------ | --- | --------- |
781 | 1 | 1 | Sesseions |
783 static unsigned dissect_dect_mitel_rfp_sys_max_channels(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
785 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_max_channels_dsp
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
788 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_max_channels_sessions
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
796 | Offset | Len | Content |
797 | ------ | --- | ------------------ |
798 | 0 | 16 | IP Address |
801 static unsigned dissect_dect_mitel_rfp_sys_http_set(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
803 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_http_set_ip_address
, tvb
, offset
, 16, ENC_NA
);
806 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_http_set_port
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
814 | Offset | Len | Content |
815 | ------ | --- | --------------------------- |
816 | 0 | 1 | Remote Access Enabled (0x1) |
817 | 2 | 65 | Root username |
818 | 67 | 65 | Root password |
819 | 132 | 65 | Admin username |
820 | 197 | 65 | Admin password |
822 static unsigned dissect_dect_mitel_rfp_sys_passwd(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
824 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_passwd_remote_access_enabled
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
827 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_passwd_root_username
, tvb
, offset
, 65, ENC_ASCII
);
830 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_passwd_root_password
, tvb
, offset
, 65, ENC_ASCII
);
833 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_passwd_admin_username
, tvb
, offset
, 65, ENC_ASCII
);
836 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_passwd_admin_password
, tvb
, offset
, 65, ENC_ASCII
);
844 | Offset | Len | Content |
845 | ------ | --- | ---------- |
846 | 0 | 16 | IP Address |
847 | 16 | 4 | RTT (ms) |
849 static unsigned dissect_dect_mitel_rfp_sys_rping(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
851 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_rping_ip_address
, tvb
, offset
, 16, ENC_NA
);
854 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_rping_rtt
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
861 SYS-CORE-DUMP Message
862 | Offset | Len | Content |
863 | ------ | --- | ------- |
866 static unsigned dissect_dect_mitel_rfp_sys_core_dump(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
, uint16_t message_length
)
868 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_core_dump_url
, tvb
, offset
, message_length
, ENC_ASCII
);
869 offset
+= message_length
;
875 SYS-VSNTP-TIME Message
876 | Offset | Len | Content |
877 | ------ | --- | -------------- |
878 | 0 | 4 | T1 seconds |
879 | 4 | 4 | T1 nanoseconds |
880 | 8 | 4 | T2 seconds |
881 | 12 | 4 | T2 nanoseconds |
883 static unsigned dissect_dect_mitel_rfp_sys_vsntp_time(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
885 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_vsntp_time_t1_seconds
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
888 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_vsntp_time_t1_nanoseconds
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
891 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_vsntp_time_t2_seconds
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
894 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_vsntp_time_t2_nanoseconds
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
902 | Offset | Len | Content |
903 | ------ | --- | ----------------- |
904 | 0 | 4 | Model Type |
905 | 8 | 6 | MAC Address |
906 | 20 | 4 | Capabilities |
907 | 24 | 64 | AES enrypted Data |
908 | 88 | 4 | Protocol |
909 | 112 | 32 | Software Version |
910 | 256 | 16 | Signature |
912 static unsigned dissect_dect_mitel_rfp_sys_init(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
914 static int *const capabilities_flags
[] = {
915 &hf_dect_mitel_rfp_sys_init_rfp_capability_normal_tx
,
916 &hf_dect_mitel_rfp_sys_init_rfp_capability_indoor
,
917 &hf_dect_mitel_rfp_sys_init_rfp_capability_wlan
,
918 &hf_dect_mitel_rfp_sys_init_rfp_capability_encryption
,
919 &hf_dect_mitel_rfp_sys_init_rfp_capability_frequency_shift
,
920 &hf_dect_mitel_rfp_sys_init_rfp_capability_low_tx
,
921 &hf_dect_mitel_rfp_sys_init_rfp_capability_advanced_feature
,
925 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_init_rfp_model
, tvb
, offset
, 4, ENC_NA
);
927 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_init_rfp_mac
, tvb
, offset
, 6, ENC_NA
);
929 proto_tree_add_bitmask(tree
, tvb
, offset
, hf_dect_mitel_rfp_sys_init_rfp_capabilities
, ett_dect_mitel_rfp_sys_init_rfp_capabilities
, capabilities_flags
, ENC_NA
);
931 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_init_crypted
, tvb
, offset
, 64, ENC_NA
);
933 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_init_protocol
, tvb
, offset
, 4, ENC_NA
);
935 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_init_rfp_software_version
, tvb
, offset
, 32, ENC_ASCII
);
937 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_init_signature
, tvb
, offset
, 16, ENC_NA
);
943 SYS-AUTHENTICATE Message
944 | Offset | Len | Content |
945 | ------ | --- | --------------- |
946 | 7 | 8 | RFP Blowfish IV |
947 | 21 | 8 | OMM Blowfish IV |
949 static unsigned dissect_dect_mitel_rfp_sys_authenticate(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
952 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_authenticate_rfp_iv
, tvb
, offset
, 8, ENC_NA
);
954 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_authenticate_omm_iv
, tvb
, offset
, 8, ENC_NA
);
960 SYS-LICENSE-TIMER Message
961 | Offset | Len | Content | Comment |
962 | ------ | --- | ---------------- | ------------------------------------ |
963 | 0 | 4 | Grace period (m) | Most significant bit indicates QUERY |
964 | 4 | 16 | Checksum | |
966 static unsigned dissect_dect_mitel_rfp_sys_license_timer(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
968 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_license_timer_query
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
969 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_license_timer_grace_period
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
972 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sys_license_timer_checksum
, tvb
, offset
, 16, ENC_NA
);
980 | Offset | Len | Content |
981 | ------ | --- | ---------- |
983 | 1 | 1 | Slot count |
986 static unsigned dissect_dect_mitel_rfp_media_open(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
988 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_open_codec
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
991 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_open_slot_count
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
994 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_open_flags
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1002 | Offset | Len | Content |
1003 | ------ | --- | ------------- |
1006 | 4 | 1 | Codec count |
1007 | 5 | 1 | Codec 1 Type |
1008 | 6 | 1 | Codec 1 Pt |
1009 | 7 | 1 | Codec 1 Rate |
1013 | 64 | 2 | Local port 1 |
1014 | 66 | 2 | Local port 2 |
1015 | 70 | 4 | RX IP address |
1016 | 74 | 2 | RX port 1 |
1017 | 76 | 2 | RX port 2 |
1018 | 78 | 4 | TX IP address |
1019 | 82 | 2 | TX port 1 |
1020 | 84 | 2 | TX port 2 |
1022 static unsigned dissect_dect_mitel_rfp_media_conf(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1024 uint32_t codec_count
;
1025 unsigned mcei_offset
;
1026 mcei_offset
= offset
+ 56;
1029 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_vif
, tvb
, offset
, 1,ENC_BIG_ENDIAN
);
1032 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_vad
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1035 proto_tree_add_item_ret_uint(tree
, hf_dect_mitel_rfp_media_conf_codec_count
, tvb
, offset
, 1, ENC_BIG_ENDIAN
, &codec_count
);
1038 for (uint32_t i
= 0; i
< codec_count
&& offset
< mcei_offset
; i
++) {
1039 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_codec_type
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1041 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_codec_pt
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1043 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_codec_rate
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1047 offset
= mcei_offset
;
1048 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_mcei
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1051 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_ppn
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1054 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_local_port_1
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1057 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_local_port_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1060 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_rx_ip_address
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1063 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_rx_port_1
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1066 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_rx_port_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1069 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_tx_ip_address
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1072 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_tx_port_1
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1075 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_conf_tx_port_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1083 | Offset | Len | Content |
1084 | ------ | --- | ------------- |
1085 | 0 | 1 | Direction |
1087 | 6 | 1 | Met keepalive |
1089 static unsigned dissect_dect_mitel_rfp_media_start(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1091 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_direction
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1094 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_start_time
, tvb
, offset
, 4, ENC_LITTLE_ENDIAN
);
1097 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_start_met_keep_alive
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1105 | Offset | Len | Content |
1106 | ------ | --- | ------------- |
1107 | 0 | 1 | Direction |
1109 static unsigned dissect_dect_mitel_rfp_media_stop(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1111 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_direction
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1118 MEDIA-STATISTICS Message
1119 | Offset | Len | Content |
1120 | ------ | --- | -------------- |
1121 | 2 | 4 | Duration |
1122 | 6 | 4 | TX packets |
1123 | 10 | 4 | TX bytes |
1124 | 14 | 4 | RX packets |
1125 | 18 | 4 | RX bytes |
1126 | 22 | 4 | Lost packets |
1127 | 26 | 4 | Max jitter |
1128 | 30 | 4 | RTP IP address |
1130 static unsigned dissect_dect_mitel_rfp_media_statistics(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1132 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_duration
, tvb
, offset
, 4, ENC_LITTLE_ENDIAN
);
1135 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_tx_packets
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1138 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_tx_bytes
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1141 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_rx_packets
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1144 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_rx_bytes
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1147 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_lost_packets
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1150 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_max_jitter
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1153 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_statistics_rtp_ip_address
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1160 MEDIA-REDIRECT-START Message
1161 | Offset | Len | Content |
1162 | ------ | --- | ------------------ |
1163 | 2 | 2 | Local port 1 |
1164 | 4 | 2 | Local port 2 |
1165 | 6 | 4 | Remote IP address |
1166 | 10 | 2 | Remote port 1 |
1167 | 12 | 2 | Remote port 2 |
1170 static unsigned dissect_dect_mitel_rfp_media_redirect_start(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1174 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_redirect_start_local_port_1
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1177 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_redirect_start_local_port_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1180 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_redirect_start_remote_ip_address
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1183 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_redirect_start_remote_port_1
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1186 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_redirect_start_remote_port_2
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1189 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_redirect_start_time
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
1195 MEDIA-REDIRECT-STOP Message
1196 | Offset | Len | Content |
1197 | ------ | --- | ------------- |
1198 | 0 | 1 | Fallback |
1200 static unsigned dissect_dect_mitel_rfp_media_redirect_stop(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1202 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_redirect_stop_fallback
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1209 MEDIA-RESTART Message
1210 | Offset | Len | Content |
1211 | ------ | --- | ------- |
1214 static unsigned dissect_dect_mitel_rfp_media_restart(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1216 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_mcei
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1224 | Offset | Len | Content |
1225 | ------ | --- | --------- |
1226 | 0 | 2 | Duration |
1228 | 3 | 1 | Direction |
1230 static unsigned dissect_dect_mitel_rfp_media_dtmf(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1232 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_dtmf_duration
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1235 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_dtmf_key
, tvb
, offset
, 1, ENC_ASCII_7BITS
);
1238 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_direction
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1246 | Offset | Len | Content |
1247 | ------ | --- | --------- |
1248 | 0 | 1 | Direction |
1252 | 6+24*n | 24 | Tone n |
1255 | Offset | Len | Content |
1256 | ------ | --- | ----------- |
1257 | 0 | 2 | Frequency 1 |
1258 | 2 | 2 | Frequency 2 |
1259 | 4 | 2 | Frequency 3 |
1260 | 6 | 2 | Frequency 4 |
1265 | 16 | 2 | Duration |
1266 | 18 | 2 | Cycle count |
1267 | 20 | 2 | Cycle to |
1270 static unsigned dissect_dect_mitel_rfp_media_tone(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1273 proto_tree
*tone_tree
;
1275 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_direction
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1278 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_tone_count
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1279 tone_count
= tvb_get_uint8(tvb
, offset
);
1282 for (uint8_t i
= 0; i
< tone_count
; i
++) {
1283 tone_tree
= proto_tree_add_subtree(tree
, tvb
, offset
, 24, ett_dect_mitel_rfp_media_tone_entry
, NULL
, "Tone entry");
1285 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_frequency_1
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1288 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_frequency_2
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1291 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_frequency_3
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1294 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_frequency_4
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1297 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_cb_1
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1300 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_cb_2
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1303 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_cb_3
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1306 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_cb_4
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1309 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_duration
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1312 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_cycle_count
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1315 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_cycle_to
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1318 proto_tree_add_item(tone_tree
, hf_dect_mitel_rfp_media_tone_next
, tvb
, offset
, 2, ENC_LITTLE_ENDIAN
);
1327 | Offset | Len | Content |
1328 | ------ | --- | --------------- |
1330 | 2 | | Message content |
1332 static unsigned dissect_dect_mitel_rfp_media(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
, uint16_t message_type
)
1334 proto_tree_add_item(tree
, hf_dect_mitel_rfp_media_handle
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1337 switch(message_type
) {
1338 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_OPEN
:
1339 offset
= dissect_dect_mitel_rfp_media_open(tvb
, pinfo
, tree
, data
, offset
);
1341 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CONF
:
1342 offset
= dissect_dect_mitel_rfp_media_conf(tvb
, pinfo
, tree
, data
, offset
);
1344 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CLOSE
:
1347 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_START
:
1348 offset
= dissect_dect_mitel_rfp_media_start(tvb
, pinfo
, tree
, data
, offset
);
1350 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STOP
:
1351 offset
= dissect_dect_mitel_rfp_media_stop(tvb
, pinfo
, tree
, data
, offset
);
1353 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STATISTICS
:
1354 offset
= dissect_dect_mitel_rfp_media_statistics(tvb
, pinfo
, tree
, data
, offset
);
1356 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_START
:
1357 offset
= dissect_dect_mitel_rfp_media_redirect_start(tvb
, pinfo
, tree
, data
, offset
);
1359 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_STOP
:
1360 offset
= dissect_dect_mitel_rfp_media_redirect_stop(tvb
, pinfo
, tree
, data
, offset
);
1362 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_RESTART
:
1363 offset
= dissect_dect_mitel_rfp_media_restart(tvb
, pinfo
, tree
, data
, offset
);
1365 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_DTMF
:
1366 offset
= dissect_dect_mitel_rfp_media_dtmf(tvb
, pinfo
, tree
, data
, offset
);
1368 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_TONE
:
1369 offset
= dissect_dect_mitel_rfp_media_tone(tvb
, pinfo
, tree
, data
, offset
);
1376 SYNC FREQ_CTRL_MODE_IND Message
1377 | Offset | Len | Content |
1378 | ------ | --- | ------- |
1381 static unsigned dissect_dect_mitel_rfp_sync_freq_ctrl_mode_ind(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1383 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_freq_ctrl_mode_ind_mode
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1390 SYNC FREQ_CTRL_MODE_CFM Message
1391 | Offset | Len | Content |
1392 | ------ | --- | ------- |
1397 static unsigned dissect_dect_mitel_rfp_sync_freq_ctrl_mode_cfm(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1399 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_mode
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1402 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_ppm
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1405 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_avg
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1412 SYNC SET_FREQUENCY Message
1413 | Offset | Len | Content |
1414 | ------ | --- | --------- |
1415 | 0 | 2 | Frequency |
1417 static unsigned dissect_dect_mitel_rfp_sync_set_frequency(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1419 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_set_frequency_value
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1426 SYNC START_MAC_SLAVE_MODE Message
1427 | Offset | Len | Content |
1428 | ------ | --- | --------- |
1431 static unsigned dissect_dect_mitel_rfp_start_mac_slave_mode(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1433 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_start_mac_slave_mode_ind_rfp
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1440 SYNC SYSTEM_SEARCH_IND Message
1441 | Offset | Len | Content |
1442 | ------ | --- | ------- |
1445 static unsigned dissect_dect_mitel_rfp_sync_system_search_ind(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1447 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_system_search_ind_mode
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1454 SYNC SYSTEM_SEARCH_CFM Message
1455 | Offset | Len | Content |
1456 | ------ | --- | ------- |
1460 | 1+4*n | 4 | Item n |
1464 | Offset | Len | Content |
1465 | ------ | --- | ------------- |
1469 static unsigned dissect_dect_mitel_rfp_sync_system_search_cfm(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1472 proto_tree
*item_tree
;
1474 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_system_search_cfm_count
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1475 item_count
= tvb_get_uint8(tvb
, offset
);
1478 for (uint8_t i
= 0; i
< item_count
; i
++) {
1479 item_tree
= proto_tree_add_subtree(tree
, tvb
, offset
, 4, ett_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item
, NULL
, "Item");
1481 proto_tree_add_item(item_tree
, hf_dect_mitel_rfp_sync_system_search_cfm_item_rpn
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1484 proto_tree_add_item(item_tree
, hf_dect_mitel_rfp_sync_system_search_cfm_item_rssi
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1493 SYNC PHASE_OFS_WITH_RSSI_IND Message
1494 | Offset | Len | Content |
1495 | ------ | --- | ------- |
1499 | 1+6*n | 6 | Item n |
1503 | Offset | Len | Content |
1504 | ------ | --- | ------------- |
1508 | 5 | 1 | Qt Sync Check |
1510 static unsigned dissect_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind(tvbuff_t
*tvb
, packet_info
*pinfo _U_
, proto_tree
*tree
, void *data _U_
, unsigned offset
)
1513 proto_tree
*item_tree
;
1515 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_count
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1516 item_count
= tvb_get_uint8(tvb
, offset
);
1519 for (uint8_t i
= 0; i
< item_count
; i
++) {
1520 item_tree
= proto_tree_add_subtree(tree
, tvb
, offset
, 6, ett_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item
, NULL
, "Item");
1522 proto_tree_add_item(item_tree
, hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_rpn
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1525 proto_tree_add_item(item_tree
, hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_offset
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1528 proto_tree_add_item(item_tree
, hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_rssi
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1531 proto_tree_add_item(item_tree
, hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_qt_sync_check
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1540 | Offset | Len | Content |
1541 | ------ | --- | ------- |
1544 | 3 | len | Content |
1546 static unsigned dissect_dect_mitel_rfp_sync(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
, unsigned offset
)
1548 uint16_t message_type
;
1549 uint8_t payload_length
;
1550 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_payload_type
, tvb
, offset
, 2, ENC_BIG_ENDIAN
);
1551 message_type
= tvb_get_uint16(tvb
, offset
, ENC_BIG_ENDIAN
);
1552 col_append_fstr(pinfo
->cinfo
, COL_INFO
, "%s ",
1553 val_to_str(message_type
, dect_mitel_rfp_sync_payload_type_val
, " Unknown 0x%04x"));
1556 proto_tree_add_item(tree
, hf_dect_mitel_rfp_sync_payload_length
, tvb
, offset
, 1, ENC_BIG_ENDIAN
);
1557 payload_length
= tvb_get_uint8(tvb
, offset
);
1560 if (payload_length
> 0) {
1561 switch(message_type
) {
1562 case DECT_MITEL_RFP_SYNC_TYPE_FREQ_CTRL_MODE_IND
:
1563 offset
= dissect_dect_mitel_rfp_sync_freq_ctrl_mode_ind(tvb
, pinfo
, tree
, data
, offset
);
1565 case DECT_MITEL_RFP_SYNC_TYPE_FREQ_CTRL_MODE_CFM
:
1566 offset
= dissect_dect_mitel_rfp_sync_freq_ctrl_mode_cfm(tvb
, pinfo
, tree
, data
, offset
);
1568 case DECT_MITEL_RFP_SYNC_TYPE_SET_FREQUENCY
:
1569 offset
= dissect_dect_mitel_rfp_sync_set_frequency(tvb
, pinfo
, tree
, data
, offset
);
1571 case DECT_MITEL_RFP_SYNC_TYPE_START_MAC_SLAVE_MODE_IND
:
1572 offset
= dissect_dect_mitel_rfp_start_mac_slave_mode(tvb
, pinfo
, tree
, data
, offset
);
1574 case DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_IND
:
1575 offset
= dissect_dect_mitel_rfp_sync_system_search_ind(tvb
, pinfo
, tree
, data
, offset
);
1577 case DECT_MITEL_RFP_SYNC_TYPE_SYSTEM_SEARCH_CFM
:
1578 offset
= dissect_dect_mitel_rfp_sync_system_search_cfm(tvb
, pinfo
, tree
, data
, offset
);
1580 case DECT_MITEL_RFP_SYNC_TYPE_PHASE_OFS_WITH_RSSI_IND
:
1581 offset
= dissect_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind(tvb
, pinfo
, tree
, data
, offset
);
1589 static int dissect_dect_mitel_rfp(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
1592 proto_tree
*dect_mitel_rfp_tree
;
1594 unsigned offset
= 0;
1595 uint16_t message_type
, message_length
;
1597 bool ip_encapsulated
= true;
1599 /*** COLUMN DATA ***/
1600 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "MITEL-RFP");
1601 col_clear(pinfo
->cinfo
, COL_INFO
);
1603 /*** PROTOCOL TREE ***/
1604 ti
= proto_tree_add_item(tree
, proto_dect_mitel_rfp
, tvb
, 0, -1, ENC_NA
);
1606 dect_mitel_rfp_tree
= proto_item_add_subtree(ti
, ett_dect_mitel_rfp
);
1608 proto_tree_add_item(dect_mitel_rfp_tree
, hf_dect_mitel_rfp_message_type
, tvb
,
1610 message_type
= tvb_get_uint16(tvb
, offset
, ENC_NA
);
1611 col_append_fstr(pinfo
->cinfo
, COL_INFO
, "%s ",
1612 val_to_str(message_type
, dect_mitel_rfp_message_type_val
, "Unknown 0x%04x"));
1615 proto_tree_add_item(dect_mitel_rfp_tree
, hf_dect_mitel_rfp_message_length
, tvb
,
1617 message_length
= tvb_get_uint16(tvb
, offset
, ENC_BIG_ENDIAN
);
1620 switch ( message_type
) {
1621 case DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_ACK
:
1622 dissect_dect_mitel_rfp_control_ack(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1624 case DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_NACK
:
1625 dissect_dect_mitel_rfp_control_nack(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1627 case DECT_MITEL_RFP_MESSAGE_TYPE_CONTROL_HEARTBEAT
:
1628 dissect_dect_mitel_rfp_control_heartbeat(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1630 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_IP_OPTIONS
:
1631 dissect_dect_mitel_rfp_sys_ip_options(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1633 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_LED
:
1634 dissect_dect_mitel_rfp_sys_led(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1636 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_HEARTBEAT_INTERVAL
:
1637 dissect_dect_mitel_rfp_sys_heartbeat_interval(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1639 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_SYSLOG
:
1640 dissect_dect_mitel_rfp_sys_syslog(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1642 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_MAX_CHANNELS
:
1643 dissect_dect_mitel_rfp_sys_max_channels(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1645 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_HTTP_SET
:
1646 dissect_dect_mitel_rfp_sys_http_set(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1648 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_PASSWD
:
1649 dissect_dect_mitel_rfp_sys_passwd(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1651 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_RPING
:
1652 dissect_dect_mitel_rfp_sys_rping(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1654 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_CORE_DUMP
:
1655 dissect_dect_mitel_rfp_sys_core_dump(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
, message_length
);
1657 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_VSNTP_TIME
:
1658 dissect_dect_mitel_rfp_sys_vsntp_time(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1660 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_INIT
:
1661 dissect_dect_mitel_rfp_sys_init(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1663 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_AUTHENTICATE
:
1664 dissect_dect_mitel_rfp_sys_authenticate(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1666 case DECT_MITEL_RFP_MESSAGE_TYPE_SYS_LICENSE_TIMER
:
1667 dissect_dect_mitel_rfp_sys_license_timer(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1669 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_OPEN
:
1670 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CONF
:
1671 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CLOSE
:
1672 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_START
:
1673 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STOP
:
1674 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_STATISTICS
:
1675 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_START
:
1676 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_REDIRECT_STOP
:
1677 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_RESTART
:
1678 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_DTMF
:
1679 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_DSP_CLOSE
:
1680 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_TONE
:
1681 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_BANDWIDTH_SWO
:
1682 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_MUTE
:
1683 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_G729_USED
:
1684 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_TRACE_PPN
:
1685 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_EOS_DETECT
:
1686 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_AUDIO_STATISTICS
:
1687 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_VIDEO_STATE
:
1688 case DECT_MITEL_RFP_MESSAGE_TYPE_MEDIA_CHANNEL_MOD_INFO
:
1689 dissect_dect_mitel_rfp_media(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
, message_type
);
1691 case DECT_MITEL_RFP_MESSAGE_TYPE_ETH
:
1692 /* Handover to DECT-MITEL-ETH*/
1693 proto_item_set_len(ti
, 4);
1694 next_tvb
= tvb_new_subset_remaining(tvb
, offset
);
1695 call_dissector_with_data(dect_mitel_eth_handle
, next_tvb
, pinfo
, tree
, &ip_encapsulated
);
1697 case DECT_MITEL_RFP_MESSAGE_TYPE_SYNC
:
1698 dissect_dect_mitel_rfp_sync(tvb
, pinfo
, dect_mitel_rfp_tree
, data
, offset
);
1704 return tvb_captured_length(tvb
);
1707 static void fmt_dect_mitel_rfp_media_conf_codec_rate(char *rate_string
, uint32_t rate
)
1709 snprintf(rate_string
, 9, "%d000Hz", rate
);
1712 static void fmt_dect_mitel_rfp_media_statistics_max_jitter(char *max_jitter_string
, uint32_t max_jitter
)
1714 snprintf(max_jitter_string
, 14, "%.3fms", max_jitter
/ 1000.0);
1717 static void fmt_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_offset(char *item_offset_string
, uint32_t item_offset
)
1719 snprintf(item_offset_string
, 10, "%dns", item_offset
* 48);
1722 void proto_register_dect_mitel_rfp(void)
1724 static hf_register_info hf
[] = {
1725 { &hf_dect_mitel_rfp_message_type
,
1726 { "Message Type", "dect_mitel_rfp.message.type", FT_UINT16
, BASE_HEX
,
1727 VALS(dect_mitel_rfp_message_type_val
), 0x0, NULL
, HFILL
1730 { &hf_dect_mitel_rfp_message_length
,
1731 { "Length", "dect_mitel_rfp.message.length", FT_UINT16
, BASE_DEC
,
1732 NULL
, 0x0, NULL
, HFILL
1736 { &hf_dect_mitel_rfp_control_ack_message
,
1737 { "Message Type", "dect_mitel_rfp.control.ack.message", FT_UINT16
, BASE_HEX
,
1738 VALS(dect_mitel_rfp_message_type_val
), 0x0, NULL
, HFILL
1741 { &hf_dect_mitel_rfp_control_ack_call_id
,
1742 { "Call ID", "dect_mitel_rfp.control.ack.call_id", FT_UINT16
, BASE_HEX
,
1743 NULL
, 0x0, NULL
, HFILL
1747 { &hf_dect_mitel_rfp_control_nack_message
,
1748 { "Message Type", "dect_mitel_rfp.control.nack.message", FT_UINT16
, BASE_HEX
,
1749 VALS(dect_mitel_rfp_message_type_val
), 0x0, NULL
, HFILL
1752 { &hf_dect_mitel_rfp_control_nack_call_id
,
1753 { "Call ID", "dect_mitel_rfp.control.nack.call_id", FT_UINT16
, BASE_HEX
,
1754 NULL
, 0x0, NULL
, HFILL
1757 { &hf_dect_mitel_rfp_control_nack_reason
,
1758 { "Reject reason", "dect_mitel_rfp.control.nack.reason", FT_UINT32
, BASE_HEX
,
1759 VALS(dect_mitel_rfp_control_nack_reason_val
), 0x0, NULL
, HFILL
1762 /* CONTROL-HEARTBEAT */
1763 { &hf_dect_mitel_rfp_control_heartbeat_milliseconds
,
1764 { "Milliseconds", "dect_mitel_rfp.control.heartbeat.milliseconds", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
1765 UNS(&units_milliseconds
), 0x0, NULL
, HFILL
1768 { &hf_dect_mitel_rfp_control_heartbeat_nanoseconds
,
1769 { "Nanoseconds", "dect_mitel_rfp.control.heartbeat.nanoseconds", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
1770 UNS(&units_nanoseconds
), 0x0, NULL
, HFILL
1773 /* SYS-IP-OPTIONS */
1774 { &hf_dect_mitel_rfp_sys_ip_options_voice_tos
,
1775 { "Voice ToS", "dect_mitel_rfp.sys.ip_options.voice_tos", FT_UINT8
, BASE_HEX
,
1776 NULL
, 0x0, NULL
, HFILL
1779 { &hf_dect_mitel_rfp_sys_ip_options_signalling_tos
,
1780 { "Signalling ToS", "dect_mitel_rfp.sys.ip_options.signalling_tos", FT_UINT8
, BASE_HEX
,
1781 NULL
, 0x0, NULL
, HFILL
1784 { &hf_dect_mitel_rfp_sys_ip_options_ttl
,
1785 { "TTL", "dect_mitel_rfp.sys.ip_options.ttl", FT_UINT8
, BASE_DEC
,
1786 NULL
, 0x0, NULL
, HFILL
1789 { &hf_dect_mitel_rfp_sys_ip_options_signal_vlan_priority
,
1790 { "Signal VLAN priority", "dect_mitel_rfp.sys.ip_options.signal_vlan_priority", FT_UINT8
, BASE_HEX
,
1791 NULL
, 0x0, NULL
, HFILL
1794 { &hf_dect_mitel_rfp_sys_ip_options_voice_vlan_priority
,
1795 { "Voice VLAN priority", "dect_mitel_rfp.sys.ip_options.voice_vlan_priority", FT_UINT8
, BASE_HEX
,
1796 NULL
, 0x0, NULL
, HFILL
1800 { &hf_dect_mitel_rfp_sys_led_id
,
1801 { "ID", "dect_mitel_rfp.sys.led.id", FT_UINT8
, BASE_DEC
,
1802 NULL
, 0x0, NULL
, HFILL
1805 { &hf_dect_mitel_rfp_sys_led_color
,
1806 { "Color", "dect_mitel_rfp.sys.led.color", FT_UINT8
, BASE_HEX
,
1807 VALS(dect_mitel_rfp_sys_led_color_val
), 0x0, NULL
, HFILL
1810 /* SYS-HEARTBEAT-INTERVAL */
1811 { &hf_dect_mitel_rfp_sys_heartbeat_interval_value
,
1812 { "Interval", "dect_mitel_rfp.sys.heartbeat_interval.value", FT_UINT8
, BASE_DEC
|BASE_UNIT_STRING
,
1813 UNS(&units_seconds
), 0, NULL
, HFILL
1817 { &hf_dect_mitel_rfp_sys_syslog_ip_address
,
1818 { "IP address", "dect_mitel_rfp.sys.syslog.ip_address", FT_IPv6
, BASE_NONE
,
1819 NULL
, 0, NULL
, HFILL
1822 { &hf_dect_mitel_rfp_sys_syslog_port
,
1823 { "Port", "dect_mitel_rfp.sys.syslog.port", FT_UINT16
, BASE_DEC
,
1824 NULL
, 0, NULL
, HFILL
1827 /* SYS-MAX-CHANNELS */
1828 { &hf_dect_mitel_rfp_sys_max_channels_dsp
,
1829 { "DSP", "dect_mitel_rfp.sys.max_channels.dsp", FT_UINT8
, BASE_DEC
,
1830 NULL
, 0, NULL
, HFILL
1833 { &hf_dect_mitel_rfp_sys_max_channels_sessions
,
1834 { "Sessions", "dect_mitel_rfp.sys.max_channels.sessions", FT_UINT8
, BASE_DEC
,
1835 NULL
, 0, NULL
, HFILL
1839 { &hf_dect_mitel_rfp_sys_http_set_ip_address
,
1840 { "IP address", "dect_mitel_rfp.sys.http_set.ip_address", FT_IPv6
, BASE_NONE
,
1841 NULL
, 0, NULL
, HFILL
1844 { &hf_dect_mitel_rfp_sys_http_set_port
,
1845 { "Port", "dect_mitel_rfp.sys.http_set.port", FT_UINT16
, BASE_DEC
,
1846 NULL
, 0, NULL
, HFILL
1850 { &hf_dect_mitel_rfp_sys_passwd_remote_access_enabled
,
1851 { "Remote access enabled", "dect_mitel_rfp.sys.passwd.remote_access_enabled", FT_BOOLEAN
, 8,
1852 NULL
, 0x1, NULL
, HFILL
1855 { &hf_dect_mitel_rfp_sys_passwd_root_username
,
1856 { "Root username", "dect_mitel_rfp.sys.passwd.root_username", FT_STRINGZ
, BASE_NONE
,
1857 NULL
, 0, NULL
, HFILL
1860 { &hf_dect_mitel_rfp_sys_passwd_root_password
,
1861 { "Root password", "dect_mitel_rfp.sys.passwd.root_password", FT_STRINGZ
, BASE_NONE
,
1862 NULL
, 0, NULL
, HFILL
1865 { &hf_dect_mitel_rfp_sys_passwd_admin_username
,
1866 { "Admin username", "dect_mitel_rfp.sys.passwd.admin_username", FT_STRINGZ
, BASE_NONE
,
1867 NULL
, 0, NULL
, HFILL
1870 { &hf_dect_mitel_rfp_sys_passwd_admin_password
,
1871 { "Admin password", "dect_mitel_rfp.sys.passwd.admin_password", FT_STRINGZ
, BASE_NONE
,
1872 NULL
, 0, NULL
, HFILL
1876 { &hf_dect_mitel_rfp_sys_rping_ip_address
,
1877 { "IP address", "dect_mitel_rfp.sys.rping.ip_address", FT_IPv6
, BASE_NONE
,
1878 NULL
, 0, NULL
, HFILL
1881 { &hf_dect_mitel_rfp_sys_rping_rtt
,
1882 { "RTT", "dect_mitel_rfp.sys.rping.rtt", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
1883 UNS(&units_milliseconds
), 0, NULL
, HFILL
1887 { &hf_dect_mitel_rfp_sys_core_dump_url
,
1888 { "URL", "dect_mitel_rfp.sys.core_dump.url", FT_STRINGZ
, BASE_NONE
,
1889 NULL
, 0, NULL
, HFILL
1892 /* SYS-VSNTP-TIME */
1893 { &hf_dect_mitel_rfp_sys_vsntp_time_t1_seconds
,
1894 { "T1 seconds", "dect_mitel_rfp.sys.vsntp_time.t1_seconds", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
1895 UNS(&units_seconds
), 0, NULL
, HFILL
1898 { &hf_dect_mitel_rfp_sys_vsntp_time_t1_nanoseconds
,
1899 { "T1 nanoseconds", "dect_mitel_rfp.sys.vsntp_time.t1_nanoseconds", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
1900 UNS(&units_nanoseconds
), 0, NULL
, HFILL
1903 { &hf_dect_mitel_rfp_sys_vsntp_time_t2_seconds
,
1904 { "T2 seconds", "dect_mitel_rfp.sys.vsntp_time.t2_seconds", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
1905 UNS(&units_seconds
), 0, NULL
, HFILL
1908 { &hf_dect_mitel_rfp_sys_vsntp_time_t2_nanoseconds
,
1909 { "T2 nanoseconds", "dect_mitel_rfp.sys.vsntp_time.t2_nanoseconds", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
1910 UNS(&units_nanoseconds
), 0, NULL
, HFILL
1914 { &hf_dect_mitel_rfp_sys_init_rfp_model
,
1915 { "RFP Model", "dect_mitel_rfp.sys.init.rfp_model", FT_UINT32
, BASE_HEX
,
1916 VALS(dect_mitel_rfp_sys_init_rfp_model_val
), 0x0, NULL
, HFILL
1919 { &hf_dect_mitel_rfp_sys_init_rfp_mac
,
1920 { "RFP MAC Address", "dect_mitel_rfp.sys.init.rfp_mac", FT_ETHER
, BASE_NONE
,
1921 NULL
, 0x0, NULL
, HFILL
1924 { &hf_dect_mitel_rfp_sys_init_crypted
,
1925 { "Crypted", "dect_mitel_rfp.sys.init.crypted", FT_BYTES
, BASE_NONE
,
1926 NULL
, 0x0, "AES Crypted fields", HFILL
1929 { &hf_dect_mitel_rfp_sys_init_protocol
,
1930 { "Protocol", "dect_mitel_rfp.sys.init.protocol", FT_UINT32
, BASE_HEX
,
1931 NULL
, 0x0, NULL
, HFILL
1934 { &hf_dect_mitel_rfp_sys_init_rfp_capabilities
,
1935 { "RPF Capabilities", "dect_mitel_rfp.sys.init.capabilities", FT_UINT32
, BASE_HEX
,
1936 NULL
, 0x0, NULL
, HFILL
1939 { &hf_dect_mitel_rfp_sys_init_rfp_capability_normal_tx
,
1940 { "Normal TX power", "dect_mitel_rfp.sys.init.capabilities.normal_tx", FT_BOOLEAN
, 32,
1941 TFS(&tfs_yes_no
), DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_NORMAL_TX
, NULL
, HFILL
1944 { &hf_dect_mitel_rfp_sys_init_rfp_capability_indoor
,
1945 { "Indoor", "dect_mitel_rfp.sys.init.capabilities.indoor", FT_BOOLEAN
, 32,
1946 TFS(&tfs_yes_no
), DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_INDOOR
, NULL
, HFILL
1949 { &hf_dect_mitel_rfp_sys_init_rfp_capability_wlan
,
1950 { "WLAN", "dect_mitel_rfp.sys.init.capabilities.wlan", FT_BOOLEAN
, 32,
1951 TFS(&tfs_yes_no
), DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_WLAN
, NULL
, HFILL
1954 { &hf_dect_mitel_rfp_sys_init_rfp_capability_encryption
,
1955 { "Encryption", "dect_mitel_rfp.sys.init.capabilities.encryption", FT_BOOLEAN
, 32,
1956 TFS(&tfs_yes_no
), DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_ENCRYPTION
, NULL
, HFILL
1959 { &hf_dect_mitel_rfp_sys_init_rfp_capability_frequency_shift
,
1960 { "Frequency shift", "dect_mitel_rfp.sys.init.capabilities.frequency_shift", FT_BOOLEAN
, 32,
1961 TFS(&tfs_yes_no
), DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_FREQUENCY_SHIFT
, NULL
, HFILL
1964 { &hf_dect_mitel_rfp_sys_init_rfp_capability_low_tx
,
1965 { "Low TX power", "dect_mitel_rfp.sys.init.capabilities.low_tx", FT_BOOLEAN
, 32,
1966 TFS(&tfs_yes_no
), DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_LOW_TX
, NULL
, HFILL
1969 { &hf_dect_mitel_rfp_sys_init_rfp_capability_advanced_feature
,
1970 { "Advanced Feature", "dect_mitel_rfp.sys.init.capabilities.advanced_feature", FT_BOOLEAN
, 32,
1971 TFS(&tfs_yes_no
), DECT_MITEL_RFP_SYS_INIT_RFP_CAPABILITY_ADVANCED_FEATURE
, NULL
, HFILL
1974 { &hf_dect_mitel_rfp_sys_init_rfp_software_version
,
1975 { "RFP Software Version", "dect_mitel_rfp.sys.init.rfp_software_version", FT_STRING
, BASE_NONE
,
1976 NULL
, 0x0, NULL
, HFILL
1979 { &hf_dect_mitel_rfp_sys_init_signature
,
1980 { "Signature", "dect_mitel_rfp.sys.init.signature", FT_BYTES
, BASE_NONE
,
1981 NULL
, 0x0, NULL
, HFILL
1984 /* SYS-AUTHENTICATE */
1985 { &hf_dect_mitel_rfp_sys_authenticate_rfp_iv
,
1986 { "RFP IV", "dect_mitel_rfp.sys.authenticate.rfp_iv", FT_UINT64
, BASE_HEX
,
1987 NULL
, 0x0, NULL
, HFILL
1990 { &hf_dect_mitel_rfp_sys_authenticate_omm_iv
,
1991 { "OMM IV", "dect_mitel_rfp.sys.authenticate.omm_iv", FT_UINT64
, BASE_HEX
,
1992 NULL
, 0x0, NULL
, HFILL
1995 /* SYS-LICENSE-TIMER */
1996 { &hf_dect_mitel_rfp_sys_license_timer_query
,
1997 { "Query", "dect_mitel_rfp.sys.license_timer.query", FT_BOOLEAN
, 32,
1998 NULL
, 0x80000000, NULL
, HFILL
2001 { &hf_dect_mitel_rfp_sys_license_timer_grace_period
,
2002 { "Grace period", "dect_mitel_rfp.sys.license_timer.grace_period", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
2003 UNS(&units_minutes
), 0x7FFFFFFF, NULL
, HFILL
2006 { &hf_dect_mitel_rfp_sys_license_timer_checksum
,
2007 { "Checksum", "dect_mitel_rfp.sys.license_timer.checksum", FT_BYTES
, BASE_NONE
,
2008 NULL
, 0, NULL
, HFILL
2012 { &hf_dect_mitel_rfp_media_handle
,
2013 { "Handle", "dect_mitel_rfp.media.handle", FT_UINT16
, BASE_HEX
,
2014 NULL
, 0, NULL
, HFILL
2017 { &hf_dect_mitel_rfp_media_mcei
,
2018 { "MCEI", "dect_mitel_rfp.media.mcei", FT_UINT8
, BASE_HEX
,
2019 NULL
, 0, NULL
, HFILL
2022 { &hf_dect_mitel_rfp_media_direction
,
2023 { "Direction", "dect_mitel_rfp.media.start.direction", FT_UINT8
, BASE_HEX
,
2024 VALS(dect_mitel_rfp_media_direction_val
), 0, NULL
, HFILL
2028 { &hf_dect_mitel_rfp_media_open_codec
,
2029 { "Codec", "dect_mitel_rfp.media.open.codec", FT_UINT8
, BASE_HEX
,
2030 NULL
, 0, NULL
, HFILL
2033 { &hf_dect_mitel_rfp_media_open_slot_count
,
2034 { "Slot count", "dect_mitel_rfp.media.open.slot_count", FT_UINT8
, BASE_DEC
,
2035 NULL
, 0, NULL
, HFILL
2038 { &hf_dect_mitel_rfp_media_open_flags
,
2039 { "Flags", "dect_mitel_rfp.media.open.flags", FT_UINT32
, BASE_HEX
,
2040 NULL
, 0, NULL
, HFILL
2044 { &hf_dect_mitel_rfp_media_conf_vif
,
2045 { "VIF", "dect_mitel_rfp.media.conf.vif", FT_UINT8
, BASE_HEX
,
2046 NULL
, 0, NULL
, HFILL
2049 { &hf_dect_mitel_rfp_media_conf_vad
,
2050 { "VAD", "dect_mitel_rfp.media.conf.vad", FT_BOOLEAN
, 8,
2051 NULL
, 0x01, "Voice Activity Detection (VAD)", HFILL
2054 { &hf_dect_mitel_rfp_media_conf_codec_count
,
2055 { "Codec count", "dect_mitel_rfp.media.conf.codec_count", FT_UINT16
, BASE_DEC
,
2056 NULL
, 0, NULL
, HFILL
2059 { &hf_dect_mitel_rfp_media_conf_codec_type
,
2060 { "Type", "dect_mitel_rfp.media.conf.codec.type", FT_UINT8
, BASE_HEX
,
2061 VALS(dect_mitel_rfp_media_conf_codec_type_val
), 0, NULL
, HFILL
2064 { &hf_dect_mitel_rfp_media_conf_codec_pt
,
2065 { "Priority", "dect_mitel_rfp.media.conf.codec.priority", FT_UINT8
, BASE_HEX
,
2066 NULL
, 0, NULL
, HFILL
2069 { &hf_dect_mitel_rfp_media_conf_codec_rate
,
2070 { "Rate", "dect_mitel_rfp.media.conf.codec.rate", FT_UINT8
, BASE_CUSTOM
,
2071 CF_FUNC(&fmt_dect_mitel_rfp_media_conf_codec_rate
), 0, NULL
, HFILL
2074 { &hf_dect_mitel_rfp_media_conf_ppn
,
2075 { "PPN", "dect_mitel_rfp.media.conf.ppn", FT_UINT16
, BASE_HEX
,
2076 NULL
, 0, NULL
, HFILL
2079 { &hf_dect_mitel_rfp_media_conf_local_port_1
,
2080 { "Local port 1", "dect_mitel_rfp.media.conf.local_port_1", FT_UINT16
, BASE_DEC
,
2081 NULL
, 0, NULL
, HFILL
2084 { &hf_dect_mitel_rfp_media_conf_local_port_2
,
2085 { "Local port 2", "dect_mitel_rfp.media.conf.local_port_2", FT_UINT16
, BASE_DEC
,
2086 NULL
, 0, NULL
, HFILL
2089 { &hf_dect_mitel_rfp_media_conf_rx_ip_address
,
2090 { "RX IP Address", "dect_mitel_rfp.media.conf.rx_ip_address", FT_IPv4
, BASE_NONE
,
2091 NULL
, 0, NULL
, HFILL
2094 { &hf_dect_mitel_rfp_media_conf_rx_port_1
,
2095 { "RX port 1", "dect_mitel_rfp.media.conf.rx_port_1", FT_UINT16
, BASE_DEC
,
2096 NULL
, 0, NULL
, HFILL
2099 { &hf_dect_mitel_rfp_media_conf_rx_port_2
,
2100 { "RX port 2", "dect_mitel_rfp.media.conf.rx_port_2", FT_UINT16
, BASE_DEC
,
2101 NULL
, 0, NULL
, HFILL
2104 { &hf_dect_mitel_rfp_media_conf_tx_ip_address
,
2105 { "TX IP Address", "dect_mitel_rfp.media.conf.tx_ip_address", FT_IPv4
, BASE_NONE
,
2106 NULL
, 0, NULL
, HFILL
2109 { &hf_dect_mitel_rfp_media_conf_tx_port_1
,
2110 { "TX port 1", "dect_mitel_rfp.media.conf.tx_port_1", FT_UINT16
, BASE_DEC
,
2111 NULL
, 0, NULL
, HFILL
2114 { &hf_dect_mitel_rfp_media_conf_tx_port_2
,
2115 { "TX port 2", "dect_mitel_rfp.media.conf.tx_port_2", FT_UINT16
, BASE_DEC
,
2116 NULL
, 0, NULL
, HFILL
2120 { &hf_dect_mitel_rfp_media_start_time
,
2121 { "Time", "dect_mitel_rfp.media.start.time", FT_UINT32
, BASE_DEC
,
2122 NULL
, 0, NULL
, HFILL
2125 { &hf_dect_mitel_rfp_media_start_met_keep_alive
,
2126 { "Met keep alive", "dect_mitel_rfp.media.start.met_keep_alive", FT_UINT8
, BASE_HEX
,
2127 NULL
, 0, NULL
, HFILL
2130 /* MEDIA-STATISTICS */
2131 { &hf_dect_mitel_rfp_media_statistics_duration
,
2132 { "Duration", "dect_mitel_rfp.media.statistics.duration", FT_UINT32
, BASE_DEC
|BASE_UNIT_STRING
,
2133 UNS(&units_seconds
), 0, NULL
, HFILL
2136 { &hf_dect_mitel_rfp_media_statistics_tx_packets
,
2137 { "TX packets", "dect_mitel_rfp.media.statistics.tx_packets", FT_UINT32
, BASE_DEC
,
2138 NULL
, 0, NULL
, HFILL
2141 { &hf_dect_mitel_rfp_media_statistics_tx_bytes
,
2142 { "TX bytes", "dect_mitel_rfp.media.statistics.tx_bytes", FT_UINT32
, BASE_DEC
,
2143 NULL
, 0, NULL
, HFILL
2146 { &hf_dect_mitel_rfp_media_statistics_rx_packets
,
2147 { "RX packets", "dect_mitel_rfp.media.statistics.rx_packets", FT_UINT32
, BASE_DEC
,
2148 NULL
, 0, NULL
, HFILL
2151 { &hf_dect_mitel_rfp_media_statistics_rx_bytes
,
2152 { "RX bytes", "dect_mitel_rfp.media.statistics.rx_bytes", FT_UINT32
, BASE_DEC
,
2153 NULL
, 0, NULL
, HFILL
2156 { &hf_dect_mitel_rfp_media_statistics_lost_packets
,
2157 { "Lost packets", "dect_mitel_rfp.media.statistics.lost_packets", FT_UINT32
, BASE_DEC
,
2158 NULL
, 0, NULL
, HFILL
2161 { &hf_dect_mitel_rfp_media_statistics_max_jitter
,
2162 { "Max jitter", "dect_mitel_rfp.media.statistics.max_jitter", FT_UINT32
, BASE_CUSTOM
,
2163 CF_FUNC(&fmt_dect_mitel_rfp_media_statistics_max_jitter
), 0, NULL
, HFILL
2166 { &hf_dect_mitel_rfp_media_statistics_rtp_ip_address
,
2167 { "RTP IP address", "dect_mitel_rfp.media.statistics.rtp_ip_address", FT_IPv4
, BASE_NONE
,
2168 NULL
, 0, NULL
, HFILL
2171 /* MEDIA-REDIRECT-START */
2172 { &hf_dect_mitel_rfp_media_redirect_start_local_port_1
,
2173 { "Local port 1", "dect_mitel_rfp.media.redirect_start.local_port_1", FT_UINT16
, BASE_DEC
,
2174 NULL
, 0, NULL
, HFILL
2177 { &hf_dect_mitel_rfp_media_redirect_start_local_port_2
,
2178 { "Local port 2", "dect_mitel_rfp.media.redirect_start.local_port_2", FT_UINT16
, BASE_DEC
,
2179 NULL
, 0, NULL
, HFILL
2182 { &hf_dect_mitel_rfp_media_redirect_start_remote_ip_address
,
2183 { "Remote IP address", "dect_mitel_rfp.media.redirect_start.remote_ip_address", FT_IPv4
, BASE_NONE
,
2184 NULL
, 0, NULL
, HFILL
2187 { &hf_dect_mitel_rfp_media_redirect_start_remote_port_1
,
2188 { "Remote port 1", "dect_mitel_rfp.media.redirect_start.remote_port_1", FT_UINT16
, BASE_DEC
,
2189 NULL
, 0, NULL
, HFILL
2192 { &hf_dect_mitel_rfp_media_redirect_start_remote_port_2
,
2193 { "Remote port 2", "dect_mitel_rfp.media.redirect_start.remote_port_2", FT_UINT16
, BASE_DEC
,
2194 NULL
, 0, NULL
, HFILL
2197 { &hf_dect_mitel_rfp_media_redirect_start_time
,
2198 { "Time", "dect_mitel_rfp.media.redirect_start.time", FT_UINT32
, BASE_DEC
,
2199 NULL
, 0, NULL
, HFILL
2202 /* MEDIA-REDIRECT-STOP */
2203 { &hf_dect_mitel_rfp_media_redirect_stop_fallback
,
2204 { "Fallback", "dect_mitel_rfp.media.redirect_stop.fallback", FT_UINT8
, BASE_HEX
,
2205 NULL
, 0, NULL
, HFILL
2209 { &hf_dect_mitel_rfp_media_dtmf_duration
,
2210 { "Duration", "dect_mitel_rfp.media.dtmf.duration", FT_UINT16
, BASE_DEC
|BASE_UNIT_STRING
,
2211 UNS(&units_milliseconds
), 0, NULL
, HFILL
2214 { &hf_dect_mitel_rfp_media_dtmf_key
,
2215 { "Key", "dect_mitel_rfp.media.dtmf.key", FT_CHAR
, BASE_HEX
,
2216 NULL
, 0, NULL
, HFILL
2220 { &hf_dect_mitel_rfp_media_tone_count
,
2221 { "Count", "dect_mitel_rfp.media.tone.count", FT_UINT8
, BASE_DEC
,
2222 NULL
, 0, NULL
, HFILL
2225 { &hf_dect_mitel_rfp_media_tone_frequency_1
,
2226 { "Frequency 1", "dect_mitel_rfp.media.tone.frequency_1", FT_UINT16
, BASE_DEC
|BASE_UNIT_STRING
,
2227 UNS(&units_hz
), 0, NULL
, HFILL
2230 { &hf_dect_mitel_rfp_media_tone_frequency_2
,
2231 { "Frequency 2", "dect_mitel_rfp.media.tone.frequency_2", FT_UINT16
, BASE_DEC
|BASE_UNIT_STRING
,
2232 UNS(&units_hz
), 0, NULL
, HFILL
2235 { &hf_dect_mitel_rfp_media_tone_frequency_3
,
2236 { "Frequency 3", "dect_mitel_rfp.media.tone.frequency_3", FT_UINT16
, BASE_DEC
|BASE_UNIT_STRING
,
2237 UNS(&units_hz
), 0, NULL
, HFILL
2240 { &hf_dect_mitel_rfp_media_tone_frequency_4
,
2241 { "Frequency 4", "dect_mitel_rfp.media.tone.frequency_4", FT_UINT16
, BASE_DEC
|BASE_UNIT_STRING
,
2242 UNS(&units_hz
), 0, NULL
, HFILL
2245 { &hf_dect_mitel_rfp_media_tone_cb_1
,
2246 { "cB 1", "dect_mitel_rfp.media.tone.cb_1", FT_INT16
, BASE_DEC
|BASE_UNIT_STRING
,
2247 UNS(&units_centibels
), 0, NULL
, HFILL
2250 { &hf_dect_mitel_rfp_media_tone_cb_2
,
2251 { "cB 2", "dect_mitel_rfp.media.tone.cb_2", FT_INT16
, BASE_DEC
|BASE_UNIT_STRING
,
2252 UNS(&units_centibels
), 0, NULL
, HFILL
2255 { &hf_dect_mitel_rfp_media_tone_cb_3
,
2256 { "cB 3", "dect_mitel_rfp.media.tone.cb_3", FT_INT16
, BASE_DEC
|BASE_UNIT_STRING
,
2257 UNS(&units_centibels
), 0, NULL
, HFILL
2260 { &hf_dect_mitel_rfp_media_tone_cb_4
,
2261 { "cB 4", "dect_mitel_rfp.media.tone.cb_4", FT_INT16
, BASE_DEC
|BASE_UNIT_STRING
,
2262 UNS(&units_centibels
), 0, NULL
, HFILL
2265 { &hf_dect_mitel_rfp_media_tone_duration
,
2266 { "Duration", "dect_mitel_rfp.media.tone.duration", FT_UINT16
, BASE_DEC
,
2267 NULL
, 0, NULL
, HFILL
2270 { &hf_dect_mitel_rfp_media_tone_cycle_count
,
2271 { "Cycle count", "dect_mitel_rfp.media.tone.cycle_count", FT_UINT16
, BASE_DEC
,
2272 NULL
, 0, NULL
, HFILL
2275 { &hf_dect_mitel_rfp_media_tone_cycle_to
,
2276 { "Cycle to", "dect_mitel_rfp.media.tone.cycle_to", FT_UINT16
, BASE_DEC
,
2277 NULL
, 0, NULL
, HFILL
2280 { &hf_dect_mitel_rfp_media_tone_next
,
2281 { "Next", "dect_mitel_rfp.media.tone.next", FT_UINT16
, BASE_DEC
,
2282 NULL
, 0, NULL
, HFILL
2286 { &hf_dect_mitel_rfp_sync_payload_type
,
2287 { "Type", "dect_mitel_rfp.sync.payload_type", FT_UINT16
, BASE_HEX
,
2288 VALS(dect_mitel_rfp_sync_payload_type_val
), 0, NULL
, HFILL
2291 { &hf_dect_mitel_rfp_sync_payload_length
,
2292 { "Length", "dect_mitel_rfp.sync.payload_length", FT_UINT8
, BASE_DEC
,
2293 NULL
, 0, NULL
, HFILL
2296 /* SYNC FREQ_CTRL_MODE_IND */
2297 { &hf_dect_mitel_rfp_sync_freq_ctrl_mode_ind_mode
,
2298 { "Mode", "dect_mitel_rfp.sync.freq_ctrl_mode_ind.mode", FT_UINT8
, BASE_HEX
,
2299 NULL
, 0, NULL
, HFILL
2302 /* SYNC FREQ_CTRL_MODE_CFM */
2303 { &hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_mode
,
2304 { "Mode", "dect_mitel_rfp.sync.freq_ctrl_mode_cfm.mode", FT_UINT8
, BASE_HEX
,
2305 NULL
, 0, NULL
, HFILL
2308 { &hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_ppm
,
2309 { "ppm", "dect_mitel_rfp.sync.freq_ctrl_mode_cfm.ppm", FT_UINT16
, BASE_DEC
,
2310 NULL
, 0, NULL
, HFILL
2313 { &hf_dect_mitel_rfp_sync_freq_ctrl_mode_cfm_avg
,
2314 { "avg", "dect_mitel_rfp.sync.freq_ctrl_mode_cfm.avg", FT_UINT16
, BASE_DEC
,
2315 NULL
, 0, NULL
, HFILL
2318 /* SYNC SET_FREQUENCY */
2319 { &hf_dect_mitel_rfp_sync_set_frequency_value
,
2320 { "Frequency", "dect_mitel_rfp.sync.set_frequency.value", FT_UINT16
, BASE_DEC
|BASE_UNIT_STRING
,
2321 UNS(&units_hz
), 0, NULL
, HFILL
2324 /* SYNC START_MAC_SLAVE_MODE_IND */
2325 { &hf_dect_mitel_rfp_sync_start_mac_slave_mode_ind_rfp
,
2326 { "RFP", "dect_mitel_rfp.sync.start_mac_slave_mode_ind.rfp", FT_UINT16
, BASE_HEX
,
2327 NULL
, 0, NULL
, HFILL
2330 /* SYNC SYSTEM_SEARCH_IND */
2331 { &hf_dect_mitel_rfp_sync_system_search_ind_mode
,
2332 { "Mode", "dect_mitel_rfp.sync.system_search_ind.mode", FT_UINT8
, BASE_HEX
,
2333 NULL
, 0, NULL
, HFILL
2336 /* SYNC SYSTEM_SEARCH_CFM */
2337 { &hf_dect_mitel_rfp_sync_system_search_cfm_count
,
2338 { "Count", "dect_mitel_rfp.sync.system_search_cfm.count", FT_UINT8
, BASE_DEC
,
2339 NULL
, 0, NULL
, HFILL
2342 { &hf_dect_mitel_rfp_sync_system_search_cfm_item_rpn
,
2343 { "RPN", "dect_mitel_rfp.sync.system_search_cfm.item.rpn", FT_UINT16
, BASE_HEX
,
2344 NULL
, 0, NULL
, HFILL
2347 { &hf_dect_mitel_rfp_sync_system_search_cfm_item_rssi
,
2348 { "RSSI", "dect_mitel_rfp.sync.system_search_cfm.item.rssi", FT_UINT16
, BASE_DEC
,
2349 NULL
, 0, NULL
, HFILL
2352 /* SYNC PHASE_OFS_WITH_RSSI_IND */
2353 { &hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_count
,
2354 { "Count", "dect_mitel_rfp.sync.phase_ofs_with_rssi_ind.count", FT_UINT8
, BASE_DEC
,
2355 NULL
, 0, NULL
, HFILL
2358 { &hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_rpn
,
2359 { "RPN", "dect_mitel_rfp.sync.phase_ofs_with_rssi_ind.item.rpn", FT_UINT16
, BASE_HEX
,
2360 NULL
, 0, NULL
, HFILL
2363 { &hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_offset
,
2364 { "Offset", "dect_mitel_rfp.sync.phase_ofs_with_rssi_ind.item.offset", FT_UINT16
, BASE_CUSTOM
,
2365 CF_FUNC(&fmt_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_offset
), 0, NULL
, HFILL
2368 { &hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_rssi
,
2369 { "RSSI", "dect_mitel_rfp.sync.phase_ofs_with_rssi_ind.item.rssi", FT_UINT8
, BASE_DEC
,
2370 NULL
, 0, NULL
, HFILL
2373 { &hf_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item_qt_sync_check
,
2374 { "QT-Sync-Check", "dect_mitel_rfp.sync.phase_ofs_with_rssi_ind.item.qt_sync_check", FT_UINT8
, BASE_HEX
,
2375 NULL
, 0, NULL
, HFILL
2380 static int *ett
[] = {
2381 &ett_dect_mitel_rfp
,
2382 &ett_dect_mitel_rfp_sys_init_rfp_capabilities
,
2383 &ett_dect_mitel_rfp_media_tone_entry
,
2384 &ett_dect_mitel_rfp_sync_phase_ofs_with_rssi_ind_item
,
2385 &ett_dect_mitel_rfp_sync_system_search_cfm_item
,
2388 proto_dect_mitel_rfp
= proto_register_protocol("Mitel RFP/OMM TCP communication protocol",
2389 "DECT-MITEL-RFP", "dect_mitel_rfp");
2391 proto_register_field_array(proto_dect_mitel_rfp
, hf
, array_length(hf
));
2392 proto_register_subtree_array(ett
, array_length(ett
));
2394 dect_mitel_rfp_handle
= register_dissector("dect_mitel_rfp", dissect_dect_mitel_rfp
,
2395 proto_dect_mitel_rfp
);
2398 void proto_reg_handoff_dect_mitel_rfp(void)
2400 dissector_add_uint_with_preference("tcp.port", tcp_port_pref
, dect_mitel_rfp_handle
);
2402 dect_mitel_eth_handle
= find_dissector("dect_mitel_eth");
2406 * Editor modelines - https://www.wireshark.org/tools/modelines.html
2411 * indent-tabs-mode: nil
2414 * vi: set shiftwidth=4 tabstop=8 expandtab:
2415 * :indentSize=4:tabSize=8:noTabs=true: